]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Apply program name transformations at build-time rather than at
[grub2.git] / ChangeLog
1 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
2
3 Apply program name transformations at build-time rather than at
4 run-time. Fixes Debian bug #696465.
5
6 * acinclude.m4 (grub_TRANSFORM): New macro.
7 * configure.ac: Create output variables with transformed names for
8 most programs.
9 * util/bash-completion.d/grub-completion.bash.in: Use
10 pre-transformed variables for program names.
11 * util/grub-install.in: Likewise.
12 * util/grub-kbdcomp.in: Likewise.
13 * util/grub-mkconfig.in: Likewise.
14 * util/grub-mkconfig_lib.in: Likewise.
15 * util/grub-mknetdir.in: Likewise.
16 * util/grub-mkrescue.in: Likewise.
17 * util/grub-mkstandalone.in: Likewise.
18 * util/grub-reboot.in: Likewise.
19 * util/grub-set-default.in: Likewise.
20 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21 * tests/util/grub-shell-tester.in: Remove unused assignment.
22 * tests/util/grub-shell.in: Likewise.
23 * util/grub.d/00_header.in: Likewise.
24
25 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
26
27 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
28
29 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
30 HAVE_RAW_DECL_GETS.
31 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
32
33 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
36 Reported by: Eriks Latosheks <foresterlv>.
37
38 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * docs/grub.texi (Network): Update instructions on generating netboot
41 image.
42
43 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
46 around device name if necessarry.
47
48 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
49
50 * util/grub-install.in: Follow the symbolic link parameter added
51 to the file command.
52
53 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
54
55 * util/grub-install.in: Remove stale TODO.
56
57 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
58
59 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
60 dynamic allocation for the bootpath buffer.
61
62 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
63
64 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
65 window too small.
66
67 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
70 argument rather than font name. All users updated.
71 (grub_gfxterm_set_window): Likewise.
72
73 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
74
75 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
76 from working.
77
78 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * util/getroot.c (convert_system_partition_to_system_disk): Support
81 nbd disks.
82
83 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
86 infinite loop on corrupted FS.
87
88 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Fix big-endian mtime.
91
92 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
93 together sec and usec.
94 (grub_ufs_dir): Use correct byteswapping for UFS time.
95
96 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
97
98 Support big-endian UFS1.
99
100 * Makefile.util.def (libgrubmods): Add ufs_be.c
101 * grub-core/Makefile.core.def (ufs1_be): New module.
102 * grub-core/fs/ufs_be.c: New file.
103 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
104 the file.
105
106 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
107
108 * include/grub/types.h: Fix functionality unaffecting typo in
109 GRUB_TARGET_WORDSIZE conditional macro.
110
111 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
112
113 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
114
115 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
116
117 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
118 that /netbsd appears first (when it exists).
119
120 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
121
122 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
123 Fixes Savannah bug #37558.
124
125 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
126
127 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
128 description of extract_entries_configfile.
129
130 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
131
132 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
133 preferred_address.
134 (grub_cmd_linux): Likewise.
135 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
136 preferred_lifetime. Update all users.
137
138 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
139
140 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
141 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
142
143 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
144
145 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
146 errors from grub-probe to /dev/null, not stdout.
147
148 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
151 sector 1.
152
153 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
154
155 * util/grub-install.in: Make the error message if $source_dir
156 doesn't exist more useful.
157
158 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
159
160 Fix grub-emu build on FreeBSD.
161
162 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
163 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
164 headers on Linux.
165 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
166 implementation is currently Linux-specific.
167 * util/getroot.c (exec_pipe): Define only on Linux or when either
168 libzfs or libnvpair is unavailable.
169 (find_root_devices_from_poolname): Remove unused path variable.
170
171 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
172
173 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
174 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
175 should fit before end == 63.
176
177 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
178
179 * util/grub-setup.c (write_rootdev): Remove unused core_img
180 parameter. Update all callers.
181 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
182 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
183 GRUB_SETUP_BIOS.
184
185 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * util/grub-mkconfig_lib.in (grub_tab): New variable.
188 (grub_add_tab): New function.
189 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
190 * util/grub.d/10_illumos.in: Likewise.
191 * util/grub.d/10_kfreebsd.in: Likewise.
192 * util/grub.d/10_linux.in: Likewise.
193 * util/grub.d/10_netbsd.in: Likewise.
194 * util/grub.d/10_windows.in: Likewise.
195 * util/grub.d/10_xnu.in: Likewise.
196 * util/grub.d/20_linux_xen.in: Likewise.
197 * util/grub.d/30_os-prober.in: Likewise.
198
199 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
202 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
203 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
204 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
205 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
206 ieee1275-nocursor.
207 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
208 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
209
210 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
213 le-conversion.
214 Reported by: BURETTE, Bernard.
215
216 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
217
218 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
219 from comment.
220
221 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
222
223 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
224 IEEE1275 machines. Fixes powerpc-emu compilation.
225 * include/grub/terminfo.h: Likewise.
226
227 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
230 a const pointer.
231 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
232 const pointer.
233 (efiemu_set_variable): Make vendor_guid a const pointer.
234
235 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Don't require grub-mkconfig_lib to generate manpages for programs.
238
239 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
240 dependencies, don't add grub-mkconfig_lib.
241 (program): Pass empty adddeps.
242 (script): Pass grub-mkconfig_lib as adddeps.
243
244 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
247 * util/getroot.c (grub_find_device): Likewise.
248 (get_mdadm_uuid): Likewise.
249 (grub_util_is_imsm): Likewise.
250 (grub_util_pull_device): Likewise.
251 * util/grub-probe.c (probe): Likewise.
252
253 2012-09-10 Benoit Gschwind <gschwind>
254
255 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
256 (devs): Add devpath_8.
257
258 2012-09-08 Peter Jones <pjones@redhat.com>
259
260 * grub-core/Makefile.core.def (efifwsetup): New module.
261 * grub-core/commands/efi/efifwsetup.c: New file.
262 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
263 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
264 New define.
265 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
266
267 2012-09-05 Jiri Slaby <jslaby@suse.cz>
268
269 * configure.ac: Add SuSe path.
270
271 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
272
273 * NEWS: Fix typo.
274
275 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
276
277 * util/import_gcry.py: Sort cipher_files, to make build system
278 generation more deterministic.
279
280 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
283 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
284 (grub_set_datetime): Likewise.
285
286 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
289 warnings.
290
291 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
294
295 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
298
299 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
300
301 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
302 required for checkouts from bzr, but it may be useful for users or
303 distributors wishing to update translations against a tarball
304 distribution, and it can be helpful for the tarball to be a superset
305 of what's in bzr.
306
307 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
308
309 * Makefile.am (EXTRA_DIST): Add
310 grub-core/tests/boot/linux.init-mips.S,
311 grub-core/tests/boot/linux.init-ppc.S, and
312 grub-core/tests/boot/linux-ppc.cfg.
313
314 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
315
316 * grub-core/mmap/mips/loongson: Remove empty directory.
317
318 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
319
320 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
321 gone.
322
323 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
324
325 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
326 grub-sparc64-setup.
327
328 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
329
330 * configure.ac: Strengthen the test for working -nostdinc -isystem.
331
332 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
333
334 * po/POTFILES.in: Regenerated.
335
336 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
337
338 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
339 (NetBSD): New subsection.
340
341 2012-07-22 Ales Nesrsta <starous@volny.cz>
342
343 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
344 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
345
346 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
349 * util/grub.d/10_hurd.in: Add missing quoting.
350 * util/grub.d/10_illumos.in: Likewise.
351 * util/grub.d/10_kfreebsd.in: Likewise.
352 * util/grub.d/10_linux.in: Likewise.
353 * util/grub.d/20_linux_xen.in: Likewise.
354
355 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
356
357 New command `lsefi'.
358
359 * grub-core/Makefile.core.def (lsefi): New module.
360 * grub-core/commands/efi/lsefi.c: New file.
361 * include/grub/efi/api.h: Add more GUIDs.
362
363 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
366 (grub_bsd_elf32_hook): Likewise.
367 (grub_bsd_elf64_size_hook): Likewise.
368 (grub_bsd_elf64_hook): Likewise.
369 (grub_bsd_load_elf): Likewise.
370
371 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
374 if hash function is unavailable.
375 (dec_stream_header): Likewise.
376
377 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
380 filter state.
381
382 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Fix coreboot compilation.
385
386 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
387 (grub_vga_text_init_real): ... this.
388 (grub_vga_text_fini): Rename to ...
389 (grub_vga_text_fini_real): ... this.
390
391 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
394
395 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/lib/legacy_parse.c: Support clear and testload.
398
399 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
402
403 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/fs/ext2.c: Experimental support for 64-bit.
406
407 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/net/tftp.c (ack): Fix endianness problem.
410 (tftp_receive): Likewise.
411 Reported by: Michael Davidsaver.
412
413 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * gentpl.py: Make mans depend on grub-mkconfig_lib.
416
417 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
420 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
421 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
422
423 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
426 efi_mmap_size.
427 Reported by: Stuart Hayes.
428
429 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
430
431 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
432
433 * grub-core/Makefile.core.def (mda_text): New module.
434 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
435 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
436 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
437 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
438 here.
439 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
440 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
441 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
442 here.
443 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
444 to ..
445 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
446 ... here
447 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
448 here.
449 * grub-core/term/i386/vga_common.c: Removed.
450 * include/grub/i386/vga_common.h: Likewise.
451 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
452 (grub_vga_cr_bw_read): Likewise.
453 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
454 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
455 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
456 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
457 grub_vga_cr_read/grub_vga_cr_write.
458 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
459
460 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * configure.ac: Bump version to 2.00.
463 * grub-core/normal/main.c (features): Add feature_200_final.
464
465 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
466 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
467
468 * NEWS: Fix unclarity and language mistakes.
469
470 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
473 additional size to 3 pages.
474 Reported by: Stuart Hayes.
475
476 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * NEWS: Add 2.00 entry.
479
480 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
483 put explicit "/" for empty path.
484 (wildcard_expand): Improve dprintf.
485
486 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
489 it's equal to currnode. This can happen with "" symlink.
490
491 2012-06-27 Yves Blusseau <blusseau@zetam.org>
492
493 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
494 echo shell command by printf command.
495
496 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
499 the value returned by firmware is the maximal position, not diumension.
500 (grub_terminfo_output_state): Use a more sane fallback.
501
502 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
505
506 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
509 frequency to 150 MHz.
510
511 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
512
513 Apple fixes.
514
515 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
516 __APPLE_
517 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
518 definition.
519 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
520
521 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Handle slash in HFS label.
524
525 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
526 (grub_hfs_dir): Tanslate slash.
527 (grub_hfs_label): Don't translate slash.
528
529 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
532 network protocol listing since it introduces problematic dependency on
533 net module.
534
535 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
538
539 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
540
541 Init video early on yeeloong to avoid being rebooted by watchdog.
542
543 * grub-core/Makefile.am (gensm712): New target.
544 (sm712_start.S): Likewise.
545 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
546 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
547 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
548 description.
549 * include/grub/vga.h: Move registry definitions to...
550 * include/grub/vgaregs.h: ... here.
551
552 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
555 signedness.
556
557 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
560 platforms with firmware disk drivers in the core.
561
562 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
565 informative verbose message.
566 (read_lv): Handle 64-bit segment size.
567
568 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
571
572 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
575 character but still remove trainling spaces.
576 (grub_fat_label): Ignore archive flag.
577
578 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
581 cast between linux_kernel_header and linux_kernel_params.
582
583 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
586 type for size.
587 (grub_raid6_recover_func_t): Likewise.
588 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
589 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
590
591 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
594
595 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
596
597 Fix overflow.
598
599 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
600 [__NetBSD__]: Add explicit cast before bitshift.
601
602 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * configure.ac: Bump to 2.00~rc1.
605
606 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
609 half of $a0.
610
611 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
612 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
613
614 * docs/grub.texi: Fix search syntax.
615 (Multi-boot manual config): Put msdos rather than GPT example.
616 Grammar corrections.
617
618 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
621
622 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
625
626 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
629 message on double free. Put the value of magic in case of mismatch.
630
631 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
632
633 Speed-up video on yeeloong.
634
635 * grub-core/video/sm712.c (framebuffer): Remove render_target and
636 add cached_ptr.
637 (grub_video_sm712_video_fini): Unmap cached_ptr.
638 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
639 (grub_video_sm712_set_active_render_target): Removed.
640 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
641 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
642 sync caches.
643
644 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
645
646 Avoid flushing the same line multiple times on loongson.
647
648 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
649 Step in 32 bytes and not 1 byte.
650 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
651 Likewise.
652
653 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
656 subvolumes.
657
658 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
659
660 Implement flow control for http.
661
662 * grub-core/net/http.c (parse_line): Handle response 206.
663 (http_receive): Stall if too many packets are in the queue.
664 (http_establish): Fix range header.
665 (http_seek): Fix double free.
666 (http_close): Likewise.
667 (http_packets_pulled): New function.
668 (grub_http_protocol): Set http_seek
669 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
670 (ack_real): Set window depending on i_stall.
671 (grub_net_send_tcp_packet): Likewise.
672 (grub_net_tcp_stall): New function.
673 (grub_net_tcp_unstall): Likewise.
674 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
675 (grub_net_tcp_unstall): Likewise.
676
677 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/net/tftp.c: Decrease stall to 50 packets.
680
681 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
684
685 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * tests/util/grub-shell.in: Fix a typo.
688
689 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
690
691 Implement flow control for tftp.
692
693 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
694 packets but stop only if stop condition is satisfied.
695 (grub_net_fs_read_real): Call packets_pulled after real read. Use
696 `stall' instead of `eof' as stop condition.
697 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
698 (http_err): Likewise.
699 * grub-core/net/tftp.c (ack): Replace the first argument with data
700 instead of socket.
701 (tftp_receive): Stall if too many packets are in wait queue.
702 (tftp_packets_pulled): New function.
703 (grub_tftp_protocol): Set packets_pulled.
704 * include/grub/net.h (grub_net_packets): New field count.
705 (grub_net_put_packet): Increment count.
706 (grub_net_remove_packet): Likewise.
707 (grub_net_app_protocol): New field `packets_pulled'.
708 (grub_net): New field `stall'.
709
710 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
713 sync part to handle them.
714
715 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
718 * grub-core/net/drivers/ieee1275/ofnet.c
719 (grub_ieee1275_net_config_real): Likewise.
720
721 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
724 the direct route for server/gateway.
725
726 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
729 IP address to server name since we may not hame the DNS.
730
731 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
734 freeing random buffer on failure.
735 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
736
737 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
740
741 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
744 reserved bytes.
745 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
746 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
747 Handle malloc error correctly.
748
749 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
752 blocks.
753
754 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
757 increment.
758
759 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
762 none is explicitly specified.
763
764 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
767 while reallocating.
768
769 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
770
771 Respect netmask from bootp/dhcp.
772
773 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
774 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
775 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
776 into ...
777 (grub_net_add_ipv4_local): ... this.
778 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
779 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
780 (grub_net_add_ipv4_local): New proto.
781
782 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
785 determining EFI memory map size.
786
787 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
790
791 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
794 when looking for partition separator.
795
796 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
799 Escape commas.
800
801 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
802
803 Restructure FAT driver to avoid hook in label reading as it hits a
804 GCC bug.
805
806 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
807 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
808 (grub_fat_iterate_dir): Split into ...
809 (grub_fat_iterate_init): ... this, ...
810 (grub_fat_iterate_fini): ... this, ...
811 (grub_fat_iterate_dir_next): ... and this. All users updated.
812
813 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
816 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
817 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
818 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
819 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
820 New fields last_key and last_key_time.
821 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
822 extended key-esc into extended key-extended key.
823
824 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
825
826 Avoid unnecessary memcpy of whole video buffer.
827
828 * grub-core/video/fb/video_fb.c (dirty): New struct.
829 (framebuffer): Add members current_dirty and previous_dirty.
830 (dirty): New function.
831 (grub_video_fb_fill_rect): Update dirty.
832 (common_blitter): Likewise.
833 (grub_video_fb_scroll): Likewise.
834 (doublebuf_blit_update_screen): Copy only dirty part.
835 (doublebuf_pageflipping_update_screen): Likewise.
836 (grub_video_fb_doublebuf_blit_init): Init dirty.
837 (doublebuf_pageflipping_init): Likewise.
838 (grub_video_fb_setup): Likewise.
839
840 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
843 poll rate.
844
845 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
846
847 Fix wildcard regexp dot and other special characters handling.
848 Reported by: Robert Mabee.
849
850 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
851 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
852 (split_path): Trigger expansion on '?'.
853 (unescape): New function.
854 (wildcard_expand): Unescape parts copied without globbing.
855 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
856 (grub_script_arglist_to_argv): Don't unescape expansions.
857
858 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * include/grub/net.h (grub_net_card): New member txbufsize.
861 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
862 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
863 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
864 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
865 txbufsize.
866 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
867 compatible property to check for macs. Set
868 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
869 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
870 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
871 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
872 (send_card_buffer): Use txbuf.
873 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
874 nested function out of the parent while on it.
875
876 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
879 presence check.
880 (grub_ieee1275_net_config_real): Fix config pointer.
881
882 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
885 filename parsing to non-block devices.
886
887 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/kern/device.c (grub_device_open): Remove dead code.
890
891 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
894 All users updated.
895
896 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
899 UUID search command even if hints probing failed.
900
901 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * po/POTFILES.in: Regenerated.
904
905 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Speed-up video on fuloong.
908
909 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
910 New function.
911 (grub_pci_device_unmap_range): Handle non-cached address.
912 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
913 add direct_ptr.
914 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
915 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
916 (grub_video_sis315pro_set_active_render_target): Removed.
917 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
918 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
919 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
920 sync caches.
921 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
922 New proto.
923
924 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * docs/grub.texi (Multi-boot manual config): New section.
927
928 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
929
930 Avoid slow read-back from VRAM.
931
932 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
933 Move from here ...
934 * grub-core/video/fb/video_fb.c
935 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
936 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
937 (front_target): Remove front_target. Add pages.
938 (grub_video_fb_init): Skip setting front_pages.
939 (grub_video_fb_fini): Likewise.
940 (doublebuf_blit_update_screen): Use pages.
941 (grub_video_fb_doublebuf_blit_init): Likewise.
942 (doublebuf_pageflipping_init): Allocate offscreen buffer.
943 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
944 (grub_video_fb_setup): Prefer doublebuffing.
945
946 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
949 gzio.
950
951 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
952
953 Add loongson tests.
954
955 * tests/util/grub-shell.in: Handle loongson.
956 * tests/partmap_test.in: Add loongson to the list of platform using ATA
957 drivers.
958 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
959 Reboot instead of shutdown if REBOOT is defined.
960
961 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
964 sized ports since unlike on real hardware qemu supports only 32-bit
965 regs.
966
967 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * Makefile.util.def (grub-mkrescue): Enable on loongson.
970 * util/grub-mkrescue.in: Handle loongson.
971
972 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
975 Set is_part appropriately.
976 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
977 names. Canonicalize partition without full disk.
978
979 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
980
981 Revert usb-quiesce since it's wrong.
982
983 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
984 (grub_ofdisk_init): Don't do quiesce.
985
986 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
989 PowerMac workaround to Xserves as well.
990 Information supplied by: Benjamin Herrenschmidt.
991
992 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Don't assume that beginning address is also the entry point on ppc.
995
996 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
997 (grub_linux_boot): Use linux_entry.
998 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
999 (grub_linux_load64): Likewise.
1000
1001 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1004
1005 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1008 needlessly lose the console.
1009
1010 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1013 space.
1014
1015 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1018 than current grub_get_rtc() not implemented when booted with
1019 coreboot without TSC.
1020
1021 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1022 Add machine/time.h to kernel headers on loongson.
1023 * grub-core/Makefile.core.def (kernel): Remove
1024 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1025 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1026 (grub_get_rtc): Likewise.
1027 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1028 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1029 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1030 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1031 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1032 rather than installing known non-working time source.
1033 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1034 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1035 * include/grub/time.h: Don't include machine/time.h.
1036 * include/grub/efi/time.h: Removed.
1037 * include/grub/i386/efi/time.h: Likewise.
1038 * include/grub/i386/ieee1275/time.h: Likewise.
1039 * include/grub/powerpc/ieee1275/time.h: Likewise.
1040 * include/grub/sparc64/ieee1275/time.h: Likewise.
1041 * include/grub/x86_64/efi/time.h: Likewise.
1042
1043 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 Remove dot on i and j when combining with above diacritics.
1046
1047 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1048 value.
1049 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1050 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1051 with dotless variants when any combining above is present.
1052
1053 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1056 text and not binary.
1057
1058 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Stop polling as soon as we have the packet we were waiting for.
1061
1062 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1063 All users updated.
1064 * grub-core/net/arp.c (have_pending): New var.
1065 (pending_req): Likewise.
1066 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1067 stop indicator.
1068 (grub_net_arp_receive): Set have_pending.
1069 * grub-core/net/dns.c (recv_data): New field stop.
1070 (recv_hook): Set stop.
1071 (grub_net_dns_lookup): Init stop and use as stop condition.
1072 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1073 condition.
1074 * grub-core/net/net.c (grub_net_poll_cards): New argument
1075 stop_condition. Stop when it goes true.
1076 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1077 indicator.
1078 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1079
1080 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Keep TX and RX buffers on EFI rather than always allocate new ones.
1083
1084 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1085 card. All users updated.
1086 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1087 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1088 (get_card_packet): Likewise.
1089 (grub_efinet_findcards): Init new fields.
1090
1091 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1094 compilation error on sparc64.
1095
1096 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Use ITC on IA64 rather than broken routine based on daytime.
1099
1100 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1101 ia64.
1102 (grub_get_rtc) [__ia64__]: Likewise.
1103 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1104 (get_itc): New function.
1105 (grub_rtc_get_time_ms): Likewise.
1106 (grub_machine_init): Calibrate ITC.
1107 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1108 Keep only on non-ia64. Don't export since it's broken and used only
1109 if TSC is unavailable.
1110
1111 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1114 even if it's used.
1115 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1116 Skip if parent is unused.
1117
1118 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1121
1122 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Fix wildcard escaping.
1125
1126 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1127 * grub-core/script/execute.c (wildcard_escape): .. to here.
1128 Don't escape dot.
1129 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1130 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1131 Don't escape dot.
1132 * grub-core/script/execute.c (gettext_append): Always escape.
1133 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1134 * grub-core/script/yylex.l: Don't cut away the escaping.
1135 * tests/grub_script_echo1.in: Add tests with wildcard.
1136
1137 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1140 (ftdi_hw_configure): Likewise.
1141 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1142 define.
1143 (real_config): Handle 1.5 stop bits.
1144 (pl2303_hw_configure): Likewise.
1145
1146 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * Makefile.am: Add ppc linux bootcheck.
1149 * grub-core/tests/boot/linux-ppc.cfg: New file.
1150 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1151
1152 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * tests/grub_script_expansion.in: Skip network protocols.
1155
1156 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1159
1160 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1163 --rom-directory.
1164 Add -graft-points.
1165
1166 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 ESCC serial driver for conducting sautomated tests in qemu.
1169 Not tested on real hardware.
1170
1171 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1172 * grub-core/term/ieee1275/escc.c: New file.
1173 * grub-core/Makefile.core.def (escc): New module.
1174
1175 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1178 invalid on error.
1179 (serial_hw_fetch): Don't read invalid handle.
1180 (serial_hw_put): Don't write into invalid handle.
1181
1182 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Add a 1.5 stop bits value.
1185
1186 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1187 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1188 GRUB_SERIAL_STOP_BITS_1_5.
1189
1190 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1193 value rather than let it uninited.
1194
1195 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/commands/wildcard.c (+check_file): New function.
1198 (wildcard_expand): Don't expand to non-existing files, expand with
1199 suffix and not attempt to expand if not needed.
1200
1201 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1204 out of partitions containing other partitions.
1205
1206 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1209 on some qemu versions with GRUB.
1210
1211 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1212 define.
1213 (grub_openbsd_bootarg_pcibios): New struct.
1214 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1215 Add PCIINFO.
1216
1217 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * tests/util/grub-shell.in: Trim firmware output on EFI.
1220
1221 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1224 and coreboot since it's already in kernel.
1225
1226 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1229 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1230 to here. New return value start. All users updated.
1231 Recursively scan linear mappings.
1232 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1233 proto.
1234 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1235 Use grub_util_get_dm_node_linear_info.
1236 * util/getroot.c (convert_system_partition_to_system_disk): Use
1237 grub_util_info rather than grub_dprintf.
1238 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1239
1240 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1243
1244 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1245 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1246
1247 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * include/grub/types.h (grub_set_unaligned64): New function.
1250 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1251 (setup): Likewise.
1252
1253 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1256 (grub_ofdisk_fini): Quiesce USB devices.
1257
1258 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1261 caches.
1262
1263 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1266
1267 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/disk/pata.c (grub_pata_pio_read)
1270 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1271 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1272
1273 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Extend automated tests to qemu-mips.
1276
1277 * Makefile.am: reorganise tests and enable qemu-mips.
1278 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1279 * grub-core/tests/boot/linux.init-mips.S: New file.
1280 * tests/partmap_test.in: Handle ata0 disks.
1281 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1282 non-pc i386.
1283
1284 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1287 ia64.
1288 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1289 quotes while on it.
1290
1291 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1294 (grub_halt): Likewise.
1295 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1296
1297 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/term/serial.c (grub_serial_register)
1300 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1301 the behaviour in line with x86 platforms.
1302
1303 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1306 (grub_ata_strncpy): Likewise.
1307 (grub_ata_identify): Add missing byteswaps.
1308
1309 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1312 byte-swap.
1313 (screen_read_char): Likewise.
1314 (grub_vga_text_cls): Likewise.
1315
1316 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1319 filenames.
1320 (make_file_path): Likewise.
1321
1322 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1325 machines.
1326 Tested by: Paulo Flabiano Smorigo.
1327 Crucial information about API supplied by: Coleen <Last name unknown>.
1328 Reviewed by: Coleen <Last name unknown>.
1329
1330 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * util/grub-mkimage.c: Disable -Wcast-align.
1333
1334 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1337 as they are fatal.
1338
1339 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1342
1343 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * util/grub-probe.c (escape_of_path): Fix double free.
1346
1347 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/commands/videoinfo.c (hook): Show pitch.
1350
1351 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1354
1355 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1358 (probe): Add ieee1275 to OFW devices.
1359
1360 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1363
1364 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 Handle IBM OFW path.
1367
1368 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1369 available.
1370 (of_path_of_scsi): Handle vdevice.
1371
1372 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1375 Allocate in multiples of 16 to avoid adding a few bytes free region the
1376 windows bugs upon.
1377
1378 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1381 Allocate in multiples of 16 to avoid adding a few bytes free region the
1382 windows bugs upon.
1383 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1384
1385 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1388 resolutions.
1389 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1390 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1391
1392 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1393
1394 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1395
1396 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1399 resulted in \\ at the end of the line.
1400
1401 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1404 (grub_parser_cmdline_state): Likewise.
1405 (grub_parser_split_cmdline): Likewise.
1406
1407 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1410 /dev/root and /dev/dm-*.
1411
1412 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1415 fix partially stale display.
1416
1417 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1420 substraction.
1421
1422 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1425 Fix MBR remapping workaround.
1426 (grub_util_biosdisk_read) [__linux__]: Likewise.
1427
1428 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1431
1432 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * configure.ac: Bump to beta6.
1435
1436 2012-05-31 Christer Weinigel <christer@weinigel.se>
1437
1438 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1439
1440 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1443 (grub_cmd_linux): Likewise.
1444
1445 2012-05-31 Christer Weinigel <christer@weinigel.se>
1446
1447 Fix EHCI low-speed.
1448
1449 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1450 (GRUB_EHCI_MULT_TWO): Likewise.
1451 (GRUB_EHCI_MULT_THREE): Likewise.
1452 (GRUB_EHCI_CMASK_MASK): New enum value.
1453 (GRUB_EHCI_SMASK_MASK): Likewise.
1454 (GRUB_EHCI_CMASK_OFF): Likewise.
1455 (GRUB_EHCI_SMASK_OFF): Likewise.
1456 (grub_ehci_pci_iter): Enable periodic schedule.
1457 (grub_ehci_parse_notrun): Likewise.
1458 (grub_ehci_restore_hw): Likewise.
1459 (grub_ehci_setup_qh): Set flags for low speed transfers.
1460 (grub_ehci_find_qh): Use periodic list for low speed.
1461 (grub_ehci_setup_transfer): Check periodic queue as well.
1462 (grub_ehci_check_transfer): Likewise.
1463 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1464
1465 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1466
1467 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1468 parameter is used.
1469
1470 2012-05-31 Peter Jones <pjones@redhat.com>
1471
1472 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1473 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1474 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1475
1476 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1479 uninited variable. Allocate at least setup_sects.
1480
1481 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 Fix handling of EFI with big memory maps.
1484
1485 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1486 (real_mode_mem): Likewise.
1487 (real_mode_target): Likewise.
1488 (real_mode_pages): Likewise.
1489 (prot_mode_pages): Likewise.
1490 (linux_params): New var.
1491 (linux_cmdline): Likewise.
1492 (free_pages): Don't set real mode variables.
1493 (allocate_pages): Don't allocate real mode memory.
1494 (grub_e820_add_region): Remove the limit.
1495 (grub_linux_boot): Allocate and copy real mode memory.
1496 (grub_linux_unload): Free linux_cmdline.
1497 (grub_cmd_linux): Use temporary storage for parameters.
1498 (grub_cmd_initrd): Likewise.
1499 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1500 (linux_kernel_params): Make it 1K big.
1501
1502 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * Makefile.util.def: Remove -Wno-format.
1505 * grub-core/Makefile.core.def: Likewise.
1506
1507 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * tests/cmp_unit_test.c: Add missing failure message.
1510 * tests/example_unit_test.c: Likewise.
1511 * tests/printf_unit_test.c: Likewise.
1512
1513 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1516 relaxation of protective MBR requirements.
1517
1518 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * configure.ac: Add condition for COND_HOST_XNU.
1521 * Makefile.util.def (10_xnu): New script.
1522 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1523
1524 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1527 objconv bug.
1528
1529 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1532 Binary on other platforms stays identical.
1533
1534 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1537 Apple.
1538
1539 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1542
1543 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1546 rather than defining size_t ourselves to avoid conflict.
1547
1548 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1551 initialisation to avoid __bzero reference.
1552
1553 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1556 version.
1557 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1558 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1559 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1560 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1561 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1562
1563 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1566 * grub-core/kern/misc.c: Likewise.
1567 * grub-core/loader/i386/xnu.c: Likewise.
1568 * include/grub/i386/tsc.h: Likewise.
1569 * include/grub/symbol.h: Likewise.
1570
1571 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1574 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1575 on older compiler.
1576
1577 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1580 Implement Apple flavour.
1581 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1582
1583 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1586 (memmove) [__APPLE__]: Likewise.
1587 (memcpy) [__APPLE__]: Likewise.
1588 (memset) [__APPLE__]: Likewise.
1589 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1590 (memmove) [__APPLE__]: Likewise.
1591 (memcpy) [__APPLE__]: Likewise.
1592 (memset) [__APPLE__]: Likewise.
1593
1594 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1597 dependency discard.
1598
1599 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/normal/main.c (read_config_file): Provide config_file and
1602 config_directory.
1603 * util/grub.d/41_custom.in: Use config_directoy when available.
1604
1605 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1608 (grub_bfs_dir): Likewise.
1609
1610 2012-05-27 Peter Jones <pjones@redhat.com>
1611
1612 The old code gives arguments to a printf function which can't work
1613 correctly, and the compiler complains.
1614
1615 * grub-core/tests/example_functional_test.c (example_test): Add
1616 missing text.
1617 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1618 * include/grub/test.h (grub_test_assert_helper): New declaration.
1619 (grub_test_assert): Use grub_test_assert_helper.
1620
1621 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1624 (exfctest): ... this to avoid overlong filenames.
1625 All users updated.
1626
1627 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Handle "." and ".." on squashfs.
1630
1631 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1632 Make inode numbers into stack.
1633 (grub_squash_read_symlink): Use stack.
1634 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1635 (make_root_node): Fill stack.
1636 (grub_squash_open): Use stack.
1637
1638 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1641 freeing.
1642
1643 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1646 stderr on test calls.
1647
1648 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1651
1652 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1655
1656 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1659 "..".
1660
1661 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1664 (grub_hfsplus_iterate_dir): Add "." and "..".
1665
1666 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1669 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1670
1671 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1674 (find_path): Handle "." and "..".
1675
1676 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1679 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1680 (grub_affs_iterate_dir): Handle hardlinks.
1681
1682 2012-05-26 Matthew Garrett <mjg@redhat.com>
1683
1684 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1685 (grub_efi_console_fini): Likewise.
1686 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1687 (grub_video_gop_fill_mode_info): Rename to ...
1688 (grub_video_gop_fill_real_mode_info): ... this.
1689 (grub_video_gop_fill_mode_info): New function.
1690 (grub_video_gop_setup): Setup double framebuffer.
1691 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1692 Free offscreen.
1693 (grub_video_gop_swap_buffers): Copy framebuffer.
1694 (grub_video_gop_fini): Free offscreen buffer.
1695 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1696 New enum.
1697 (grub_efi_gop_blt_pixel): New struct.
1698
1699 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * gentpl.py: Remove error disabling for objconv.
1702
1703 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * configure.ac: Remove -Wunitialized as it's not available on older
1706 compilers.
1707
1708 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 Fix extent overflow comparator.
1711
1712 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1713 (grub_hfsplus_read_block): Set type.
1714 (grub_hfsplus_cmp_extkey): Compare type.
1715
1716 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1719
1720 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1723 than 0.
1724
1725 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1728 (dejavu_bold_14.pf2): New target.
1729
1730 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * configure.ac: Fix djvu font detection.
1733
1734 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1737 ext* instead of ext2.
1738
1739 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1742 name with \0.
1743
1744 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1745
1746 * docs/grub-dev.texi: Remove dot from .png.
1747
1748 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1751 protective entry in any slot.
1752 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1753 if protective entry is found in any slot.
1754
1755 Protective entry in non-first slot make no sense but is a widespread
1756 brain damage.
1757
1758 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1761
1762 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1765 with old reiserfs.
1766 (grub_reiserfs_open): Don't free root.
1767
1768 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1771 after freeing for safety.
1772
1773 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1776 Reported by: Jordan Uggla.
1777
1778 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1779
1780 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1781 actual implementation. Specifically, clarify that the grub menu will
1782 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1783 passed.
1784
1785 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1786
1787 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1788 of r0.
1789
1790 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 Remove unjustified hard dependency of normal.mod on gfxterm.
1793
1794 * include/grub/term.h (grub_term_output): New member fullscreen.
1795 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1796 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1797 (grub_gfxterm): Set .fullscreen.
1798 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1799 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1800
1801 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1804 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1805 Mention case-insensitive AFFS, SFS and JFS.
1806
1807 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1810
1811 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1814 a bad FS.
1815
1816 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1819 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1820
1821 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1824 (grub_jfs_mount): Fill caseins.
1825 (grub_jfs_find_file): Respect caseins.
1826
1827 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1830 through UTF-16.
1831
1832 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1835 New argument origpath. All users updated.
1836
1837 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1840 (read_attr): Ensure that we read start of possibly compressed block.
1841
1842 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1845 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1846 All users updated.
1847
1848 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1851 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1852 (dejavu.pf2): Replace with ...
1853 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1854 this.
1855
1856 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * util/grub.d/20_linux_xen.in: Add missing line.
1859
1860 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1863 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1864 (grub_utf16_to_utf8): Likewise.
1865
1866 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1869 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1870 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1871 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1873 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1874
1875 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1878 a bad FS.
1879
1880 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1883 (grub_udf_read_symlink): Handle read_string failure.
1884
1885 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1888 comment.
1889
1890 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 Fix handling of UDF symlinks.
1893
1894 * grub-core/fs/udf.c (read_string): New argument outbuf.
1895 All users updated.
1896 (grub_ufs_read_symlink): Rename to ...
1897 (grub_udf_read_symlink): ... this. All users updated.
1898 Handle symlinks with more than one component.
1899
1900 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1903 symlinks. Replace leading colon with a slash.
1904
1905 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1908 filename.
1909
1910 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1913 match in inner node.
1914
1915 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1918 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1919 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1920 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1921 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1922 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1923 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1924 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1925 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1926
1927 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 Use grub-probe and not cmp to check that disk is empty.
1930
1931 * util/grub-install.in: Use grub-probe for zero-check.
1932 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1933 (probe): Handle PRINT_ZERO_CHECK.
1934 (argp_parser): Handle -t zero_check.
1935
1936 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 Flush block cache on adding disk to device map.
1939
1940 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1941 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1942 adding.
1943 (read_device_map): Likewise.
1944 (open_device): Flush on opening.
1945
1946 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1949 (handle_symlink): Fix off-by-one error.
1950 Canonicalize the target.
1951 (grub_cpio_dir): Canonicalize the name.
1952 Fix memory leak.
1953 Set directory.
1954 (grub_cpio_open): Canonicalize the name.
1955
1956 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1959 handling.
1960
1961 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1964 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1965
1966 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1969 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1970 All users updated.
1971
1972 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1975 counterpart.
1976
1977 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 Fix UFS1 big file support.
1980
1981 * grub-core/fs/ufs.c (INODE): Removed.
1982 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1983 64-bit.
1984 (INODE_MODE): Simplify.
1985 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1986 (grub_ufs_lookup_symlink): Don't use INODE.
1987
1988 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1991
1992 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1993 (grub_minix_data): Replace log_block_size with block_size.
1994 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1995 (grub_minix_mount): Fill block_size.
1996
1997 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * configure.ac: Bump to beta5.
2000
2001 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 Fix wrapped HFS+ handling.
2004
2005 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2006 blocks_start. All users updated.
2007 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2008 wrapping offset.
2009 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2010
2011 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 Fix long symlinks on reiserfs.
2014
2015 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2016 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2017 (grub_reiserfs_iterate_dir): Save size for non-directories.
2018 (grub_reiserfs_open): Don't reread stat block as we already know the
2019 size.
2020 (grub_reiserfs_read): Split into...
2021 (grub_reiserfs_read_real): ... and ...
2022 (grub_reiserfs_read): ...this.
2023
2024 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 Fix non-indexed JFS.
2027
2028 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2029 (grub_jfs_data): New field namecomponentlen.
2030 (grub_jfs_mount): Fill namecomponentlen.
2031 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2032
2033 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2036 * tests/grub_script_echo1.in: Add tests.
2037
2038 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * util/grub-install.in: Ignore empty devicetree directory.
2041
2042 2012-05-08 Bean <bean123ch@gmail.com>
2043
2044 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2045 All users updated.
2046 (free_rsm): Free header as well.
2047 (free_old_fragments): Fix memory leak.
2048 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2049 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2050 (destroy_pq): Likewise.
2051 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2052
2053 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2056 resulting hash as a precaution.
2057
2058 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2061 '_' in variable names.
2062 * grub-core/net/net.c (grub_net_network_level_interface_register):
2063 Likewise.
2064
2065 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 Fix AFFS with non-512B blocks.
2068
2069 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2070 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2071 (grub_affs_data): Replace blocksize with log_blocksize.
2072 (grub_affs_read_block): Fix non-512B blocks.
2073 (grub_affs_read_symlink): Likewise.
2074 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2075 (grub_affs_read): Fix non-512B blocks.
2076 (grub_affs_label): Likewise.
2077 (grub_affs_mtime): Likewise.
2078 (grub_affs_mount): Fix block detection routine.
2079
2080 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 Add filesystem mtime to AFFS.
2083
2084 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2085 (aftime2ctime): New function.
2086 (grub_affs_dir): Use aftime2ctime.
2087 (grub_affs_label): Fix return value.
2088 (grub_affs_mtime): New function.
2089 (grub_affs_fs): Add mtime.
2090
2091 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2094 UTF-8.
2095
2096 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2099 UTF-8.
2100
2101 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2104
2105 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2108 flags.
2109 (FLAGS_CASE_SENSITIVE): New enum value.
2110 (cache_entry): New struct.
2111 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2112 cache_size and cache.
2113 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2114 Add log_blocksize and fshelp_flags.
2115 (grub_sfs_read_extent): Handle non-512 blocks.
2116 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2117 (grub_sfs_read_file): Handle non-512 blocks.
2118 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2119 fshelp_flags.
2120 (grub_sfs_read_symlink): Handle non-512 blocks.
2121 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2122 (grub_sfs_dir): Free cache.
2123 (grub_sfs_close): Likewise.
2124
2125 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2128 filesystems.
2129
2130 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2133
2134 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2137
2138 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2141 (grub_sfs_read_extent): Likewise.
2142 (grub_sfs_read_block): Likewise.
2143 (grub_sfs_mount): Likewise.
2144 (grub_sfs_iterate_dir): Likewise.
2145 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2146 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2147
2148 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 Fix errors on compressed NTFS with 512B clusters.
2151
2152 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2153 types.
2154 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2155 not 0.
2156 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2157 Relax check for inline extents.
2158 (ntfscomp): Return correct -1 on error and not 0.
2159
2160 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * util/grub-install.in: Fix handling of prefix containing spaces.
2163
2164 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2167 (grub_squash_read_data): Fix offset byte-swapping.
2168
2169 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2172 per common usage and preffered in several parts of code.
2173 (grub_memcmp): Likewise.
2174 (grub_strncmp): Likewise.
2175 * include/grub/misc.h (grub_strcasecmp): Likewise.
2176 (grub_strncasecmp): Likewise.
2177 * Makefile.util.def (cmp_test): New test.
2178 (grub_script_strcmp): Likewise.
2179 * tests/cmp_unit_test.c: New file.
2180 * tests/grub_script_strcmp.in: Likewise.
2181 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2182
2183 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * include/grub/pci.h: Move enums into no-asm part.
2186
2187 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2190
2191 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2192
2193 * util/getroot.c (find_hurd_root_device): Try to make error message
2194 and comments to translators clearer.
2195
2196 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2199
2200 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2203 btrfs.
2204
2205 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * docs/grub.cfg: Update.
2208
2209 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * docs/grub.texi (PXE): Remove not present variables.
2212
2213 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/net/net.c (defserver_set_env): New function.
2216 (defserver_get_env): Likewise.
2217 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2218
2219 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2222 entries.
2223
2224 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2227 * grub-core/kern/emu/hostdisk.c: Likewise.
2228
2229 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2230
2231 Handle hurd userspace partitions.
2232
2233 * util/getroot.c (find_hurd_root_device): New function.
2234 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2235
2236 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2239 names.
2240 Reported by: Bastian Blank.
2241
2242 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2245 crossing page boundary.
2246
2247 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 Fix B-tree search in BFS, especially in presence of non-ASCII
2250 characters.
2251
2252 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2253 (find_in_b_tree): Use standard bsearch + btree algorithm.
2254
2255 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2258 and so on.
2259
2260 2012-05-03 Matthew Garrett <mjg@redhat.com>
2261 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 Suspend broadcom cards in order to stop their DMA.
2264
2265 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2266 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2267 (pci): Don't build on x86 EFI.
2268 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2269 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2270 New function.
2271 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2272 stop_broadcom if running on EFI.
2273 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2274 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2275 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2276 (grub_pci_find_capability): New proto.
2277
2278 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * docs/grub.texi: Remove dot from the extension as it apparently
2281 doesn't work with some makeinfo versions.
2282
2283 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2286 with GRUB expectance.
2287
2288 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2291
2292 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2295 zero after directory block since last entry may be not 0-terminated if
2296 it ends on block boundary. Use continue instead of if spanning whole
2297 loop.
2298
2299 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 Support 4K sectors UDF inline files.
2302
2303 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2304 (grub_udf_extended_file_entry): Likewise.
2305 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2306 All users updated.
2307 (get_fshelp_size): New function.
2308 (grub_udf_read_icb): Read whole block.
2309 (grub_udf_iterate_dir): Likewise.
2310 (grub_udf_dir): Likewise.
2311 (grub_udf_open): Likewise.
2312
2313 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2316
2317 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2320 inline symlinks in addition to workaround.
2321
2322 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2325
2326 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2329
2330 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2333
2334 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 Fix reiserfs big seek times.
2337
2338 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2339 exact. All users updated.
2340 (grub_reiserfs_read): Use nearest btree search for seeking.
2341 Fix return value on error.
2342
2343 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2346 entries.
2347 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2348 * docs/grub.texi: Update menuentry description.
2349
2350 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2353 crash when embedding onto filesystem.
2354
2355 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2358 name.
2359
2360 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2363
2364 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2367 commit.
2368
2369 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2370 2012-05-01 Bean <bean123ch@gmail.com>
2371
2372 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2373
2374 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2377 Special behaviour for len = 0 to read whole file isn't used anywhere and
2378 can cause buffer ovewrflows in several places.
2379
2380 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2383
2384 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Handle RAIDZ on non-512B sectors.
2387
2388 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2389 max_children_ashift.
2390 (fill_vdev_info_real): Fill max_children_ashift.
2391 (read_device): Use max_children_ashift.
2392
2393 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2396
2397 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2400 disk names.
2401 * docs/grub.texi: Update device.map parts.
2402
2403 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 Don't scan into non-diskfilter devices having diskfilter names.
2406
2407 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2408 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2409 handling.
2410 (scan_disk_hook): New function.
2411
2412 2012-04-29 Bean <bean123ch@gmail.com>
2413
2414 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2415 allocation.
2416
2417 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2418
2419 * configure.ac: Detect starfield theme font path
2420 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2421
2422 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2425 geometry on serial consoles.
2426
2427 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2430 because of network consoles.
2431
2432 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2435 handling.
2436
2437 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2440 falls on Q syndrom.
2441
2442 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2445 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2446
2447 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2450 Allocate at lest 8192 for temporary buffer as required for lzo.
2451
2452 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2455 to cluster_bits, since it's already added in.
2456 (grub_fat_read_data): Likewise.
2457
2458 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2461 as long as cluster size is multiple of 512 bytes.
2462
2463 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * util/grub-mkrescue.in: Fix locale directory.
2466
2467 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/kern/emu/hostdisk.c (map): Make static.
2470
2471 2012-04-23 Bean <bean123ch@gmail.com>
2472
2473 * util/grub-fstest.c (fstest): Add missing break.
2474
2475 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2476
2477 Fix hurd build.
2478
2479 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2480 not define nr variable.
2481 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2482 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2483 grub_find_device): Do not define.
2484
2485 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Fix kfreebsd compile and behaviour.
2488
2489 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2490 format-security.
2491 * util/getroot.c: Fix wait.h include.
2492 (grub_guess_root_devices): Error if grub_find_device fails.
2493 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2494 (grub_util_get_dev_abstraction): Likewise.
2495 (grub_util_pull_device): Likewise.
2496 (grub_util_get_grub_dev): Likewise.
2497 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2498
2499 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Fix and unify wholedisk detection.
2502
2503 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2504 is_part. All users updated.
2505 (device_is_wholedisk): Removed.
2506 (grub_util_biosdisk_get_grub_dev): Use is_part.
2507
2508 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2511 mode.
2512
2513 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * configure.ac: Bump to beta4.
2516
2517 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2520 --fs-uuid --set UUID syntax.
2521
2522 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2525 disunification.
2526
2527 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2530
2531 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
2532
2533 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2534
2535 2012-04-18 Mike Gilbert <floppym@gentoo.org>
2536
2537 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2538
2539 2012-04-18 Bean <bean123ch@gmail.com>
2540
2541 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2542 place.
2543
2544 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2547 users updated.
2548 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2549 corresponding to GRUB partitions.
2550 (grub_util_biosdisk_write): Likewise.
2551
2552 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Scan mdraid before LVM.
2555
2556 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2557 (grub_diskfilter_register_front): ... this.
2558 (grub_diskfilter_register_back): New function.
2559 All users of grub_diskfilter_register updated.
2560
2561 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * util/grub-install.in: Fix an automatic target detection bug.
2564
2565 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * util/grub-install.in: New option --efi-directory.
2568
2569 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2572 boot services if we have no other choice.
2573
2574 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2577 document it.
2578 * tests/util/grub-shell.in: Update to --directory.
2579
2580 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2583
2584 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2587 (grub_minix_read_file): Likewise.
2588 (grub_minix_read_inode): Likewise.
2589 (grub_minix_find_file): Likewise.
2590 (grub_minix_dir): Likewise.
2591
2592 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * util/grub-setup.c (setup): Fix partition handling and blocklist
2595 check.
2596
2597 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2600 redundant buggy overlap check.
2601
2602 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2605 and grub-mknetdir.
2606
2607 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2610 kh.loadflags on pre-2.00 kernels.
2611
2612 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 Terminate UNDI and PXE before launching the payload to avoid problems
2615 with DMA.
2616
2617 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2618 (grub_loader_flags): ... this. All users updated.
2619 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2620 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2621 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2622 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2623 function.
2624 (grub_pxe_restore): Likewise.
2625 (fini_hnd): New var.
2626 (GRUB_MOD_INIT): Register shutdown hook.
2627 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2628 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2629 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2630 (grub_loader_set): Rename second argument to flags.
2631
2632 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2635 written bytes.
2636 (grub_get_num_of_utf8_bytes): New function.
2637 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2638 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2639 executing it.
2640 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2641 (grub_ucs4_to_utf8): Change return type.
2642
2643 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2646 warning.
2647 * grub-core/fs/bfs.c (hop_level): Likewise.
2648 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
2649
2650 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/lib/adler32.c: Recode due to license unclearness.
2653
2654 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2657 (test_header): Likewise.
2658
2659 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 Fix --help formatting.
2662
2663 * util/grub-mkconfig_lib.in (print_option_help): New function.
2664 (grub_fmt): Likewise.
2665 * util/grub-install.in: Use print_option_help and grub_fmt.
2666 * util/grub-kbdcomp.in: Likewise.
2667 * util/grub-mkconfig.in: Likewise.
2668 * util/grub-mknetdir.in: Likewise.
2669 * util/grub-mkrescue.in: Likewise.
2670 * util/grub-mkstandalone.in: Likewise.
2671 * util/grub-reboot.in: Likewise.
2672 * util/grub-set-default.in: Likewise.
2673 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2674
2675 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * linguas.sh: Remove autogenerated *.po.
2678
2679 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * po/README: Move language fetcing to ...
2682 * linguas.sh: ... here.
2683 * po/README: Point to linguas.sh.
2684
2685 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * po/README: Exclude ko.po due to disclaimer problems.
2688
2689 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2692 len = 0.
2693 (grub_gettext_translate_real): Handle 0th string.
2694 (grub_gettext_translate): Ensure that "" isn't translated.
2695
2696 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2699 TRANSLATORS comment.
2700 (grub_diskfilter_print_partmap): Propagate changing of error into
2701 warning.
2702
2703 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2706 to uint64_t to prevent overflow.
2707 (grub_diskfilter_lv): Increase start_extent and extent_count
2708 to uint64_t to prevent overflow.
2709
2710 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * configure.ac: Increase version.
2713
2714 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2717
2718 * po/Rules-translit: New file.
2719 * po/arabic.sed: Likewise.
2720 * po/cyrillic.sed: Likewise.
2721 * po/greek.sed: Likewise.
2722 * po/hebrew.sed: Likewise.
2723 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2724 * po/Makefile.in.in: Add extra_dist4.
2725
2726 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2729
2730 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2731 modify names. Introduce MODE_BIGENDIAN.
2732 * grub-core/fs/minix_be.c: New file.
2733 * grub-core/fs/minix2_be.c: Likewise
2734 * grub-core/fs/minix3_be.c: Likewise.
2735 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2736 minix3_be.
2737 * grub-core/Makefile.core.def (minix_be): New module.
2738 (minix2_be): Likewise.
2739 (minix3_be): Likewise.
2740
2741 2012-04-01 Felix <email@hamburg.de>
2742
2743 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2744 (devs): Add MBP 2011.
2745
2746 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2749
2750 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/normal/cmdline.c (print_completion): New field
2753 prompt_len.
2754 (grub_cmdline_get): Handle width properly.
2755
2756 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2759
2760 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2763 after 29th of February.
2764
2765 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 Fix exfat endianness handling.
2768
2769 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2770 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2771 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2772 Byte-swap utf16 when necessary.
2773 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2774
2775 2012-03-31 Anton Blanchard <anton@samba.org>
2776 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 Fix btrfs endianness handling.
2779
2780 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2781 (lower_bound): Make root uint64_t. Use root in le.
2782 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2783 (find_path): Fix template key init.
2784 (grub_btrfs_dir): Fix mtime byteswap.
2785 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2786
2787 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2790 recursion_depth. Break infinite resursions. All users updated.
2791
2792 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2795 after free.
2796 Reported by: Peter Jones.
2797
2798 2012-03-31 Anton Blanchard <anton@samba.org>
2799
2800 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2801 8 bit values.
2802
2803 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * util/grub-install.in: Fix nvram call for PreP.
2806
2807 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2810 the error when some elements are missing into a warning.
2811
2812 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2815
2816 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2817
2818 * docs/grub.texi (Invoking grub-probe): New section.
2819 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2820
2821 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Fix tab and wide character handling in editor and menu.
2824
2825 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2826 agglomerate control characters with combining marks.
2827 (bidi_line_wrap): Allow break on tab.
2828 (grub_unicode_get_comb_start): New function.
2829 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2830 and tab correctly.
2831 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2832 with a space.
2833 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2834 fixed_tab_size. All users updated.
2835 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2836 (grub_term_getcharwidth): Handle \t.
2837 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2838 and copy.
2839
2840 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 Handle big-endian mdraid.
2843
2844 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2845 * grub-core/Makefile.core.def (mdraid09_be): New module.
2846 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2847 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2848 * grub-core/disk/mdraid_linux_be.c: New file.
2849
2850 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2853
2854 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2857 missing quotes which caused confusion among translators.
2858
2859 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * util/grub-mkconfig_lib.in: Fix typo.
2862
2863 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2866 spaces.
2867 * tests/grub_script_leading_whitespace.in: New file.
2868 * Makefile.util.def (grub_script_leading_whitespace): New test.
2869
2870 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2873 to work.
2874
2875 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2878 starts with control character.
2879
2880 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2883 overflow.
2884 (grub_gdb_outbuf): Likewise.
2885
2886 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2889 zero terminator. Fixes a crash.
2890
2891 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2894 beyond 4 GiB.
2895 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2896 images independently of preffered adderss field.
2897
2898 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2901 * grub-core/commands/regexp.c: Likewise.
2902 * grub-core/loader/i386/linux.c: Likewise.
2903 * grub-core/partmap/msdos.c: Likewise.
2904 * grub-core/script/execute.c: Likewise.
2905 * grub-core/term/gfxterm.c: Likewise.
2906
2907 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 Add variable parsing in $"..." and fix several mismatches with bash.
2910
2911 * Makefile.util.def (grub_script_gettext): New test.
2912 * grub-core/script/execute.c (parse_string): New function.
2913 (gettext_append): Likewise.
2914 (grub_script_arglist_to_argv): Use gettext_append.
2915 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2916 * tests/grub_script_gettext.in: New file.
2917
2918 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 Fix handling of leading spaces in scripts.
2921
2922 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2923 spaces.
2924 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2925 other than skipping \r. All users updated.
2926 * tests/grub_script_echo1.in: Add space-related tests.
2927 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2928
2929 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2932
2933 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2934
2935 * configure.ac: Bump up the version to beta2.
2936
2937 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Fix gettext reload bugs (e.g. inability to disable gettext
2940 once enabled).
2941
2942 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2943 main_context and secondary_context. All functions updated.
2944 (grub_gettext_translate): Rename to ...
2945 (grub_gettext_translate_real): ... this. Return NULL on failed
2946 translate.
2947 (grub_gettext_translate): Handle secondary context.
2948 (grub_gettext_delete_list): Close file and zero-out the context.
2949 (grub_mofile_open): Don't call grub_gettext_delete_list.
2950 Don't close file.
2951 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2952 if locale="" to avoid pointless error message.
2953 (grub_gettext_env_write_lang): Update lang even if load fails.
2954 Handle secondary context.
2955 (grub_gettext_reread_prefix): New function.
2956 (read_main): Likewise.
2957 (read_secondary): Likewise.
2958 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2959 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2960 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2961 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2962
2963 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * configure.ac: Decrease warning level to avoid spurious warnings and
2966 to be able to compile with GCC 4.2.
2967 * Makefile.util.def: Remove -Wno-error=logical-op.
2968
2969 2012-03-10 William Bittner <william.bittner@gmail.com>
2970
2971 * util/import_unicode.py: Add missing brackets around string for
2972 python 3 support.
2973
2974 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 Fix efi chainloader on network root.
2977
2978 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2979 network devices.
2980 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2981 New function.
2982
2983 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2986 unused show_text member.
2987 * docs/grub.texi: Document "text" property.
2988
2989 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2992 in dprintf.
2993
2994 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 Fix IMSM handling on Fedora.
2997
2998 * util/getroot.c (grub_util_is_imsm): New function.
2999 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3000
3001 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * Makefile.am: Strip gold section.
3004 * conf/Makefile.common: Likewise.
3005 * gentpl.py: Likewise.
3006 * grub-core/Makefile.core.def: Likewise.
3007 * grub-core/genmod.sh.in: Likewise.
3008
3009 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3012 * util/grub.d/20_linux_xen.in: Likewise.
3013 Based on Debian patch.
3014
3015 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * util/grub.d/10_linux.in: Fix syntax error resulting in
3018 Richard Laager's patch.
3019 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3020
3021 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3024 dependencies.
3025
3026 2012-03-10 Richard Laager <rlaager@wiktel.com>
3027
3028 * util/grub.d/10_linux.in: Fix ZFS root passing.
3029
3030 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3033 * grub-core/commands/xnu_uuid.c: Likewise.
3034 * grub-core/loader/efi/appleloader.c: Likewise.
3035 * grub-core/script/execute.c: Likewise.
3036 * grub-core/script/main.c: Likewise.
3037 * util/grub-mkfont.c: Likewise.
3038
3039 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * util/grub-mkfont.c (options): Use more appropriate "select" that
3042 "set" for face index.
3043
3044 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * util/grub-editenv.c (options): Gettextize command summaries.
3047
3048 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3051 "out of memory" error messagge.
3052
3053 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3056 of diskfilter for diskfilter on diskfilter support.
3057
3058 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3061
3062 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3065 themes/starfield.
3066
3067 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3070
3071 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3074
3075 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3078 of error message.
3079
3080 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3083
3084 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3087 message.
3088 * util/grub-install.in: Fix and gettextize error message.
3089
3090 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3093 Gettextize.
3094 * util/grub-mount.c (options): Likewise.
3095
3096 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3099 gettextize.
3100 * grub-core/commands/search_wrap.c (options): Likewise.
3101
3102 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3105
3106 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3109 size calculation.
3110 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3111 none is known.
3112
3113 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3116 "temporary" since it's used in identifier and is limited in space.
3117
3118 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * po/POTFILES.in: Regenerate. Include *.h since they contain
3121 translatable strings as well.
3122
3123 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3126 byte-swap on big-endian.
3127 Reported by: Lennart Sorensen
3128
3129 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3132 (allocate_pages): Improve dprintf.
3133 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3134 code32_start. Fill code32_start and kernel_alignment in params.
3135 (grub_cmd_initrd): Use prot_init_space.
3136
3137 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3140
3141 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * util/grub-install.in: Add missing dot at the end of sentence.
3144
3145 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3148 * grub-core/commands/videotest.c: Likewise.
3149 * grub-core/loader/i386/linux.c: Likewise.
3150
3151 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3154 sentence.
3155 Reported by: Milo Casagrande.
3156
3157 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3160 * grub-core/commands/gptsync.c: Likewise.
3161 * grub-core/commands/hashsum.c: Likewise.
3162 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3163 * grub-core/commands/legacycfg.c: Likewise.
3164 * grub-core/io/gzio.c: Likewise.
3165 * grub-core/net/net.c: Likewise.
3166 * grub-core/term/gfxterm.c: Likewise.
3167 * grub-core/term/terminfo.c: Likewise.
3168 * grub-core/tests/test_blockarg.c: Likewise.
3169 * grub-core/video/video.c: Likewise.
3170 * util/grub-install.in: Likewise.
3171 * util/grub-mkfont.c: Likewise.
3172
3173 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3176
3177 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/commands/search_wrap.c (options): Fix a typo.
3180 Reported by: David Prévot.
3181
3182 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3185 description.
3186
3187 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * util/grub-script-check.c (main): Fix a syntax error message which was
3190 unclear.
3191
3192 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3195
3196 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3199 messages.
3200
3201 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3204 without argument.
3205 * util/grub-mount.c (options): Likewise.
3206
3207 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3210
3211 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/net/http.c: Add TRANSLATORS comments.
3214 * grub-core/normal/cmdline.c: Likewise.
3215 * grub-core/normal/misc.c: Likewise.
3216 * grub-core/partmap/msdos.c: Likewise.
3217 * grub-core/parttool/msdospart.c: Likewise.
3218 * grub-core/script/execute.c: Likewise.
3219 * grub-core/script/main.c: Likewise.
3220 * grub-core/term/terminfo.c: Likewise.
3221 * grub-core/video/bitmap.c: Likewise.
3222 * util/grub-install.in: Likewise.
3223 * util/grub-mkimage.c: Likewise.
3224 * util/grub-mklayout.c: Likewise.
3225 * util/grub-setup.c: Likewise.
3226
3227 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3230 with similar messages in grub-fstest.
3231
3232 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * util/grub-install.in: Unify "option requires an argument" message
3235 with similar messages in other files.
3236 * util/grub-mkconfig.in: Likewise.
3237
3238 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * util/grub-set-default.in: Replace printf with gettext_printf (the
3241 string in in question is already translated from grub-reboot)
3242
3243 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * configure.ac: Bump up the version to beta1.
3246
3247 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3250 case when min_align = 0.
3251
3252 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3255 and fix a case when line_start overflows.
3256
3257 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * util/grub-reboot.in (usage): Mention id posibility.
3260 * util/grub-set-default.in (usage): Likewise.
3261
3262 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3265 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3266 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3267 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3268 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3269 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3270 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3271
3272 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/commands/menuentry.c (options): Remove
3275 GRUB_ARG_OPTION_REPEATABLE.
3276 Reported by: Andreas Vogel
3277
3278 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3279
3280 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3281
3282 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3283
3284 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3285 error.
3286
3287 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 Use sort -V by the idea of Georgi Georgiev.
3290
3291 * util/grub-mkconfig_lib.in (version_sort): New function.
3292 (version_test_numeric): Use version_sort.
3293
3294 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 Use submenus in grub-mkconfig.
3297
3298 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3299 * util/grub-mkconfig_lib.in (grub_quote): New function.
3300 (gettext_printf): Use gettext and not gettext_quoted to fix several
3301 messages.
3302 * util/grub.d/10_hurd.in: Use submenus.
3303 * util/grub.d/10_kfreebsd.in: Likewise.
3304 * util/grub.d/10_linux.in: Likewise.
3305 * util/grub.d/10_netbsd.in: Likewise.
3306 * util/grub.d/20_linux_xen.in: Likewise.
3307 * util/grub.d/30_os-prober.in: Likewise.
3308 * util/grub.d/10_illumos.in: Add missing quoting.
3309 * util/grub.d/10_windows.in: Likewise.
3310
3311 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Fix menu title instability bug.
3314
3315 * grub-core/commands/menuentry.c (options): New option --id.
3316 (grub_normal_add_menu_entry): New argument id. All users updated.
3317 (grub_cmd_menuentry): Handle --id.
3318 (grub_menu_init): Accept unknown arguments.
3319 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3320 feature_menuentry_options.
3321 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3322 saved_entry.
3323 (get_entry_number): Match with id as well.
3324 * include/grub/menu.h (grub_menu_entry): New member id.
3325 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3326 * util/grub.d/00_header.in: Define menuentry_id_option.
3327 * util/grub.d/10_hurd.in: Define id.
3328 * util/grub.d/10_illumos.in: Likewise.
3329 * util/grub.d/10_kfreebsd.in: Likewise.
3330 * util/grub.d/10_linux.in: Likewise.
3331 * util/grub.d/10_netbsd.in: Likewise.
3332 * util/grub.d/10_windows.in: Likewise.
3333 * util/grub.d/20_linux_xen.in: Likewise.
3334 * util/grub.d/30_os-prober.in: Likewise.
3335
3336 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3339 "scope" with "body".
3340
3341 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3344 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3345 prot_size and prot_file_size.
3346
3347 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3350 All users updated. If easily=1 require raid-5/-6 to be full.
3351 (is_node_readable): Likewise.
3352 (scan_devices): Scan incomplete but readable LVs at the end.
3353 (grub_diskfilter_memberlist): Pull missing devices.
3354 (insert_array): Skip scanning until device is complete or scan is
3355 done otherwise.
3356 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3357 check.
3358 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3359 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3360
3361 2012-03-03 Matthew Garrett <mjg@redhat.com>
3362 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 Avoid EFI boot services when loading Linux.
3365
3366 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3367 avoid_efi_bootservices. All users updated.
3368 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3369 argument avoid_efi_bootservices. All users updated.
3370 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3371 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3372 align, min_align, relocatable, prefered_address. All users updated.
3373 Allocate avoiding boot services if kernel is relocatable.
3374 (grub_cmd_linux): Check if kernel is relocatable.
3375 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3376 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3377 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3378 avoid_efi_boot_services.
3379 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3380 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3381 (linux_kernel_params): Likewise.
3382
3383 2012-03-03 Matthew Garrett <mjg@redhat.com>
3384 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 Use EDID on EFI.
3387
3388 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3389 datasize_out.
3390 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3391 modes. Set gop_handle.
3392 (grub_video_gop_get_edid): New function.
3393 (grub_gop_get_preferred_mode): Likewise.
3394 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3395 (grub_video_efi_gop_adapter): Set .get_edid.
3396 * include/grub/efi/edid.h: New file.
3397 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3398
3399 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * util/grub-install.in: Load efivars unconditionally.
3402
3403 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * po/Rules-piglatin: Change suffix from .po-update-en to
3406 .po-update-en-piglatin.
3407
3408 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 Add a pig farm.
3411
3412 * po/piglatin.sed: New file.
3413 * po/en@piglatin.header: Likewise.
3414 * po/Rules-piglatin: Likewise.
3415 * po/README: Add en@piglatin to autogenerated languages.
3416
3417 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3420 "Command for ...".
3421 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3422 "Check" since we don't check anything.
3423 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3424 is 64-bit one.
3425 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3426 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3427 (grub_md_sha512_real): Likewise.
3428
3429 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/commands/gptsync.c: Fix typographic quoting.
3432 * grub-core/commands/ieee1275/suspend.c: Likewise.
3433 * grub-core/commands/parttool.c: Likewise.
3434 * grub-core/commands/search_wrap.c: Likewise.
3435 * grub-core/commands/videoinfo.c: Likewise.
3436 * grub-core/gfxmenu/gui_label.c: Likewise.
3437 * grub-core/hello/hello.c: Likewise.
3438 * grub-core/kern/emu/main.c: Likewise.
3439 * grub-core/net/net.c: Likewise.
3440 * grub-core/normal/menu.c: Likewise.
3441 * grub-core/normal/menu_text.c: Likewise.
3442 * grub-core/normal/misc.c: Likewise.
3443 * util/grub-editenv.c: Likewise.
3444 * util/grub-install.in: Likewise.
3445 * util/grub-kbdcomp.in: Likewise.
3446 * util/grub-mkconfig.in: Likewise.
3447 * util/grub-mknetdir.in: Likewise.
3448 * util/grub-mkrescue.in: Likewise.
3449 * util/grub-mkstandalone.in: Likewise.
3450 * util/grub-reboot.in: Likewise.
3451 * util/grub-set-default.in: Likewise.
3452 * util/grub-setup.c: Likewise.
3453 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3454
3455 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3458 * grub-core/commands/keystatus.c: Likewise.
3459 * grub-core/commands/loadenv.c: Likewise.
3460 * grub-core/commands/probe.c: Likewise.
3461 * grub-core/commands/regexp.c: Likewise.
3462 * grub-core/commands/true.c: Likewise.
3463 * grub-core/commands/videoinfo.c: Likewise.
3464 * grub-core/disk/cryptodisk.c: Likewise.
3465 * grub-core/disk/ldm.c: Likewise.
3466 * grub-core/disk/loopback.c: Likewise.
3467 * grub-core/disk/luks.c: Likewise.
3468 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3469 * grub-core/kern/disk.c: Likewise.
3470 * grub-core/kern/emu/hostdisk.c: Likewise.
3471
3472 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3475 * util/grub-install.in: Add missing quote in the comment.
3476
3477 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3480 * grub-core/commands/lsmmap.c: Likewise.
3481 * grub-core/commands/minicmd.c: Likewise.
3482 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3483 * grub-core/commands/regexp.c: Likewise.
3484 * grub-core/gdb/gdb.c: Likewise.
3485 * grub-core/term/gfxterm.c: Likewise.
3486 * util/grub-mkconfig.in: Likewise.
3487 * util/grub-mkfont.c: Likewise.
3488 * util/grub-mklayout.c: Likewise.
3489 * util/grub-mknetdir.in: Likewise.
3490 * util/grub-mkrescue.in: Likewise.
3491 * util/grub.d/30_os-prober.in: Likewise.
3492
3493 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3496 with "Direct color" and "Packed" with "Packed pixel".
3497 (grub_cmd_videoinfo): Simplify legend.
3498
3499 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3502 absolutely unclear error message.
3503
3504 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * util/grub-mkstandalone.in: Remove confusing leftover print.
3507
3508 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3511 comments.
3512 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3513 (GRUB_MOD_INIT): Likewise.
3514 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3515 VGA mode.
3516 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3517 comments.
3518 * util/grub-install.in (usage): Likewise.
3519 Spell ID in whole letters.
3520 Add missing ending dot.
3521 Quote variables.
3522 * util/grub-reboot.in: Fix capitalisation.
3523 * util/grub-set-default.in: Likewise.
3524
3525 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3528 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3529 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3530 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3531 Disable -Werror for -Wdeprecated-declarations.
3532 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3533 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3534 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3535 (grub_util_get_grub_dev): Make luks handling dependent on
3536 HAVE_DEVICE_MAPPER and not __linux__.
3537 (get_win32_path): Fix format security.
3538 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3539 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3540 Don't try grub_find_zpool_from_dir.
3541 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3542 #ifdef-out paresdir.
3543
3544 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 * util/grub-pe2elf.c (usage): Add missing noreturn.
3547 (write_section_data): Rename name to shname to avoid shadowing.
3548 (write_symbol_table): Rename name to symname to avoid shadowing.
3549 Fix write_reloc_section call.
3550
3551 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3554 to ensure that it's after the last byte of .text.
3555
3556 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * util/ieee1275/ofpath.c (my_isdigit): New function.
3559 (trailing_digits): Use my_isdigit.
3560 (strip_trailing_digits): Likewise.
3561
3562 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3565 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3566
3567 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * grub-core/kern/i386/pc/startup.S: Define __start.
3570
3571 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3574 strip already transforms he format.
3575
3576 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3579
3580 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * util/grub-install.in: Add missing gettext init.
3583 * util/grub-kbdcomp.in: Likewise.
3584 * util/grub-mkconfig.in: Likewise.
3585 * util/grub-mknetdir.in: Likewise.
3586 * util/grub-mkrescue.in: Likewise.
3587 * util/grub-mkstandalone.in: Likewise.
3588 * util/grub-reboot.in: Likewise.
3589 * util/grub-set-default.in: Likewise.
3590 * util/grub.d/00_header.in: Likewise.
3591 * util/grub.d/10_hurd.in: Likewise.
3592 * util/grub.d/10_windows.in: Likewise.
3593 * util/grub.d/30_os-prober.in: Likewise.
3594 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3595
3596 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * po/Rules-swiss: Fix header comment.
3599
3600 2012-02-29 Andreas Vogel <anvoit>
3601
3602 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3603 resulted in leak of arguments.
3604
3605 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3608 reed_solomon_size const definition instead of computing it since
3609 Apple assembler doesn't support the later.
3610
3611 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * gentpl.py (kernel): Rewrite Apple part.
3614
3615 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3618
3619 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3622 ELF section gap.
3623 (load_image): Likewise.
3624
3625 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * configure.ac: Fix a typo in previous commit.
3628
3629 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 Don't add -Wl,-N on Apple platform.
3632
3633 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3634 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3635
3636 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/Makefile.core.def (lzma_decompress): Use
3639 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3640
3641 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * grub-core/genmod.sh.in: Rewrite the Apple part.
3644
3645 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3648 comparison.
3649
3650 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * acinclude.m4 (grub_CHECK_PIC): New test.
3653 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3654
3655 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3658 to avoid the warning.
3659
3660 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3663 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3664 after. All users updated.
3665
3666 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 Use the common size routine in hostfs so we can read disks as well.
3669
3670 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3671 (grub_util_get_fd_size): ... this. Return size in bytes.
3672 All users updated.
3673 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3674 grub_util_get_fd_size.
3675
3676 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3679 Add blocksize retrieval.
3680
3681 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * configure.ac: Restore CFLAGS after efiemu check.
3684
3685 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3688 Apple bug.
3689
3690 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3693
3694 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3697 (grub_cmd_halt): Likewise.
3698
3699 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3702 for local arithmetics.
3703 Break %sp init into 2 instructions.
3704 Add 0 byte at the end.
3705
3706 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3709 before loops.
3710
3711 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3714 for context.
3715
3716 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/disk/ldm.c (make_vg): Init part.name.
3719 (grub_ldm_detect): Silence spurious warning.
3720 (grub_util_is_ldm): Likewise.
3721
3722 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3725 sane value to avoid a spurious warning.
3726
3727 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3730 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3731
3732 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3735 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3736
3737 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3740 hardcoding the relevant info.
3741
3742 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3745 missing const qualifiers.
3746 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3747
3748 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * util/getroot.c [__APPLE__]: Add missing includes.
3751 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3752
3753 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3756
3757 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3760 avoid conflicts.
3761
3762 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3765
3766 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3769 and grub_file_close call.
3770
3771 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 Add LZSS Mach-O support (needed for new xnu kernelcache).
3774
3775 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3776 * grub-core/loader/lzss.c: New file.
3777 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3778 on Mach-O open failure.
3779 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3780 Don't free cmdsXX in uncompressedXX is set.
3781 (grub_macho_file): Init new fields.
3782 New argument is_64bit. All users updated.
3783 Handle compressed. Error out if no suitable architecture is found.
3784 Don't close file.
3785 (grub_macho_open): New argument is_64bit. All users updated.
3786 * grub-core/loader/macho32.c: Add defines for new fields.
3787 * grub-core/loader/macho64.c: Likewise.
3788 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3789 (grub_macho_parse): Handle compressed.
3790 Defer actual processing if compressed.
3791 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3792 "filename". All users updated.
3793 (grub_macho_size): New argument "filename". All users updated.
3794 (grub_macho_get_entry_point): Likewise.
3795 (grub_macho_load): Handle compressed.
3796 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3797 (GRUB_MACHO_LZSS_OFFSET): New define.
3798 (grub_decompress_lzss): New proto.
3799 * include/grub/machoload.h (grub_macho_file): New fields to handle
3800 compressed.
3801 (grub_macho_contains_macho64): Remove proto.
3802 (grub_macho_contains_macho32): Likewise.
3803 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3804
3805 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3808
3809 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 Fix make dist.
3812
3813 * Makefile.am (starfield_theme_files): New var.
3814 (starfield_DATA): Use starfield_theme_files.
3815 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3816 Add bootcheck-related files.
3817 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3818 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3819 and font_char_metrics.txt.
3820 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3821 (setjmp): Add lib/ia64/longjmp.S.
3822 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3823 * po/POTFILES.in: Regenerate.
3824 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3825 DISTFILES.common.extra1.
3826 * util/devicemap.c: Removed.
3827 * grub-core/lib/i386/relocator_backward.S: Likewise.
3828 * util/import_gcry.py: Remove unused files. Add extra_dist for
3829 ChangeLog.
3830
3831 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3834 grub_gettext_delete_list before changing grub_gettext_max to avoid
3835 running out of array bounds.
3836
3837 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3840 grub_vga_text_init/grub_vga_text_fini.
3841
3842 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3845
3846 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * configure.ac: Bump to 2.00~beta0.
3849
3850 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3853 missing initialisation.
3854
3855 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3858
3859 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Support v2 xnu boot arguments.
3862
3863 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3864 New argument fsbfreq_out.
3865 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3866 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3867 be used.
3868 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3869 darwin_version.
3870 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3871 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3872 (grub_xnu_boot_params): Rename to ...
3873 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3874 (grub_xnu_boot_params_v2): New struct.
3875
3876 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3879 zeroing of CRC field before computing CRC.
3880
3881 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3884 Change order of allocations to decrease fragmentation.
3885
3886 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3889
3890 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3891
3892 Use write-combining MTRR to speed up video with buggy BIOSes.
3893
3894 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3895 (cpuid): New define.
3896 (rdmsr): Likewise.
3897 (wrmsr): Likewise.
3898 (mtrr_base): Likewise.
3899 (mtrr_mask): Likewise.
3900 (grub_vbe_enable_mtrr_entry): New function.
3901 (grub_vbe_enable_mtrr): Likewise.
3902 (grub_vbe_disable_mtrr): Likewise.
3903 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3904 control off to BIOS.
3905 (grub_video_vbe_init): Fill mtrr.
3906 (grub_video_vbe_fini): Disable mtrr.
3907 (grub_video_vbe_get_info_and_fini): Likewise.
3908 (grub_video_vbe_setup): Enable mtrr.
3909
3910 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3911
3912 * include/grub/partition.h (grub_partition_map): Change prototype of
3913 embed to take a maximum value for nsectors.
3914 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3915 * include/grub/fs.h (grub_fs): Likewise.
3916 * grub-core/partmap/msdos.c (embed_signatures): New array.
3917 (pc_partition_map_embed): Check for and avoid sectors matching any
3918 of the signatures in embed_signatures, up to max_nsectors.
3919 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3920 returned sector map to max_nsectors.
3921 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3922 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3923 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3924 * util/grub-setup.c (setup): Allow for the embedding area being
3925 split into multiple blocklists. Tell dest_partmap->embed the
3926 maximum number of sectors we care about.
3927
3928 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3931 Specify blocklist_install and reserver_first_sector for all fs.
3932 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3933 blocklists.
3934
3935 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * util/grub-install.in: Clarify strings.
3938 Fix source dir check.
3939
3940 2012-02-27 Richard Laager <rlaager@wiktel.com>
3941
3942 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3943 "zfs" and "fuse.zfs" as synonyms.
3944
3945 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * configure.ac: Put platform and target_cpu substitutions back since
3948 they are used for directories.
3949
3950 2012-02-27 Richard Laager <rlaager@wiktel.com>
3951 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3954 * util/grub.d/20_linux_xen.in: Likewise.
3955
3956 2012-02-27 Richard Laager <rlaager@wiktel.com>
3957
3958 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3959 with full paths.
3960
3961 2012-02-27 Richard Laager <rlaager@wiktel.com>
3962
3963 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3964 unescape.
3965
3966 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 Don't use insecure popen in getroot.
3969
3970 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3971 (exec_pipe): ... here.
3972 (find_root_devices_from_poolname): Use exec_pipe.
3973
3974 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 Remove platform and target_cpu replacement.
3977
3978 * configure.ac: Remove platform and target_cpu substitutions.
3979 * tests/util/grub-shell.in: Use modinfo.
3980 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3981 explicitly.
3982
3983 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 Autodetect platform in grub-install but allow override.
3986
3987 * util/grub-install.in: Autodetect platform. Support --target and
3988 --directory. Read platform from modinfo.sh.
3989
3990 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 Support btrfs multi-volume probe.
3993
3994 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3995 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3996 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3997 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3998 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3999 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4000 grub_find_root_devices_from_btrfs if on btrfs.
4001
4002 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 Remove any awareness of *.c util files about target.
4005
4006 * Makefile.util.def (grub-setup): Split to ...
4007 (grub-bios-setup): ... and this.
4008 (grub-sparc64-setup): ... and this.
4009 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4010 * docs/man/grub-setup.h2m: Split into ...
4011 * docs/man/grub-sparc64-setup.h2m: ... this.
4012 * docs/man/grub-bios-setup.h2m: ... and this.
4013 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4014 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4015 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4016 (grub_target_addr_t): Remove.
4017 (grub_target_size_t): Remove.
4018 (grub_target_ssize_t): Remove.
4019 * util/grub-install.in: Use new grub-*-setup.
4020 * util/grub-mkimagexx.c (Elf_Word): New define.
4021 (Elf_Half): Likewise.
4022 (Elf_Section): Likewise.
4023 (ELF_ST_TYPE): Likewise.
4024 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4025 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4026
4027 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4028
4029 Replace grub_target_addr with more appropriate types.
4030
4031 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4032 grub_target_addr with grub_addr.
4033 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4034 grub_target_addr with grub_port.
4035 (grub_cmd_write): Likewise.
4036 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4037 grub_target_addr with grub_addr.
4038 (grub_cmd_write): Likewise.
4039 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4040
4041 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4044 const qualifier for vendor_guid.
4045
4046 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4049 const qualifier.
4050 (efiemu_memequal): Likewise.
4051 (find_variable): Likewise.
4052
4053 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 Fix missing console prototype on qemu-mips.
4056
4057 * include/grub/mips/qemu_mips/console.h: New file.
4058
4059 2012-02-27 Matthew Garrett <mjg@redhat.com>
4060 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4063 * include/grub/efi/efi.h: Likewise.
4064 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4065 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4066 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4067 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4068 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4069 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4070
4071 2012-02-27 Matthew Garrett <mjg@redhat.com>
4072
4073 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4074
4075 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4078 error.
4079
4080 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4081
4082 * configure.ac: Remove inappropriate use of program_transform_name
4083 on grubdir and bootdir but allow explicit specification of those
4084 variables.
4085
4086 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * util/grub-mknetdir.in (grub_prefix): Removed.
4089 (subdir): Use @bootdirname@ and @grubdirname@.
4090
4091 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4094
4095 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * po/POTFILES.in: Regenerated.
4098
4099 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 Remove improper use of program_transform_name on pkglibrootdir.
4102
4103 * configure.ac (pkglibrootdir): Removed.
4104 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4105 * util/grub-mkimage.c: Likewise.
4106
4107 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4110 warning.
4111
4112 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * util/grub-install.in: Use file identifier if no UUID is available
4115 or user explicitly prompted for it.
4116
4117 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
4118
4119 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4120 (freebsd_get_zfs): New function.
4121 (grub_freebsd_boot): Pass zfs UUID.
4122 (grub_cmd_freebsd): Set zfs UUID.
4123
4124 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4127 pkglibrootdir.
4128
4129 2012-02-27 Mike Gilbert <floppym@gentoo.org>
4130
4131 Add configure flag to control libzfs integration.
4132
4133 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4134
4135 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4138 device.
4139 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4140 small devices.
4141
4142 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4145 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4146 be used on non-modules.
4147
4148 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4149 Rename to grub_boot_init.
4150 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4151 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4152 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4153 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4154 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4155 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4156 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4157 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4158 includes.
4159 (grub_machine_init): Remove empty inits.
4160 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4161 includes.
4162 (grub_machine_init): Remove empty inits.
4163 * grub-core/term/arc/console.c: Remove explicit proto.
4164 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4165 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4166 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4167 grub_at_keyboard_fini.
4168 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4169 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4170 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4171 grub_gfxterm_fini.
4172 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4173 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4174 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4175 grub_vgatext_fini.
4176 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4177 * grub-core/term/serial.c (GRUB_MOD_INIT)
4178 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4179 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4180 grub_serial_fini.
4181 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4182 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4183 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4184 grub_terminfo_fini.
4185 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4186 (GRUB_MOD_FINI): Likewise.
4187 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4188 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4189 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4190 grub_video_radeon_fuloong2e_fini.
4191 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4192 [LOONGSON]: Rename to grub_video_sis315pro_init.
4193 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4194 grub_video_sis315pro_fini.
4195 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4196 [LOONGSON]: Rename to grub_video_sm712_init.
4197 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4198 grub_video_sm712_fini.
4199 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4200 (grub_at_keyboard_fini): Likewise.
4201 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4202 Don't declare grub_{modname}_init.
4203 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4204 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4205 New proto.
4206 (grub_keylayouts_fini) [!EMU]: Likewise.
4207 * include/grub/serial.h (grub_serial_init) [!EMU]:
4208 New proto.
4209 (grub_serial_fini) [!EMU]: Likewise.
4210 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4211 New proto.
4212 (grub_terminfo_fini) [!EMU]: Likewise.
4213 * include/grub/video.h (grub_font_init) [!EMU]:
4214 New proto.
4215 (grub_font_fini) [!EMU]: Likewise.
4216 (grub_gfxterm_init) [!EMU]: Likewise.
4217 (grub_gfxterm_fini) [!EMU]: Likewise.
4218 (grub_video_sm712_init) [!EMU]: Likewise.
4219 (grub_video_sm712_fini) [!EMU]: Likewise.
4220 (grub_video_sis315pro_init) [!EMU]: Likewise.
4221 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4222 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4223 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4224
4225 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 Make nand a prefix for nand devices.
4228
4229 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4230
4231 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4234 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4235
4236 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * include/grub/env.h (grub_env_find): Remove prototype.
4239 * grub-core/kern/env.c (grub_env_find): Make static.
4240 (grub_env_set): Remove useless set.
4241
4242 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/kern/i386/realmode.S: Remove useless align.
4245
4246 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * include/grub/dl.h (grub_dl_load_file): Don't export.
4249
4250 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4253 grub_dprintf.
4254
4255 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4258 grub_errors.
4259 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4260 not reloading whole superblock but only the part which is really needed.
4261 Remove useless grub_errors.
4262 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4263 grub_errors.
4264
4265 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 Don't export grub_get_rtc.
4268
4269 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4270 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4271
4272 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4275
4276 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4279 argument since it can be deduced from diskfilter. All users updated.
4280
4281 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Remove prio_list.
4284
4285 * include/grub/list.h (grub_prio_list): Removed.
4286 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4287 GRUB_COMMAND_PRIO_MASK.
4288 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4289 GRUB_COMMAND_FLAG_ACTIVE.
4290 (grub_prio_list_insert): Removed.
4291 (grub_prio_list_remove): Likewise.
4292 (GRUB_AS_PRIO_LIST): Likewise.
4293 (GRUB_AS_PRIO_LIST_P): Likewise.
4294 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4295 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4296 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4297 * grub-core/kern/command.c (grub_register_command_prio): Inline
4298 the prio_list code.
4299 (grub_unregister_command): Likewise.
4300
4301 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 Fix interrupt mixup from previous commit.
4304
4305 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4306 (grub_realidt): New var.
4307 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4308 Load idt.
4309 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4310 New declaration.
4311 (grub_relocator16_boot): Set grub_relocator16_idt.
4312 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4313 (LOCAL(realidt)): ... this.
4314 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4315 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4316 (grub_realidt): New variable.
4317
4318 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4321 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4322 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4323 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4324 Gettextize.
4325 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4326 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4327 * po/POTFILES.in: Regenerate.
4328
4329 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4332 errors.
4333
4334 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4335
4336 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4337 \0.
4338 (add_length): Likewise.
4339
4340 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4341 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4342
4343 GDB serial and backtrace support.
4344
4345 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4346 (prot_to_real): Likewise.
4347 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4348 * grub-core/Makefile.core.def (backtrace): New module.
4349 (gdb): Likewise.
4350 * grub-core/gdb/cstub.c: New file.
4351 * grub-core/gdb/gdb.c: Likewise.
4352 * grub-core/gdb/i386/idt.c: Likewise.
4353 * grub-core/gdb/i386/machdep.S: Likewise.
4354 * grub-core/gdb/i386/signal.c: Likewise.
4355 * grub-core/lib/i386/backtrace.c: Likewise.
4356 * grub-core/lib/backtrace.c: Likewise.
4357 * include/grub/backtrace.h: Likewise.
4358 * include/grub/gdb.h: Likewise.
4359 * include/grub/i386/gdb.h: Likewise.
4360
4361 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4364 New function.
4365 (add_length): Likewise.
4366 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4367 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4368 proto.
4369 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4370 __argp_get_display_len.
4371
4372 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 $"..." support in scripts.
4375
4376 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4377 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4378 * grub-core/script/yylex.l: Likewise.
4379 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4380 value.
4381
4382 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * gentpl.py: Remove obsolete pkglib_DATA handling.
4385
4386 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4389 mailing list.
4390
4391 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4392 * util/grub-kbdcomp.in: Likewise.
4393 * util/grub-mkconfig.in: Likewise.
4394 * util/grub-mkconfig_lib.in: Likewise.
4395 * util/grub-mknetdir.in: Likewise.
4396 * util/grub-mkrescue.in: Likewise.
4397 * util/grub-mkstandalone.in: Likewise.
4398 * util/grub-reboot.in: Likewise.
4399 * util/grub-set-default.in: Likewise.
4400 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4401
4402 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Remove GRUB_PREFIX.
4405
4406 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4407 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4408 used for backward compatibility.
4409
4410 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 Add new all_video module.
4413
4414 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4415 * grub-core/Makefile.core.def (all_video): New module.
4416 * grub-core/genmoddep.awk: Generate dependency of all_video from
4417 video.lst.
4418 * grub-core/lib/fake_module.c: New file.
4419 * grub-core/normal/main.c (features): Add feature_all_video_module.
4420 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4421 don't do explicit search again.
4422 insmod all_video in load_video if available.
4423
4424 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 Another round of string clarification and adding TRANSLATORS comments.
4427
4428 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4431
4432 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4435 to grub_ssize_t.
4436 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4437 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4438
4439 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4442 trailing newline implicitly. All users updated.
4443
4444 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 Implement serial on IEEE1275 and EFI.
4447
4448 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4449 on emu. Mention arc and emu as the only platforms without serial
4450 support.
4451 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4452 ieee1275 platforms.
4453 * grub-core/term/efi/serial.c: New file.
4454 * grub-core/term/ieee1275/serial.c: Likewise.
4455 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4456 specification if no ns8250 driver is available.
4457 (grub_cmd_serial): Likewise.
4458 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4459 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4460 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4461 (grub_efi_parity_type_t): New type.
4462 (grub_efi_stop_bits_t): Likewise.
4463 (grub_efi_serial_io_interface): New struct.
4464 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4465 available for all interfaces.
4466 Add EFI and IEEE1275 fields.
4467 (grub_ofserial_init): New proto.
4468 (grub_efiserial_init): Likeiwse.
4469 * util/grub.d/00_header.in: Don't check for the presence of serial
4470 module.
4471
4472 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4475 name as if it was an alias.
4476
4477 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/commands/lsacpi.c (options): Fix typo.
4480
4481 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 Convert grub-emu to argp.
4484
4485 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4486 emu.
4487 * util/argp_common.c: Rename to ...
4488 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4489 Add missing includes.
4490 * grub-core/kern/emu/main.c: Convert to argp.
4491 * po/POTFILES.in: Regenerate.
4492 * util/grub-install.in (usage): Make first letter lowcase in messages
4493 for uniformity.
4494 * util/grub-setup.c (options): Likewise.
4495
4496 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4499 Put back accidently commented-out code.
4500
4501 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4504 loop check using Brent algorithm.
4505 (grub_hfsplus_btree_search): Likewise.
4506
4507 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * util/grub-install.in: Fix usage of wrong device for PreP install.
4510
4511 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * conf/Makefile.common (CFLAGS_GNULIB): Add
4514 -Wno-unsafe-loop-optimizations.
4515 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4516 on tools.
4517 * grub-core/commands/legacycfg.c: Add pragma to skip
4518 -Wunsafe-loop-optimizations.
4519 (check_password_md5_real): Fix loop counter type.
4520 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4521 reading.
4522 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4523 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4524 loop condition.
4525 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4526 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4527 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4528 condition.
4529 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4530 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4531 avoid possible infinite loops.
4532 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4533 and -Wunsafe-loop-optimizations.
4534 * grub-core/script/yylex.l: Likewise.
4535 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4536 (print_glyphs): Avoid infinite loops.
4537 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4538
4539 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4540
4541 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4542 to avoid infinite loop.
4543 (disp_acpi_rsdt_table): Likewise.
4544
4545 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/font/font.c (grub_font_load): Add support for default
4548 path for fonts ($prefix/fonts).
4549 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4550 for checking if string is a path.
4551 * grub-core/normal/main.c (features): Add feature_default_font_path.
4552 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4553 * util/grub.d/00_header.in: Use default directory if possible.
4554 * util/grub-install.in: Install unicode.pf2.
4555
4556 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4559 * po/Rules-swiss: New file.
4560 * po/swiss.sed: Likewise.
4561
4562 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * grub-core/fs/btrfs.c (find_device): Fix typos.
4565 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4566 * util/grub-mkrelpath.c (argp_parser): Likewise.
4567 Reported by: Yuri Chornoivan.
4568
4569 2012-02-23 Dalet Omega <daletomega@gmail.com>
4570
4571 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4572 for usual informative messages.
4573
4574 2012-02-23 Dalet Omega <daletomega@gmail.com>
4575
4576 Starfield theme.
4577
4578 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4579 * conf/Makefile.common: Define starfielddir.
4580 * configure.ac: Configure starfield.
4581 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4582 * themes/starfield/README: Likewise.
4583 * themes/starfield/blob_w.png: Likewise.
4584 * themes/starfield/boot_menu_c.png: Likewise.
4585 * themes/starfield/boot_menu_e.png: Likewise.
4586 * themes/starfield/boot_menu_n.png: Likewise.
4587 * themes/starfield/boot_menu_ne.png: Likewise.
4588 * themes/starfield/boot_menu_nw.png: Likewise.
4589 * themes/starfield/boot_menu_s.png: Likewise.
4590 * themes/starfield/boot_menu_se.png: Likewise.
4591 * themes/starfield/boot_menu_sw.png: Likewise.
4592 * themes/starfield/boot_menu_w.png: Likewise.
4593 * themes/starfield/slider_c.png: Likewise.
4594 * themes/starfield/slider_n.png: Likewise.
4595 * themes/starfield/slider_s.png: Likewise.
4596 * themes/starfield/src/blob_nw.xcf: Likewise.
4597 * themes/starfield/src/bootmenu/: Likewise.
4598 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4599 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4600 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4601 * themes/starfield/src/slider_c.xcf: Likewise.
4602 * themes/starfield/src/slider_n.xcf: Likewise.
4603 * themes/starfield/src/slider_s.xcf: Likewise.
4604 * themes/starfield/src/terminalbox/: Likewise.
4605 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4606 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4607 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4608 * themes/starfield/starfield.png: Likewise.
4609 * themes/starfield/terminal_box_c.png: Likewise.
4610 * themes/starfield/terminal_box_e.png: Likewise.
4611 * themes/starfield/terminal_box_n.png: Likewise.
4612 * themes/starfield/terminal_box_ne.png: Likewise.
4613 * themes/starfield/terminal_box_nw.png: Likewise.
4614 * themes/starfield/terminal_box_s.png: Likewise.
4615 * themes/starfield/terminal_box_se.png: Likewise.
4616 * themes/starfield/terminal_box_sw.png: Likewise.
4617 * themes/starfield/terminal_box_w.png: Likewise.
4618 * themes/starfield/theme.txt: Likewise.
4619
4620 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * util/grub.d/00_header.in: Add missing export theme.
4623
4624 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4627 already included.
4628 Reported by: Eren D.
4629
4630 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * conf/Makefile.common (grubdatadir): Removed.
4633 (Makefile.am): Move eveything grubdata to pkgdata.
4634
4635 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/commands/acpihalt.c (get_sleep_type):
4638 Remove unused variable.
4639
4640 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4643 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4644 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4645 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4646 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4647 i18n with gettext no-op.
4648 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4649 GRUB_ACPI_OPCODE_STRING_CONST.
4650 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4651 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4652
4653 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * po/POTFILES.in: Regenerate.
4656
4657 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4660 -Wno-error=missing-noreturn.
4661
4662 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4665 condition to avoid possibly infinite loops.
4666 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4667 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4668
4669 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4672 condition to avoid possibly infinite loops.
4673
4674 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4677 on show_error.
4678
4679 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4682
4683 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4686
4687 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * util/bin2h.c (usage): Add missing attribute noreturn.
4690
4691 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4694 if the size isn't divisible by 512.
4695
4696 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 Make list_push and list_remove functions rather than inline functions
4699 to decrease size and avoid aliasing violations.
4700
4701 * include/grub/list.h (grub_list_push): Move to ...
4702 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4703 * include/grub/list.h (grub_list_remove): Move to ...
4704 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4705
4706 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4709 and -Wunused-result.
4710
4711 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4714 Reported by: Seth Goldberg
4715
4716 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4719
4720 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4721
4722 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4723 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4724 command line.
4725 * docs/grub.texi (Simple configuration): Document
4726 GRUB_CMDLINE_GNUMACH.
4727
4728 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * conf/Makefile.common (platform_SCRIPTS): New variable.
4731 (platform_PROGRAMS): Likewise.
4732 * gentpl.py: Mark *,module and *.image for install.
4733 * grub-core/gdb_grub.in: Add a notice of expected environment.
4734 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4735 (gmodule.pl): Likewise.
4736
4737 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 Replace grub_checkkey with grub_getkey_noblock.
4740
4741 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4742 (grub_getkey_noblock): ... this. All users updated.
4743
4744 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/kern/emu/console.c: Move to ...
4747 * grub-core/term/emu/console.c: ...here.
4748 (grub_ncurses_getkey): Fix return value if no key is detected.
4749
4750 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4753 (grub_unit_test_fini): Likewise.
4754 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4755
4756 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * include/grub/test.h (GRUB_UNIT_TEST)
4759
4760 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4763 Better error handling.
4764 (grub_script_return): Likewise.
4765 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4766
4767 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4770 rimplicit redifinition.
4771
4772 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4775 GRUB.
4776
4777 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4780 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4781 prompt here.
4782
4783 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4786 as GRUB_ERR_BUG. Don't malloc if no device is available.
4787
4788 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4791 Mark calling with invalid term as GRUB_ERR_BUG.
4792
4793 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4796 packets rather than raising an error.
4797
4798 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4801 in if.
4802
4803 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4806 diagnostic to dprintf.
4807 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4808
4809 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4812 device name.
4813
4814 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4817 (grub_ntfs_iterate_dir): Likewise.
4818
4819 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 Efiemu stylistic fixes and gettext.
4822
4823 * grub-core/efiemu/i386/loadcore32.c
4824 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4825 * grub-core/efiemu/i386/loadcore64.c
4826 (grub_arch_efiemu_relocate_symbols64): Likewise.
4827 * grub-core/efiemu/i386/pc/cfgtables.c
4828 (grub_machine_efiemu_init_tables): Likewise.
4829 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4830 (grub_efiemu_loadcore_initXX): Add a filename argument.
4831 All users updated.
4832 Improved error message.
4833 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4834 Add a filename argument.
4835 All users updated.
4836 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4837 Reclassify double relocation as GRUB_ERR_BUG.
4838
4839 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4842 handling.
4843
4844 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4847 on partition.
4848
4849 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4852
4853 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 Improve string. Gettextize.
4856
4857 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4860 utils.
4861 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4862
4863 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4866 [GRUB_UTIL]: New function.
4867 (insert_array) [GRUB_UTIL]: Store partmaps.
4868 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4869 partmaps.
4870 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4871 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4872 (probe_abstraction): Print diskfilter and not raid.
4873 Reported by: Lennart Sorensen
4874
4875 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4878 * util/grub-mkimagexx.c (MASK3): New define.
4879 (add_value_to_slot_20b): Use MASK3.
4880 (add_value_to_slot_21): Likewise.
4881 (relocate_addresses): Fix format specification.
4882 (load_image): Explicitly init symtab_section.
4883
4884 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4887 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4888
4889 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4892 on powerpc.
4893 Reported by: Lennart Sorensen
4894
4895 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * gentpl.py: Add missing license header.
4898 * docs/grub.texi: Update copyright year.
4899
4900 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4901
4902 Source grub-mkconfig_lib from the build directory at build time.
4903 Suggested by: Vladimir Serbinenko.
4904
4905 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4906 * util/grub-install.in: Define pkgdatadir if not already set, and source
4907 grub-mkconfig_lib from there.
4908 * util/grub-kbdcomp.in: Likewise.
4909 * util/grub-mkconfig.in: Likewise.
4910 * util/grub-mknetdir.in: Likewise.
4911 * util/grub-mkrescue.in: Likewise.
4912 * util/grub-mkstandalone.in: Likewise.
4913 * util/grub-reboot.in: Likewise.
4914 * util/grub-set-default.in: Likewise.
4915 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4916
4917 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 Increase warning level.
4920
4921 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4922 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4923 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4924 (TARGET_CFLAGS): Likewise.
4925 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4926 * grub-core/Makefile.core.def (decompressor_xz): Add
4927 -Wno-unreachable-code.
4928 (normal): Add -Wno-redundant-decls.
4929 (xzio): Add -Wno-unreachable-code.
4930 (lzopio): Add -Wno-redundant-decls -Wno-error.
4931 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4932 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4933 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4934 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4935 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4936 * grub-core/kern/i386/coreboot/init.c: Add exception to
4937 -Wsuggest-attribute=noreturn.
4938 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4939 * grub-core/kern/ia64/dl_helper.c: Likewise.
4940 * grub-core/kern/mips/dl.c: Likewise.
4941 * grub-core/kern/sparc64/dl.c: Likewise.
4942 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4943 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4944 (memcmp): Likewise.
4945 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4946 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4947 * grub-core/loader/mips/linux.c: Likewise.
4948 * grub-core/loader/multiboot_elfxx.c: Likewise.
4949 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4950 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4951 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4952 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4953 fixme.
4954 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4955 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4956 Fix prototype.
4957
4958 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4961 address.
4962
4963 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4966 Avoid improper use of strings.
4967 (grub_cmd_legacy_initrdnounzip): Likewise.
4968
4969 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4972 attribute.
4973 (grub_util_info): Likewise.
4974 (grub_util_error): Likewise.
4975
4976 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4979 * util/grub-fstest.c (fstest): Likewise.
4980
4981 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4984 (grub_md_sha512_real): Likewise.
4985 (grub_util_get_geli_uuid): Likewise.
4986 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4987 (grub_util_biosdisk_open): Fix format specification.
4988 Respect format security.
4989 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4990 (xrealloc): Likewise.
4991 (xasprintf): Likewise.
4992
4993 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * util/import_gcry.py: Include grub/crypto.h in init.c.
4996
4997 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5000 (generate_image): Make prefix a const char *.
5001 Fix format specifications. Respect format security.
5002 Avoid void * arithmetics.
5003 Avoid shadowing.
5004 (argp_parser): Remove unused variable. Respect format security.
5005 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5006 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5007 (count_funcs): Remove unused variable.
5008 (relocate_addresses): Fix format specification.
5009 Disable x86-64 with elf32. Remove unused variables.
5010 (add_fixup_entry): Avoid shadowing.
5011 (make_reloc_section): Fix format specification.
5012 Use assert.
5013 (locate_sections): Fix format specifications.
5014 (load_image): Avoid shadowing.
5015
5016 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5019 Fix format specifications. Respect format security.
5020 Don't translate already translated grub_errmsg.
5021 (argp_parser): Remove unused variable
5022
5023 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5026
5027 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5030 (main): Likewise. Use xmalloc. Respect format security.
5031
5032 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5035 a const char *.
5036 (argp_parser): Remove unused variable.
5037
5038 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5041 (add_pixel): Make static.
5042 (add_font): Likewise.
5043 (write_string_section): Make name and str a const char *.
5044 (write_be16_section): Make name a const char *.
5045 (print_glyphs): Make static.
5046 (write_font_ascii_bitmap): Likewise.
5047 (write_font_width_spec): Likewise.
5048 (write_font_pf2): Likewise.
5049 (argp_parser): Remove unused variable.
5050 Respect format security.
5051 (main): Avoid shadowing. Respect format security.
5052
5053 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * util/grub-editenv.c (argp_parser): Make static.
5056 (create_envblk_file): Use xmalloc.
5057 (open_envblk_file): Likewise.
5058 Resepect format security.
5059 (set_variables): Respect format security.
5060
5061 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * util/getroot.c (grub_find_device): Respect format security.
5064 (get_mdadm_uuid): Remove unused variable.
5065 (grub_util_pull_device): Dont call gettext on already translated
5066 grub_errmsg.
5067 (find_system_device): Remove unused variable.
5068 (grub_util_get_grub_dev): Likewise.
5069 (grub_make_system_path_relative_to_its_root): Respect format security.
5070
5071 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * util/grub-fstest.c (execute_command): Make first argument
5074 a const char *.
5075 (read_file): Avoid shadowing.
5076 Reuse underlying error message if device open fails.
5077 (cmd_cmp): Respect format security.
5078 (root): Make const char *.
5079 (fstest): Remove args argument and use global copy.
5080 Respect format security.
5081 (argp_parser): Make static.
5082 (main): Make default_root const char *.
5083
5084 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * util/grub-mount.c (root): Make const char *.
5087 (execute_command): Make first argument a const char *.
5088 (fuse_init): Respect format security.
5089 (argp_parser): Make static. Remove unused variable.
5090 (main): Make default_root a const char *.
5091 Respect format security.
5092
5093 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * util/grub-probe.c (probe): Don't call gettext on already translated
5096 grub_errmsg.
5097 Remove unused variables.
5098 (argp_parser): Remove unused variable.
5099
5100 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * util/grub-script-check.c (argp_parser): Remove unused variable.
5103 (main): Rename read to curread to avoid shadowing.
5104
5105 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * util/misc.c (grub_util_write_image_at): Fix format specification.
5108 (grub_util_write_image): Likewise.
5109 (grub_script_execute_argument_to_string): Removed (unused).
5110 (grub_script_execute_menuentry): Likewise.
5111 (grub_putchar): Likewise.
5112
5113 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5116 (FUNCTION) [GRUB_UTIL]: Likewise.
5117 (VARIABLE) [GRUB_UTIL]: Likewise.
5118
5119 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5122 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5123
5124 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5127 buffer.
5128
5129 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5132 (LzmaEnc_SaveState): Removed (unused).
5133 (LzmaEnc_RestoreState): Likewise.
5134 (LzmaEnc_InitPriceTables): Made static.
5135 (LzmaEnc_Construct): Likewise.
5136 (LzmaEnc_FreeLits): Likewise.
5137 (LzmaEnc_Destruct): Likewise.
5138 (LzmaEnc_Init): Likewise.
5139 (LzmaEnc_InitPrices): Likewise.
5140 (LzmaEnc_Finish): Likewise.
5141 (LzmaEnc_PrepareForLzma2): Removed (unused).
5142 (LzmaEnc_MemPrepare): Likewise.
5143 (LzmaEnc_GetNumAvailableBytes): Likewise.
5144 (LzmaEnc_GetCurBuf): Likewise.
5145 (LzmaEnc_CodeOneMemBlock): Likewise.
5146
5147 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5150 (grub_util_ldm_embed): Likewise.
5151
5152 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * util/grub-editenv.c (print_var): Rename name to varname to
5155 avoid shadowing.
5156 (main): Rename index to curindex to avoid shadowing.
5157 Make filename a const char *.
5158
5159 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5162 to arg_getline to avoid shadowing.
5163
5164 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5167 disk_ to avoid shadowing.
5168
5169 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5172 curindex to avoid shadowing.
5173 Make static.
5174 (MatchFinder_GetNumAvailableBytes): Make static.
5175
5176 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5179 avoid shadowing.
5180
5181 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5184 argument from encrypt to do_encrypt to avoid shadowing.
5185
5186 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5189 incorrect nesting of #if's.
5190
5191 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5194 checks which are always false on some platforms.
5195 (grub_cmd_lsacpi): Likewise.
5196 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5197 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5198 Likewise.
5199
5200 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5203 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5204
5205 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5208 re_dfa_t to avoid breaking alignment invariants.
5209 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5210 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5211
5212 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5215 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5216
5217 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5220 Fix declaration.
5221
5222 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5225 conserve alignment invariants.
5226 (grub_ehci_ehcc_read16): Likewise.
5227 (grub_ehci_oper_read32): Likewise.
5228 (grub_ehci_oper_write32): Likewise.
5229 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5230 Conserve alignment invariants.
5231
5232 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5235 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5236 declarations.
5237
5238 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5241 Remove unused variable.
5242
5243 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5246 Remove set in if.
5247
5248 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * include/grub/net.h: Remove double declarations.
5251
5252 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 Remove "payload" command in ia64 Linux loader since I couldn't
5255 find any evidence of it being used for anything.
5256 Replace "relocate" command with an environment variable
5257
5258 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5259 fields.
5260 (ia64_boot_payload): Removed.
5261 (last_payload): Likewise.
5262 (RELOCATE_OFF): Likewise.
5263 (RELOCATE_ON): Likewise.
5264 (RELOCATE_FORCE): Likewise.
5265 (relocate): Likewise.
5266 (free_pages): Don't free payloads.
5267 (grub_load_elf64): Use common error messages.
5268 Use "linux_relocate" variable.
5269 Increase the space after boot_params.
5270 (grub_cmd_payload): Removed.
5271 (grub_cmd_relocate): Likewise.
5272 (grub_cmd_fpswa): Improve messages.
5273 (cmd_payload): Removed.
5274 (cmd_relocate): Likewise.
5275 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5276 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5277
5278 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 Convert UHCI to DMA framework.
5281
5282 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5283 (grub_uhci_pci_iter): Fill new members
5284 (grub_alloc_td): Use P2V and V2P functions.
5285 (grub_free_queue): Likewise.
5286 (grub_alloc_qh): Likewise.
5287 (grub_uhci_setup_transfer): Likewise.
5288 (grub_uhci_check_transfer): Likewise.
5289
5290 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5293 Remove assignment in if while on it.
5294
5295 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * util/grub-mkstandalone.in: Fix modules directory.
5298
5299 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5302 on i386-pc target.
5303 (argp_parser): Accept "auto" as compression specification.
5304
5305 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Fix `help' with unloaded modules.
5308
5309 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5310 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5311 (grub_dyncmd_dispatcher): Small stylistic fix.
5312 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5313 explicit help is requested.
5314
5315 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5318 Explicitly init restart while on it.
5319
5320 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5323 uninited variable.
5324
5325 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * util/grub-mknetdir.in: Use . rather than source for POSIX
5328 compatibility.
5329
5330 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5333
5334 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5337 variable.
5338
5339 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5342 without quotes.
5343
5344 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5347
5348 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5351 iteration of partitions.
5352
5353 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 Improve gettext support. Stylistic fixes and error handling fixes while
5356 on it.
5357
5358 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5361 part. Instead setup the correct stack in RM.
5362 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5363 for stack.
5364 * include/grub/i386/relocator_private.h: New file.
5365
5366 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5369 argument.
5370 * util/grub-fstest.c (options): Add missing DEVICE part.
5371
5372 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 Clarify and unify messages.
5375
5376 * grub-core/commands/hashsum.c (options): Unify messages.
5377 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5378 literal-only message as translatable.
5379 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5380 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5381 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5382 commands.
5383 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5384 key, not the key used to unlock. Clarify what it's used for.
5385 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5386 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5387 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5388 * util/grub-editenv.c (options): Unify "verbose" message.
5389 * util/grub-fstest.c (read_file): Unify error message.
5390 (fstest): Add quotes around commands.
5391 (options): Unify "verbose" message.
5392 * util/grub-install.in: Add quotes around variable name.
5393 * util/grub-kbdcomp.in: Unify error message.
5394 * util/grub-mkfont.c (main): Likewise.
5395 * util/grub-mkrescue.in: Likewise.
5396 * util/grub-mklayout.c (options): Unify "verbose" message.
5397 * util/grub-mkstandalone.in: Unify help and verbose messages.
5398 * util/grub-mount.c (options): Unify "verbose" message.
5399 * util/grub-probe.c (options): Likewise.
5400 * util/grub-script-check.c (options): Likewise.
5401 * util/grub-setup.c (setup): Unify no-terminator message.
5402 (options): Use DEVICE and not DEV.
5403 Unify "verbose" message.
5404 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5405
5406 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 Improve and unify messages.
5409
5410 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5411 name. All users updated.
5412 Print filename in error.
5413 (read_device_map): Print filename in error.
5414 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5415 (grub_util_get_os_disk): Likewise.
5416 (grub_util_biosdisk_get_grub_dev): Likewise.
5417 (grub_util_check_block_device): Likewise.
5418 (grub_util_check_char_device): Likewise.
5419 (grub_make_system_path_relative_to_its_root): Likewise.
5420 * util/grub-editenv.c (create_envblk_file): Likewise.
5421 (open_envblk_file): Likewise.
5422 (write_envblk): Likewise.
5423 * util/grub-fstest.c (cmd_cp): Likewise.
5424 (cmd_cat): Likewise.
5425 (cmd_cmp): Likewise.
5426 * util/grub-menulst2cfg.c (main): Likewise.
5427 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5428 (write_font_width_spec): Likewise.
5429 (write_font_pf2): Likewise.
5430 * util/grub-mkimage.c (generate_image): New argument outname.
5431 All users updated.
5432 Remove unreacheable message.
5433 (options): Unify messages.
5434 (help_filter): Likewise.
5435 * util/grub-mklayout.c (usage): Removed (unused).
5436 (main): Print filename in error.
5437 * util/grub-mkrescue.in: Fix wrong quoting.
5438 * util/grub-setup.c (setup): Print filename in error.
5439 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5440 (check_sas): Likewise.
5441 * util/misc.c (grub_util_get_fp_size): Removed.
5442 (grub_util_get_image_size): Print filename in error.
5443 (grub_util_read_at): Removed.
5444 (grub_util_read_image): Print filename in error.
5445 (grub_util_load_image): Likewise.
5446 (grub_util_write_image_at): New argument filename. All users updated.
5447 Print filename in error.
5448 (grub_util_write_image): New argument filename. All users updated.
5449 Print filename in error.
5450 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5451 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5452
5453 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/Makefile.core.def (pxechain): New module.
5456 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5457 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5458 function.
5459 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5460 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5461
5462 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5465 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5466 * include/grub/err.h (grub_error_saved): New struct.
5467 (grub_errmsg): Make array size explicit.
5468 * include/grub/misc.h (grub_error_save): New function.
5469 (grub_error_load): Likewise.
5470 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5471 (grub_error_push): Update `errno' member name.
5472 (grub_error_pop): Likewise
5473 * grub-core/net/tftp.c (tftp_data): New member save_err.
5474 (tftp_receive): Save error.
5475 (tftp_open): Restore error.
5476
5477 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5480 to real mode down to execute A20-related code in protected mode as
5481 intended.
5482
5483 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5484
5485 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5486 NULL when the argument `level' has an unexpected value.
5487
5488 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 Move platform-dependent files from $prefix to $prefix/$platform.
5491
5492 * config.h.in (GRUB_TARGET_CPU): New definition.
5493 (GRUB_PLATFORM): Likewise.
5494 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5495 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5496 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5497 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5498 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5499 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5500 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5501 * grub-core/normal/term.c (read_terminal_list): Likewise.
5502 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5503 $prefix/locale.
5504 (grub_gettext_init_ext): Likewise.
5505 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5506 grub_platform.
5507 * util/grub-install.in: Update directories.
5508 * util/grub-mknetdir.in: Likewise.
5509 * util/grub-mkrescue.in: Likewise.
5510
5511 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5514 grub_error framework. All users updated.
5515
5516 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5519 lists (by always binsearching), improve caching (cache strings
5520 used for binsearch, not only results), improve
5521 maintainability (by using more structured binary search) and correct
5522 error handling.
5523
5524 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/script/execute.c (grub_script_return): Fix warning.
5527
5528 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/script/execute.c (grub_script_return): Fix potential
5531 NULL-dereference.
5532 Reported by: Jim Meyering.
5533
5534 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * po/POTFILES.in: Regenerate.
5537 * util/grub-install.in: Gettextize the strings missed in first pass.
5538
5539 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * Makefile.util.def (grub-mkdevicemap): Removed.
5542 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5543 * include/grub/util/deviceiter.h: Removed.
5544 * util/deviceiter.c: Likewise.
5545 * util/getroot.c (grub_util_get_os_disk): New function.
5546 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5547 replacement for EFI.
5548 * util/grub-mkdevicemap.c: Removed.
5549 * util/grub-probe.c (probe): Handle PRINT_DISK.
5550 (argp_parser): Handle -t disk.
5551
5552 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 * util/grub-mkfont.c: Migrate to argp.
5555 * util/grub-mklayout.c: Likewise.
5556 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5557 * util/grub-mkrelpath.c: Likewise.
5558 * util/grub-probe.c: Likewise.
5559 * util/grub-script-check.c: Likewise.
5560
5561 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * util/grub-reboot.in: Add missing datarootdir.
5564 Add missing newline.
5565 * util/grub-set-default.in: Add missing datarootdir.
5566 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5567 * util/grub-mkrescue.in: Likewise.
5568
5569 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5572
5573 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * util/grub-kbdcomp.in: Add decent help and gettextize.
5576 * docs/man/grub-kbdcomp.h2m: New file.
5577
5578 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Migrate grub-mkimage.c to argp.
5581
5582 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5583 (grub-setup): Likewise.
5584 * util/grub-setup.c (print_version): Move to ...
5585 * util/argp_common.c (print_version): ... here.
5586 * util/grub-setup.c (argp_program_version_hook): Move to ...
5587 * util/argp_common.c (argp_program_version_hook): ... here.
5588 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5589 safety.
5590 * util/grub-mkimage.c (main): Migrate to argp.
5591
5592 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * util/grub-mkrescue.in: Use same message as
5595 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5596 for better translations.
5597
5598 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5601 options with generic grub-mkrescue.in with the goal of future
5602 merge.
5603
5604 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/kern/mm.c: Add missing include of i18n.h
5607 * grub-core/lib/relocator.c: Likewise.
5608
5609 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5612 error.
5613 (allocate_pages): Check return value.
5614 Replace fatal with error.
5615 (grub_linux_boot): Replace printf with dprintf.
5616 Check find_mmap_size return value.
5617 Replace fatal with error.
5618 Don't call grub_machine_fini.
5619 (grub_load_elf64): Replace printf with dprintf.
5620 (grub_cmd_linux): Likewise.
5621 (grub_cmd_initrd): Likewise.
5622 (grub_cmd_payload): Likewise.
5623
5624 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5627 message.
5628 * grub-core/video/radeon_fuloong2e.c
5629 (grub_video_radeon_fuloong2e_setup): Likewise.
5630 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5631 * grub-core/video/video.c (grub_video_set_mode): Don't override
5632 standard out of memory message.
5633
5634 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5635
5636 NetBSD disk wedge support.
5637
5638 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5639 [__NetBSD__]: Handle NetBSD disk wedges.
5640 * util/getroot.c (convert_system_partition_to_system_disk)
5641 [__NetBSD__]: Likewise.
5642
5643 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
5644
5645 * util/grub-mkconfig.in: Use umask rather than chmod to create
5646 grub.cfg.new to avoid insecure grub.cfg.
5647
5648 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/commands/ls.c: Gettextize.
5651 * grub-core/commands/setpci.c: Likewise.
5652 * grub-core/commands/videotest.c: Likewise.
5653 * grub-core/disk/geli.c: Likewise.
5654 * grub-core/kern/mm.c: Likewise.
5655 * grub-core/lib/relocator.c: Likewise.
5656 * grub-core/loader/efi/appleloader.c: Likewise.
5657 * grub-core/loader/i386/xnu.c: Likewise.
5658 * grub-core/loader/ia64/efi/linux.c: Likewise.
5659 * grub-core/loader/xnu.c: Likewise.
5660 * grub-core/net/dns.c: Likewise.
5661 * grub-core/net/net.c: Likewise.
5662 * grub-core/script/lexer.c: Likewise.
5663 * grub-core/script/parser.y: Likewise.
5664 * grub-core/script/yylex.l: Likewise.
5665 * util/getroot.c: Likewise.
5666 * util/grub-setup.c: Likewise.
5667
5668 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5671 number.
5672
5673 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5676
5677 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5680 macro.
5681 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5682 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5683
5684 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5687 * util/grub-install.in: Gettextize.
5688 * util/grub-mkconfig.in: Likewise.
5689 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5690 if not available.
5691 (grub_warn): Gettextize.
5692 * util/grub-mknetdir.in: Gettextize.
5693 * util/grub-mkrescue.in: Likewise.
5694 * util/grub-mkstandalone.in: Likewise.
5695 * util/grub-reboot.in: Likewise.
5696 * util/grub-set-default.in: Likewise.
5697 * util/grub.d/00_header.in: Likewise.
5698 * util/grub.d/10_hurd.in: Likewise.
5699 * util/grub.d/10_kfreebsd.in: Likewise.
5700 * util/grub.d/10_linux.in: Likewise.
5701 * util/grub.d/10_netbsd.in: Likewise.
5702 * util/grub.d/10_windows.in: Likewise.
5703 * util/grub.d/20_linux_xen.in: Likewise.
5704 * util/grub.d/30_os-prober.in: Likewise.
5705 * po/POTFILES-shell.in: Regenerate.
5706
5707 2012-02-03 Richard Laager <rlaager@wiktel.com>
5708
5709 * util/grub-mkimage.c (main): Fix format-security warning.
5710 * util/grub-mkrelpath.c (main): Likewise.
5711 * util/grub-probe.c (main): Likewise.
5712
5713 2012-02-03 Richard Laager <rlaager@wiktel.com>
5714
5715 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5716 failure.
5717 Put back lost PRINT_DRIVE.
5718
5719 2012-02-03 Richard Laager <rlaager@wiktel.com>
5720
5721 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5722 (grub_guess_root_devices): Replace strlen with sizeof.
5723 Avoid crash.
5724 (find_root_devices_from_poolname): Remove unused variable.
5725 Handle raidzN.
5726
5727 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Support install on multi-device filesystems.
5730
5731 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5732 (grub_guess_root_devices): ...this. Return char **. All users updated.
5733 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5734 Removed.
5735 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5736 (find_root_devices_from_poolname): ... here.
5737 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5738 Support zfs-fuse.
5739 (grub_guess_root_device): Rename to ...
5740 (grub_guess_root_devices): ... this. Return char **. All users updated.
5741 * util/grub-install.in: Handle multi-device filesystems.
5742 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5743 argument. All users updated.
5744 Handle multi-device filesystems.
5745 Use 'delim' as separator.
5746 Remove device check to allow filesystems on file.
5747 (main): Support -0 argument. Handle multi-device.
5748 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5749 Fix a cross-device check while on it.
5750 (arguments): Remove root_dev.
5751 (argp_parser): Remove -r.
5752 (main): Remove root_dev.
5753
5754 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5757
5758 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5761 symbol.
5762 Reported by: NODA, Kai <nodakai>.
5763
5764 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 Fix ehci on amd64.
5767
5768 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5769 pointers.
5770 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5771 (grub_ehci_setup_qh): Likewise.
5772 (grub_ehci_find_qh): Likewise.
5773 (grub_ehci_transaction): Likewise.
5774 (grub_ehci_setup_transfer): Likewise.
5775 (grub_ehci_check_transfer): Likewise.
5776 (grub_ehci_portstatus): Likewise.
5777 (grub_ehci_detect_dev): Likewise.
5778 (grub_ehci_transfer_controller_data): New field td_last_phys.
5779 (grub_ehci_setup_transfer): Fill td_last_phys.
5780 (grub_ehci_check_transfer): Use td_last_phys.
5781
5782 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5783
5784 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5785 if no submenu is present.
5786
5787 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5788
5789 CBI support.
5790
5791 * include/grub/usb.h (grub_usbms_protocol_t): New values
5792 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5793 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5794 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5795 (grub_usbms_dev): Add subclass, protocol and intrpt.
5796 Remove in_maxsz and out_maxsz.
5797 (grub_usbms_reset): Rename to ...
5798 (grub_usbms_bo_reset): .. this.
5799 (grub_usbms_cbi_cmd): New function.
5800 (grub_usbms_cbi_reset): Likewise.
5801 (grub_usbms_reset): Likewise.
5802 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5803 (grub_usbms_transfer): Rename to ...
5804 (grub_usbms_transfer_bo): ... this.
5805 (grub_usbms_transfer_cbi): Likewise.
5806 (grub_usbms_transfer): Likewise.
5807
5808 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5809 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5812 the support for the CS5536 modification thereos and few bugfixes.
5813
5814 * grub-core/Makefile.core.def (ehci): New module.
5815 * grub-core/bus/usb/ehci.c: New file.
5816 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5817 port and hubaddr. All users updated.
5818 Save port and hubaddr into dev structure.
5819 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5820 define.
5821 * include/grub/pci.h (grub_dma_phys2virt): New function.
5822 (grub_dma_virt2phys): Likewise.
5823 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5824
5825 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5828 check as some mkfs implementations omit it.
5829
5830 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5833
5834 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5837 Add new member volname2.
5838 (grub_jfs_label): Use volname2 if available.
5839
5840 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5843 over last_mounted as seen in image generated by mkfs.nilfs2.
5844 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5845
5846 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5849 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5850 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5851
5852 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5855 over the sector.
5856
5857 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5860 subvolume name (by removing a bogus and useless check).
5861
5862 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5865 sizeof while on it.
5866
5867 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5870 (grub_scsi_read_capacity10): ... this.
5871 (grub_scsi_read_capacity16): New function.
5872 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5873 0xffffffff.
5874 Fix off-by-one error.
5875 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5876 64-bit unsigned.
5877 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5878 (grub_scsi_read_capacity10): ... this.
5879 (grub_scsi_read_capacity_data): Rename to ...
5880 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5881 (grub_scsi_read_capacity16): New struct.
5882 (grub_scsi_read_capacity16_data): Likewise.
5883 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5884 grub_scsi_cmd_read_capacity10.
5885 New command grub_scsi_cmd_read_capacity16.
5886
5887 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 SCSI >2TiB support.
5890
5891 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5892 (grub_scsi_write16): Likewise.
5893 (grub_scsi_read): Use read16 when necessary.
5894 (grub_scsi_write): Likewise.
5895 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5896 (grub_scsi_write16): Likewise.
5897 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5898
5899 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 SCSI write support (for usbms mainly).
5902
5903 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5904 a const pointer.
5905 (grub_scsi_write): Implement.
5906 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5907
5908 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5911 variable.
5912
5913 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5916
5917 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * po/POTFILES.in: Regenerate.
5920
5921 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5924 with grub_printf to avoid unnecessary fatal failure.
5925
5926 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5929 (INT_MAX): Likewise.
5930 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5931 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5932 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5933 (strcpy): Likewise.
5934 (strstr): Likewise.
5935 (strchr): Likewise.
5936 (strncpy): Likewise.
5937 (strcat): Likewise.
5938 (strncat): Likewise.
5939 (strcoll): Likewise.
5940 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5941 (GRUB_INT_MAX): Likewise.
5942
5943 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5946 unexpected error.
5947 (optimize_utf8): Likewise.
5948 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5949
5950 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/boot/i386/pc/lnxboot.S: Use
5953 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5954 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5955 location.
5956 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5957 definition.
5958 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5959
5960 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5963 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5964 now to avoid double free.
5965 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5966 hostdisk.
5967 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5968 * util/grub-probe.c (escape_of_path): Always return a new copy.
5969 (print_full_name): Escape path.
5970 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5971 Fix hints on abstractions.
5972
5973 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5976 Don't add "root" line if no compatibility hont is available.
5977 Suggested by: Seth Goldberg.
5978
5979 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5982 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5983 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5984 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5985
5986 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5989
5990 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * util/grub-pe2elf.c (ehdr): Make static.
5993 (shdr): Likewise.
5994 (num_sections): Likewise.
5995 (offset): Likewise.
5996
5997 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 Eliminate ofpath limits and possible overflows.
6000
6001 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6002 (OF_PATH_MAX): Removed.
6003 (MAX_DISK_CAT): New const.
6004 (find_obppath): Use allocated rather than preallocated buffer.
6005 Return result. Argument of_path removed. All users updated.
6006 Add missing fdstat.
6007 (xrealpath): New function.
6008 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6009 Allocate rather than use preallocated buffer. All users updated.
6010 (__of_path_common): Use allocated rather than preallocatecd buffer.
6011 Return result. Argument of_path removed. All users updated.
6012 (vendor_is_ATA): Read only needed part form the file.
6013 (check_sas): Allocate depending on contents rather than fixed.
6014 (main) [STANDALONE]: Handle NULL result.
6015
6016 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6019
6020 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 Cryptodisk write support.
6023
6024 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6025 (grub_cryptodisk_decrypt): Moved logic to ...
6026 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6027 (grub_cryptodisk_write): Implement.
6028 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6029 (grub_util_fd_write): ... this. Make global.
6030 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6031
6032 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * include/grub/list.h (grub_list_remove): Don't crash if element is
6035 removed twice.
6036
6037 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 Rename ofconsole to console.
6040
6041 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6042 as sysnonym to console.
6043 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6044 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6045 Rename grub_ofconsole_ to grub_console_. All users updated
6046 (grub_console_term_output): Rename "ofconsole" to "console".
6047 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6048 as "console".
6049
6050 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6053 handling.
6054 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6055 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6056 GRUB_DISK_DEVICE_FILE_ID.
6057
6058 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6061 and improve performance.
6062
6063 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6066 missing ieee1275/ prefix on whole disk.
6067
6068 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6071 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6072
6073 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6076
6077 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 Merge common RAID and LVM logic to an abstract diskfilter.
6080 Add LDM support using the same framework.
6081
6082 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6083 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6084 (libgrubmods): Remove grub-core/disk/raid.c and
6085 grub-core/partmap/gpt.c.
6086 * grub-core/Makefile.core.def (ldm): New module.
6087 (raid): Renamed to diskfilter. All users updated.
6088 * grub-core/disk/raid.c: Moved to ...
6089 * grub-core/disk/diskfilter.c: ... here.
6090 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6091 (lv_num): New var.
6092 (find_array): Renamed to ...
6093 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6094 (grub_is_array_readable): Renamed to ...
6095 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6096 (insert_array): New argument id.
6097 (is_node_readable): New function.
6098 (scan_device): Rename to ...
6099 (scan_disk): .. this. Restrict to one disk.
6100 (scan_devices): New function.
6101 (grub_diskfilter_iterate): Support multi-LV.
6102 Skip invisible and nameless LVs.
6103 (grub_diskfilter_memberlist): Support multi-LV.
6104 (grub_diskfilter_read_node): New function.
6105 (grub_raid_read): Most of logic moved to ...
6106 (read_segment): ... here
6107 (read_lv): New function.
6108 (grub_diskfilter_get_vg_by_uuid): New function.
6109 (grub_diskfilter_make_raid): Likewise.
6110 * grub-core/disk/ldm.c: New file.
6111 * grub-core/disk/lvm.c (vg_list): Removed.
6112 (lv_count): Likewise.
6113 (scan_depth): Likewise.
6114 (is_lv_readable): Likewise.
6115 (grub_lvm_getvalue): Advance pointer past the number.
6116 (find_lv): Removed.
6117 (do_lvm_scan): Refactored into ...
6118 (grub_lvm_detect): ... this. Support raid.
6119 (grub_lvm_iterate): Removed.
6120 (grub_lvm_memberlist): Likewise.
6121 (grub_lvm_open): Likewise.
6122 (grub_lvm_close): Likewise.
6123 (read_lv): Likewise.
6124 (read_node): Likewise.
6125 (is_node_readable): Likewise.
6126 (is_lv_readable): Likewise.
6127 (grub_lvm_read): Likewise.
6128 (grub_lvm_write): Likewise.
6129 (grub_lvm_dev): Use diskfilter
6130 (GRUB_MOD_INIT): Likewise.
6131 (GRUB_MOD_FINI): Likewise.
6132 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6133 new interface.
6134 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6135 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6136 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6137 grub_diskfilter_read_node.
6138 Fix a bug with xor.
6139 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6140 grub_diskfilter_read_node.
6141 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6142 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6143 (grub_disk_dev_iterate): Move from here...
6144 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6145 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6146 Make global.
6147 (grub_hostdisk_find_partition_start): Likewise.
6148 (grub_hostdisk_os_dev_to_grub_drive): New function.
6149 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6150 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6151 * util/getroot.c (make_device_name): ... here.
6152 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6153 Move to ...
6154 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6155 * grub-core/kern/emu/hostdisk.c
6156 (convert_system_partition_to_system_disk): Move to ...
6157 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6158 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6159 * util/getroot.c (device_is_wholedisk): ... here.
6160 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6161 * util/getroot.c (find_system_device): ... here.
6162 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6163 Move to ...
6164 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6165 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6166 Move to ...
6167 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6168 Handle LDM.
6169 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6170 Move to ...
6171 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6172 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6173 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6174 DISKFILTER.
6175 * include/grub/raid.h: Renamed to ...
6176 * include/grub/diskfilter.h: ... this.
6177 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6178 (GRUB_RAID_LAYOUT_*): Make into array.
6179 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6180 (grub_diskfilter_vg): New struct.
6181 (grub_diskfilter_pv_id): Likewise.
6182 (grub_raid_member): Removed.
6183 (grub_raid_array): Likewise.
6184 (grub_diskfilter_pv): New struct.
6185 (grub_diskfilter_lv): Likewise.
6186 (grub_diskfilter_segment): Likewise.
6187 (grub_diskfilter_node): Likewise.
6188 (grub_diskfilter_get_vg_by_uuid): New proto.
6189 (grub_raid_register): Inline.
6190 (grub_diskfilter_unregister): Likewise.
6191 (grub_diskfilter_make_raid): New proto.
6192 (grub_diskfilter_vg_register): Likewise.
6193 (grub_diskfilter_read_node): Likewise.
6194 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6195 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6196 (grub_util_is_ldm): Likewise.
6197 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6198 (grub_hostdisk_find_partition_start): Likewise.
6199 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6200 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6201 New definition.
6202 (grub_gpt_partition_map_iterate): New proto.
6203 * include/grub/lvm.h (grub_lvm_vg): Removed.
6204 (grub_lvm_pv): Likewise.
6205 (grub_lvm_lv): Likewise.
6206 (grub_lvm_segment): Likewise.
6207 (grub_lvm_node): Likewise.
6208 * util/getroot.c [...]
6209 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6210 (probe_abstraction): Likewise.
6211 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6212 (main): Remove dead logic.
6213
6214 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 Simplify root device discover and don't fail when trying to open
6217 incorrect devices.
6218
6219 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6220 function.
6221 (get_diskname_from_path): Likewise.
6222 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6223 of iterating.
6224
6225 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6228
6229 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6232 pastthe end.
6233
6234 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * util/grub-install.in: Add missing \.
6237 Reported by: gentoofan
6238
6239 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6242 (direct_read): Use correct compressed size.
6243 (grub_squash_read_data): Likewise.
6244
6245 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * docs/grub.texi (Platform limitations): New section.
6248 (Platform-specific operations): Likewise.
6249 * docs/grub-dev.texi (Porting): Likewise.
6250
6251 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 IEEE1275 disk write support.
6254
6255 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6256 const void *.
6257 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6258 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6259 and seek loginc to ...
6260 (grub_ofdisk_prepare): ... here.
6261 (grub_ofdisk_write): Implement.
6262
6263 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 ARC disk write support.
6266
6267 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6268 (reopen): New argument writable. All users updated.
6269 Handle required access mode.
6270 (grub_arcdisk_write): Implement.
6271 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6272 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6273
6274 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6277 (read_sblock): Don't attempt to read superblocks outside the disk size.
6278
6279 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6282 first superblock to find the second one when possible.
6283
6284 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * util/grub-install.in: Fix an ARC bug.
6287 Print a warning if no platform-specific setup is available.
6288
6289 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 Use static allocation rather than scratch pointer in reed_solomon.
6292 It decreases its size significantly and avoids a variable in .text.
6293
6294 * grub-core/lib/reed_solomon.c (scratch): Removed.
6295 (chosenstat): New const or static array.
6296 (sigma): Likewise.
6297 (errpot): Likewise.
6298 (errpos): Likewise.
6299 (sy): Likewise.
6300 (mstat): Likewise.
6301 (errvals): Likewise.
6302 (eqstat): Likewise.
6303 (pol_evaluate): Replace x with log_x argument. All users updated.
6304 (syndroms): Removed.
6305 (gauss_solve): Use statically allocated arrays.
6306 (rs_recover): Likewise.
6307 Calculate syndroms directly.
6308 (decode_block): Use statically allocated arrays.
6309 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6310 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6311
6312 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 Eliminate fixed limit on reed solomon decoder length.
6315
6316 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6317 rather than hardcoding the address.
6318 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6319 no_reed_solomon_length.
6320 Move gate_a20 to no-reed-solomon part.
6321 Don't force a particular size of no reed-solomon part.
6322 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6323 Removed.
6324 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6325 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6326
6327 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * grub-core/commands/wildcard.c (match_files): Handle filenames
6330 without explicit device.
6331 (wildcard_expand): Don't add explicit device if not already present.
6332 * tests/grub_script_echo1.in: Add a new expansion test.
6333
6334 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 Replace single-linked with double-linked lists. It results in more
6337 compact and more efficient code.
6338
6339 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6340 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6341 (grub_list_remove): Moved from here ...
6342 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6343 (grub_prio_list_insert): Set prev.
6344 * include/grub/list.h (grub_list): Add prev. All users updated.
6345
6346 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 Handle newer autotools. Add some missing quotes while on it.
6349
6350 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6351 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6352 (pkgdata_DATA): ... here.
6353 * Makefile.util.def (update-grub_lib): Removed.
6354 * conf/Makefile.common (pkglib_DATA): Removed.
6355 (pkglib_SCRIPTS): Likewise.
6356 (pkgdata_DATA): New variable.
6357 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6358 needed.
6359 Add missing quotes.
6360 Remove unused variable while on it.
6361 * tests/util/grub-shell.in: Likewise.
6362 * util/grub-install.in: Likewise.
6363 * util/grub-mkconfig.in: Likewise.
6364 * util/grub-mknetdir.in: Likewise.
6365 * util/grub-mkrescue.in: Likewise.
6366 * util/grub-mkstandalone.in: Likewise.
6367 * util/grub.d/00_header.in: Likewise.
6368 * util/grub.d/10_hurd.in: Likewise.
6369 * util/grub.d/10_illumos.in: Likewise.
6370 * util/grub.d/10_kfreebsd.in: Likewise.
6371 * util/grub.d/10_linux.in: Likewise.
6372 * util/grub.d/10_netbsd.in: Likewise.
6373 * util/grub.d/10_windows.in: Likewise.
6374 * util/grub.d/20_linux_xen.in: Likewise.
6375 * util/grub.d/30_os-prober.in: Likewise.
6376 * util/update-grub_lib.in: Removed.
6377
6378 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6379
6380 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6381 a workaround for intel problem.
6382
6383 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6384 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6385 2012-01-23 pfsmorigo
6386
6387 * util/grub-install.in: Support dd'in into PreP partition.
6388 * util/grub-probe.c (probe): Support discovering partition type.
6389 (main): Support -t msdos_parttype.
6390
6391 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6394 infinite recursion using counter.
6395 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6396 init to skip it if the magic check fails.
6397 (dec_stream_header): Init s->crc32.
6398
6399 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6400 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6401 2012-01-22 Richard Laager <rlaager@wiktel.com>
6402
6403 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6404 All users updated.
6405 (find_bestub): Determine correct size.
6406 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6407 (scan_disk): Align the size down.
6408 Call check pool before find_bestub to have ashift.
6409
6410 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6413 dprintf in no-malloc zone.
6414
6415 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6416
6417 * configure.ac: Add back in test for limits.h.
6418
6419 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 Support 4K-sector NTFS.
6422
6423 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6424 (grub_ntfs_data): Remove blocksize.
6425 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6426 Remove data argument. All users updated.
6427
6428 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6431 being in .text to avoid dprel references.
6432 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6433 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6434 (grub_arch_highmemsize): Likewise.
6435 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6436 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6437 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6438
6439 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6442
6443 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6444 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6445
6446 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6449 GRUB_UTIL.
6450 (grub_set_datetime_cmos): Likewise.
6451
6452 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 Make XZ compression parameters dependent on target and not host CPU.
6455
6456 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6457 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6458
6459 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6462 set but not used variable.
6463
6464 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6467 created when no uuid support is compiled into mkfs.reiser.
6468
6469 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6472 (utf8_to_macroman): Do the opposite.
6473 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6474
6475 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * configure.ac: Refise build qemu_mips w/o unifont.
6478
6479 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 Eliminate grub_min/grub_max prone to overflow usage.
6482
6483 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6484 (poll_nonroot_hub): Likewise.
6485 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6486 (grub_affs_label): Likewise.
6487 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6488 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6489 (grub_hfs_label): Likewise.
6490 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6491 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6492 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6493 (zap_leaf_array_get): Likewise.
6494 (dnode_get_path): Likewise.
6495 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6496 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6497 * grub-core/script/execute.c (grub_script_break): Likewise.
6498 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6499 grub_max.
6500 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6501 * include/grub/misc.h (grub_min): Removed.
6502 (grub_max): Likewise.
6503
6504 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6505
6506 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6507 direct.inode = 0.
6508
6509 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6512
6513 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6516
6517 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6520 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6521
6522 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6525 rather than a hack for grub_strncasemap.
6526
6527 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 Support multiple initrds
6530 Note: part of this was accidently committed in r3739.
6531
6532 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6533 initrd.
6534 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6535 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6536 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6537 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6538 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6539
6540 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6543 disks with unknown size.
6544 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6545
6546 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 Remove defines pertaining to arbitrary limits not affecting GRUB
6549 anymore.
6550
6551 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6552 (EXT2_MAX_SYMLINKCNT): Likewise.
6553 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6554 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6555 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6556 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6557 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6558 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6559 (DN_MAX_OBJECT_SHIFT): Likewise.
6560 (DN_MAX_OFFSET_SHIFT): Likewise.
6561 (DN_MAX_OBJECT): Likewise.
6562 (DNODES_PER_LEVEL_SHIFT): Likewise.
6563 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6564 (SPA_MAXBLOCKSIZE): Likewise.
6565 (SPA_BLOCKSIZES): Likewise.
6566 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6567 (MZAP_MAX_BLKSZ): Likewise.
6568
6569 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6572 handle NULL appropriately.
6573 Remove MIN.
6574
6575 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 Fix efiemu.
6578
6579 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6580 cpu/types.h.
6581 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6582 * configure.ac: Fix efiemu check.
6583
6584 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6587 grub_probe.
6588 Reported by: adamwill
6589
6590 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6591
6592 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6593
6594 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 Fix handling of wide characters in gfxterm.
6597
6598 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6599 (clear_char): Likewise.
6600 (paint_char): Skip code == NULL chars.
6601 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6602
6603 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/normal/charset.c: Move comment to right place.
6606
6607 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6610 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6611 (grub_affs_mount): Revert the correct version checking.
6612
6613 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * docs/grub.texi (Unicode): Mention several other unsupported features.
6616
6617 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6620 case statements as compile-time one.
6621 (direct_read): Prevent spurious warnings.
6622 (grub_squash_read_data): Likewise.
6623
6624 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 Various squash4 fixes and LZO and XZ support.
6627
6628 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6629 Add xzembed source files.
6630 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6631 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6632 (grub_squash_inode): New subtype long_dir.
6633 (SQUASH_TYPE_LONG_DIR): New inode type.
6634 (COMPRESSION): New enum.
6635 (XZBUFSIZ): New const.
6636 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6637 (read_chunk): Use data->decompress.
6638 (zlib_decompress): New function.
6639 (lzo_decompress): Likewise.
6640 (xz_decompress): Likewise.
6641 (squash_mount): Set new data fields.
6642 (grub_squash_iterate_dir): Handle long dir.
6643 (squash_unmount): Free xzdec and xzbuf.
6644 (grub_squash_open): Check ino type.
6645 (direct_read): Stylistic fixes. Use data->decompress.
6646 (grub_squash_read_data): Likewise.
6647 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6648 (get_byte): Likewise.
6649 (grub_zlib_disk_read): Removed.
6650 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6651 (GRUB_POSIX_BOOL_DEFINED): New define.
6652 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6653 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6654 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6655 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6656
6657 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 Don't override more informative errors.
6660
6661 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6662 * grub-core/font/font.c (open_section): Likewise.
6663 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6664 filename. Don't override errors.
6665 (grub_cmd_openbsd_ramdisk): Don't override errors.
6666 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6667 (grub_cmd_initrd): Likewise.
6668 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6669 (grub_cmd_initrd): Likewise.
6670 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6671 (grub_cmd_linux): Likewise.
6672 (grub_cmd_initrd): Likewise.
6673 (grub_cmd_payload): Likewise.
6674 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6675 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6676 (grub_cmd_module): Likewise.
6677 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6678 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6679 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6680 (grub_cmd_xnu_mkext): Likewise.
6681 (grub_cmd_xnu_ramdisk): Likewise.
6682 (grub_xnu_check_os_bundle_required): Likewise.
6683 (grub_xnu_load_kext_from_dir): Likewise.
6684 (grub_cmd_xnu_kextdir): Likewise.
6685 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6686
6687 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6690 as 1024 in block size field. Found on one of my test images.
6691 Small optimisation while on it.
6692
6693 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6696 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6697 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6698 performance fixes while on it.
6699 (grub_sfs_close): Fix memory leak while on it.
6700 (grub_sfs_label): Convert Latin1 to UTF-8.
6701
6702 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6705 space to avoid overflows.
6706 (grub_hfs_label): Convert from macroman to UTF-8.
6707
6708 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6711
6712 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6715
6716 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * unicode: Import Unicode 6.0 data.
6719
6720 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6723 outside of range.
6724
6725 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Avoid cutting in the middle of UTF-8 character.
6728
6729 * include/grub/charset.h (grub_getend): New function.
6730 * grub-core/script/function.c (grub_script_function_find): Use
6731 grub_getend.
6732 * grub-core/normal/completion.c (add_completion): Likewise.
6733
6734 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6737 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6738 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6739 (GRUB_UNICODE_TAG_END): Likewise.
6740 (GRUB_UNICODE_LAST_VALID): Likewise.
6741
6742 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6745 len and make it smaller. All users updated.
6746 * util/import_unicode.py: Put length and not end character.
6747 Check length.
6748
6749 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 Make better Unicode-compliant and unify some UTF-8 code pathes.
6752
6753 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6754 valid character.
6755 (grub_is_valid_utf8): Use grub_utf8_process.
6756 Check resulting code range.
6757 (grub_utf8_to_ucs4): Use grub_utf8_process.
6758 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6759 valid character.
6760
6761 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6764
6765 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * docs/grub.texi (Filesystems): Mention AFS.
6768
6769 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * docs/grub.texi (Filesystems): Clarify restrictions.
6772 (Regexp): Mention non-Unicode regexp behaviour.
6773 (Other): Mention non-Unicode matching behaviour.
6774
6775 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 Make HFS implementation use MacRoman.
6778
6779 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6780 (macroman): New const array.
6781 (macroman_to_utf8): New function.
6782 (utf8_to_macroman): Likewise.
6783 (grub_hfs_find_dir): Use utf8_to_macroman.
6784 (grub_hfs_dir): Use macroman_to_utf8.
6785 Set case_insensitive.
6786
6787 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6790
6791 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 Integrate hints into autogeneration scripts.
6794
6795 * docs/grub.texi (Filesystems): Add a hostdisk example.
6796 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6797 (grub-probe): Add ofpath.
6798 * gentpl.py: Remove group nosparc64.
6799 * grub-core/commands/search.c (cache_entry): New struct.
6800 (cache): New var.
6801 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6802 * grub-core/commands/search_wrap.c (options): Add platform-specific
6803 hint options.
6804 (grub_cmd_search): Handle platform-specific hints.
6805 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6806 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6807 (grub_util_biosdisk_data): Likewise.
6808 (grub_util_biosdisk_open): Set device_map.
6809 (read_device_map): Handle "" as indication of no map.
6810 Set device_map.
6811 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6812 (grub_util_biosdisk_get_compatibility_hint): New function.
6813 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6814 * include/grub/emu/hostdisk.h
6815 (grub_util_biosdisk_get_compatibility_hint): New proto.
6816 * util/grub-install.in: Don't call grub-mkdevicemap.
6817 Add platform-specific hint to load.cfg.
6818 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6819 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6820 hints. Set root preliminary to compatibility hint, not to OS name.
6821 * util/grub-probe.c (PRINT_*): Add hints.
6822 (print): Make static.
6823 (escape_of_path): New function.
6824 (guess_bios_drive): Likewise.
6825 (guess_efi_drive): Likewise.
6826 (guess_baremetal_drive): Likewise.
6827 (print_full_name): Likewise.
6828 (probe): Handle hints.
6829 (main): Likewise.
6830 * util/ieee1275/devicemap.c: Removed.
6831 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6832 updated.
6833 (grub_util_devname_to_ofpath): Return NULL on failure.
6834
6835 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6836 resource leak.
6837 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6838
6839 * po/POTFILES.in: Regenerated.
6840
6841 Allow purely long options
6842
6843 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6844 (SHORT_ARG_USAGE): Likewise.
6845 (grub_arg_show_help): Compare opt with help_options.
6846 (parse_option): Receive opt as argument. If makes big simplificatons.
6847 All users updated
6848
6849 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6852 Restructure to avoid warning.
6853
6854 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * util/grub-install.in: Account for possible escaped comma in device
6857 name.
6858
6859 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6862 channel.
6863
6864 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6867 allocation and zero-setting.
6868 (grub_ieee1275_get_devname): Check that alias is complete.
6869
6870 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6873 unaligned segments.
6874
6875 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6878 prefix.
6879 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6880 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6881 Add ieee1275 prefix.
6882
6883 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * docs/grub.texi (Filesystems): Update.
6886
6887 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 Support odc, newc and bigendian cpio formats.
6890
6891 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6892 * grub-core/Makefile.core.def (newc): New module.
6893 (odc): Likewise.
6894 (cpio_be): Likewise.
6895 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6896 (MAGIC): Likewise.
6897 (MAGIC2): Likewise.
6898 (head) [MODE_ODC]: Adapt for the format.
6899 (head) [MODE_NEWC]: Likewise.
6900 (head) [!MODE_*]: Write fields of interest as arrays.
6901 (MAGIC_USTAR): Removed.
6902 (read_number) [MODE_NEWC]: Change to hex.
6903 (read_number) [!MODE_*]: Parse binary arrays.
6904 (grub_cpio_find_file): Factor out the code for better structure and
6905 always use read_number.
6906 (grub_cpio_mount): Use MAGIC and MAGIC2.
6907 (grub_cpio_dir): Exit on first hook non-0 return.
6908 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6909 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6910 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6911 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6912 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6913 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6914 * grub-core/fs/newc.c: New file.
6915 * grub-core/fs/odc.c: Likewise.
6916 * grub-core/fs/cpio_be.c: Likewise.
6917
6918 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 Fix handling of tar numbers occupying the whole field.
6921
6922 * grub-core/fs/cpio.c (read_number): New function.
6923 (grub_cpio_find_file): Use read_number instead of strtoull.
6924
6925 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6928 occupying the whole field size.
6929
6930 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6931
6932 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6933
6934 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6937
6938 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6939
6940 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6941 TARGET_IMG_LDFLAGS.
6942
6943 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6946 (mountinfo_entry): Increase the field size to take escaping into
6947 account.
6948 (find_root_device_from_libzfs): Add one byte to size of strings for
6949 security.
6950
6951 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6954 an assert.
6955 * util/grub-setup.c (setup): Likewise.
6956
6957 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6960 _LzmaDecodeA.
6961
6962 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * docs/grub.texi (Internationalisation): New section.
6965
6966 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * docs/grub.texi (Loopback booting): New section.
6969
6970 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6971
6972 * util/grub-mkstandalone.in: Fix minor typo errors.
6973
6974 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6977
6978 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6979 net/icmp.c and net/icmp6.c.
6980 (http): New module.
6981 (priority_queue): Likewise.
6982 * grub-core/io/bufio.c: Rewritten.
6983 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6984 TYPE_WITH_CONFIGFILE_OPTION.
6985 (legacy_commands): Add bootp and dhcp.
6986 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6987 (grub_legacy_parse): Likewise.
6988 * grub-core/lib/priority_queue.c: New file.
6989 * grub-core/net/arp.c: Add missing license header.
6990 (arp_find_entry): Removed.
6991 (arp_find_entry): Likewise.
6992 (grub_net_arp_resolve): Rename to ...
6993 (grub_net_arp_send_request): ...this.
6994 (grub_net_arp_receive): New card argument.
6995 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6996 Set router and DNS server.
6997 (grub_net_configure_by_dhcp_ack): Handle routing information.
6998 (grub_cmd_bootp): Set checksum.
6999 (grub_bootp_init): Remove net_dhcp.
7000 * grub-core/net/dns.c: New file.
7001 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7002 completion.
7003 (get_card_packet): Handle allocation.
7004 (grub_efinet_findcards): Set mtu.
7005 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7006 (get_card_packet): Handle allocation.
7007 (emucard): Set mtu.
7008 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7009 (GRUB_MOD_INIT): Set mtu.
7010 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7011 mtu.
7012 (get_card_packet): Handle allocation.
7013 (grub_ofnet_findcards): Set mtu.
7014 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7015 assert.
7016 (grub_net_recv_ethernet_packet): Handle IPv6.
7017 * grub-core/net/http.c: New file.
7018 * grub-core/net/icmp.c: Likewise.
7019 * grub-core/net/icmp6.c: Likewise.
7020 * grub-core/net/ip.c (ip6addr): New type.
7021 (ip6hdr): Likewise.
7022 (reassemble): Likewise.
7023 (cmp): New function.
7024 (reassembles): New variable.
7025 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7026 (id): New variable.
7027 (send_fragmented): New function.
7028 (grub_net_send_ip_packet): Rename to ...
7029 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7030 Handle non-UDP.
7031 (grub_net_recv_ip_packets): Rename to ...
7032 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7033 (free_rsm): New function.
7034 (free_old_fragments): Likewise.
7035 (grub_net_recv_ip4_packets): New function.
7036 (grub_net_send_ip6_packet): Likewise.
7037 (grub_net_send_ip_packet): Likewise.
7038 (grub_net_recv_ip6_packets): Likewise.
7039 (grub_net_recv_ip_packets): Likewise.
7040 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7041 (LINK_LAYER_CACHE_SIZE): New const.
7042 (link_layer_find_entry): New function.
7043 (grub_net_link_layer_add_address): Likewise.
7044 (grub_net_link_layer_resolve_check): Likewise.
7045 (grub_net_link_layer_resolve): Likewise.
7046 (grub_net_ipv6_get_slaac): Likewise.
7047 (grub_net_ipv6_get_link_local): Likewise.
7048 (grub_cmd_ipv6_autoconf): Likewise.
7049 (parse_ip): Handle one number representation.
7050 (parse_ip6): New functoion.
7051 (match_net): Handle IPv6.
7052 (grub_net_resolve_address): Handle IPv6 and DNS.
7053 (grub_net_resolve_net_address): Handle IPv6.
7054 (route_cmp): New function.
7055 (grub_net_route_address): Find best route.
7056 (grub_net_addr_to_str): Handle IPv6.
7057 (grub_net_addr_cmp): New function.
7058 (grub_net_add_addr): Register local route.
7059 (print_net_address): Handle net address.
7060 (grub_net_poll_cards): Retransmit TCP.
7061 (grub_net_poll_cards_idle_real): Likewise.
7062 (have_ahead): New function.
7063 (grub_net_seek_real): Use underlying seek.
7064 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7065 * grub-core/net/tcp.c: New file.
7066 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7067 (cmp): New function.
7068 (ack): Likewise.
7069 (tftp_receive): Handle unordered input.
7070 (destroy_pq): New function.
7071 (tftp_close): Close pq.
7072 * grub-core/net/udp.c: Put missing license header.
7073 (grub_net_udp_socket): New function.
7074 (udp_socket_register): Likewise.
7075 (grub_net_udp_close): Likewise.
7076 (grub_net_recv_udp_packet): Check checksum.
7077 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7078 * include/grub/misc.h (grub_memchr): New function.
7079 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7080 (grub_net_card_driver): Return buf in recv.
7081 (grub_net_slaac_mac_list): New struct.
7082 (grub_network_level_protocol_id): Add ipv6.
7083 (grub_net_network_level_addr): Likewise.
7084 (grub_net_network_level_net_addr): Likewise.
7085 (grub_net_app_protocol): Add seek.
7086 (grub_net_socket): Removed.
7087 (grub_net_sockets): Likewise.
7088 (grub_net_socket_register): Likewise.
7089 (grub_net_socket_unregister): Likewise.
7090 (FOR_NET_SOCKETS): Likewise.
7091 (grub_net_add_addr): Add const.
7092 (GRUB_NET_BOOTP_*): New enum.
7093 (grub_net_addr_cmp): New proto.
7094 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7095 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7096 (grub_net_hwaddr_to_str): NEw proto.
7097 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7098 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7099 (grub_dns_init): New proto.
7100 (grub_dns_fini): Likewise.
7101 (grub_net_tcp_retransmit): Likewise.
7102 (grub_net_link_layer_add_address): Likewise.
7103 (grub_net_link_layer_resolve_check): Likewise.
7104 (grub_net_link_layer_resolve): Likewise.
7105 (grub_net_dns_lookup): Likewise.
7106 (grub_net_add_dns_server): Likewise.
7107 (grub_net_remove_dns_server): Likewise.
7108 (GRUB_NET_TRIES): New const.
7109 (GRUB_NET_INTERVAL): Likewise.
7110 * include/grub/net/arp.h: Mostly rewritten.
7111 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7112 * include/grub/net/ip.h: Mostly rewritten.
7113 * include/grub/net/netbuff.h: Indent.
7114 * include/grub/net/tcp.h: New file.
7115 * include/grub/net/udp.h: Mostly rewritten.
7116 * include/grub/priority_queue.h: New file.
7117 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7118 (grub_swap_bytes64_compile_time): Likewise.
7119 (grub_cpu_to_be16_compile_time): Likewise.
7120 (grub_cpu_to_be32_compile_time): Likewise.
7121 (grub_cpu_to_be64_compile_time): Likewise.
7122 (grub_be_to_cpu64_compile_time): Likewise.
7123
7124 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7127 UINT_TO_PTR with cast.
7128
7129 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7132 don't use them.
7133
7134 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7137 already there.
7138
7139 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7142 confusing ipxe.
7143
7144 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7147 Add missing const attribute.
7148 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7149 Likewise.
7150 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7151 Likewise.
7152
7153 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7156 misaligned access.
7157 (serpent_setkey): Likewise.
7158 (serpent_encrypt_internal): Likewise.
7159 (serpent_decrypt_internal): Likewise.
7160 (serpent_encrypt): Don't put an alignment-increasing cast.
7161 (serpent_decrypt): Likewise.
7162 (serpent_test): Likewise.
7163
7164 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7167
7168 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7171
7172 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7173 grub_addr_t casts.
7174 (PTR_TO_UINT64): Likewise.
7175 (PTR_TO_UINT32): Likewise.
7176
7177 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7180 because of stack.
7181 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7182 limit.
7183
7184 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7187 text_width > available width a bit more gracefully.
7188
7189 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7192 current address calculation.
7193
7194 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7197 stack.
7198 (encode_block): Likewise.
7199
7200 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7203 certainety.
7204
7205 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7208 non-RS part to avoid RS messing with GDT.
7209 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7210 Increase to suit in realmode routines.
7211
7212 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/kern/i386/realmode.S: Increase alignment.
7215 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7216
7217 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7220 be deterministic.
7221 (syndroms): Compute 0 syndrom.
7222 (rs_recover): Use 0 syndrom.
7223
7224 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7227
7228 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7231 brackets.
7232
7233 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7236 account.
7237 (get_top_pad): Likewise.
7238 (get_right_pad): Likewise.
7239 (get_bottom_pad): Likewise.
7240
7241 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7244
7245 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7248 attribute as the structure isn't guaranteed to be properly aligned.
7249 (grub_efi_pci_device_path): Likewise.
7250 (grub_efi_pccard_device_path): Likewise.
7251 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7252 specify the size of `memory_type'.
7253 (grub_efi_vendor_device_path): Likewise.
7254 (grub_efi_controller_device_path): Likewise.
7255 (grub_efi_acpi_device_path): Likewise.
7256 (grub_efi_expanded_acpi_device_path): Likewise.
7257 (grub_efi_atapi_device_path): Likewise.
7258 (grub_efi_scsi_device_path): Likewise.
7259 (grub_efi_fibre_channel_device_path): Likewise.
7260 (grub_efi_1394_device_path): Likewise.
7261 (grub_efi_usb_device_path): Likewise.
7262 (grub_efi_usb_class_device_path): Likewise.
7263 (grub_efi_i2o_device_path): Likewise.
7264 (grub_efi_mac_address_device_path): Likewise.
7265 (grub_efi_ipv4_device_path): Likewise.
7266 (grub_efi_ipv6_device_path): Likewise.
7267 (grub_efi_infiniband_device_path): Likewise.
7268 (grub_efi_uart_device_path): Likewise.
7269 (grub_efi_vendor_messaging_device_path): Likewise.
7270 (grub_efi_hard_drive_device_path): Likewise.
7271 (grub_efi_cdrom_device_path): Likewise.
7272 (grub_efi_vendor_media_device_path): Likewise.
7273 (grub_efi_file_path_device_path): Likewise.
7274 (grub_efi_protocol_device_path): Likewise.
7275 (grub_efi_piwg_device_path): Likewise.
7276 (grub_efi_bios_device_path): Likewise.
7277
7278 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7281 (grub_ucs4_to_utf8_alloc): Likewise.
7282 (grub_ucs4_to_utf8): Likewise.
7283 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7284 (grub_ucs4_to_utf8_alloc): Likewise.
7285
7286 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 AFFS never uses unicode.
7289
7290 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7291 (grub_latin1_to_utf8): New inline function.
7292 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7293
7294 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7297 overflow.
7298
7299 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7302 (grub_squash_dirent_header): Likewise.
7303 (read_chunk): Don't double swap.
7304 (grub_squash_iterate_dir): Fix swap sizes.
7305
7306 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7309
7310 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7313 (grub_hfs_iterate_dir): Likewise.
7314
7315 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 Fix video on platforms where unaligned access is forbidden.
7318 Make several optimisations while on it.
7319
7320 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7321 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7322 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7323 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7324 Disable.
7325 (grub_video_fbblit_replace_16bit_1bit):
7326 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7327 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7328 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7329 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7330 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7331 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7332 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7333 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7334 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7335 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7336 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7337 (grub_video_fbblit_replace_index_RGB888): Likewise.
7338 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7339 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7340 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7341 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7342 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7343 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7344 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7345 Disable.
7346 (grub_video_fbblit_blend_XXX565_1bit):
7347 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7348 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7349 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7350 void *.
7351 * grub-core/video/fb/video_fb.c (common_blitter)
7352 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7353 (grub_video_fb_create_render_target_from_pointer)
7354 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7355 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7356 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7357 definition.
7358 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7359
7360 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7363 HH22 and HM10 relocations.
7364
7365 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7368
7369 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7372 allocation succeeded.
7373
7374 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7377 argument a u8 pointer. All users updated.
7378 Handle unaligned buffers.
7379
7380 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7383 add_part to workaround compiler bug.
7384
7385 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7388
7389 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7392 Reserve alignment invariants.
7393 (grub_multiboot_load): Likewise.
7394 (retrieve_video_parameters): Likewise.
7395 (grub_multiboot_make_mbi): Likewise.
7396
7397 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7400 incorrect pointer.
7401
7402 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7405 (grub_pata_pio_write): Likewise.
7406
7407 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Add noreturn attributes and remove unreachable code.
7410
7411 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7412 code.
7413 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7414 code. Mark as noreturn.
7415 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7416 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7417 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7418 unreachable code.
7419 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7420 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7421 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7422 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7423 * include/grub/kernel.h (grub_main): Mark as noreturn.
7424 * include/grub/reader.h (grub_rescue_run): Likewise.
7425
7426 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7429 redundant declaration.
7430
7431 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7434 redundant declaration.
7435 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7436
7437 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7440 to ensure alignment.
7441 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7442 alignment. Ensure tmp alignment.
7443 (grub_cmd_hdparm): Ensure buf alignment.
7444 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7445 to ensure alignment.
7446 (grub_ata_dumpinfo): Ensure text alignment.
7447 (grub_atapi_identify): Preserve alignment invariant.
7448 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7449
7450 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7453 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7454 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7455 * include/grub/misc.h (grub_reboot)
7456 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7457 (grub_halt) [__mips__]: Likewise.
7458
7459 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7462 Remove redundant declaration.
7463 (grub_mmap_get_post64): Likewise.
7464 (grub_mmap_get_upper): Likewise.
7465 (grub_mmap_get_lower): Likewise.
7466
7467 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7470 uint32_t * to ensure alignment.
7471 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7472
7473 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7476 uint16_t * to ensure alignment.
7477 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7478 alignment.
7479
7480 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7483 to ensure alignment.
7484 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7485
7486 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7489 Handle unaligned pointers.
7490 (u32at): Likewise.
7491 (u64at): Likewise.
7492 (fixup): Use byte access instead of v16at.
7493 (find_attr): Fix imporper usage of v32at.
7494 (read_data): Likewise.
7495 (list_file): Handle byte-swapping and unaligned strings.
7496 (grub_ntfs_label): Likewise.
7497
7498 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7501 as it's not necessarily aligned.
7502
7503 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7506 redundant declaration.
7507 (grub_serial_init): Likewise.
7508 (grub_terminfo_init): Likewise.
7509
7510 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7513 function.
7514 (ZAP_HASH_IDX): Likewise.
7515 (ZAP_LEAF_HASH_SHIFT): Likewise.
7516 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7517 (LEAF_HASH): Likewise.
7518 (ZAP_LEAF_NUMCHUNKS): Likewise.
7519 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7520 alignment invariants. Return pointer. All users updated.
7521 (ZAP_LEAF_ENTRY): Make into inline function.
7522 (NBBY): Removed.
7523 (xor): LIkewise.
7524 (xor_out): Use grub_crypto_xor.
7525 (dnode_get_path): Use grub_get_unaligned.
7526 (nvlist_find_value): Likewise.
7527 (grub_zfs_nvlist_lookup_uint64): Likewise.
7528 (grub_zfs_nvlist_lookup_string): Likewise.
7529 (get_nvlist_size): Likewise.
7530 (grub_zfs_open): Likewise.
7531 (fill_fs_info): Likewise.
7532 (grub_zfs_dir): Likewise.
7533 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7534 alignment invariants.
7535 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7536 necessarily aligned.
7537
7538 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7541
7542 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7545 arithmetic to conserve alignment invariants.
7546
7547 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7550 redundant declaration.
7551 (grub_efiemu_mm_obtain_request): Likewise.
7552 (grub_efiemu_prepare): Likewise.
7553
7554 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7555
7556 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7557 to match types.
7558
7559 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7562 case of aunaligned recptr.
7563 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7564 alignment.
7565 (grub_hfsplus_btree_search): Handle unaligned index.
7566
7567 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7570 to get freetag and skip.
7571
7572 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7575 array.
7576 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7577 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7578
7579 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7582 name for checksum and fix allocation algorithm.
7583
7584 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * include/grub/types.h (grub_properly_aligned_t): New type.
7587 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7588 (grub_get_unaligned16): Add explicit casts.
7589 (grub_get_unaligned32): Likewise.
7590 (grub_get_unaligned64): Likewise.
7591 (grub_set_unaligned16): New function.
7592 (grub_set_unaligned32): Likewise.
7593
7594 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7597
7598 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7601 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7602 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7603
7604 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7607 conditionals.
7608
7609 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7612 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7613
7614 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 Unify and improve RAID and crypto xor.
7617
7618 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7619 changed to grub_crypto_xor
7620 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7621 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7622 Use bigger types when possible.
7623
7624 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/disk/raid.c (scan_devices): Fix condition.
7627
7628 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7631 Make name a const ptr.
7632
7633 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7636 first argument a const pointer.
7637 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7638 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7639 proto.
7640 (grub_children_iterate): Likewise.
7641 (grub_machine_mmap_iterate): Remove redundant declaration.
7642
7643 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7646 (grub_cmd_acpi) [!x86]: Disable EBDA.
7647
7648 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 Enable UTF8 in gnulib regexp.
7651
7652 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7653 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7654 (isupper): Use grub_isupper.
7655 (isascii): New inline function.
7656 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7657 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7658 * grub-core/normal/charset.c (grub_utf8_process): New function.
7659 (grub_utf8_to_utf16): Use grub_utf8_process.
7660 (grub_encode_utf8_character): New function.
7661 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7662 * include/grub/charset.h (grub_utf8_process): New declaration.
7663 (grub_encode_utf8_character): Likewise.
7664 * include/grub/misc.h (grub_islower): New inline function.
7665 (grub_isupper): Likewise.
7666 (grub_strchrsub): Moved down to fix the definitions.
7667
7668 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7671 specification.
7672
7673 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * include/grub/loader.h (grub_loader_register_preboot_hook):
7676 Use struct preboot * and not void * for handle. All users updated.
7677 (grub_loader_unregister_preboot_hook): Likewise.
7678
7679 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7682 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7683 UTF-16-BE. All users updated.
7684 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7685 (grub_hfsplus_iterate_dir): Likewise.
7686 (grub_hfsplus_label): Likewise.
7687
7688 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7691
7692 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 Add missing const qualifiers.
7695
7696 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7697 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7698 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7699 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7700 (grub_lvm_check_flag): Likewise.
7701 * grub-core/efiemu/i386/coredetect.c
7702 (grub_efiemu_get_default_core_name): Likewise
7703 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7704 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7705 * grub-core/fs/ntfs.c (fixup): Likewise.
7706 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7707 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7708 (fzap_lookup): Likewise.
7709 (zap_lookup): Likewise.
7710 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7711 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7712 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7713 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7714 (grub_freebsd_add_meta_module): Likewise.
7715 (grub_cmd_freebsd_module): Likewise.
7716 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7717 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7718 (grub_xnu_writetree_get_size): Likewise.
7719 (grub_xnu_writetree_toheap_real): Likewise.
7720 (grub_xnu_find_key): Likewise.
7721 (grub_xnu_create_key): Likewise.
7722 (grub_xnu_create_value): Likewise.
7723 (grub_xnu_register_memory): Likewise.
7724 (grub_xnu_check_os_bundle_required): Likewise.
7725 (grub_xnu_scan_dir_for_kexts): Likewise.
7726 (grub_xnu_load_kext_from_dir): Likewise.
7727 * grub-core/normal/color.c (color_list): Likewise.
7728 * grub-core/normal/completion.c (current_word): Likewise.
7729 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7730 * grub-core/term/serial.c (grub_serial_find): Likewise.
7731 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7732 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7733 Likewise.
7734 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7735 (grub_freebsd_add_meta_module): Likewise.
7736 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7737 * include/grub/net.h (grub_net_card_driver): Likewise.
7738 (grub_net_card): Likewise.
7739 (grub_net_app_protocol): Likewise.
7740 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7741 * include/grub/serial.h (grub_serial_find): Likewise.
7742 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7743 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7744 (grub_xnu_create_value): Likewise.
7745 (grub_xnu_find_key): Likewise.
7746 (grub_xnu_scan_dir_for_kexts): Likewise.
7747 (grub_xnu_load_kext_from_dir): Likewise.
7748
7749 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7750 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7751 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7752 Moved from here ...
7753 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7754
7755 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7756
7757 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7758
7759 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7762 (read_device): Fix size calculation.
7763
7764 2011-11-25 Robert Millan <rmh@gnu.org>
7765
7766 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7767 (find_root_device_from_libzfs): Add zpool output parser to be used
7768 as fallback when libzfs isn't available.
7769
7770 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7771
7772 * po/Makefile.in.in: Add missing escape-continuation.
7773
7774 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7777
7778 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7781
7782 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7785
7786 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7789
7790 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * grub-core/lib/adler32.c: Add missing license specification.
7793 * grub-core/lib/crc64.c: Likewise.
7794 * grub-core/loader/i386/pc/plan9.c: Likewise.
7795 * grub-core/partmap/plan.c: Likewise.
7796
7797 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7798
7799 Add facility to debug GRUB with gdb under qemu.
7800
7801 * grub-core/gdb_grub.in: New file.
7802 * grub-core/gmodule.pl.in: Likewise.
7803 * grub-core/Makefile.core.def (gmodule.pl): New script.
7804 (gdb_grub): Likewise.
7805
7806 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * util/grub-mount.c (argp_parser): Accept relative pathes.
7809 * util/grub-fstest.c (argp_parser): Likewise.
7810
7811 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 Plan9 support.
7814
7815 * Makefile.util.def (libgrubmods): Add
7816 grub-core/partmap/plan.c.
7817 * docs/grub.texi: Notice Plan9 support.
7818 * grub-core/Makefile.core.def (plan9): New module.
7819 (part_plan): Likewise.
7820 * grub-core/loader/i386/pc/plan9.c: New file.
7821 * grub-core/partmap/plan.c: Likewise.
7822 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7823 define.
7824 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7825 * include/grub/mm.h (grub_extend_alloc): New inline function.
7826
7827 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 Make Reed-Solomon faster by using power of generator representation of
7830 GF(256)*.
7831
7832 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7833 (gf_double_t): Likewise.
7834 (gf_invert): Removed.
7835 (gf_powx): New array.
7836 (gf_powx_inv): Likewise.
7837 (scratch): Move higher.
7838 (gf_reduce): Removed.
7839 (gf_mul): Use powx.
7840 (gf_invert): Likewise.
7841 (init_inverts): Replaced with ...
7842 (init_powx): ...this. All users updated.
7843 (pol_evaluate): Replace multiplications with additions.
7844 (rs_encode): Likewise.
7845 (gauss_eliminate): Call gf_invert.
7846 (grub_reed_solomon_add_redundancy): Call init_powx.
7847 (grub_reed_solomon_recover): Call init_powx unconditionally.
7848
7849 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7852
7853 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7856 disk->partiton for safety.
7857
7858 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7861 Fix a memory leak.
7862 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7863
7864 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7867
7868 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7871
7872 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 Fix spaces handling in proc/self/mountinfo.
7875
7876 * util/getroot.c (unescape): New function.
7877 (grub_find_root_device_from_mountinfo): Use unescape.
7878
7879 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 Support ZFS embedding.
7882
7883 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7884 (grub_zfs_fs): Register grub_zfs_embed.
7885
7886 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 Fix MIPS compilation.
7889
7890 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7891 * include/grub/offsets.h: Rename decompressor fields from
7892 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7893 * util/grub-mkimage.c (image_targets): Use new names.
7894
7895 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 Defer multiboot device parsing until we're in compressed part.
7898
7899 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7900 bsd_part. setdevice has fallen into disuse.
7901 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7902 (bsd_part): Likewise.
7903 (boot_dev): New variable.
7904 (multiboot_trampoline): Don't parse multiboot device.
7905 Pass multiboot device in %edx.
7906 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7907 grub_boot_device.
7908 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7909 Likewise.
7910 * grub-core/kern/i386/pc/startup.S: Save edx.
7911 (grub_boot_drive): Removed.
7912 (grub_install_dos_part): Likewise.
7913 (grub_install_bsd_part): Likewise.
7914 (grub_boot_device): New variable.
7915 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7916 (grub_install_bsd_part): Likewise.
7917 (grub_boot_drive): Likewise.
7918 (grub_boot_device): New variable.
7919 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7920 Removed.
7921 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7922 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7923 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7924 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7925 * util/grub-install.in: Remove redundant condition.
7926
7927 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 Fix bug introduced by previous commit.
7930
7931 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7932
7933 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 Use decompressors framework on i386-pc. It increases core size
7936 by 46 bytes but improves compatibility and maintainability.
7937
7938 * grub-core/Makefile.core.def (lzma_decompress): New image.
7939 (kernel): Add i386_pc_ldflags.
7940 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7941 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7942 to real_to_prot, prot_to_real and device info.
7943 * include/grub/offsets.h: Renamed decompressor offsets.
7944 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7945 (image_target_desc): Remove raw_size and rename decompressor fields.
7946 (compress_kernel): Handle lzma.
7947 (generate_image): Handle decompressors on i386-pc.
7948
7949 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * configure.ac: Add -fno-asynchronous-unwind-tables.
7952
7953 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Move assembly code to C by using intwrap. It increases core size
7956 by 88 bytes but improves compatibility and maintainability.
7957
7958 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7959 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7960 ... here. Translated to C.
7961 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7962 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7963 ... here. Translated to C.
7964 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7965 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7966 ... here. Translated to C.
7967 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7968 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7969 ... here. Translated to C.
7970 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7971 * grub-core/term/i386/pc/console.c (grub_console_cls):
7972 ... here. Translated to C.
7973 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7974 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7975 ... here. Translated to C.
7976 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7977 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7978 Translated to C.
7979 * grub-core/term/i386/pc/console.c (int10_9): New function.
7980 (grub_console_putchar): Likewise.
7981 * include/grub/i386/pc/console.h: Removed the not anymore shared
7982 functions.
7983
7984 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 Move grub_chainloader_real_boot out of the kernel.
7987
7988 * grub-core/Makefile.am: Remove machine/loader.h.
7989 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7990 Removed.
7991 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7992 variable.
7993 (grub_relocator16_keep_a20_enabled): Likewise.
7994 (grub_relocator16_boot): Fill new variables.
7995 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7996 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7997 relocator.
7998 (grub_chainloader_unload): Likewise.
7999 (grub_chainloader_cmd): Likewise.
8000 * include/grub/i386/pc/loader.h: Removed.
8001 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8002 and esi. All initialisers updated.
8003
8004 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8005 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
8006
8007 * Makefile.util.def (grub-mount): New util.
8008 * .bzrignore: Add grub-mount.
8009 * configure.ac: Check for fuse and enable grub-mount if available.
8010 * docs/man/grub-mount.h2m: New file.
8011 * util/grub-mount.c: Likewise.
8012
8013 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/commands/efi/fixvideo.c: Gettextize.
8016 * grub-core/commands/hashsum.c: Likewise.
8017 * grub-core/commands/i386/cmostest.c: Likewise.
8018 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8019 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8020 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8021 * grub-core/commands/lsmmap.c: Likewise.
8022 * grub-core/commands/menuentry.c: Likewise.
8023 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8024 * grub-core/commands/setpci.c: Likewise.
8025 * grub-core/loader/i386/bsd.c: Likewise.
8026 * grub-core/loader/i386/linux.c: Likewise.
8027 * util/getroot.c: Likewise.
8028 * util/grub-editenv.c: Likewise.
8029 * util/grub-fstest.c: Likewise.
8030 * util/grub-mkfont.c: Likewise.
8031 * util/grub-mkimage.c: Likewise.
8032 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8033 * util/grub-pe2elf.c: Likewise.
8034 * util/grub-probe.c: Likewise.
8035 * util/grub-setup.c: Likewise.
8036 * util/ieee1275/ofpath.c: Likewise.
8037 * util/misc.c: Likewise.
8038 * util/raid.c: Likewise.
8039
8040 2011-11-11 Robert Millan <rmh@gnu.org>
8041
8042 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8043 __attribute__((unused)) from `os_dev', which *is* being used.
8044
8045 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8048 forgotten define.
8049 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8050 GRUB_IA64_DL_GOT_ALIGN.
8051 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8052 GRUB_IA64_DL_TRAMP_ALIGN.
8053
8054 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 Replace grub_fatal with normal errors in i386 linux loader.
8057
8058 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8059 (allocate_pages): Check find_efi_mmap_size return value.
8060 (grub_e820_add_region): Return error.
8061 (grub_linux_boot): Check mmap return value.
8062
8063 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 * grub-core/commands/acpihalt.c: Gettextized.
8066 * grub-core/commands/cacheinfo.c: Likewise.
8067 * grub-core/commands/cmp.c: Likewise.
8068 * grub-core/commands/efi/loadbios.c: Likewise.
8069 * grub-core/commands/gptsync.c: Likewise.
8070 * grub-core/commands/ieee1275/suspend.c: Likewise.
8071 * grub-core/commands/legacycfg.c: Likewise.
8072 * grub-core/commands/memrw.c: Likewise.
8073 * grub-core/commands/minicmd.c: Likewise.
8074 * grub-core/commands/parttool.c: Likewise.
8075 * grub-core/commands/time.c: Likewise.
8076 * grub-core/commands/videoinfo.c: Likewise.
8077 * grub-core/disk/geli.c: Likewise.
8078 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8079 * grub-core/disk/luks.c: Likewise.
8080 * grub-core/disk/lvm.c: Likewise.
8081 * grub-core/font/font_cmd.c: Likewise.
8082 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8083 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8084 * grub-core/gfxmenu/view.c: Likewise.
8085 * grub-core/kern/emu/hostdisk.c: Likewise.
8086 * grub-core/kern/emu/main.c: Likewise.
8087 * grub-core/kern/emu/misc.c: Likewise.
8088 * grub-core/kern/emu/mm.c: Likewise.
8089 * grub-core/kern/mips/arc/init.c: Likewise.
8090 * grub-core/kern/mips/loongson/init.c: Likewise.
8091 * grub-core/kern/partition.c: Likewise.
8092 * grub-core/lib/i386/halt.c: Likewise.
8093 * grub-core/lib/mips/arc/reboot.c: Likewise.
8094 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8095 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8096 * grub-core/loader/i386/xnu.c: Likewise.
8097 * grub-core/loader/multiboot.c: Likewise.
8098 * grub-core/net/bootp.c: Likewise.
8099 * grub-core/net/net.c: Likewise.
8100 * grub-core/normal/term.c: Likewise.
8101 * grub-core/partmap/bsdlabel.c: Likewise.
8102 * grub-core/parttool/msdospart.c: Likewise.
8103 * grub-core/term/gfxterm.c: Likewise.
8104 * grub-core/term/terminfo.c: Likewise.
8105 * grub-core/video/i386/pc/vbe.c: Likewise.
8106 * util/grub-menulst2cfg.c: Likewise.
8107 * util/grub-mkdevicemap.c: Likewise.
8108 * util/grub-mklayout.c: Likewise.
8109 * util/grub-mkrelpath.c: Likewise.
8110 * util/grub-script-check.c: Likewise.
8111 * util/ieee1275/grub-ofpathname.c: Likewise.
8112 * util/resolve.c: Likewise.
8113
8114 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Support %1$d syntax.
8117
8118 * tests/printf_unit_test.c: New file.
8119 * Makefile.util.def (printf_test): New test.
8120 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8121
8122 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8125 fix.
8126
8127 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8130 dprintf.
8131 * grub-core/font/font.c (grub_font_load): Likewise.
8132
8133 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * util/grub-macho2img.c: Add comment concerning gettext.
8136 * grub-core/lib/legacy_parse.c: Likewise.
8137
8138 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8139
8140 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8141 (grub_xvasprintf): Likewise.
8142
8143 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Add const keyword to grub_env_get and gettextize week days.
8146
8147 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8148 (grub_read_hook_datetime): Return const char *.
8149 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8150 updated.
8151 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8152 Mark for gettext.
8153 (grub_get_weekday_name): Return const char *. Call gettext.
8154 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8155 char * and len as the argument. All users updated.
8156 (grub_script_argv_split_append): Receive const char *.
8157 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8158 * include/grub/env.h (grub_env_get): Likewise.
8159 (grub_env_read_hook_t): Return const char *.
8160 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8161 (grub_script_argv_split_append): Likewise.
8162
8163 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8166
8167 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8170 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8171
8172 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8175 Fix prototype.
8176
8177 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 Fix mips compilation.
8180
8181 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8182 normal decoder.
8183 (hashes): Use in embed decoder as well (for sizes).
8184 (dec_stream_header): Fix embed decompressor logic.
8185 (dec_stream_footer): Likewise.
8186
8187 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8190 an error and not a fatal on unrecognised relocation types.
8191
8192 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8195 Issue error rather than printf on unknown arguments.
8196
8197 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8200 Make buf a const.
8201
8202 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8205 Fix module name.
8206
8207 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8210 leftover debug printf.
8211
8212 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8215
8216 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8219 A stylistic fix.
8220
8221 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8224
8225 2011-11-10 Shea Levy <slevy@tieronedesign.com>
8226
8227 Allow all modules to perform serial IO
8228
8229 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8230 * include/grub/serial.h (grub_serial_port_configure): New inline
8231 function.
8232 (grub_serial_port_fetch): Likewise.
8233 (grub_serial_port_put): Likewise.
8234 (grub_serial_port_fini): Likewise.
8235 (grub_serial_find): New proto.
8236
8237 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 Put symlink at the end of the node and fix a potential
8240 memory corruption.
8241
8242 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8243 Make symlink into an array.
8244 (set_rockridge): Set have_symlink and alloc_dirents.
8245 (grub_iso9660_read_symlink): Use new layout.
8246 (grub_iso9660_iterate_dir): Fix memory corruption.
8247 Use new layout.
8248 (grub_iso9660_dir): Set have_symlink.
8249 (grub_iso9660_open): Likewise.
8250
8251 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 Remove local keyword.
8254
8255 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8256 (version_test_gt): Likewise.
8257 (version_find_latest): Likewise.
8258 (gettext_printf): Likewise.
8259 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8260
8261 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8264
8265 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 Fix ZFS memory and resource leaks.
8268
8269 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8270 All users updated.
8271 Free type on exit.
8272 (fill_vdev_info): New parameter inserted. All users updated.
8273 (check_pool_label): Likewise.
8274 (scan_disk): Likewise.
8275 (scan_devices): Close non-inserted disks.
8276 (fzap_iterate): Free l.
8277 (unmount_device): Free children descripto memory.
8278
8279 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8282 argument (access out of bounds).
8283
8284 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8287 >= 6 drives.
8288
8289 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8292 Fix declaration.
8293
8294 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 Fix several memory leaks.
8297
8298 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8299 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8300 (grub_cpio_dir): Likewise.
8301 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8302 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8303 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8304 (grub_romfs_label): Likewise.
8305 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8306 (squash_unmount): New function.
8307 (grub_squash_dir): Fix memory leak.
8308 (grub_squash_open): Likewise.
8309 (grub_squash_read): Likewise.
8310 (grub_squash_mtime): Likewise.
8311 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8312 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8313 * util/grub-fstest.c (fstest): Likewise.
8314
8315 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8318 avoid accessing beyond the array.
8319
8320 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8323
8324 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 Several AFFS fixes.
8327
8328 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8329 (GRUB_AFFS_FLAG_FFS): Removed.
8330 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8331 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8332 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8333 (grub_fshelp_node): Make block 32-bit.
8334 Add block_cache and last_block_cache.
8335 (grub_affs_read_block): Fill and use block cache.
8336 (grub_affs_read_file): Removed.
8337 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8338 boot block.
8339 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8340 safety.
8341 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8342 space.
8343 (grub_affs_close): Free block cache.
8344 (grub_affs_read): Use grub_fshelp_read_file directly.
8345
8346 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8349 with no error set.
8350
8351 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8354 used variable.
8355 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8356 Likewise.
8357
8358 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8361
8362 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8363 byteswap when needed.
8364
8365 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 Fix FreeBSD compilation.
8368
8369 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8370 to avoid circular dependency.
8371 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8372 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8373 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8374
8375 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 Fix ZFS crypto error types.
8378
8379 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8380 (grub_gcm_decrypt): Likewise.
8381 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8382 from PBKDF2.
8383
8384 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 Illumos support.
8387
8388 * Makefile.util.def (10_illumos): New script.
8389 * configure.ac: Set COND_HOST_ILLUMOS.
8390 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8391 Support Illumos calls.
8392 (find_partition_start) [__sun__]: Likewise.
8393 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8394 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8395 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8396 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8397 device.
8398 * util/grub-probe.c (probe) [__sun__]: Do character check.
8399 * util/grub.d/10_illumos.in: New file.
8400
8401 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 Support escaped commas in hostdisk.
8404
8405 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8406 (find_grub_drive): Use unescape_cmp.
8407 (make_device_name): Escape commas.
8408
8409 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8412
8413 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8416 variable.
8417
8418 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 Support trampoline jumps on powerpc.
8421
8422 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8423 __ia64__ path.
8424 (grub_dl_load_segments): Set mod->sz.
8425 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8426 segments.
8427 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8428 (jump): Likewise.
8429 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8430 function.
8431 (trampoline): New struct.
8432 (trampoline_template): New const.
8433 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8434 * include/grub/dl.h (grub_dl): Add sz element.
8435 [__powerpc__]: Follow __ia64__.
8436 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8437 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8438 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8439 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8440
8441 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 ZFS crypto support.
8444
8445 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8446 * grub-core/Makefile.core.def (zfscrypt): New module.
8447 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8448 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8449 it. All users updated.
8450 (grub_zfs_decrypt): New var.
8451 (grub_zfs_load_key): Likewise.
8452 (zio_checksum_functions): Add SHA256+MAC.
8453 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8454 (zio_read): Handle encrypted blocks.
8455 (zap_verify): Remove incorrect check.
8456 (fzap_iterate): Handle non-standard fzap.
8457 (zap_iterate): Likewise.
8458 (zap_iterate_u64): New function.
8459 (dnode_get_fullpath): Load keys.
8460 * grub-core/fs/zfs/zfscrypt.c: New file.
8461 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8462 (grub_crypto_ecb_encrypt): Make input const.
8463 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8464 (grub_crypto_ecb_encrypt): Make input const.
8465 (GRUB_CIPHER_AES): New macro.
8466 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8467 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8468 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8469 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8470 prefix. All users updated.
8471 (grub_zfs_add_key): New proto.
8472 (grub_zfs_decrypt): Likewise.
8473 (grub_zfs_load_key): Likewise.
8474 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8475 * util/grub-fstest.c (options): Add -K option.
8476 (argp_parser): Likewise.
8477
8478 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 Support zle compression on ZFS.
8481
8482 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8483 (decomp_table): Add zle.
8484 * include/grub/zfs/zio.h (zio_compress): Add zle.
8485
8486 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 Support BtrFS embedding.
8489
8490 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8491 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8492 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8493 * util/grub-setup.c (setup): Use fs embedding if available.
8494 Add additional sanity check.
8495
8496 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * util/grub-install.in: Fix condition for config_opt.
8499
8500 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 Support third redundancy strip on raidz3.
8503
8504 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8505 Return error on singularity. All users updated.
8506 (read_device): Don't stop on 3rd failure on raidz3.
8507
8508 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 Support case-insensitive ZFS subvolumes.
8511
8512 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8513 All users updated.
8514 (zap_hash): Likewise.
8515 (name_cmp): New function.
8516 (zap_leaf_array_equal): New parameter case_insensitive.
8517 All users updated.
8518 (zap_leaf_lookup): Likewise.
8519 (fzap_lookup): Likewise.
8520 (zap_lookup): Likewise.
8521 (dnode_get_path): New parameter case_insensitive. Retrieve case
8522 sensitiviness of a volume. All users updated.
8523 (dnode_get_fullpath): New parameter case_insensitive.
8524 All users updated.
8525 (grub_zfs_dir): Set info.case_insensitiveness.
8526
8527 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 Support second redundancy strip on raidz(2,3).
8530
8531 * grub-core/fs/zfs/zfs.c (powx): New array.
8532 (powx_inv): Likewise.
8533 (poly): New const.
8534 (xor_out): New function.
8535 (gf_mul): Likewise.
8536 (recovery): Likewise.
8537 (read_device): Use second redundancy strip.
8538
8539 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 Use a power of generator representation of GF(256) multiplication group
8542 to save space time and complexity.
8543
8544 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8545 (raid6_table2): Likewise.
8546 (powx): New array.
8547 (powx_inv): Likewise.
8548 (poly): New const.
8549 (grub_raid_block_mul): Replace with ...
8550 (grub_raid_block_mulx): ...this.
8551 (grub_raid6_init_table): Rewritten.
8552 (grub_raid6_recover): Use power of generator representation.
8553
8554 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8557 for the right device.
8558
8559 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8562 expected by grub-mkimage and it's more clear since there is no implicit
8563 padding.
8564
8565 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8568 disk.
8569 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8570
8571 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8572
8573 * util/grub-mkrescue.in: Fix handling xorriso option.
8574
8575 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8578 NULL.
8579
8580 2011-11-03 crocket <crockabiscuit@gmail.com>
8581
8582 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8583
8584 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 XZ CRC64 and SHA256 support.
8587
8588 * Makefile.util.def (libgrubmods): Add crc64.c.
8589 * grub-core/Makefile.core.def (crc64): New module.
8590 * grub-core/lib/crc64.c: New file.
8591 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8592 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8593 Fix the type.
8594 (MAX_HASH_SIZE): New define.
8595 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8596 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8597 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8598 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8599 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8600 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8601 Handle non-crc32 hashes.
8602 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8603 (dec_stream_header): Handle non-crc32 hashes.
8604 (dec_stream_footer): Likewise.
8605 (dec_block_header): Likewise.
8606 (dec_main): Likewise.
8607 (xz_dec_init): Likewise.
8608 (xz_dec_reset): Likewise.
8609 (xz_dec_end): Likewise.
8610 * util/import_gcry.py: Add CRC64 line.
8611
8612 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8615 as well.
8616
8617 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 Make reiserfs label retrieval similar to other *_label functions.
8620
8621 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8622 (REISERFS_MAX_LABEL_LENGTH): Removed.
8623 (REISERFS_LABEL_OFFSET): Likewise.
8624 (grub_reiserfs_label): Rewritten.
8625
8626 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8629 field.
8630
8631 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8634
8635 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8638 drive failure on both raidz and raidz2.
8639
8640 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 Fix RAIDZ(2) for >= 5 devices.
8643
8644 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8645 asize argument. All users updated.
8646
8647 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 Fix RAIDZ(2).
8650
8651 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8652 (fill_vdev_info_real): Set ashift.
8653 (read_device): Rewrite RAIDZ part based on reverse engineering.
8654
8655 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8658 don't report potentially unavialiable fields in debug output.
8659 (find_path): Fix double-free and memory leak.
8660
8661 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 Read label on UFS1.
8664
8665 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8666 (grub_ufs_fs): Always set .label.
8667
8668 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 Use shifts in UFS.
8671
8672 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8673 (grub_ufs_data): New field log2_blksz.
8674 (grub_ufs_read_file): Use shifts.
8675 (grub_ufs_mount): Check block size and logarithm it.
8676
8677 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8680 long symlinks.
8681
8682 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 Handle symlinks and long names on tar and cpio.
8685
8686 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8687 (ATTR_FILE): Likewise.
8688 (ATTR_DIR): Likewise.
8689 (ATTR_LNK): Likewise.
8690 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8691 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8692 L and K entries.
8693 (grub_cpio_mount): Zero-fill data.
8694 (handle_symlink): New function.
8695 (grub_cpio_dir): Handle symlinks.
8696 (grub_cpio_open): Likewise.
8697 (grub_cpio_close) [MODE_USTAR]: Free linkname.
8698
8699 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 Fix iso9660 filename limitations and fix memory leaks.
8702
8703 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8704 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8705
8706 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Fix JFS file name length limitations.
8709
8710 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8711 (grub_jfs_diropen): Fix maximum filename length.
8712 (grub_jfs_getent): Fix filename length.
8713 (grub_jfs_lookup_symlink): Fix size checks.
8714
8715 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8718 string.
8719
8720 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 Leverage BFS implementation to read AFS.
8723
8724 * Makefile.util.def (libgrubmods): Add afs.c.
8725 * grub-core/Makefile.core.def (afs): New module
8726 * grub-core/fs/afs.c: New file.
8727 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8728
8729 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
8732
8733 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * grub-core/fs/bfs.c: Run indent.
8736
8737 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 BFS implementation based on the specification.
8740
8741 * grub-core/fs/bfs.c: New file.
8742 * Makefile.util.def (libgrubmods): Add bfs.c.
8743 * grub-core/Makefile.core.def (bfs): New module.
8744
8745 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * util/grub-fstest.c (cmd_cp): Clarify error message.
8748 (cmd_cmp): Likewise.
8749
8750 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8751
8752 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8753 and befs_be.
8754
8755 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Remove afs and befs because of copyright problem.
8758
8759 * grub-core/fs/afs.c: Removed.
8760 * grub-core/fs/afs_be.c: Removed.
8761 * grub-core/fs/befs.c: Removed.
8762 * grub-core/fs/befs_be.c: Removed.
8763 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8764 * grub-core/Makefile.core.def (afs): Removed.
8765 (afs_be): Likewise.
8766 (befs): Likewise.
8767 (befs_be): Likewise.
8768
8769 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 Prefer rockridge over Joliet.
8772
8773 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8774 to ...
8775 (set_rockridge): ... here.
8776 (grub_iso9660_mount): Check rockridge on the primary label when
8777 discovering. Ignore Joliet if Rockridge is present.
8778
8779 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 Use shifts in nilfs2.
8782
8783 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8784 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8785 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8786 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8787 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8788 (grub_nilfs2_entries_per_block): Replaced with ...
8789 (grub_nilfs2_log_entries_per_block_log): ... this.
8790 (grub_nilfs2_blocks_per_group): Replaced with ...
8791 (grub_nilfs2_blocks_per_group_log): ... this.
8792 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8793 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8794 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8795 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8796 (grub_nilfs2_palloc_entry_offset): Replaced ...
8797 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8798 (grub_nilfs2_dat_translate): Use shifts.
8799 (grub_nilfs2_read_inode): Likewise.
8800 (GRUB_MOD_INIT): Ensure that logs are correct.
8801
8802 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 Use shifts in minix filesystem.
8805
8806 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8807 (GRUB_MINIX_ZONE2SECT): Likewise.
8808 (grub_minix_data): Replace block_size with log_block_size.
8809 (grub_minix_read_file): Use shifts.
8810 (grub_minix_mount): Check block size and take a logarithm.
8811
8812 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 Use shifts in squash4.
8815
8816 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8817 (squash_mount): Check block size and take logarithm.
8818 (direct_read): Use shifts.
8819
8820 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 Correct befs block counting logic.
8823
8824 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8825 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8826 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8827 (grub_afs_read_inode): Use block_shift.
8828 (RANGE_SHIFT): New definition.
8829 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8830 unexpected conditions, use shifts and appropriate types.
8831 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8832
8833 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/disk/raid.c (scan_devices): Check partition.
8836 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8837
8838 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 Support BFS (befs) UUID.
8841
8842 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8843 (grub_afs_small_data_element_header): New struct.
8844 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8845 (grub_afs_read_attribute) [MODE_BFS]: New function.
8846 (grub_afs_iterate_dir): Allocate for complete inode.
8847 (grub_afs_mount): Likewise.
8848 (grub_afs_uuid) [MODE_BFS]: New function.
8849 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8850
8851 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8854 (zfs_unmount): Fix memory leak.
8855
8856 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Support NTFS reparse points.
8859
8860 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8861 (symlink_descriptor): New struct.
8862 (grub_ntfs_read_symlink): New function.
8863 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8864 (grub_ntfs_open): Likewise.
8865
8866 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8869
8870 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 fstest xnu_uuid subcommand.
8873
8874 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8875 grub-core/commands/xnu_uuid.c.
8876 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8877 (fstest): Handle xnu_uuid.
8878 (options): Document xnu_uuid.
8879 (argp_parser): Parse xnu_uuid.
8880
8881 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8884 -l argument. Add newline at the end if printing.
8885 (GRUB_MOD_INIT): Document -l.
8886
8887 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8890
8891 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 ZFS multi-device and version 33 support.
8894
8895 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8896 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8897 (grub_zfs_data): Add multidev-ice-related fields.
8898 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8899 (dva_get_offset): Make dva const.
8900 (zfs_fetch_nvlist): New function.
8901 (fill_vdev_info_real): Likewise.
8902 (fill_vdev_info): Likewise.
8903 (check_pool_label): Likewise.
8904 (scan_disk): Likewise.
8905 (scan_devices): Likewise.
8906 (read_device): Likewise.
8907 (read_dva): Likewise.
8908 (zio_read_gang): Use read_dva.
8909 (zio_read_data): Likewise.
8910 (zap_leaf_lookup): Add missing endian conversion.
8911 (zap_verify): Add missing endian conversion. All users updated.
8912 (fzap_lookup): Likewise.
8913 (fzap_iterate): Likewise.
8914 (dnode_get_path): Handle SA bonus.
8915 (nvlist_find_value): Make input const. All users updated.
8916 (unmount_device): New function.
8917 (zfs_unmount): Use unmount_device.
8918 (zfs_mount): Use scan_disk.
8919 (zfs_mtime): New function.
8920 (grub_zfs_open): Handle system attributes.
8921 (fill_fs_info): Likewise.
8922 (grub_zfs_dir): Likewise.
8923 (grub_zfs_fs): Add mtime.
8924 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8925 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8926 (SA_MTIME_OFFSET): Likewise.
8927 (SA_SYMLINK_OFFSET): Likewise.
8928 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8929 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8930 (fstest): Support zfsinfo.
8931 (argp_parser): Likewise.
8932
8933 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8936 error.
8937
8938 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 ZFS fixes.
8941
8942 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8943 sharing the same block. Iterate over correct number of indices.
8944 (dnode_get_path): Handle symlinks correctly.
8945
8946 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8949
8950 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 Read label on HFS+.
8953
8954 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8955 (grub_hfsplus_btree_search): Fix types.
8956 (grub_hfsplus_label): Implement.
8957
8958 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8961
8962 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8965
8966 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 Fix symlink handling on iso9660.
8969
8970 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8971 All users updated.
8972 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8973 (grub_iso9660_read_symlink): Moved most of code ...
8974 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8975
8976 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8979 Use union to avoid breaking strict-aliasing rules.
8980
8981 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 Support multi-extent iso files.
8984
8985 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8986 Add node.
8987 (grub_fshelp_node): Revamp. All users updated.
8988 (FLAG_*): New enum.
8989 (read_node): New function.
8990 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8991 All users updated.
8992 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8993 (get_node_size): New function.
8994 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8995 entries.
8996 Fix memory leak on . and ..
8997 (grub_iso9660_read): Use read_node.
8998 (grub_iso9660_close): Free node.
8999
9000 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 Fix tar 4G limit and handle paths containing dot.
9003
9004 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9005 (canonicalize): New function.
9006 (grub_cpio_find_file): Use canonicalize. Store offs in
9007 grub_disk_addr_t.
9008 (grub_cpio_dir): Use grub_disk_addr_t.
9009 (grub_cpio_open): Likewise.
9010
9011 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9014
9015 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9016 unused flags.
9017 (grub_squash_inode): Add long_file and block_size.
9018 (grub_squash_cache_inode): New struct.
9019 (grub_squash_dirent): Make types into enum.
9020 (SQUASH_TYPE_LONG_REGULAR): New type.
9021 (grub_squash_frag_desc): Add field size.
9022 (SQUASH_BLOCK_FLAGS): New enum.
9023 (grub_squash_data): Use grub_squash_cache_inode.
9024 (grub_fshelp_node): Make ino_chunk 64-bit.
9025 (read_chunk): Minor argument change. All users updated.
9026 (squash_mount): Use correct le_to_cpu.
9027 (grub_squash_open): Handle LONG_REGULAR.
9028 (direct_read): New function.
9029 (grub_squash_read_data): Handle blocks correctly.
9030
9031 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9034
9035 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9038
9039 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 Fix 2G limit on ZFS.
9042
9043 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9044 types.
9045 (uberblock_verify): Likewise.
9046 (dmu_read): Likewise.
9047 (grub_zfs_read): Likewise. Remove invalid cast.
9048
9049 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9052 (grub_jfs_blkno): Fix incorrect shift.
9053 (grub_jfs_read_file): Use more appropriate types.
9054
9055 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9056
9057 Support triple indirect on minix2 and minix3.
9058
9059 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9060 Declare triple_indir_zone.
9061 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9062 indirect.
9063
9064 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 Minix FS fixes.
9067
9068 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9069 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9070 Rename ctime to mtime. All users updated.
9071 (grub_minix_get_file_block): Fix types and double indirect computations.
9072
9073 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9076 if no label is found.
9077 (grub_fat_iterate_dir): Fix file size type.
9078 (grub_fat_iterate_dir): Likewise.
9079
9080 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9083 save some space.
9084 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9085 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9086
9087 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9090
9091 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * util/import_gcry.py: Accept space between # and include.
9094
9095 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9098
9099 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9102
9103 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9104 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9105 yylex_strncpy.
9106 * grub-core/script/yylex.l: Add fine-grained #pragma.
9107
9108 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9111 New inline function.
9112 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9113 Likewise.
9114 (memset) [GRUB_UTIL]: Likewise.
9115 (memcmp) [GRUB_UTIL]: Likewise.
9116
9117 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9120 inline function rather than a define.
9121
9122 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * util/grub-setup.c: Add missing include.
9125
9126 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * util/ieee1275/grub-ofpathname.c: Add missing include.
9129
9130 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9133 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9134 Likewise.
9135
9136 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9139 grub_memcmp usage.
9140
9141 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * util/grub-install.in: Add datarootdir as per automake manual
9144 suggestion.
9145 * util/grub-mknetdir.in: Likewise.
9146
9147 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9150 suggestion.
9151 * util/grub.d/10_kfreebsd.in: Likewise.
9152 * util/grub.d/10_linux.in: Likewise.
9153 * util/grub.d/10_netbsd.in: Likewise.
9154 * util/grub.d/10_windows.in: Likewise.
9155 * util/grub.d/20_linux_xen.in: Likewise.
9156
9157 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 Remove redundant grub_kernel_image_size.
9160
9161 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9162 _edata and _start.
9163 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9164 the small code. It moves it only by few bytes but simplifies the code.
9165 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9166 _start.
9167 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9168 (grub_kernel_image_size): Removed.
9169 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9170 (grub_kernel_image_size): Removed.
9171 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9172 compiled with Apple toolchain.
9173 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9174 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9175 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9176 (grub_total_module_size): Likewise.
9177 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9178 Removed.
9179 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9180 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9181 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9182 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9183 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9184 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9185 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9186 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9187 Removed.
9188 (grub_total_module_size): Removed.
9189 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9190 (image_targets): Likewise.
9191 Set .compressed_size to no field on sparc.
9192 (generate_image): Remove kernel_image_size handling.
9193
9194 2011-10-19 Szymon Janc <szymon@janc.net.pl>
9195
9196 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9197 NULL pointer dereference.
9198
9199 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9202 done with a dedicated section.
9203
9204 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9205 Ensure the correct position of boot_path.
9206 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9207 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9208 other fields.
9209 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9210 * include/grub/boot.h: Removed. All references removed.
9211 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9212 Removed.
9213 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9214
9215 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9218 name.
9219
9220 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9223
9224 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9227 Don't add the bogus brackets.
9228
9229 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 ExFAT support.
9232
9233 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9234 * grub-core/Makefile.core.def (exfat): New module.
9235 * grub-core/fs/exfat.c: New file.
9236 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9237 (GRUB_FAT_ATTR_*): Make into an enum.
9238 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9239 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9240 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9241 (GRUB_FAT_MAXFILE): Removed.
9242 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9243 (grub_current_fat_bpb_t): New type.
9244 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9245 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9246 (grub_fat_dir_node_t): New type.
9247 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9248 (fat_log2) [MODE_EXFAT]: Removed.
9249 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9250 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9251 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9252 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9253 (grub_fat_label) [MODE_EXFAT]: New function.
9254 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9255 reserved_first_sector to 0.
9256
9257 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 Move grub_reboot out of the kernel.
9260
9261 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9262 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9263 * grub-core/lib/efi/reboot.c: ... here.
9264 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9265 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9266 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9267 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9268 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9269 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9270 * grub-core/lib/ieee1275/reboot.c: ... here.
9271 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9272 * grub-core/lib/mips/arc/reboot.c: ... here.
9273 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9274 * grub-core/lib/mips/loongson/reboot.c: ...here.
9275 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9276 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9277 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9278 * include/grub/i386/reboot.h: New file.
9279 * include/grub/mips/loongson/ec.h: Fix includes.
9280 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9281 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9282 * grub-core/lib/i386/reboot.c: New file.
9283
9284 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 Make grub_prefix into module to fix the arbitrary limit and save
9287 some space.
9288
9289 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9290 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9291 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9292 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9293 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9294 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9295 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9296 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9297 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9298 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9299 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9300 * include/grub/ia64/efi/kernel.h: Removed.
9301 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9302 (grub_prefix): Removed.
9303 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9304 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9305 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9306 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9307 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9308 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9309 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9310 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9311 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9312 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9313 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9314 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9315 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9316 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9317 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9318 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9319 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9320 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9321 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9322 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9323 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9324 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9325 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9326 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9327 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9328 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9329 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9330 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9331 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9332 from module.
9333 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9334 prefix_end.
9335 (image_targets): Likewise.
9336 (generate_image): Put prefix as a module.
9337
9338 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 Replace grub_module_iterate with FOR_MODULES.
9341
9342 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9343 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9344 (grub_efi_modules_addr): ...this.
9345 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9346 (grub_efi_init): Set grub_modbase.
9347 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9348 (grub_modbase): New variable.
9349 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9350 (grub_modbase): New variable.
9351 (grub_machine_init): Set grub_modbase.
9352 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9353 (grub_modbase): New variable.
9354 (grub_machine_init): Set grub_modbase.
9355 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9356 (grub_modbase): New variable.
9357 (grub_machine_init): Set grub_modbase.
9358 * grub-core/kern/main.c (grub_module_iterate): Remove.
9359 (grub_modules_get_end): Use grub_modbase.
9360 (grub_load_modules): Use FOR_MODULES.
9361 (grub_load_config): Likewise.
9362 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9363 (grub_modbase): New variable.
9364 (grub_machine_init): Set grub_modbase.
9365 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9366 (grub_modbase): New variable.
9367 (grub_machine_init): Set grub_modbase.
9368 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9369 Removed.
9370 (grub_modbase): New variable.
9371 (grub_machine_init): Set grub_modbase.
9372 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9373 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9374 (grub_module_iterate): Likewise.
9375 (grub_modbase): New variable declaration.
9376 (FOR_MODULES): New macro.
9377
9378 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9381 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9382
9383 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 Fix few obvious type discrepancies.
9386
9387 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9388 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9389 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9390 variable.
9391 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9392 and connected types.
9393 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9394 offset.
9395 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9396 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9397 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9398 and connected types.
9399
9400 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 Fix python 3.x incompatibilities.
9403
9404 * gentpl.py: Put brackets around print strings.
9405 * util/import_gcry.py: Open explicitly as utf-8.
9406 Use in instead of has_key.
9407
9408 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9411 (GRUB_XFS_INO_AGBITS): Make into inline function.
9412 (GRUB_XFS_INO_INOINAG): Likewise.
9413 (GRUB_XFS_INO_AG): Likewise.
9414 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9415 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9416 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9417 (GRUB_XFS_EXTENT_SIZE): Likewise.
9418 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9419 (GRUB_XFS_NEXT_DIRENT): Likewise.
9420 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9421 (grub_xfs_read_file): Fix offset type.
9422
9423 2011-10-15 Robert Millan <rmh@gnu.org>
9424
9425 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9426
9427 2011-10-15 Robert Millan <rmh@gnu.org>
9428
9429 Fix build problem on FreeBSD and GNU/kFreeBSD.
9430
9431 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9432
9433 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9436
9437 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9438 types.
9439 (grub_hfsplus_btree_recoffset): Likewise.
9440 (grub_hfsplus_btree_recptr): Likewise.
9441 (grub_hfsplus_find_block): Likewise.
9442 (grub_hfsplus_btree_search): Likewise.
9443 (grub_hfsplus_read_block): Likewise.
9444 (grub_hfsplus_read_file): Likewise.
9445 (grub_hfsplus_mount): Likewise.
9446 (grub_hfsplus_btree_iterate_node): Likewise.
9447 (grub_hfsplus_btree_search): Likewise.
9448 (grub_hfsplus_iterate_dir): Likewise.
9449 (grub_hfsplus_read): A small code simplification.
9450
9451 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/kern/emu/hostdisk.c
9454 (convert_system_partition_to_system_disk): Don't assume that children
9455 of mapper nodes are mapper nodes.
9456
9457 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9458
9459 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9460 * include/grub/misc.h (grub_isxdigit): New function.
9461 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9462 switched to grub_isxdigit.
9463 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9464 number starting with a letter.
9465
9466 2011-10-09 Robert Millan <rmh@gnu.org>
9467
9468 LVM support for FreeBSD and GNU/kFreeBSD.
9469
9470 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9471 GNU/kFreeBSD.
9472 (LVM_DEV_MAPPER_STRING): Move from here ...
9473 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9474 * util/getroot.c: Include `<grub/util/lvm.h>'.
9475 (grub_util_get_dev_abstraction): Enable
9476 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9477 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9478 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9479 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9480 support it.
9481 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9482 GNU/kFreeBSD.
9483 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9484 when LVM abstraction is required for ${GRUB_DEVICE}.
9485
9486 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9487
9488 Add support for LZO compression in GRUB:
9489 - import of minilzo library,
9490 - LZO decompression for btrfs,
9491 - lzop files decompression.
9492
9493 * grub-core/io/lzopio.c: New file.
9494 * grub-core/lib/adler32.c: Likewise.
9495 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9496 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9497 * grub-core/lib/minilzo/minilzo.c: Likewise.
9498 * grub-core/lib/minilzo/minilzo.h: Likewise.
9499 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9500 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9501 grub-core/lib/minilzo/minilzo.c to common.
9502 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9503 cflags in cppflags.
9504 * grub-core/Makefile.core.def (btrfs): Likewise.
9505 * grub-core/Makefile.core.def (lzopio): New module.
9506 (adler32): Likewise.
9507 * grub-core/fs/btrfs.c: Include minilzo.h.
9508 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9509 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9510 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9511 (grub_btrfs_lzo_decompress): New function.
9512 (grub_btrfs_extent_read): Add support for LZO compression type.
9513 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9514 (GRUB_USHRT_MAX): Likewise.
9515 (GRUB_UINT_MAX): Likewise.
9516 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9517 (UINT_MAX): Likewise.
9518 (CHAR_BIT): Likewise.
9519 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9520 grub-core/lib/posix_wrap/limits.h
9521 (UCHAR_MAX): Likewise.
9522 * include/grub/file.h (grub_file_filter_id): New compression filter
9523 GRUB_FILE_FILTER_LZOPIO.
9524 * include/grub/file.h (grub_file_filter_id): Set
9525 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9526 * include/grub/types.h (grub_get_unaligned16): New function.
9527 (grub_get_unaligned32): Likewise.
9528 (grub_get_unaligned64): Likewise.
9529 * util/import_gcry.py (cryptolist): Add adler32.
9530
9531 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9534 in perspective decreases the complexity of build system and fixes
9535 compilation right now.
9536
9537 2011-10-01 Ales Nesrsta <starous@volny.cz>
9538
9539 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9540 (fixed problem related to using UHCI with coreboot).
9541
9542 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9543
9544 * gentpl.py: Use Autogen macros so that the output template file
9545 (Makefile.tpl) size is reduced.
9546
9547 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
9548
9549 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9550 extra_dist.
9551
9552 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9553
9554 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9555 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9556
9557 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9558
9559 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9560 _fullpath.
9561
9562 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9563
9564 Remove extra declaration of sleep for mingw32.
9565
9566 * util/misc.c (sleep) [__MINGW32__]: Removed.
9567 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9568
9569 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9570
9571 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9572 type and packname.
9573 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9574 Resurrected.
9575 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9576 (grub_netbsd_btinfo_bootwedge): New struct.
9577 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9578 New function.
9579 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9580
9581 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9582
9583 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9584 loader.
9585
9586 2011-09-28 Andreas Born <futur.andy@googlemail.com>
9587
9588 Fix incorrect identifiers in bash-completion.
9589
9590 * util/bash-completion.d/grub-completion.bash.in
9591 (_grub_mkpasswd-pbkdf2): Rename to ...
9592 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9593 (_grub_script-check): Rename to ...
9594 (_grub_script_check): ... this. All users updated.
9595
9596 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9599 Return 0 if disk isn't biosdisk.
9600
9601 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9602
9603 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9604 on NetBSD.
9605 * Makefile.util.def (grub-fstest): Likewise.
9606
9607 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9608
9609 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9610 Get sector size from disk label.
9611
9612 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
9613
9614 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9615 */README* as well as README*.
9616 Reported by: Axel Beckert.
9617
9618 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9621 case of less than 256 MiB of RAM.
9622
9623 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/commands/wildcard.c (make_regex): Handle @.
9626
9627 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9630
9631 2011-08-21 Szymon Janc <szymon@janc.net.pl>
9632
9633 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9634 AC_LANG_CONFTEST macros.
9635
9636 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9637
9638 Add grub-fstest option to uncompress data for commands.
9639
9640 * util/grub-fstest.c (uncompress): New var.
9641 (options): New option -u.
9642
9643 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9644
9645 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9646 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9647
9648 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9649
9650 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9651 file type was not recognized correctly (not gzip or corrupted).
9652
9653 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9656 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9657
9658 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9661 loongson.
9662 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9663 video_radeon_fuloong2e.
9664 * grub-core/video/radeon_fuloong2e.c: New file.
9665 * include/grub/video.h (grub_video_id_t): Add new ID
9666 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9667
9668 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9671 define.
9672 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9673 that PRID matches the detected subplatform and reset the subplatform
9674 if it doesn't.
9675
9676 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9679
9680 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 Fix PCI iterating on functions >= 4.
9683
9684 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9685 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9686 Removed.
9687 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9688 (grub_pci_read): Fix bitmask.
9689 (grub_pci_read_word): Likewise.
9690 (grub_pci_read_byte): Likewise.
9691 (grub_pci_write): Likewise.
9692 (grub_pci_write_word): Likewise.
9693 (grub_pci_write_byte): Likewise.
9694
9695 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9698 can still be specified in TARGET_CFLAGS)
9699
9700 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9703
9704 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9705 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9706 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9707 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9708 (FULOONG): Rename to ...
9709 (FULOONG2F): ... this. All users updated.
9710 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9711 (machtype_fuloong2f_str): ... this.
9712 (machtype_fuloong2e_str): New string.
9713 Check for machtype_fuloong2e_str.
9714 * grub-core/loader/mips/linux.c (loongson_machtypes)
9715 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9716 * grub-core/term/serial.c (loongson_defserial)
9717 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9718 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9719 loongson_defserial.
9720 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9721 Rename to ...
9722 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9723 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9724 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9725 to IMAGE_FULOONG2F_FLASH. All users updated.
9726 (image_targets): Rename images.
9727 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9728
9729 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9730
9731 Make enable of disk cache statistics code configurable.
9732
9733 * configure.ac: --enable-cache-stats added.
9734 * config.h.in (DISK_CACHE_STATS): New define.
9735 * grub-core/Makefile.core.def (cacheinfo): New command.
9736 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9737 * grub-core/commands/cacheinfo.c: New file.
9738 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9739 moved to cacheinfo.c.
9740 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9741 debug code.
9742 * include/grub/disk.h: Likewise.
9743
9744 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9745
9746 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9747 * grub-core/Makefile.am: Likewise.
9748
9749 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9752 non-zero pull.
9753
9754 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9757 All users updated.
9758 (grub_jfs_lookup_symlink): Use correct starting inode.
9759
9760 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * util/grub-setup.c (main): Add missing gcry initialisation.
9763
9764 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 Don't accept text modes on EFI when booting Linux.
9767
9768 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9769 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9770
9771 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9772 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9773
9774 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9775 use of "/path/.." as in grub-install for EFI as well as handling
9776 symlinks correctly.
9777 Fixes Debian bug #637768.
9778
9779 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9780
9781 * util/grub-probe.c: Remove duplicate #include.
9782
9783 2011-08-10 Robert Millan <rmh@gnu.org>
9784
9785 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9786
9787 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9788 function.
9789 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9790 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9791
9792 2011-08-03 Robert Millan <rmh@gnu.org>
9793
9794 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9795 la_array as packed.
9796 Reported by: Zachary Bedell
9797
9798 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9799
9800 * configure.ac: The Loongson port requires grub-mkfont due to its
9801 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9802 be built.
9803
9804 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9805
9806 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9807 processing arguments (otherwise help2man fails when GRUB has not yet
9808 been installed).
9809
9810 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9811
9812 New script grub-mkstandalone.
9813
9814 * Makefile.util.def (grub-mkstandalone): New script.
9815 * docs/man/grub-mkstandalone.h2m: New file.
9816 * util/grub-mkstandalone.in: Likewise.
9817
9818 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 Support ATA disks with 4K sectors.
9821
9822 * include/grub/ata.h (grub_ata): New member log_sector_size.
9823 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9824 (grub_ata_identify): Read sector size.
9825 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9826
9827 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 * util/grub-install.in: Don't use uhci outside of x86.
9830
9831 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 * util/grub-mkrescue.in: Add missing quotes.
9834
9835 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9838 dereference.
9839
9840 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9843
9844 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * include/grub/video.h: add missing EXPORT_FUND on
9847 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9848
9849 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9850
9851 * include/grub/mips/kernel.h: Fix define conflict.
9852
9853 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9856 all four ways.
9857
9858 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9859
9860 Preferred resolution detection for VBE.
9861
9862 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9863 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9864 the Flat Panel extension, in line with the X.org VESA driver.
9865 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9866 New function.
9867 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9868 (grub_vbe_bios_read_edid): Likewise.
9869 (grub_vbe_get_preferred_mode): Likewise.
9870 (grub_video_vbe_setup): When the mode is "auto", try to get the
9871 preferred mode from VBE, and use the largest mode that is no larger
9872 than the preferred mode (some BIOSes expose a preferred mode that is
9873 not in their mode list!). If this fails, fall back to 640x480 as a
9874 safe conservative choice.
9875 (grub_video_vbe_get_edid): New function.
9876 (grub_video_vbe_adapter): Add get_edid.
9877 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9878 (struct grub_video_adapter): Add get_edid.
9879 (grub_video_edid_checksum): Add prototype.
9880 (grub_video_edid_preferred_mode): Likewise.
9881 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9882 structure.
9883
9884 * grub-core/commands/videoinfo.c (print_edid): New function.
9885 (grub_cmd_videoinfo): Print EDID if available.
9886
9887 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9888 is more appropriate on a wider range of platforms than 640x480.
9889 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9890 documentation.
9891
9892 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9895
9896 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * po/POTFILES.in: Regenerate.
9899
9900 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9903 incorrect memory usage.
9904
9905 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * util/grub-install.in: Source grub-mkconfig_lib.
9908
9909 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 Remove getroot.c from core on emu platform.
9912
9913 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9914 kern/emu/raid.c.
9915 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9916 useless.
9917 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9918 * util/getroot.c (get_win32_path): ... here.
9919 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9920 * util/getroot.c (fini_libzfs): ... here.
9921 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9922 * util/getroot.c (grub_get_libzfs_handle): ... here.
9923 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9924 Moved from here...
9925 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9926 * grub-core/kern/emu/misc.c
9927 (grub_make_system_path_relative_to_its_root): Moved from here...
9928 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9929 * grub-core/kern/emu/getroot.c: Moved from here ...
9930 * util/getroot.c: ... here. All users updated.
9931 * grub-core/kern/emu/raid.c: Moved from here ...
9932 * util/raid.c: ... here. All users updated.
9933
9934 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * po/POTFILES.in: Regenerate.
9937
9938 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 Fix compilation on GNU/Linux.
9941
9942 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9943 Disable geli.
9944 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9945 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9946 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9947
9948 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9949 2011-07-07 Michael Gorven <michael@gorven.za.net>
9950 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9951
9952 LUKS and GELI support.
9953
9954 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9955 grub-core/disk/luks.c, grub-core/disk/geli.c,
9956 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9957 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9958 grub-core/lib/arg.c.
9959 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9960 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9961 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9962 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9963 (grub-bin2h): Add libgcry.a.
9964 (grub-mkimage): Likewise.
9965 (grub-mkrelpath): Likewise.
9966 (grub-script-check): Likewise.
9967 (grub-editenv): Likewise.
9968 (grub-mkpasswd-pbkdf2): Likewise.
9969 (grub-pe2elf): Likewise.
9970 (grub-fstest): Likewise.
9971 (grub-mkfont): Likewise.
9972 (grub-mkdevicemap): Likewise.
9973 (grub-probe): Likewise.
9974 (grub-ofpath): Likewise.
9975 (grub-mklayout): Likewise.
9976 (example_unit_test): Likewise.
9977 (grub-menulst2cfg): Likewise.
9978 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9979 * grub-core/Makefile.core.def (cryptodisk): New module.
9980 (luks): Likewise.
9981 (geli): Likewise.
9982 * grub-core/disk/AFSplitter.c: New file.
9983 * grub-core/disk/cryptodisk.c: Likewise.
9984 * grub-core/disk/geli.c: Likewise.
9985 * grub-core/disk/luks.c: Likewise.
9986 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9987 grub_util_is_lvm.
9988 (grub_util_get_dm_abstraction): New function.
9989 (grub_util_follow_gpart_up): Likewise.
9990 (grub_util_get_geom_abstraction): Likewise.
9991 (grub_util_get_dev_abstraction): Use new functions.
9992 (grub_util_pull_device): Pull GELI and LUKS.
9993 (grub_util_get_grub_dev): Handle LUKS and GELI.
9994 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9995 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9996 (follow_geom_up): Removed.
9997 (grub_util_fd_seek): New function.
9998 (open_device): Use grub_util_fd_seek.
9999 (nread): Rename to ..
10000 (grub_util_fd_read): ... this. All users updated.
10001 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10002 (grub_crypto_cbc_decrypt): Likewise.
10003 (grub_crypto_hmac_write): Likewise.
10004 (grub_crypto_hmac_buffer): Likewise.
10005 (grub_password_get): Extend to util.
10006 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10007 New member modname.
10008 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10009 * include/grub/cryptodisk.h: New file.
10010 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10011 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10012 LUKS and GELI.
10013 (grub_util_follow_gpart_up): New proto.
10014 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10015 (grub_util_fd_read): Likewise.
10016 (grub_cryptodisk_cheat_mount): Likewise.
10017 (grub_util_cryptodisk_print_uuid): Likewise.
10018 (grub_util_get_fd_sectors): Likewise.
10019 * util/grub-fstest.c (mount_crypt): New var.
10020 (fstest): Mount crypto if requested.
10021 (options): New option -C.
10022 (argp_parser): Parse -C.
10023 (main): Init and fini gcry.
10024 * util/grub-install.in: Support cryptodisk install.
10025 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10026 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10027 cryptodisk.
10028 (prepare_grub_to_access_device): Likewise.
10029 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10030 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10031 (probe_cryptodisk_uuid): New function.
10032 (probe_abstraction): Likewise.
10033 (probe): Use new functions.
10034 * util/import_gcry.py: Create Makefile.utilgcry.def.
10035 Add modname member.
10036
10037 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10038
10039 Lazy device scanning.
10040
10041 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10042 (grub-setup): Remove util/raid.c.
10043 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10044 * grub-core/disk/lvm.c (scan_depth): New variable.
10045 (grub_lvm_iterate): Rescan if necessary.
10046 (find_lv): New function based on grub_lvm_open.
10047 (grub_lvm_open): Use find_lv. Rescan on error.
10048 (is_node_readable): New function.
10049 (is_lv_readable): Likewise.
10050 (grub_lvm_scan_device): Skip already found disks.
10051 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10052 Stop if searched device is found and readable.
10053 * grub-core/disk/raid.c (inscnt): New variable.
10054 (scan_depth): Likewise.
10055 (scan_devices): New function based on grub_raid_register. Abort if
10056 looked for device is found.
10057 (grub_raid_iterate): Rescan if needed.
10058 (find_array): NEw function based on -grub_raid_open.
10059 (grub_raid_open): Use find_array and rescan.
10060 (insert_array): Set became_readable_at.
10061 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10062 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10063 New function.
10064 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10065 (grub_util_pull_device): New function.
10066 (grub_util_get_grub_dev): Call grub_util_pull_device.
10067 * util/raid.c: Moved to ..
10068 * grub-core/kern/emu/raid.c: ... here.
10069 (grub_util_raid_getmembers): New parameter "bootable".
10070 All users updated. Support 1.x.
10071 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10072 All users updated.
10073 * include/grub/disk.h (grub_disk_pull_t): New enum.
10074 (grub_disk_dev): Change iterate prototype.
10075 All users updated.
10076 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10077 New proto.
10078 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10079 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10080 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10081 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10082 All users updated.
10083 * include/grub/util/raid.h: Removed.
10084
10085 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * po/POTFILES.in: Regenerate.
10088
10089 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 Unify sparc init with other ieee1275.
10092
10093 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10094 instead of kern/sparc64/ieee1275/init.c.
10095 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10096 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10097 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10098 grub/machine/kernel.h.
10099 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10100 (grub_claim_heap) [__sparc__]: Use sparc version.
10101 (grub_machine_init): Moved args parsing to
10102 (grub_parse_cmdline): ...this.
10103 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10104 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10105 New definition.
10106 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10107
10108 Move BOOTP to separate file.
10109
10110 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10111 * grub-core/net/net.c: Move all BOOTP functions to
10112 * grub-core/net/bootp.c: ... here.
10113
10114 Use frame interface on PXE.
10115
10116 * grub-core/Makefile.core.def (pxecmd): Removed.
10117 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10118 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10119 * grub-core/i386/pc/pxe.c: Moved from here ...
10120 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10121 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10122 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10123
10124 EFI network support.
10125
10126 * grub-core/Makefile.core.def (efinet): New module.
10127 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10128 here...
10129 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10130 All users updated.
10131 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10132 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10133 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10134 * grub-core/net/drivers/efi/efinet.c: New file.
10135 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10136 (grub_efi_net_config): New extern var.
10137
10138 Various cleanups and bugfixes.
10139
10140 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10141 error.
10142 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10143 disk declared as partition.
10144 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10145 leak on failure.
10146 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10147 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10148 (grub_debug_zalloc): Likewise.
10149 (grub_debug_realloc): Likewise.
10150 (grub_debug_memalign): Likewise.
10151 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10152 Check that target is IPv4.
10153 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10154 local-mac-address as fallback.
10155 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10156 memory leak.
10157 * grub-core/net/ip.c (ipchksum): Rename to ...
10158 (grub_net_ip_chksum): ... this. All users updated.
10159 (grub_net_recv_ip_packets): Special handling for DHCP.
10160 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10161
10162 Unify prefix handling
10163
10164 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10165 (grub_machine_get_bootlocation): ... this.
10166 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10167 (grub_machine_get_bootlocation): ... this.
10168 (grub_prefix): New variable.
10169 (prefix): Removed.
10170 (root_dev): New variable.
10171 (dir): Likewise.
10172 (main): Use new variables.
10173 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10174 Revamped into ...
10175 (grub_machine_get_bootlocation): ... this.
10176 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10177 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10178 (grub_machine_get_bootlocation): ... this.
10179 (grub_machine_set_prefix): Removed.
10180 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10181 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10182 Revamped into ...
10183 (grub_machine_get_bootlocation): ... this.
10184 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10185 (grub_set_prefix_and_root): ... this. All users updated.
10186 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10187 Revamped into ...
10188 (grub_machine_get_bootlocation): ... this.
10189 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10190 (grub_machine_get_bootlocation): New proto.
10191 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10192
10193 Less intrusive and more reliable seek on network implementation.
10194
10195 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10196 (grub_file_seek): Don't call grub_file_net_seek.
10197 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10198 (grub_net_fs_read_real): .. this.
10199 (grub_net_seek_real): Use net->offset.
10200 (grub_net_fs_read): Seek if necessary.
10201
10202 Unify IEEE1275 netwotk config with the other platforms.
10203
10204 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10205 New variable.
10206 (grub_machine_get_bootlocation): Support network.
10207 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10208 Support type and device parsing.
10209 (grub_ieee1275_get_device_type): New function.
10210 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10211 into ...
10212 (grub_ieee1275_net_config_real): ... this.
10213 (grub_ofnet_probecards): Removed.
10214 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10215 * include/grub/ieee1275/ofnet.h: Removed.
10216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10217 extern var.
10218 (grub_ieee1275_get_device_type): New function.
10219
10220 Unify network device closing across platforms and make more robust.
10221
10222 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10223 grub_grubnet_fini.
10224 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10225 already.
10226 * grub-core/net/net.c (grub_net_network_level_interface_register):
10227 Update num_ifaces.
10228 (grub_net_card_unregister): Close all interfaces.
10229 (receive_packets): Don't poll if no iterfaces are registered.
10230 Open if necessary.
10231 (grub_net_fini_hw): New function.
10232 (grub_net_restore_hw): Likewise.
10233 (fini_hnd): New variable.
10234 (GRUB_MOD_INIT): Register preboot hook.
10235 (GRUB_MOD_FINI): Run and unregister preboot hook.
10236
10237 Poll network cards when idle.
10238
10239 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10240 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10241 * grub-core/net/net.c (receive_packets): Save last poll time.
10242 (grub_net_poll_cards_idle_real): New function.
10243 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10244 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10245 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10246
10247 Rename ofnet interfaces.
10248
10249 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10250 (grub_ofnet_findcards): Use ofnet_%s names.
10251
10252 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10253
10254 Cleanup socket opening.
10255
10256 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10257 (grub_net_fs_close): Likewise.
10258 (grub_net_fs_read_real): Use eof member.
10259 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10260 (+grub_net_udp_close): New inline function.
10261
10262 * include/grub/net/tftp.h: Moved to the top of ...
10263 * grub-core/net/tftp.c: ... here.
10264 * include/grub/net/ip.h: Moved mostly to the top of ...
10265 * grub-core/net/ip.c: ... here.
10266 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10267 * grub-core/net/ethernet.c: ... here.
10268
10269 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10270
10271 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10272 FS name.
10273
10274 * include/grub/net/ip.h (ipv4_ini): Removed.
10275 (ipv4_fini): Likewise.
10276
10277 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10278 (grub_net_send_ip_packets): Likewise.
10279
10280 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10283 grub_read_cmos prototype.
10284
10285 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 VGA text support in qemu-mips
10288
10289 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10290 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10291 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10292 text.
10293 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10294 * grub-core/kern/vga_init.c: ... this.
10295 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10296 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10297 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10298 Adjust.
10299 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10300 GRUB_MACHINE_PCI_IO_BASE.
10301
10302 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 MIPS qemu flash support.
10305
10306 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10307 magic.
10308 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10309 (grub_machine_init): Probe memory if its size isn't known.
10310 * util/grub-mkimage.c (image_targets): Add flash targets.
10311 (generate_image): Handle flash targets.
10312
10313 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 MIPS qemu at_keyboard support.
10316
10317 * gentpl.py (videoinkernel): Add qemu-mips.
10318 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10319 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10320 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10321 modules.
10322 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10323 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10324 * grub-core/term/serial.c (grub_serial_register)
10325 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10326
10327 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 CMOS support on sparc.
10330
10331 * gentpl.py (cmos): Add powerpc and sparc.
10332 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10333 powerpc and sparc.
10334 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10335 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10336 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10337 grub_set_datetime_cmos.
10338 * grub-core/lib/ieee1275/cmos.c: New file.
10339 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10340 (find_rtc): Set no_ieee1275_rtc on error.
10341 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10342 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10343 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10344 fail. Move value to argument. All users updated
10345 (grub_cmos_write): Likewise.
10346 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10347 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10348 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10349 grub_get_datetime_cmos and grub_set_datetime_cmos.
10350
10351 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10352
10353 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10354 sourcing grub-mkconfig_lib.
10355 * util/update-grub_lib.in: Likewise.
10356 * util/grub.d/00_header.in: Likewise.
10357 * util/grub.d/10_hurd.in: Likewise.
10358 * util/grub.d/10_kfreebsd.in: Likewise.
10359 * util/grub.d/10_linux.in: Likewise.
10360 * util/grub.d/10_netbsd.in: Likewise.
10361 * util/grub.d/10_windows.in: Likewise.
10362 * util/grub.d/20_linux_xen.in: Likewise.
10363 * util/grub.d/30_os-prober.in: Likewise.
10364
10365 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10366
10367 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10368 default_bg_color rather than black.
10369 (grub_gfxterm_fullscreen): Likewise.
10370 (grub_gfxterm_background_color_cmd): Save new background color in
10371 default_bg_color.
10372
10373 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10374
10375 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10376
10377 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10378
10379 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10380 mismerge.
10381
10382 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 Chainloading on coreboot support.
10385
10386 * grub-core/Makefile.core.def (chain): Add coreboot.
10387 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10388
10389 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10392 if it happens.
10393
10394 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 Implement time command.
10397
10398 * grub-core/Makefile.core.def (time): New module.
10399 * grub-core/commands/time.c: New file.
10400 * grub-core/script/parser.y: Remove "time" keyword.
10401 * grub-core/script/yylex.l: Likewise.
10402
10403 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10406
10407 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10410 when handling leftovers.
10411
10412 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10415 so that help2man doesn't fail.
10416
10417 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10420 type in pointers on sparc64.
10421 (get_card_packet): Likewise.
10422
10423 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10424
10425 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10426 with `*'.
10427 (grub_cmd_videoinfo): Fetch current video mode.
10428
10429 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10432 because of underlying system restrictions.
10433
10434 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10437 necessary.
10438
10439 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 Coreboot video support.
10442
10443 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10444 (vbe): Likewise.
10445 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10446 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10447 here ...
10448 * grub-core/kern/i386/int.S: ... here.
10449 * grub-core/video/i386/pc/vbe.c: Updated includes.
10450 * grub-core/video/i386/pc/vga.c: Likewise.
10451 * include/grub/i386/coreboot/memory.h
10452 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10453 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10454 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10455 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10456 Disable interrupts.
10457 * include/grub/i386/pc/vga.h: Removed. All users updated.
10458
10459 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10462 definitions for dprintf.
10463 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10464
10465 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10468 prototype.
10469 (get_card_packet): Likewise.
10470
10471 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10472
10473 Display the path of the file when file is not found
10474
10475 * grub-core/fs/fat.c: Display the filename when file is not found.
10476 * grub-core/fs/fshelp.c: Likewise.
10477 * grub-core/fs/hfs.c: Likewise.
10478 * grub-core/fs/jfs.c: Likewise.
10479 * grub-core/fs/minix.c: Likewise.
10480 * grub-core/fs/ufs.c: Likewise.
10481 * grub-core/fs/btrfs.c: Likewise.
10482 * grub-core/commands/i386/pc/play.c: Likewise.
10483
10484 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10485
10486 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10487 pointer checks before calling grub_free().
10488 * grub-core/commands/wildcard.c (match_devices): Likewise.
10489 * grub-core/commands/wildcard.c (match_files): Likewise.
10490 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10491 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10492 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10493 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10494 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10495 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10496 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10497 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10498 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10499
10500 2011-06-25 Patrick <p55@mailinator.com>
10501
10502 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10503
10504 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10507 (grub_pxe_send): Likewise.
10508 (GRUB_MOD_INIT): Fix types.
10509
10510 2011-06-24 Szymon Janc <szymon@janc.net.pl>
10511
10512 * grub-core/io/xzio.c: Fix code style issues
10513
10514 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10515 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
10516
10517 Network infrastructure.
10518 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10519
10520 * include/grub/net/arp.h: New file.
10521 * include/grub/net/device.h: Likewise.
10522 * include/grub/net/ethernet.h: Likewise.
10523 * include/grub/net/ip.h: Likewise.
10524 * include/grub/net/netbuff.h: Likewise.
10525 * include/grub/net/tftp.h: Likewise.
10526 * include/grub/net/udp.h: Likewise.
10527 * include/grub/ieee1275/ofnet.h: Likewise.
10528 * include/grub/emu/export.h: Likewise.
10529 * include/grub/net.h: Likewise.
10530 * grub-core/net/arp.c: Likewise.
10531 * grub-core/net/ethernet.c: Likewise.
10532 * grub-core/net/ip.c: Likewise.
10533 * grub-core/net/udp.c: Likewise.
10534 * grub-core/net/tftp.c: Likewise.
10535 * grub-core/net/netbuff.c: Likewise.
10536 * grub-core/net/net.c: Likewise.
10537 * grub-core/net/drivers/emu/emunet.c: Likewise.
10538 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10539 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10540 export.h.
10541 * grub-core/Makefile.core.def (net): New module.
10542 (tftp): Likewise.
10543 (ofnet): Likewise.
10544 (emunet): Likewise.
10545 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10546 network protocols.
10547 * grub-core/kern/device.c (grub_net_open) : New variable.
10548 (grub_device_open): Handle network device.
10549 (grub_device_close): Likewise.
10550 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10551 (grub_grubnet_fini): Likewise.
10552 (grub_file_seek): Seek in network device.
10553 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10554 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10555 network root.
10556 (grub_machine_fini): Call grub_grubnet_fini.
10557 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10558 network.
10559 (grub_ieee1275_get_aliasdevname): New function.
10560 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10561 Add unofficial Solaris network info.
10562 (grub_multiboot_make_mbi): Likewise.
10563 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10564 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10565 * include/grub/device.h (grub_fs): Removed.
10566 * include/grub/err.h (grub_err_t): Add network-related values.
10567 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10568 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10569 (grub_ieee1275_get_aliasdevname): New proto.
10570 * include/grub/net.h: Rewritten.
10571
10572 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10575 names.
10576
10577 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10580 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10581 it truncates the output.
10582 Reported by: Ximin Luo.
10583
10584 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10587
10588 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10591 partmap before abstraction.
10592
10593 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10594
10595 * util/grub-mkconfig_lib.in: Add missing quotes.
10596
10597 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10600 old method if mountinfo would return /dev/root and /dev/root doesn't
10601 exist.
10602
10603 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 ZFS zlib support
10606
10607 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10608 (decomp_table): Add zlib entries.
10609 (zio_read): USe 8 bits for compression function rather than 3.
10610 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10611
10612 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * grub-core/disk/ahci.c: Add missing license statements.
10615 * grub-core/fs/romfs.c: Likewise.
10616 * grub-core/lib/ia64/setjmp.S: Likewise.
10617 * grub-core/loader/i386/pc/freedos.c: Likewise.
10618 * grub-core/loader/ia64/efi/linux.c: Likewise.
10619 * grub-core/video/colors.c: Likewise.
10620 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10621
10622 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10623
10624 AHCI support.
10625
10626 * grub-core/Makefile.core.def (ata_pthru): Removed.
10627 (ahci): New module.
10628 (pata): Likewise.
10629 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10630 on unload.
10631 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10632 readwrite.
10633 (grub_hdparm_do_check_powermode_cmd): Likewise.
10634 (grub_hdparm_do_smart_cmd): Likewise.
10635 (grub_hdparm_set_val_cmd): Likewise.
10636 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10637 * grub-core/disk/ahci.c: New file.
10638 * grub-core/disk/ata.c: Factor out the low-level part into ...
10639 * grub-core/disk/pata.c: ... here.
10640 * grub-core/disk/ata_pthru.c: Contents moved to ...
10641 * grub-core/disk/pata.c: ... here.
10642 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10643 (grub_scsi_iterate): Use grub_scsi_names.
10644 (grub_scsi_open): Likewise.
10645 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10646 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10647 (grub_ata_regs_t): New struct.
10648 (grub_disk_ata_pass_through_parms): Likewise.
10649 (grub_ata_device): Renamed to ...
10650 (grub_ata): ... this.
10651 (grub_ata_dev): New struct.
10652 Removed all low-level inline functions.
10653 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10654 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10655 iterate hooks and open. All users updated.
10656 * util/grub-install.in: Handle AHCI disk module.
10657
10658 2011-06-23 Szymon Janc <szymon@janc.net.pl>
10659
10660 Add support for DRI and RSTn markers in JPEG files.
10661
10662 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10663 (JPEG_MARKER_RST0): Likewise.
10664 (JPEG_MARKER_RST1): Likewise.
10665 (JPEG_MARKER_RST2): Likewise.
10666 (JPEG_MARKER_RST3): Likewise.
10667 (JPEG_MARKER_RST4): Likewise.
10668 (JPEG_MARKER_RST5): Likewise.
10669 (JPEG_MARKER_RST6): Likewise.
10670 (JPEG_MARKER_RST7): Likewise.
10671 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10672 (grub_jpeg_decode_dri): New function.
10673 (grub_jpeg_decode_sos): Move image data related part into
10674 grub_jpeg_decode_data function.
10675 (grub_jpeg_decode_data): New function.
10676 (grub_jpeg_reset): New function.
10677 (grub_jpeg_decode_jpeg): Handle new markers.
10678
10679 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * util/ieee1275/ofpath.c (check_sas): Close fd.
10682 (main): Free of_path.
10683 Reported by: David Volgyes <dvolgyes>.
10684
10685 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10686
10687 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10688 Reported by: David Volgyes <dvolgyes>.
10689
10690 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10693 file after stat.
10694 Reported by: David Volgyes <dvolgyes>.
10695
10696 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10699
10700 Reported by: David Volgyes <dvolgyes>.
10701
10702 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10705 Prevent memory leak.
10706
10707 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10710 (main): Close file.
10711 Reported by: David Volgyes <dvolgyes>.
10712
10713 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10716 to continue if allocation is failed.
10717
10718 Reported by: David Volgyes <dvolgyes>.
10719
10720 2011-06-23 David Volgyes <dvolgyes>
10721
10722 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10723 dereference.
10724
10725 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 Fix spurious warning.
10728
10729 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10730 (acorn_partition_map_find): Use .bin member.
10731
10732 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10735 /dev/root as a valid device.
10736
10737 2011-06-23 Jim Meyering <meyering@redhat.com>
10738
10739 Avoid NULL deref in grub_device_open.
10740
10741 * grub-core/kern/device.c (grub_device_open): Don't dereference
10742 a NULL pointer upon failed grub_env_get.
10743
10744 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 Support non-512B sectors and agglomerate reads.
10747
10748 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10749 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10750 (disk_io_guid): Removed.
10751 (make_devices): Locate solely by BlockIO.
10752 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10753 (grub_efidisk_read): Use read_blocks.
10754 (grub_efidisk_write): Use write_blocks.
10755 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10756 log_sector_size.
10757 (get_safe_sectors): Handle non-512B sectors.
10758 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10759 sectors.
10760 (grub_biosdisk_write): Handle non-512B sectors.
10761 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10762 (grub_scsi_read): Remove special non-512B block handling (now handled
10763 one level up).
10764 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10765 and do sanity checks.
10766 (grub_disk_adjust_range): Handle non-512B sectors.
10767 (transform_sector): New function.
10768 (grub_disk_read_small): Likewise.
10769 (grub_disk_read): Rewritten.
10770 (grub_disk_write): Handle non-512B sectors.
10771 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10772 log_sector_size.
10773 (open_device): Use log_sector_size.
10774 (grub_util_biosdisk_read): Likewise.
10775 (grub_util_biosdisk_write): Likewise.
10776 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10777 non-512B sectors.
10778 (pc_partition_map_embed): Likewise.
10779 * include/grub/disk.h (grub_disk): New field log_sector_size.
10780 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10781 (GRUB_DISK_CACHE_BITS): Increased to 6.
10782 * util/grub-fstest.c (fstest): New command testload.
10783 (argp_parser): Likewise.
10784
10785 2011-06-16 Robert Millan <rmh@gnu.org>
10786
10787 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10788 `ata' driver on kernel of FreeBSD 9.
10789
10790 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10791 (get_ataraid_disk_name): New functions.
10792 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10793 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10794 get_ataraid_disk_name() and get_ada_disk_name().
10795
10796 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10797
10798 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10799 input format.
10800
10801 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10802
10803 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10804 `ftp.gnu.org' for `alpha.gnu.org'.
10805
10806 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10807
10808 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10809 partitions under /dev/disk/by-id/.
10810
10811 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10812
10813 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10814 after ten consecutive open failures. Scanning all the way up to
10815 10000 is excessive and can cause serious performance problems in
10816 some configurations.
10817 Fixes Ubuntu bug #787461.
10818
10819 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10822 opening new one.
10823
10824 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10825 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 Don't stat devices unless we have to.
10828
10829 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10830 dir == /dev/mapper.
10831 (grub_guess_root_device): Use already known os_dev if possible.
10832 * grub-core/kern/emu/hostdisk.c
10833 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10834 if device is known to be a dm one.
10835
10836 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10837
10838 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10839 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10840 Reported by: Pawel Tecza.
10841
10842 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10845 (lsefisystab): Likewise.
10846 (lssal): Likewise.
10847 (lsefimmap): Likewise.
10848 (hdparm): Enable on qemu-mips.
10849 (setjmp): Add ia64 nodist.
10850 (serial): Simplify tags.
10851
10852 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10853
10854 * Makefile.util.def (grub-ofpathname): Install manual page.
10855
10856 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10857
10858 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10859
10860 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10861
10862 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10863
10864 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10865
10866 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10867 into dprintf.
10868
10869 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 Use full 64-bit division.
10872
10873 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10874 (grub_divmod64): ... this.
10875 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10876 version.
10877
10878 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10879
10880 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10881 `source'.
10882
10883 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10884
10885 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10886 to avoid accidents when debugging with 'sh -x'.
10887 * grub-core/gensyminfo.sh.in: Likewise.
10888 * tests/example_scripted_test.in: Likewise.
10889 * tests/grub_cmd_regexp.in: Likewise.
10890 * tests/grub_script_blanklines.in: Likewise.
10891 * tests/grub_script_dollar.in: Likewise.
10892 * tests/grub_script_expansion.in: Likewise.
10893 * tests/grub_script_final_semicolon.in: Likewise.
10894 * tests/partmap_test.in: Likewise.
10895 * tests/util/grub-shell-tester.in: Likewise.
10896 * tests/util/grub-shell.in: Likewise.
10897
10898 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10899
10900 Move gfxmenu color handling to video, so that gfxterm can use it
10901 too.
10902
10903 * grub-core/gfxmenu/named_colors.c: Move to ...
10904 * grub-core/video/colors.c: ... here. Rename
10905 grub_gui_get_named_color to grub_video_get_named_color.
10906 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10907 * grub-core/video/colors.c (my_isxdigit): ... here.
10908 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10909 Move to ...
10910 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10911 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10912 to ...
10913 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10914
10915 * include/grub/gui.h (grub_gui_color_t): Move to ...
10916 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10917 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10918 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10919 * include/grub/gui.h (grub_gui_map_color): Move to ...
10920 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10921 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10922 to ...
10923 * include/grub/video.h (grub_video_get_named_color): ... here.
10924 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10925 * include/grub/video.h (grub_video_parse_color): ... here.
10926
10927 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10928 video/colors.c.
10929 (gfxmenu): Remove gfxmenu/named_colors.c.
10930 (video) [videomodules]: Add video/colors.c.
10931
10932 Add a background_color command.
10933
10934 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10935 function.
10936 (GRUB_MOD_INIT): Register background_color command.
10937 (GRUB_MOD_FINI): Unregister background_color command.
10938 (redraw_screen_rect): Allow blend/replace of text layer to be
10939 controlled independently from whether there is a background bitmap.
10940 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10941 changing bitmap.
10942
10943 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 Patch BPB in ntldr and chainloader --bpb.
10946
10947 * grub-core/fs/fat.c: Include grub/fat.h.
10948 (grub_fat_bpb): Moved to ...
10949 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10950 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10951 grub/ntfs.h.
10952 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10953 Moved from here...
10954 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10955 here.
10956 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10957 New function.
10958 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10959 (GRUB_MOD_INIT): Show --bpb.
10960 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10961 * grub-core/normal/main.c (features): New variable.
10962 (GRUB_MOD_INIT): Set feature_* variables.
10963 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10964 proto.
10965 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10966
10967 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10970 for cleanness.
10971
10972 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 FreeDOS direct loading support.
10975
10976 * docs/grub.texi (Supported OS): Add FreeDOS.
10977 * grub-core/Makefile.core.def (freedos): New module.
10978 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10979 variable.
10980 (grub_relocator16_boot): Handle %ebx.
10981 * grub-core/lib/i386/relocator16.S: Likewise.
10982 * grub-core/loader/i386/pc/freedos.c: New file.
10983
10984 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 Long Linux command line support.
10987
10988 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10989 (maximal_cmdline_size): New variable.
10990 (allocate_pages): Use maximal_cmdline_size.
10991 (grub_cmd_linux): Set and use maximal_cmdline_size.
10992 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10993 (allocate_pages): Use maximal_cmdline_size.
10994 (grub_cmd_linux): Set and use maximal_cmdline_size.
10995 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10996 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10997 and cmdline_size.
10998
10999 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11000 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11001
11002 Improve devmapper support
11003
11004 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11005 (grub_util_is_lvm): New function.
11006 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11007 than lvm if not dmraid.
11008 Handle mapped md nodes.
11009 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11010 (grub_util_device_is_mapped): ... this. Make always available. All users
11011 updated.
11012 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11013 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11014 dmraid nodes.
11015 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11016
11017 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11020
11021 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11022 * grub-core/modinfo.sh.in: New file.
11023 * grub-core/Makefile.core.def (modinfo.sh): New script.
11024 * util/grub-mknetdir.in: Use modinfo.sh.
11025 * util/grub-mkrescue.in: Likewise.
11026
11027 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11030 Fix potential usage of Elf32 instead of Elf64 when compiling on
11031 32-bit architecture. Add endianness macros while on it.
11032
11033 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 Use mipsel- rather than mips- in directories involving mipsel ports to
11036 allow both endiannesses coexist.
11037
11038 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11039 mips. All conditions adjusted.
11040 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11041 variable.
11042 * util/grub-install.in: Adjust conditions to take renaming into account.
11043 * util/grub-mkimage.c (image_targets): Likewise. New target
11044 mips-qemu_mips-elf for bigendian mips.
11045
11046 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 Avoid unnecessary copying on MIPS.
11049
11050 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11051 early if src == dest.
11052 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11053 compression is none.
11054
11055 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 Reduce memory footprint on SGI by putting modules before the kernel
11058 as opposed to after.
11059
11060 * grub-core/Makefile.core.def (kernel): Increase linking address.
11061 (none_decompress): Likewise.
11062 (xz_decompress): Likewise.
11063 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11064 address.
11065 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11066 layout change.
11067 (grub_arch_modules_addr): New function.
11068 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11069 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11070 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11071 here.
11072 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11073 (grub_total_modules_size): ... this. Make global.
11074 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11075 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11076 New definition.
11077 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11078 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11079 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11080 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11081 * util/grub-mkimage.c (image_target_desc): New flag
11082 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11083 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11084 (generate_image): Handle images with modules before kernel.
11085
11086 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11087
11088 Prevent potential loss of memory map by overwrite on qemu-mips.
11089
11090 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11091 Save ram size in $s4.
11092 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11093 All users changed to grub_arch_memsize.
11094 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11095 Loongson.
11096 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11097 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11098 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11099 external variable.
11100
11101 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11102
11103 * .bzrignore: Remove grub-dumpbios.
11104
11105 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11106
11107 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11108 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11109 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11110 existing options which append).
11111 * docs/grub.texi (Simple configuration): Document new options.
11112 Reported by: Ian Jackson. Fixes Debian bug #617538.
11113
11114 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11115
11116 * util/grub-fstest.c (cmd_cat): New function.
11117 (fstest): Handle CMD_CAT.
11118 (options): Add cat.
11119 (argp_parser): Handle cat.
11120
11121 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11122
11123 * Makefile.util.def (grub-bin2h): Don't install.
11124 * docs/man/grub-bin2h.h2m: Remove.
11125
11126 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11129 place.
11130
11131 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 Reenable qemu-mips port.
11134
11135 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11136 Fix small arc bug while on it.
11137 * gentpl.py: Handle qemu_mips.
11138 * grub-core/Makefile.am: Likewise.
11139 * grub-core/Makefile.core.def: Likewise.
11140 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11141 inappropriate includes.
11142 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11143 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11144 * grub-core/kern/main.c (grub_modules_get_end)
11145 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11146 * grub-core/kern/mips/qemu-mips: Moved to ..
11147 * grub-core/kern/mips/qemu_mips: ... this.
11148 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11149 (grub_machine_init): Call terminfo_init and serial_init.
11150 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11151 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11152 New variable.
11153 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11154 parameter passing.
11155 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11156 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11157 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11158 * include/grub/mips/qemu_mips/cmos.h: New file.
11159 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11160 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11161 Removed.
11162 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11163 Use correct mips-style address.
11164 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11165 (GRUB_TICKS_PER_SECOND): Removed.
11166 (grub_get_rtc): Likewise.
11167 (grub_cpu_idle): Likewise.
11168 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11169 New definition.
11170 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11171 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11172 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11173 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11174 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11175 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11176 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11177 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11178
11179 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 SGI ARCS port.
11182
11183 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11184 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11185 platforms.
11186 * configure.ac: New target mips-arc.
11187 * gentpl.py: Likewise.
11188 * grub-core/Makefile.am: Likewise.
11189 * grub-core/Makefile.core.def: Likewise.
11190 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11191 (none_decompress): Likewise.
11192 (lsdev): New module.
11193 (datetime): Use lib/arc/datetime.c on ARC.
11194 (part_dvh): New module.
11195 * grub-core/commands/arc/lsdev.c: New file.
11196 * grub-core/disk/arc/arcdisk.c: Likewise.
11197 * grub-core/kern/mips/arc/init.c: Likewise.
11198 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11199 aligned addresses.
11200 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11201 support.
11202 (grub_arch_dl_relocate_symbols): Likewise.
11203 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11204 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11205 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11206 platforms.
11207 * grub-core/lib/arc/datetime.c: New file.
11208 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11209 pci.h on non-loongson.
11210 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11211 (grub_linux_boot): Set unused registers to 0.
11212 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11213 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11214 * grub-core/mmap/mips/uppermem.c: ...here.
11215 * grub-core/partmap/dvh.c: New file.
11216 * grub-core/term/arc/console.c: Likewise.
11217 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11218 (grub_terminfo_set_current): Add terminal "arc".
11219 (grub_terminfo_readkey): Support ARC sequences.
11220 * include/grub/arc/arc.h: New file.
11221 * include/grub/arc/console.h: Likewise.
11222 * include/grub/disk.h (grub_disk_dev_id): Add
11223 GRUB_DISK_DEVICE_ARCDISK_ID.
11224 * include/grub/mips/arc/kernel.h: New file.
11225 * include/grub/mips/arc/memory.h: Likewise.
11226 * include/grub/mips/arc/time.h: Likewise.
11227 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11228 * include/grub/mips/kernel.h (grub_halt): ... here.
11229 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11230 here...
11231 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11232 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11233 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11234 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11235 proto.
11236 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11237 from here ...
11238 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11239 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11240 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11241 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11242 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11243 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11244 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11245 (grub_phys_addr_t): Moved from here ...
11246 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11247 (grub_vtop): Moved from here ...
11248 * include/grub/mips/memory.h (grub_vtop): ... here.
11249 (grub_map_memory): Moved from here ...
11250 * include/grub/mips/memory.h (grub_map_memory): ... here.
11251 (grub_unmap_memory): Moved from here ...
11252 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11253 (grub_machine_mmap_iterate): Moved from here ...
11254 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11255 (grub_mmap_get_lower): Moved from here ...
11256 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11257 (grub_mmap_get_upper): Moved from here ...
11258 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11259 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11260 here ...
11261 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11262 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11263 here ...
11264 * include/grub/mips/time.h (grub_get_rtc): ... here.
11265 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11266 here ...
11267 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11268 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11269 here ...
11270 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11271 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11272 definition.
11273 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11274 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11275 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11276 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11277 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11278 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11279 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11280 (GRUB_MACHINE_LINK_ADDR): Likewise.
11281 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11282 to 6.
11283 * util/grub-install.in: Run dvhtool on ARC.
11284 * util/grub-mkimage.c (image_targets): Add mips-arc.
11285 (generate_image): Handle ECOFF output for mips-arc.
11286
11287 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11290 blocks.
11291
11292 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11295 after enabling port.
11296
11297 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 Skip incorrect USB devices.
11300
11301 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11302 configcnt == 0.
11303 * include/grub/usb.h (grub_usb_err_t): New enum value
11304 GRUB_USB_ERR_BADDEVICE.
11305
11306 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 Fuloong video init support.
11309
11310 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11311 well.
11312 (grub_vga_read_arx): New function.
11313 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11314 definition.
11315 (framebuffer): New members io, mmioptr and mmiobase.
11316 (read_sis_cmd): New function.
11317 (write_sis_cmd): Likewise.
11318 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11319 rather than 640x400.
11320 * grub-core/video/sis315_init.c: New file.
11321
11322 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11325 non-loongson.
11326 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11327 to grub_dl_register_symbol.
11328
11329 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 Fix compilation errors.
11332
11333 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11334 potentially unused.
11335 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11336 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11337 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11338 to loongson machines.
11339
11340 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 Several FS mtime support.
11343
11344 * grub-core/fs/affs.c (grub_affs_time): New struct.
11345 (grub_affs_file): New field mtime.
11346 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11347 type. Removed 'size'. New field 'di'. All users updated.
11348 (grub_affs_mount): Simplify checsum checking.
11349 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11350 (grub_affs_dir): Handle mtime.
11351 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11352 (grub_cpio_dir): Likewise.
11353 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11354 (grub_hfs_filerec): New field mtime.
11355 (grub_hfs_dir): Handle mtime.
11356 (grub_hfs_mtime): New function.
11357 (grub_hfs_fs): Register grub_hfs_mtime.
11358 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11359 (grub_iso9660_dir): New field mtime.
11360 (grub_fshelp_node): New field dirent.
11361 (iso9660_to_unixtime): New function.
11362 (iso9660_to_unixtime2): Likewise.
11363 (grub_iso9660_read_symlink): Use node->dirent.
11364 (grub_iso9660_iterate_dir): Likewise.
11365 (grub_iso9660_dir): Set mtime.
11366 (grub_iso9660_mtime): New function.
11367 (grub_iso9660_fs): Register grub_iso9660_mtime.
11368 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11369 (grub_jfs_inode): New fields atime, ctime and mtime.
11370 (grub_jfs_dir): Set mtime.
11371 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11372 * grub-core/fs/ntfs.c (list_file): Set mtime.
11373 (grub_ntfs_dir): Likewise.
11374 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11375 (grub_reiserfs_iterate_dir): Set mtime.
11376 (grub_reiserfs_dir): Likewise.
11377 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11378 (grub_fshelp_node): Likewise.
11379 (grub_sfs_iterate_dir): Set mtime.
11380 (grub_sfs_dir): Likewise.
11381 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11382 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11383 (grub_xfs_inode): New fields atime, mtime, ctime.
11384 (grub_xfs_dir): Set mtime.
11385 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11386 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11387 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11388
11389 Support UDF symlinks.
11390
11391 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11392 (grub_ufs_read_symlink): New function. All users updated.
11393
11394 Check amiga partmap checksum.
11395
11396 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11397 (grub_amiga_partition): Likewise.
11398 (amiga_partition_map_checksum): New function.
11399 (amiga_partition_map_iterate): Check checksum.
11400
11401 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 ROMFS support.
11404
11405 * Makefile.util.def (libgrubmods.a): Add romfs.
11406 * grub-core/Makefile.core.def (romfs): New module.
11407 * grub-core/fs/romfs.c: New file.
11408
11409 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 Squashfs v4 support.
11412
11413 * Makefile.util.def (libgrubmods.a): Add squash4.
11414 * grub-core/Makefile.core.def (squash4): New module.
11415 * grub-core/fs/squash4.c: New file.
11416 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11417 disk_input_start, disk_input.
11418 (get_byte): Handle disk_input.
11419 (grub_zlib_disk_read): New function.
11420 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11421
11422 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11423 2011-05-15 Feiran Zheng <famcool@gmail.com>
11424
11425 * Makefile.util.def (libgrubmods.a): Add minix3.
11426 * grub-core/Makefile.core.def (minix3): New module.
11427 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11428 (GRUB_MINIX_BSIZE): Removed.
11429 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11430 (grub_minix_ino_t): New type.
11431 (grub_minix_le_to_cpu_ino): New macro.
11432 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11433 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11434 (grub_minix_data): New field block_size.
11435 (grub_minix_read_file): Handle 64-bit correctly.
11436 * grub-core/fs/minix3.c: New file.
11437
11438 2011-05-15 Tristan Gingold <gingold@free.fr>
11439 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11440 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 IA64 support.
11443
11444 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11445 * configure.ac: Add ia64-efi target.
11446 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11447 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11448 * gentpl.py: Add ia64_efi platform.
11449 Rename x86_efi to efi and Add ia64-efi. All users updated.
11450 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11451 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11452 Remove kern/generic/rtc_get_time_ms.c on EFI.
11453 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11454 kern/ia64/dl_helper.c on ia64-efi.
11455 Add kern/emu/cache.c on emu.
11456 (linux): Use on loader/ia64/efi/linux.c on ia64.
11457 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11458 whether symbol is a function.
11459 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11460 (grub_symbol): New field 'isfunc'.
11461 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11462 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11463 (grub_dl_load_segments): Place all sections into the same region.
11464 [__ia64__]: Create trampolines and got.
11465 [GRUB_MACHINE_EMU]: Call mprotect.
11466 (grub_dl_resolve_symbols): Resolve symbol type as well.
11467 [__ia64__]: Create function descriptors.
11468 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11469 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11470 (grub_get_rtc): New function.
11471 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11472 * grub-core/kern/emu/cache.S: Renamed to ...
11473 * grub-core/kern/emu/cache_s.S: ... this.
11474 [__ia64__]: Add a nop.
11475 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11476 [__ia64__]: New function.
11477 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11478 * grub-core/kern/ia64/dl.c: New file.
11479 * grub-core/kern/ia64/dl_helper.c: Likewise.
11480 * grub-core/kern/ia64/efi/init.c: New file.
11481 * grub-core/kern/ia64/efi/startup.S: Likewise.
11482 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11483 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11484 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11485 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11486 * grub-core/loader/ia64/efi/linux.c: New file.
11487 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11488 (GRUB_MOD_DEP): Likewise.
11489 (grub_dl) [__ia64__]: New fields got and tramp.
11490 (grub_dl): New field 'base'.
11491 (grub_dl_register_symbol): New argument isfunc. All users updated.
11492 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11493 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11494 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11495 (grub_ia64_dl_get_tramp_got_size): New proto.
11496 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11497 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11498 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11499 * include/grub/efi/api.h: Skip call wrappers on ia64.
11500 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11501 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11502 * include/grub/elf.h (ELF_ST_INFO): New definition.
11503 * include/grub/ia64/efi/kernel.h: New file.
11504 * include/grub/ia64/efi/memory.h: Likewise.
11505 * include/grub/ia64/efi/time.h: Likewise.
11506 * include/grub/ia64/kernel.h: Likewise.
11507 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11508 * include/grub/ia64/time.h: New file.
11509 * include/grub/ia64/types.h: Likewise.
11510 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11511 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11512 New protos.
11513 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11514 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11515 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11516 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11517 All users updated.
11518 (EFI64_HEADER_SIZE): New definition. All users updated.
11519 (image_targets): Add ia64-efi.
11520 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11521 jumpers_addr. All users updated.
11522 Create function descriptors.
11523 (count_funcs): New function.
11524 (unaligned_uint32): New struct.
11525 (MASK20): New definition.
11526 (MASK19): Likewise.
11527 (MASKF21): Likewise.
11528 (add_value_to_slot_20b): New function.
11529 (add_value_to_slot_21_real): Likewise.
11530 (add_value_to_slot_21): Likewise.
11531 (ia64_kernel_trampoline): New struct.
11532 (nopm): New variable.
11533 (jump): Likewise.
11534 (make_trampoline): New function.
11535 (relocate_addresses): Handle ia64.
11536 (make_reloc_section): Likewise.
11537 (load_image): Likewise.
11538
11539 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11542 warning. Move variables before code while on it.
11543
11544 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 Fuloong support.
11547
11548 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11549 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11550 * grub-core/boot/mips/loongson/fuloong.S: New file.
11551 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11552 Explicitly init CS5536.
11553 [FULOONG]: Don't use serial until CS5536 is available.
11554 Set GPIO based on dumps.
11555 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11556 [FULOONG]: Handle GPIO and memory controller differences.
11557 Parse machine type in $a2.
11558 * grub-core/boot/mips/startup_raw.S: Determine and save the
11559 architecture.
11560 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11561 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11562 init on architecture type.
11563 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11564 SIS315E. Don't init at_keyboard on fuloong.
11565 (grub_halt): Support Fuloong.
11566 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11567 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11568 (loongson_machtypes): New array.
11569 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11570 type.
11571 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11572 config. All users updated. Handle CS5536 serial.
11573 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11574 default port on machine type. Register serial as inactive.
11575 * grub-core/video/sis315pro.c: New file.
11576 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11577 definition.
11578 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11579 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11580 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11581 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11582 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11583 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11584 to ...
11585 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11586 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11587 definition.
11588 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11589 (grub_arch_machine): New extern var.
11590 * include/grub/mips/loongson/serial.h
11591 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11592 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11593 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11594 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11595 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11596 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11597 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11598 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11599 * include/grub/term.h (grub_term_register_input_inactive): New inline
11600 function.
11601 (grub_term_register_output_inactive): Likewise.
11602 * include/grub/video.h (grub_video_driver_id): New value
11603 GRUB_VIDEO_DRIVER_SIS315PRO.
11604 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11605 New field "names". All users updated.
11606 New field value IMAGE_FULOONG_FLASH.
11607 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11608
11609 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11610
11611 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11612 and add some clarification.
11613
11614 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11617 platforms if kernel is compressed.
11618
11619 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11622 unused modules since currently referrence counter isn't reliable and
11623 there isn't much memory to recover there anyway.
11624
11625 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11628 rather than resetting it to allow modules to reference themselves
11629 in init.
11630
11631 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11634 counter on dependencies since grub_dl_unref already handles this.
11635
11636 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11639 on error if not already done.
11640
11641 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 Fix few potential memory misusage.
11644
11645 * grub-core/font/font.c (load_font_index): Don't free char_index to
11646 avoid double free.
11647 (grub_font_load): Zero-fill font at alloc for safety.
11648 Close file on error.
11649 (free_font): Free bmp_idx.
11650
11651 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 * docs/grub.texi (Installation): Fix several outdated claims.
11654
11655 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 Handle module_license on windows.
11658
11659 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11660 sections shifted.
11661 (insert_string): Make argument const char * instead of char *.
11662 (write_section_data): Handle long section names.
11663 Handle module_license.
11664
11665 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11668 handle class-free menuentries.
11669 (grub_normal_add_menu_entry): Add a check to be sure.
11670
11671 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11674 PgUp and PgDown.
11675
11676 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * configure.ac: Bump version to 1.99.
11679
11680 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 Give ATA device a bit more time on first try in order to allow disks
11683 to spin up.
11684
11685 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11686 if dev->present is 1. Reset dev->present on failure.
11687 (grub_ata_device_initialize): Set dev->present to 1.
11688 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11689 (grub_ata_device): New member 'present'.
11690
11691 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * util/grub-mkimage.c (generate_image): Update hash.
11694
11695 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 Flush caches on DMA memory.
11698
11699 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11700 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11701 (grub_dma_free): Likewise.
11702 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11703
11704 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11707 to avoid asm treating ld and sd as macros.
11708
11709 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11712 decompressor.
11713
11714 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11717 grub_decompress_core since later would fail if grub_decompress_core
11718 is too far.
11719
11720 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11723 R_MIPS_JALR since it's used by newer compiler.
11724
11725 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11728
11729 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11732 file_path to 0 for surety.
11733 (grub_chainloader_boot): Set exit_data to NULL.
11734 Unset the loader once done.
11735 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11736
11737 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11740 unknown key into a dprintf.
11741
11742 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11745 on first non-existant partition.
11746
11747 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11750 openning fails.
11751 Reported by: Mark Korenberg.
11752
11753 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11756 overflow.
11757
11758 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11761 before closing to ensure that it will be readable by grub-setup.
11762
11763 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11766 (devpath_1): Use MAKE_PIWG_PATH.
11767 (devpath_2): Likewise.
11768 (devpath_3): Likewise.
11769 (devpath_4): Likewise.
11770 (devpath_5): Likewise.
11771 (devpath_6): Likewise.
11772
11773 The appleldr.mod was checked that to be binary identical to previous
11774 version.
11775
11776 2011-05-05 Zach <mikezackles>
11777
11778 Support 2010 Macbooks.
11779
11780 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11781 (devs): Add devpath_6.
11782
11783 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11784
11785 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11786 /dev/random. /dev/urandom is good enough for our purposes (salting).
11787
11788 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11791
11792 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11793
11794 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11795 hexadecimal.
11796
11797 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11800 and not 0 on failure.
11801
11802 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11803
11804 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11805 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11806 disk; otherwise grub_fs_probe will not fall back to the next
11807 filesystem.
11808 (grub_pxefs_open): Likewise, for consistency.
11809 Reported and tested by: Ezekiel Grave.
11810
11811 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11812
11813 * tests/partmap_test.in: Don't hardcode path to parted.
11814 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11815
11816 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11817
11818 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11819 of `ls' to find out which devices are available.
11820
11821 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11824 than source address for efi mmap buffer.
11825
11826 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11829 wrong action on non-detecting the magic.
11830
11831 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11834 already supplied by another part of the module (fixes compilation on
11835 FreeBSD).
11836
11837 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11840 match the one used by mdadm.
11841
11842 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11843
11844 * po/README: Add instructions for creating po/LINGUAS.
11845
11846 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11847
11848 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11849 #551428.
11850
11851 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11852 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11853 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11854 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11855 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11856 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11857 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11858 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11859 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11860 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11861 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11862 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11863 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11864 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11865 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11866 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11867 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11868 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11869 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11870 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11871 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11872 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11873
11874 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11875
11876 * grub-core/kern/emu/getroot.c
11877 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11878 test that was incorrectly reintroduced in r3214.
11879 Reported by: Ian Dall. Fixes Savannah bug #33133.
11880
11881 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11882
11883 Fix stack pointer handling in 16-bit relocator.
11884
11885 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11886 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11887 Fixes Ubuntu bug #683904.
11888
11889 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * configure.ac: Bump version to 1.99~rc2.
11892
11893 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11896 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11897 * grub-core/lib/x86_64/setjmp.S: Likewise.
11898 * grub-core/lib/mips/setjmp.S: Likewise.
11899 * grub-core/lib/powerpc/setjmp.S: Likewise.
11900 * grub-core/lib/sparc64/setjmp.S: Likewise.
11901
11902 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11905 * grub-core/lib/efi/datetime.c: Likewise.
11906
11907 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11910 New function.
11911 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11912 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11913 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11914
11915 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11918 bitmap.
11919 (grub_gfxterm_term_init): Likewise.
11920
11921 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 Take into account the decorations the computing menu entry width.
11924
11925 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11926 (grub_gfxmenu_create_box): Register get_border_width.
11927 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11928 if available.
11929 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11930 get_border_width.
11931
11932 2011-04-18 Endres Puschner <code@e7p.de>
11933
11934 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11935 Don't skip first class.
11936
11937 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11940 chunks.
11941 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11942
11943 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 Complete 64-bit division support.
11946
11947 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11948 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11949 * include/grub/misc.h (grub_divmod64): Rename to ...
11950 (grub_divmod64_full): ... this.
11951 (grub_divmod64): New inline function.
11952
11953 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11956
11957 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11960 performing the necessary test.
11961
11962 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11965 (kfreebsd.elf): Likewise.
11966 (pc-chainloader.elf): Likewise.
11967 (ntldr.elf): Likewise.
11968
11969 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 Identify RAID by its UUID rather than (guessed) name.
11972
11973 * grub-core/disk/raid.c (ascii2hex): New function.
11974 (grub_raid_open): Accept mduuid/%s specification.
11975 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11976 (get_mdadm_uuid): ... this.
11977 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11978
11979 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11982 to negative size.
11983
11984 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11985
11986 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11987 btrfs subvolume.
11988 * util/grub.d/20_linux_xen.in: Likewise.
11989
11990 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11991
11992 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11993 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11994
11995 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11996 Build a list of relevant visible mounts using the mnt_id and
11997 parent_mnt_id fields, and then scan that list at the end.
11998
11999 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12000
12001 * docs/grub.texi (normal): New section.
12002 (normal_exit): New section.
12003 (Embedded configuration): Add reference to normal.
12004 (GRUB only offers a rescue shell): Likewise.
12005 * docs/grub-dev.texi (Error Handling): Fix typo.
12006
12007 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12008
12009 * NEWS: Drop obsolete entry about probe-only btrfs support.
12010
12011 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12012
12013 * util/import_gcry.py: Fix typo.
12014
12015 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * NEWS: Add btrfs support.
12018
12019 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12020 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12021
12022 BtrFS support. Written by me (Vladimir) with important bugfixes and
12023 even more important testing by Colin.
12024
12025 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12026 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12027 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12028 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12029 mem_input_off and mem_input. All users updated to accept in-RAM input.
12030 (gzio_seek): New function.
12031 (test_zlib_header): Likewise.
12032 (grub_gzio_read): Likewise.
12033 (grub_zlib_decompress): Likewise.
12034 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12035 Accept partial and non-virtual mounts.
12036 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12037 avoid receiving /dev/dm-X as device.
12038 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12039 Handle bind and partial mounts.
12040 * grub-core/lib/crc.c: New file.
12041 * include/grub/deflate.h: Likewise.
12042 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12043 proto.
12044 * include/grub/lib/crc.h: New file.
12045
12046 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 Implement automatic module license checking according to new GNU
12049 guidelines.
12050
12051 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12052 (grub_dl_load_core): Use grub_dl_check_license.
12053 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12054 (GRUB_MOD_LICENSE): Likewise.
12055 (GRUB_MOD_DUAL_LICENSE): Likewise.
12056 All modules updated.
12057
12058 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12059
12060 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12061 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12062 loaders.
12063 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12064
12065 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12068
12069 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12072 failed.
12073
12074 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12077 parenthesis in the middle of the filename.
12078
12079 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12082 rather than trying to put initrd way too high.
12083 Reported by: Ryan Lortie <desrt@desrt.ca>
12084
12085 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12088 improperly removed string.
12089
12090 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12091
12092 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12093 is_disk.
12094 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12095 (open_device) Likewise.
12096 (grub_util_biosdisk_close): Likewise.
12097 Reported by: Mark Korenberg.
12098
12099 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12100
12101 * util/grub-mkconfig_lib.in: Add missing quotes.
12102
12103 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
12104
12105 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12106 is NULL.
12107
12108 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12109
12110 Dynamically count the number of lines for the lower banner.
12111
12112 * grub-core/normal/menu_entry.c (per_term_screen): New member
12113 num_entries.
12114 (print_down): Use num_entries.
12115 (update_screen): Likewise.
12116 (grub_menu_entry_run): Set num_entries.
12117 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12118 num_entries.
12119 (grub_print_message_indented): Move real part to ...
12120 (grub_print_message_indented_real): ... here. Additional argument
12121 dry_run.
12122 (draw_border): Additional argument num_entries.
12123 (print_message): Additional argument dry_run.
12124 (print_entries): Receive menu viewer data.
12125 (grub_menu_init_page): New argment num_entries.
12126 (menu_text_set_chosen_entry): Use num_entries.
12127 (grub_menu_try_text): Likewise.
12128 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12129 All users updated.
12130 (grub_ucs4_count_lines): New function.
12131 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12132 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12133 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12134 (grub_term_border_height): Likewise.
12135 (grub_term_num_entries): Likewise.
12136
12137 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12140 Remove now unused string.
12141
12142 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12143
12144 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12145 build system.
12146 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12147
12148 (Comment): Fix typo.
12149 (Getting started): General copy-editing.
12150 (Typical Development Experience): Likewise.
12151 (Error Handling): Likewise.
12152 (Video API): Likewise.
12153
12154 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12155
12156 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12157 throughout.
12158
12159 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12162 directory.
12163
12164 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12165
12166 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12167 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12168 "development".
12169
12170 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12173 grub_strcpy since the lines aren't necessarily 0-terminated.
12174
12175 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12178 root on legacy.
12179
12180 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12183 (GRUB_MOD_INIT): DEVICE isn't optional.
12184
12185 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12188 word on new line if it's too long anyway. Fixes a hang.
12189
12190 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12193 const.
12194 * util/grub-setup.c (main): Reuse md device name if available.
12195 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12196 not GRUB name as argument.
12197 Based on patch by: Florian Wagner <fwagner>.
12198
12199 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12202 Place mbi on low memory for better compatibility.
12203
12204 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12207
12208 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12209 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12210
12211 * autogen.sh: Ensure that collate and ctype locale is C.
12212 * conf/Makefile.common: Likewise.
12213
12214 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/normal/menu.c: Add missing include.
12217
12218 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
12221
12222 2011-04-08 Martin Zuther <mzuther@mzuther.de>
12223
12224 * util/grub-mkconfig.in: Ignore emacsen backup.
12225
12226 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12229 on open.
12230 (grub_util_biosdisk_close): Likewise.
12231
12232 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12235 const attribute and use grub_isdigit.
12236
12237 2011-04-06 Andrey <dev_null@ukr.net>
12238
12239 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12240 gcc warning.
12241
12242 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12245 useful grub_dprintf's.
12246
12247 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12250
12251 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12254
12255 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 Output errors if theme loading failed.
12258
12259 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12260 grub_gfxterm_fullscreen on error paths to ...
12261 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12262 theme loading error.
12263
12264 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12267 space for older compilers.
12268 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12269
12270 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12273 and report them as not RAID members since they are useless for GRUB.
12274 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12275
12276 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 Increase LVM implementation robustness in order not to crash on
12279 configurations like pvmove. Previously code assumed that in some places
12280 only lvs or only pvs are used whereas it seems that they are used
12281 interchangeably.
12282
12283 * grub-core/disk/lvm.c (read_node): New function.
12284 (read_lv): Use read_node.
12285 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12286 Match volumes only at the end when all lvs are found. Take both
12287 pvs (first) and lvs (second) into account.
12288 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12289 mirror_* into node_*. All users updated.
12290 (grub_lvm_stripe): Merge this ...
12291 (grub_lvm_mirror): ... and this ...
12292 (grub_lvm_node): ... into this. All users updated.
12293
12294 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12297 of function to allow further scanning for LVMs.
12298
12299 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12302 on failed seek as it breaks open fd reusage.
12303
12304 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 * util/grub-install.in: Add a recommendation to use --recheck before
12307 reporting bugs.
12308
12309 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12312 are obtained.
12313
12314 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12315
12316 GRUB developper manual based on existing Internals section and
12317 contributions by the various authors with active copyright assignment.
12318
12319 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12320 * docs/font_char_metrics.png: New file.
12321 * docs/font_char_metrics.txt: Likewise.
12322 * docs/grub-dev.texi: Likewise.
12323 * docs/grub.texi (Internals): Move from here ...
12324 * docs/grub-dev.texi: ... here.
12325
12326 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12327
12328 Store the loopback device as data on loopback grub_disk structures,
12329 rather than the file it points to. This fixes use of freed memory
12330 if an existing loopback device is replaced.
12331
12332 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12333 disk->data, not dev->file.
12334 (grub_loopback_read): Adjust file assignment to match.
12335 Fixes Ubuntu bug #742967.
12336
12337 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12338
12339 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12340 when replacing an existing device.
12341
12342 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12345 memory corruptions.
12346
12347 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12348 unsigned.
12349 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12350 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12351 (grub_jfs_read_inode): Likewise.
12352 (grub_jfs_opendir): Likewise. Remove now useless casts.
12353 (grub_jfs_getent): Likewise.
12354 Make ino a grub_uint32_t rather than int.
12355 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12356 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12357 division and module with bit operations.
12358 (grub_jfs_find_file): Make ino a grub_uint32_t.
12359 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12360
12361 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12362
12363 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12364 warning. (This was in fact always initialised before use, but GCC
12365 wasn't smart enough to prove that.)
12366 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12367
12368 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12371 stack alignment.
12372 (efi_wrap_1): Likewise.
12373 (efi_wrap_2): Likewise.
12374 (efi_wrap_3): Likewise.
12375 (efi_wrap_4): Likewise.
12376 (efi_wrap_5): Likewise.
12377 (efi_wrap_6): Likewise.
12378 (efi_wrap_10): Likewise.
12379 Based on information by: Red Hat/Peter Jones.
12380
12381 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12382
12383 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12384 set-but-not-used variable.
12385
12386 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12387
12388 * docs/grub.texi (Simple configuration): Be more explicit about
12389 GRUB_DEFAULT, and add an example.
12390 Reported by: Leslie Rhorer.
12391
12392 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12393
12394 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12395 shell".
12396
12397 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12398
12399 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12400 * util/grub.d/20_linux_xen.in: Likewise.
12401
12402 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * util/grub.d/10_linux.in: Try alternative config filenames where
12405 we parse config file.
12406 * util/grub.d/20_linux_xen.in: Likewise.
12407
12408 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12409
12410 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12411 * util/grub.d/20_linux_xen.in: Likewise.
12412
12413 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/disk/raid.c (insert_array): Add few potentially
12416 useful grub_util_info.
12417 (grub_raid_register): Likewise.
12418
12419 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12422 Preserve partition number in mdadm code path.
12423
12424 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12427 few potentially useful grub_util_info.
12428
12429 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12432
12433 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12434
12435 * docs/grub.texi (default): Use @example rather than nested
12436 itemized lists to avoid breaking gendocs.
12437
12438 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12439
12440 * docs/grub.texi (Future): Update.
12441
12442 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12443
12444 * docs/grub.texi (Environment): New chapter.
12445 (Changes from GRUB Legacy): Link to "Environment block" section for
12446 details of limitations.
12447 (Simple configuration): Likewise. Link to documentation of gfxmode
12448 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12449 respectively.
12450 (Shell-like scripting): Note that normal variables are stored in the
12451 environment.
12452 (gettext): Link to documentation of lang and locale_dir.
12453 (list_env): New section.
12454 (load_env): New section.
12455 (save_env): New section.
12456
12457 (Reporting bugs): Fix typo.
12458
12459 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12462 the example.
12463
12464 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * grub-core/term/at_keyboard.c (set_scancodes)
12467 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12468
12469 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12470
12471 * docs/grub.texi (Menu-specific commands): Remove some semantics
12472 that were true in GRUB Legacy but not in GRUB 2.
12473 (submenu): New section.
12474 (false): New section.
12475 (read): New section.
12476 (true): New section.
12477
12478 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12479
12480 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12481
12482 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12483
12484 * docs/grub.texi (Simple configuration): Explain some of the
12485 current limitations of grub-mkconfig.
12486 Reported by: Leslie Rhorer.
12487
12488 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 Old macs search for boot.efi rather than for bootia32.efi.
12491
12492 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12493 * util/grub-mkrescue.in: Likewise.
12494 Suggested by: Peter Jones.
12495
12496 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12499
12500 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12501
12502 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12503 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12504 (grub_lvm_mirror): New struct.
12505 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12506 (grub_lvm_iterate): Iterate only visible volumes.
12507 (grub_lvm_read): Factor out to ..
12508 (read_lv): ... this. Support mirrors.
12509 (grub_lvm_read): New wrapper function.
12510 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12511 stripped or mirrored.
12512
12513 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12516
12517 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12518
12519 * docs/grub.texi (loopback): New section.
12520
12521 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12522
12523 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12524 removed -p option.
12525
12526 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12527
12528 * docs/grub.texi (BIOS installation): New section, partly based on
12529 previous text in other sections.
12530 (Installing GRUB using grub-install): Replace BIOS discussion with a
12531 cross-reference.
12532 (Images): Likewise.
12533
12534 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12537 [HAVE_DIOCGDINFO]: Add safety checks.
12538
12539 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12542 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12543
12544 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12545
12546 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12547 real_sb->size is zero (e.g. RAID-0), get the disk size from
12548 real_sb->data_size instead.
12549 Fixes Ubuntu bug #743136.
12550
12551 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12554 printf clauses for printing size and start.
12555
12556 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12559 Reported and tested by: Timothy Nikkel.
12560
12561 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12564 (dirty_region_add_real): ... this.
12565 (dirty_region_add): Don't discard margin refresh when performing
12566 scheduled repaint.
12567
12568 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * grub-core/lib/relocator.c (allocate_regstart)
12571 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12572 terminals are capabple of malloc-free operation.
12573 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12574 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12575
12576 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12577
12578 * util/grub-setup.c: Copy the partition table zone if floppy support
12579 is disabled, even if no partition table is found.
12580
12581 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12582 during POST if an invalid partition table is contained in the PBR
12583 of the active partition when GRUB is installed to a partition.
12584
12585 2011-03-28 Colin Watson <cjwatson@debian.org>
12586
12587 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12588 comment.
12589
12590 2011-03-28 Colin Watson <cjwatson@debian.org>
12591
12592 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12593 to be specific about what kind of RAID device we're scanning for.
12594
12595 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12596
12597 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12598 return freed string.
12599
12600 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12603
12604 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 Use libgeom on FreeBSD to detect partitions.
12607
12608 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12609 (grub-mkrelpath): Likewise.
12610 (grub-script-check): Likewise.
12611 (grub-editenv): Likewise.
12612 (grub-mkpasswd-pbkdf2): Likewise.
12613 (grub-fstest): Likewise.
12614 (grub-mkfont): Likewise.
12615 (grub-mkdevicemap): Likewise.
12616 (grub-probe): Likewise.
12617 (grub-setup): Likewise.
12618 (grub-ofpathname): Likewise.
12619 (grub-mklayout): Likewise.
12620 (example_unit_test): Likewise.
12621 (grub-menulst2cfg): Likewise.
12622 * grub-core/Makefile.core.def (grub-emu): Likewise.
12623 (grub-emu-lite): Likewise.
12624 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12625 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12626 define HAVE_DIOCGDINFO.
12627 (follow_geom_up) [FreeBSD]: New function.
12628 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12629 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12630 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12631 unconditionally of HAVE_DIOCGDINFO.
12632
12633 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 Fix FreeBSD compilation problem.
12636
12637 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12638 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12639
12640 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
12641
12642 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12643 Switch back to page zero before loading a kernel, since some kernel
12644 drivers expect that.
12645 Thanks to: Felix Kuehling.
12646
12647 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12650 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12651 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12652
12653 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12656 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12657
12658 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12661 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12662 malloc is disabled.
12663
12664 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12667 for modules headers when counting the needed allocation size.
12668
12669 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12670
12671 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12672 if no ASCII character is found to prevent crash.
12673
12674 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12675
12676 * grub-core/video/bitmap.c (match_extension): Ignore case.
12677
12678 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12681
12682 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/script/parser.y: Declare "time" as valid argument.
12685
12686 2011-03-23 Peter Jones <pjones@redhat.com>
12687
12688 Fix incorrect assert failure reporting.
12689
12690 * grub-core/tests/example_functional_test.c (example_test): Add
12691 a failure comment.
12692 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12693 (failure_start): ...this. Check that malloc succeeded.
12694 Don't call xvasprintf. Return failure struct.
12695 (failure_append_vtext): New function.
12696 (failure_append_text): Likewise.
12697 (add_failure): Likewise.
12698 (grub_test_assert_helper): Likewise.
12699 * include/grub/test.h (grub_test_assert_helper): New declaration.
12700 (grub_test_assert): Macro rewritten.
12701
12702 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12705
12706 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12709
12710 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12713 into GRUB-style one.
12714
12715 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12718 error and not grub_errno.
12719 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12720
12721 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12724 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12725
12726 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 * grub-core/efiemu/i386/pc/cfgtables.c
12729 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12730 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12731 (grub_xnu_unlock): Likewise.
12732 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12733
12734 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12737 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12738 * grub-core/commands/hashsum.c (aliases): Likewise.
12739 * grub-core/commands/setpci.c (pci_registers): Likewise.
12740 * grub-core/disk/usbms.c (attach_hook): Likewise.
12741 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12742 (zio_checksum_table): Likewise.
12743 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12744 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12745 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12746 * grub-core/lib/relocator.c (leftovers): Likewise.
12747 (extra_blocks): Likewise.
12748 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12749 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12750 (modules_last): Likewise.
12751 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12752 (devices): Likewise.
12753 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12754 (modules_last): Likewise.
12755 * grub-core/normal/auth.c (users): Likewise.
12756 * grub-core/normal/context.c (initial_menu): Likewise.
12757 (current_menu): Likewise.
12758 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12759 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12760 (grub_serial_terminfo_input_template): Likewise.
12761 (grub_serial_terminfo_output_template): Likewise.
12762 (grub_serial_terminfo_input): Likewise.
12763 (grub_serial_terminfo_output): Likewise.
12764 (registered): Likewise.
12765 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12766
12767 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12770 grub_video_mode_type_t.
12771 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12772 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12773 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12774
12775 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 * util/grub-install.in: Correct the x86-64 name as x86_64.
12778
12779 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12780
12781 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12782 initial chunk read from the kernel always includes GRUB's multiboot
12783 header, which is now outside the first sector.
12784
12785 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12786
12787 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12788 cached mmap_size, so that this works correctly when called multiple
12789 times.
12790 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12791
12792 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12793
12794 * docs/grub.texi (Simple configuration): Tidy up formatting.
12795
12796 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12797
12798 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12799 Set-but-not-used variable removed.
12800
12801 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 Workaround yet another IEEE1275 bug.
12804
12805 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12806 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12807 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12808 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12809 is set.
12810 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12811 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12812
12813 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12816 error.
12817
12818 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12819
12820 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12821 empty, since in that case we can only generate either nothing or a
12822 syntactically invalid configuration file.
12823 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12824
12825 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12826
12827 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12828 (Making a GRUB bootable CD-ROM): Likewise.
12829 (Invoking grub-mkrescue): New section.
12830 Reported by: Yann Dirson. Fixes Debian bug #612585.
12831
12832 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12833
12834 * util/grub-install.in: Remove unnecessary brackets from tr
12835 arguments.
12836 * util/grub.d/10_hurd.in: Likewise.
12837 * util/grub.d/10_kfreebsd.in: Likewise.
12838 * util/grub.d/10_linux.in: Likewise.
12839 * util/grub.d/20_linux_xen.in: Likewise.
12840 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12841
12842 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12843
12844 * include/grub/file.h (not_easly_seekable): Rename to ...
12845 (not_easily_seekable): ... this. Update all users.
12846
12847 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12848
12849 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12850 grub-mkrescue.
12851
12852 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * util/grub-mkimage.c (generate_image): Refuse to create the images
12855 bigger than the actual flash (512K) in Loongson machines. 512K is also
12856 the biggest chip supported by them.
12857
12858 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12859
12860 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12861
12862 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12863
12864 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12865 super_offset field.
12866
12867 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 * util/grub-install.in: Ignore install device on platforms
12870 where it doesn't make sense. Always use UUIDs except on pc, efi and
12871 sparc64.
12872 Reported by: Daniel Kahn Gillmor.
12873
12874 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12877
12878 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12881 (iterate_real): Don't rely on partition being non-NULL.
12882
12883 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12886 supported platforms. Put a compile time assert for this rather than
12887 generate a warning with 32-bit shift.
12888
12889 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12890
12891 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12892 logical expression more readable.
12893
12894 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12897 even if some elements have a name.
12898 Reported by: Alexander GQ Gerasiov.
12899
12900 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12901
12902 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12903 path unreadable if `grub-probe -t abstraction' fails, for example if
12904 memberlist fails on an LVM volume group.
12905 Reported by: Darius Jahandarie.
12906
12907 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12908
12909 * docs/grub.texi (Simple configuration): Document
12910 GRUB_PRELOAD_MODULES.
12911
12912 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12913
12914 * .bzrignore: Remove nonexistent grub-pbkdf2.
12915
12916 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * configure.ac: Bump version to 1.99~rc1.
12919
12920 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12921
12922 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12923 for safety.
12924
12925 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12928 module.
12929
12930 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12933
12934 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12937 diskdevid.
12938
12939 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 Fix compilation on cygwin.
12942
12943 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12944 -R .drectve on cygwin.
12945 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12946 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12947 (COND_CYGWIN): New condition.
12948 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12949 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12950 not @TARGET_OBJ2ELF@.
12951 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12952 type to determine whether aux is to be used.
12953
12954 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12957 realpath'ed device string.
12958 Handle floppy (somewhat).
12959 Issue error in unknown case rather than garbage.
12960 Reported by: Axel Beckert.
12961
12962 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * util/grub.d/00_header.in (load_video): Handle the case when no video
12965 drivers available.
12966 Thanks to: Axel Beckert.
12967
12968 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12971 variable. Fixes problem on big endian platforms.
12972
12973 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12976 It doesn't work well there.
12977
12978 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12981 warning.
12982 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12983 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12984 counter.
12985
12986 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 Use alias->path rather than buggy "canon".
12989
12990 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12991 (ofdisk_hash_add): New argument curcan. All users updated.
12992
12993 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12994
12995 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12996
12997 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13000 loadmask before doing any calculations. Use correct type for offset.
13001 (grub_linux_load64): Likewise.
13002
13003 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
13004
13005 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13006 with NULL.
13007 (console_grub_equivalences_unshift): Likewise.
13008 Reported by: Daniel Dehennin.
13009
13010 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13013 (set_env_limn_ro): Likewise.
13014 (GRUB_MOD_INIT): Likewise.
13015 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13016 ARRAY_SIZE while on it.
13017 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13018 * grub-core/normal/context.c (grub_env_export): Move from here ...
13019 * grub-core/kern/env.c (grub_env_export): ... here.
13020 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13021 prefix.
13022 * grub-core/kern/main.c (grub_main): Export root and prefix.
13023 * include/grub/env.h (grub_env_export): Export.
13024 Reported by: Seth Goldberg.
13025
13026 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13027
13028 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13029 Take into account space used by ELF sections and multiboot palette.
13030 Reported by: Grégoire Sutre.
13031
13032 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13033
13034 * BUGS: New file.
13035
13036 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 Pass more appropriate video id to Linux.
13039
13040 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13041 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13042 fill have_vga.
13043 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13044 shift params->lfb_size.
13045 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13046
13047 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13050
13051 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13052
13053 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13054 separator and pass bootpath/devid even if only one of them is available.
13055 Reported by: Seth Goldberg.
13056
13057 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13058
13059 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13060 implementations bug on them.
13061
13062 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13063 memory.
13064 (filter_memory_map): Likewise.
13065
13066 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13069 Reported by: nebuchadnezzar.
13070
13071 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13074 Reported by: nebuchadnezzar.
13075
13076 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 Submenu default support.
13079
13080 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13081 auto_boot. All users updated.
13082 Declared static.
13083 Handle chosen and default with submenus.
13084 (grub_menu_execute_with_fallback): Declared static.
13085 Don't notify failure if autobooted. Upper level does it.
13086 (menuentry_eq): New function.
13087 (get_entry_number): Use menuentry_eq.
13088 (show_menu): New parameter "autobooted". All users updated.
13089 (grub_show_menu): Likewise.
13090 * include/grub/normal.h (grub_show_menu): Likewise.
13091 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13092 (grub_menu_execute_with_fallback): Likewise.
13093
13094 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * util/grub-mklayout.c (usage): Update help text.
13097
13098 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13101
13102 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * util/grub-menulst2cfg.c (main): Trim the line.
13105
13106 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13109 (grub_machine_init): Don't check amount of low memory as reportedly
13110 INT 12h can be broken and if low memory is too low we wouldn't have
13111 gotten into grub_machine_init anyway.
13112
13113 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13116 (grub_machine_mmap_iterate): Take low memory into account
13117
13118 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13121 badfs.
13122 Reported by: TiCPU.
13123
13124 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13127 members errors.
13128
13129 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13130
13131 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13132 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13133
13134 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13135
13136 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13137 openbsd and netbsd types being in part_bsd module.
13138
13139 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13142 (_FILE_OFFSET_BITS): Likewise.
13143 Reported by: Seth Goldberg.
13144
13145 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13146
13147 * configure.ac: Check for libdevmapper header.
13148
13149 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13152 avoid aliasing.
13153 (fzap_lookup): Likewise.
13154 (dnode_get): Likewise.
13155 (make_mdn): Likewise.
13156 (zfs_mount): Likewise.
13157 (fzap_iterate): Use temporary pointer to avoid aliasing.
13158 (grub_zfs_read): Likewise.
13159 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13160 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13161 pointers to avoid aliasing.
13162 (grub_cmd_xnu_kernel64): Likewise.
13163 (grub_xnu_load_driver): Likewise.
13164
13165 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13168 aliasing warning.
13169 (grub_cmd_terminal_output): Likewise.
13170 Reported and tested by: Grégoire Sutre.
13171
13172 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13175 warning.
13176 Reported and tested by: Grégoire Sutre.
13177
13178 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * configure.ac: Do CPU substitution even if it's specified explicitly.
13181 Reported and tested by: Alain Greppin.
13182
13183 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13186 Reported and tested by: Alain Greppin.
13187
13188 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Satisfy some bison versions need for inttypes.h.
13191
13192 * grub-core/lib/posix_wrap/inttypes.h: New file.
13193 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13194 (int16_t): Likewise.
13195 (int32_t): Likewise.
13196 (int64_t): Likewise.
13197 Reported and tested by: Alain Greppin.
13198
13199 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13202 Silence spurious warning.
13203 Reported and tested by: Alain Greppin.
13204
13205 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13206
13207 * docs/grub.texi (Support automatic decompression): Update with xz
13208 decompression support.
13209
13210 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13211
13212 Improve loaders' kernel command line handling.
13213
13214 * grub-core/lib/cmdline.c: New file.
13215 * include/grub/lib/cmdline.h: Likewise.
13216 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13217 grub_create_loader_cmdline to create kernel command line.
13218 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13219 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13220 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13221 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13222 (linux): Add lib/cmdline.c on common.
13223
13224 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13227 inopos might be unaligned.
13228
13229 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13232 endian transformations.
13233 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13234 Based on report by: Doug Nazar.
13235
13236 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
13237
13238 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13239 array->members[i].start_sector.
13240 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13241
13242 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13245 Reported and tested by: Grégoire Sutre.
13246
13247 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13248
13249 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13250 avoid causing test failures by clearing the screen.
13251
13252 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13253
13254 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13255 Fix prefix check to handle the case where dir ends with a slash
13256 (most significantly, "/" itself).
13257 Reported by: Michael Vogt.
13258
13259 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 Run terminfo_cls on initing terminfo output to clear the screen and
13262 move the cursor to (0,0).
13263
13264 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13265 Call grub_terminfo_output_init.
13266 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13267 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13268 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13269
13270 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13273 only when needed.
13274
13275 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13278 CTRL.
13279
13280 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 The E820 type 5 is BADRAM, not EXEC_CODE.
13283
13284 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13285 (GRUB_E820_BADRAM): New define.
13286 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13287 into reserved. Propagate BADRAM.
13288 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13289 (GRUB_E820_BADRAM): New define.
13290
13291 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13294 Ignore the memory post-4G.
13295 (grub_relocator_firmware_alloc_region): Additional debug statement.
13296
13297 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13298
13299 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13300 names.
13301 Reported by: David Pravec.
13302
13303 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13306 BIOSes.
13307
13308 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13311 Prevent overflow.
13312 (grub_reed_solomon_recover): Likewise.
13313
13314 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13317
13318 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13321 variable.
13322
13323 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13324
13325 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13326 descriptions of extract_legacy_entries_source and
13327 extract_legacy_entries_configfile.
13328 Reported by: Seung Soo, Ha.
13329
13330 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13331
13332 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13333 on devices that do not implement function 0.
13334
13335 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13336
13337 * grub-core/fs/hfsplus.c: Make parent unsigned.
13338 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13339 overflows.
13340 (grub_hfsplus_cmp_extkey): Likewise
13341
13342 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * util/grub-install.in: Correctly use bootloader_id and not
13345 GRUB_DISTRIBUTOR on efibootmgr line.
13346
13347 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13350
13351 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13352
13353 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13354 Xen and reorder menu item wording to make it clearer that this entry
13355 will launch Xen. Print separate messages when loading Xen and
13356 Linux.
13357
13358 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13361 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13362 loop in case of incorrect amiga partmap.
13363
13364 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13365
13366 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13367 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13368 Reported by:EHeM.
13369
13370 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13373 spurious warning.
13374 Reported by: crocket
13375
13376 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13377
13378 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13379 Preload EFIemu.
13380 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13381
13382 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13385 is loaded
13386 (grub_cmd_xnu_kextdir): Likewise.
13387 (grub_cmd_xnu_splash): Likewise.
13388
13389 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 Avoid using Reed-Solomon with 0 redundancy.
13392
13393 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13394 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13395 or 0 redundancy.
13396 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13397 (grub_reed_solomon_recover): Likewise.
13398
13399 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 Don't use disk subsystem in freebsd_boot.
13402
13403 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13404 (freebsd_biosdev): Likewise.
13405 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13406 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13407
13408 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 Handling of files of unknown size is currently limited. They can't be
13411 used e.g. for initrd or modules. Moreover gzip handling of not
13412 easily seekable files is buggy. Disable unknown file size for now. May
13413 be inefficient but works.
13414
13415 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13416 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13417
13418 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13419
13420 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13421 floppy probe.
13422
13423 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13424
13425 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13426
13427 2010-12-25 Shea Levy <shlevy>
13428
13429 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13430
13431 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13434 Windows Server 2008.
13435 Reported by: Devin Giddings.
13436
13437 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13440 writing an error message because of async power management.
13441 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13442 (grub_reboot): Likewise.
13443
13444 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13445
13446 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13447 keep unit tests from failing when they shouldn't.
13448
13449 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13450
13451 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13452 previous patch increased the size of the RS code by 20 bytes (at
13453 least with gcc-4.4), so increase this by 20 bytes to match.
13454 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13455
13456 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13457
13458 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13459 scratch area. Make sure to initialise chosen in standalone mode as
13460 well as non-standalone.
13461 Reported by: Robert Hooker and Andy Whitcroft.
13462 Tested by: Andy Whitcroft.
13463
13464 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13465
13466 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13467 constructing a new unescaped string and passing it to grub_xputs in
13468 one go, rather than passing characters to grub_printf one at a time.
13469
13470 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13471
13472 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13473 initialising utf16.
13474
13475 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13476
13477 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13478 comment. Add an extra layer of quotation, requiring the output of
13479 this function to be used in a printf format string.
13480 (gettext_printf): New function.
13481 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13482 Extract translatable strings from here-documents and use a temporary
13483 variable instead, so that xgettext can find them.
13484 * util/grub.d/10_kfreebsd.in: Likewise.
13485 * util/grub.d/10_linux.in: Likewise.
13486 * util/grub.d/20_linux_xen.in: Likewise.
13487
13488 * po/grub.d.sed: New file.
13489 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13490 arguments. Set c-format flags on all strings extracted from
13491 util/grub.d/ (xgettext refuses to include these itself for strings
13492 it extracted from a shell file, but these really are c-format).
13493
13494 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13497 Avoid next pointing to nowhere.
13498
13499 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13502 rather than assuming than rootblock is exactly in the middle.
13503 (grub_affs_label): Likewise.
13504
13505 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13508 reserved_first_sector to 0.
13509 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13510 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13511 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13512
13513 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 Fix handling of UTF-16 UDF labels.
13516
13517 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13518 (read_string): .. here.
13519 (grub_udf_label): Use read_string.
13520
13521 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13522
13523 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13524 editor under argument scope.
13525 Reported by: Jordan Uggla
13526
13527 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13528
13529 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13530
13531 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
13532
13533 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13534 line, and other keys scroll an entire page (previous handling was
13535 for \r and \n to scroll a page and other keys to scroll two lines).
13536
13537 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13540 Set ptrdest to correct get_physical_target_address rather than
13541 incorrect get_virtual_current_address.
13542
13543 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13544
13545 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13546 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13547
13548 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13549
13550 * .bzrignore: Ignore grub-core/rs_decoder.S.
13551
13552 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13553
13554 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13555 .mo/.mo.gz opening sequence to ...
13556 (grub_mofile_open_lang): ... here.
13557 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13558 * util/grub.d/00_header.in (grub_lang): Include country part of
13559 locale.
13560 Reported by: Mario Limonciello.
13561
13562 2010-12-09 Robert Millan <rmh@gnu.org>
13563
13564 * NEWS: Document addition of ZFS support.
13565
13566 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
13567
13568 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13569 rather than `/ 2', as the latter requires -Wa,--divide which would
13570 require bumping our minimum binutils version.
13571
13572 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13573
13574 * util/grub-script-check.c (main): Print script line number on
13575 error.
13576
13577 2010-12-01 Robert Millan <rmh@gnu.org>
13578
13579 * grub-core/fs/zfs/zfs.c: New file.
13580 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13581 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13582 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13583 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13584
13585 * include/grub/zfs/dmu.h: Likewise.
13586 * include/grub/zfs/dmu_objset.h: Likewise.
13587 * include/grub/zfs/dnode.h: Likewise.
13588 * include/grub/zfs/dsl_dataset.h: Likewise.
13589 * include/grub/zfs/dsl_dir.h: Likewise.
13590 * include/grub/zfs/sa_impl.h: Likewise.
13591 * include/grub/zfs/spa.h: Likewise.
13592 * include/grub/zfs/uberblock_impl.h: Likewise.
13593 * include/grub/zfs/vdev_impl.h: Likewise.
13594 * include/grub/zfs/zap_impl.h: Likewise.
13595 * include/grub/zfs/zap_leaf.h: Likewise.
13596 * include/grub/zfs/zfs.h: Likewise.
13597 * include/grub/zfs/zfs_acl.h: Likewise.
13598 * include/grub/zfs/zfs_znode.h: Likewise.
13599 * include/grub/zfs/zil.h: Likewise.
13600 * include/grub/zfs/zio.h: Likewise.
13601 * include/grub/zfs/zio_checksum.h: Likewise.
13602
13603 * Makefile.util.def: Build ZFS into libgrubmods.
13604 * grub-core/Makefile.core.def: Build zfs.mod.
13605
13606 2010-11-30 Szymon Janc <szymon@janc.net.pl>
13607
13608 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13609 variable.
13610 * grub-core/commands/wildcard.c (match_files): Likewise.
13611
13612 2010-11-30 Robert Millan <rmh@gnu.org>
13613
13614 * grub-core/loader/i386/bsd.c
13615 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13616 whether kernel is loaded using grub_loader_is_loaded(), rather
13617 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13618 certain error conditions.
13619
13620 2010-11-30 Robert Millan <rmh@gnu.org>
13621
13622 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13623 (grub_cmd_echo): Call grub_refresh() after printing a message.
13624
13625 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 Avoid using tricks for initialising endian variables.
13628
13629 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13630 Make const.
13631 (GRUB_MOD_INIT): Don't byte-swap.
13632 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13633 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13634 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13635 (grub_swap_bytes32_compile_time): Likewise.
13636 (grub_cpu_to_le32_compile_time): Likewise.
13637 (grub_cpu_to_le16_compile_time): Likewise.
13638
13639 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * util/grub-setup.c (setup): Stop recommending --force. People who
13642 understand the dangers of blocklists are able to find this option
13643 anyway and the ones who don't shouldn't use it anyway.
13644
13645 2010-11-26 Robert Millan <rmh@gnu.org>
13646
13647 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13648 Update all users.
13649
13650 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
13651
13652 Fix LVM-on-RAID probing.
13653
13654 * util/grub-probe.c (probe): Remember which disk was detected as
13655 RAID (perhaps an LVM physical volume). Use that disk's raidname
13656 rather than that of the top-level disk.
13657
13658 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
13659
13660 Fix cmdline argument quotes for setparams command of menuentry
13661 definitions.
13662
13663 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13664 quotes for arguments.
13665 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
13666 grub_strchrsub function instead.
13667
13668 * include/grub/misc.h (grub_strchrsub): New function.
13669
13670 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13671
13672 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13673 effort by skipping "." and ".." entries up-front.
13674 Suggested by: Michael Lazarev.
13675
13676 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13677
13678 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13679 ldflags to ldadd, to fix link line ordering.
13680 (none_decompress): Likewise.
13681
13682 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13683
13684 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13685 platforms.
13686 (grub-emu-lite): Remove kern/emu/cache.S.
13687
13688 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13689
13690 * util/deviceiter.c (compare_devices): If the by-id link for a
13691 device couldn't be resolved, fall back to sorting by the by-id link
13692 rather than segfaulting.
13693 Reported and tested by: Daniel Mierswa.
13694
13695 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13696
13697 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13698 ldflags, to fix link line ordering.
13699
13700 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13701
13702 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13703 linkers are picky about this.
13704
13705 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13706
13707 * grub-core/Makefile.am (command.lst): Adjust sed expression
13708 ordering so that extended and priority commands aren't treated as
13709 ordinary commands.
13710
13711 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13712
13713 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13714 Remove byte-swapping function calls, which are not valid in
13715 structure initialisers.
13716 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13717 non-const.
13718 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13719 grub_gpt_partition_type_bios_boot.
13720
13721 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13722
13723 Fix test program build on GNU/kFreeBSD.
13724
13725 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13726 $(LIBNVPAIR)' library dependencies.
13727
13728 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13729
13730 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13731
13732 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13733
13734 * util/grub-install.in: Remove excessive quoting that broke
13735 installations to RAID devices.
13736
13737 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13740 bootloader version instead of 0.
13741
13742 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13745 warning.
13746
13747 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13750 retrieve the metadat sector if size isn't known.
13751 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13752
13753 2010-11-18 Robert Millan <rmh@gnu.org>
13754
13755 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13756 with grub_memcmp().
13757
13758 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13761 arrow.
13762 Reported by: Jordan Uggla.
13763
13764 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 Make better UTF compliant.
13767
13768 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13769 sequences as incorrect.
13770 (grub_is_valid_utf8): Likewise.
13771 (grub_utf8_to_ucs4): Likewise.
13772 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13773 (grub_ucs4_to_utf8_alloc): Likewise.
13774 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13775
13776 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 Make legacy_source behave like source.
13779
13780 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13781 grub_show_menu.
13782 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13783
13784 2010-11-16 Colin Watson <cjwatson@debian.org>
13785
13786 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13787 (-Wunused implies -Wunused-parameter, but not vice versa).
13788
13789 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13790
13791 * configure.ac: Make error messages less confusing by testing for
13792 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13793 accepted, but produces a diagnostic if something else is wrong).
13794
13795 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13798 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13799 (now unused).
13800 (grub_keyboard_controller_init)
13801 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13802 read the initial state since controller isn't inited yet.
13803
13804 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13807 allocate_regbeg may need to create new chunk header.
13808
13809 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13810
13811 Fix quoting in legacy parser.
13812
13813 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13814 single quotes.
13815 (grub_legacy_parse): Likewise.
13816 Reported by: Jordan Uggla.
13817 Tested by: Jordan Uggla.
13818
13819 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 Don't add -lgcc on i386 and x86_64.
13822
13823 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13824 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13825 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13826
13827 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * configure.ac: Add -Wno-trampolines when supported.
13830
13831 2010-11-14 Modestas Vainius <modax@debian.org>
13832
13833 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13834 fakeraid.
13835
13836 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13837
13838 Add generic logical block size support for UDF.
13839
13840 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13841 (GRUB_UDF_BLKSZ): Removed.
13842 (struct grub_udf_data): New field "lbshift" to hold the logical block
13843 size of the file system in log2 format. All users updated.
13844 (sblocklist): Change type to unsigned.
13845 (grub_udf_mount): Change type of "sblklist" to unsigned.
13846 Move AVDP search before VRS recognition, because the latter requires
13847 knowledge of the logical block size, which is detected during the
13848 former.
13849 Detect and validate logical block size during AVDP search, adding
13850 support for block sizes 512, 1024 and 4096.
13851 Make VRS recognition independent of block size.
13852
13853 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13854
13855 Properly handle deleted files on UDF.
13856
13857 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13858 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13859 set.
13860
13861 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13862
13863 Support reading files larger than 2 GiB.
13864
13865 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13866 "offset" to grub_off_t.
13867 (grub_udf_read_file): Likewise for parameter "pos".
13868
13869 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13872 unavailable.
13873 (Simple configuration): Refer to Changes from GRUB Legacy about
13874 save_env availability.
13875
13876 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * util/grub-install.in: Ignore empty partition table detection
13879 instead of trying to include part_ module.
13880
13881 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13884 LVM on RAID support.
13885
13886 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 Properly define WORDS_BIGENDIAN in wrapped environments.
13889
13890 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13891 definition.
13892 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13893
13894 Reported by: Manoel Rebelo Abranches.
13895 Tested by: Manoel Rebelo Abranches.
13896
13897 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * util/grub-mkconfig.in: Fix quoting.
13900
13901 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 Support big ext2 files.
13904
13905 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13906 (grub_ext2_read_block): Support triple indirect blocks.
13907 (grub_ext2_read_file): Use 64-bit types and read size_high.
13908 (grub_ext2_open): Read size_high.
13909 Reported by: Ximin Luo.
13910 Tested by: Manoel Rebelo Abranches.
13911
13912 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * util/grub-install.in: Handle filenames containing spaces.
13915 Reported by: Jordan Uggla.
13916 Tested by: Jordan Uggla.
13917
13918 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * util/grub-mkconfig.in (grub_script_check): New variable.
13921 Use grub_script_check instead of grub-script-check.
13922 Reported by: Barry Jackson.
13923
13924 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 * docs/grub.texi (menu): Correct the order.
13927 Reported by: D. Hugh Redelmeier.
13928
13929 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13932 jump.
13933
13934 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13935
13936 * include/grub/elfload.h (grub_elf32_size): New parameter.
13937 All users updated.
13938 Return maximum segments alignment.
13939 (grub_elf64_size): Likewise.
13940 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13941 Return maximum segments alignment.
13942 (grub_elf64_size): Likewise.
13943 * grub-core/loader/powerpc/ieee1275/linux.c:
13944 (grub_linux_claimmap_iterate): New function. Uses the
13945 "available" property in the "memory" node for memory allocation
13946 for kernel in the PowerPC loader.
13947 (grub_linux_load32): Correctly find linux entry point offset.
13948 (grub_linux_load64): Likewise.
13949
13950 2010-11-07 Robert Millan <rmh@gnu.org>
13951
13952 On mips-yeeloong, build with -march=loongson2f when this flag is
13953 available (GCC >= 4.4).
13954 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13955 `-march=mips3'.
13956 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13957 or otherwise add -march=mips3.
13958
13959 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13960
13961 Suppress shell expansion on echo '*' and echo "*" like cases.
13962 Reported by: Jordan Uggla.
13963
13964 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13965 string arguments before shell expansion.
13966 * tests/grub_cmd_echo.in: New testcases.
13967
13968 2010-11-07 Robert Millan <rmh@gnu.org>
13969
13970 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13971 transition.
13972
13973 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * grub-core/kern/emu/hostdisk.c
13976 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13977
13978 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13981 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13982 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13983
13984 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13987
13988 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * util/grub-install.in: Replace useless recomendation to pass
13991 --modules with a recomendation to report a bug.
13992
13993 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 Properly register serial terminfo.
13996 Reported by: Jordan Uggla
13997
13998 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13999 const.
14000 (grub_serial_terminfo_output_template): Likewise.
14001 (grub_cmd_serial): Register "serial" with terminfo.
14002 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14003 grub_serial_terminfo_output.
14004
14005 2010-11-05 Robert Millan <rmh@gnu.org>
14006
14007 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14008 needed).
14009
14010 2010-11-05 Robert Millan <rmh@gnu.org>
14011
14012 On Yeeloong, pass machine type information to Linux.
14013
14014 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14015 (LOONGSON_MACHTYPE): New macro, set to
14016 "machtype=lemote-yeeloong-2f-8.9inches".
14017 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14018 additional argument to Linux.
14019
14020 2010-11-04 Robert Millan <rmh@gnu.org>
14021
14022 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14023 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14024 (its SATA disks are detected as slaveless IDE master drives on
14025 kFreeBSD).
14026 Reported by Carsten Aulbert.
14027
14028 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * util/bin2h.c (main): Fix spelling error in generated output.
14031
14032 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14033
14034 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14035
14036 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14039 vga= option is supplied.
14040
14041 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14044 * util/grub.d/10_kfreebsd.in: Likewise.
14045 * util/grub.d/10_linux.in: Likewise.
14046 * util/grub.d/20_linux_xen.in: Likewise.
14047
14048 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14051 argument as an argument to no-argument option.
14052
14053 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * util/grub.d/10_linux.in: Add missing load_video with explicit
14056 GRUB_GFXPAYLOAD_LINUX.
14057
14058 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14061
14062 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14065 elements with invlid index.
14066 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14067 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14068 members.
14069 * include/grub/raid.h (grub_raid_member): New struct.
14070 (grub_raid_array): Transform devices and start_sector into usage of
14071 grub_raid_member. All users updated
14072 (allocated_devs): New member.
14073
14074 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14077 is modified
14078
14079 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14080
14081 NetBSD build fix for getline function conflict from gnulib.
14082
14083 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14084 components that depend on gnulib headers.
14085 (libgrubmods.a): Renamed from earlier libgrub.a.
14086 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14087
14088 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14091 install rather than creating a broken install.
14092
14093 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * util/grub-setup.c (argp): Remove misleading example of installing to
14096 a partition.
14097
14098 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 * util/grub-setup.c (setup): Clarify the error message.
14101
14102 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14105
14106 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * grub-core/kern/emu/misc.c
14109 (grub_make_system_path_relative_to_its_root)
14110 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14111
14112 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * grub-core/kern/emu/misc.c
14115 (grub_make_system_path_relative_to_its_root): Revert r2882.
14116
14117 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14120 useless field head. All users updated.
14121 (free_subchunk): Correct handling of IN_REGION subchunk.
14122
14123 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
14124
14125 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14126 (Supported kernels): Likewise.
14127
14128 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14129
14130 Make mktemp invocations portable.
14131
14132 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14133 exit if mktemp fails.
14134 * tests/grub_script_blockarg.in: Likewise.
14135 * tests/partmap_test.in: Likewise.
14136 * tests/util/grub-shell-tester.in: Likewise.
14137 * tests/util/grub-shell.in: Likewise.
14138 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14139 * Makefile.am: Likewise, and chain shell commands with `&&'
14140 instead of ';'.
14141 * util/grub-mkrescue.in: Use the same explicit template as above, and
14142 exit if mktemp fails.
14143
14144 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14145
14146 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14147 Linux kernel, reported by Dennis Schridde.
14148
14149 2010-10-17 Szymon Janc <szymon@janc.net.pl>
14150
14151 * grub-core/normal/auth.c (grub_auth_check_authentication):
14152 Set-but-not-used variable removed.
14153
14154 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14157 32-bit linux protocol.
14158
14159 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14162 cursor shape for sanity.
14163
14164 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * docs/grub.texi (Installation): Document buggy BIOS install.
14167
14168 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * docs/grub.texi (Installation): Indent.
14171
14172 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14173
14174 * util/grub-setup.c (setup): New parameter allow_floppy.
14175 (arguments): New member allow_floppy.
14176 (argp_parser): Handle --allow-floppy.
14177 (main): Pass allow_floppy.
14178 * util/grub-install.in: New option --allow-floppy passed though to
14179 grub-setup.
14180
14181 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * util/grub-install.in: Handle partitionless disks.
14184
14185 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * util/grub-setup.c (setup): Don't clean blocklists before readability
14188 verfification.
14189
14190 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * docs/grub.texi (Installation): Document embedding zone. Remove
14193 obsolete grub-install example.
14194
14195 2010-10-16 Szymon Janc <szymon@janc.net.pl>
14196
14197 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14198 Set-but-not-used variable ifdef'ed.
14199 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14200 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14201 variable removed.
14202 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14203 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14204 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14205 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14206 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14207 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14208 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14209 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14210 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14211 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14212 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14213 Likewise.
14214
14215 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14218 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14219 enum value.
14220
14221 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14224 synonym to _S5_. Needed for some DSDTs.
14225
14226 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 Userspace ACPI parser debugging.
14229
14230 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14231 headers and add relevant defines. Don't include standard headers.
14232 (main) [GRUB_DSDT_TEST]: New function.
14233 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14234 Don't declare functions.
14235
14236 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14237
14238 Remove dead grub_efi_mm_fini.
14239
14240 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14241 (ALLOCATED_PAGES_SIZE): Likewise.
14242 (MAX_ALLOCATED_PAGES): Likewise.
14243 (allocated_pages): Likewise.
14244 (grub_efi_allocate_pages): Don't record allocated pages.
14245 (grub_efi_free_pages): Likewise.
14246 (grub_efi_mm_init): Likewise.
14247 (grub_efi_mm_fini): Removed.
14248
14249 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14252 (grub_efi_mm_init): Take into account the memory map size increase.
14253
14254 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14257 (serial_hw_put): Wait based on real time rather than port reads. Don't
14258 roken ports.
14259 * include/grub/serial.h (grub_serial_port): New field broken.
14260
14261 2010-10-16 Robert Millan <rmh@gnu.org>
14262
14263 * grub-core/kern/emu/misc.c
14264 (grub_make_system_path_relative_to_its_root): Fix premature return
14265 when processing non-root ZFS filesystems.
14266 Reported by Sergio Talens-Oliag.
14267
14268 2010-10-15 Robert Millan <rmh@gnu.org>
14269
14270 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14271 guarantee compressed ones are processed first.
14272
14273 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14276 grub_efiemu_autocore.
14277
14278 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14281 rather than 0x1b.
14282 (grub_console_getkey): Use correct jae opcode rather than ja.
14283
14284 2010-10-12 Robert Millan <rmh@gnu.org>
14285
14286 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14287 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14288 variable. All references updated.
14289
14290 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14291
14292 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14293
14294 Correctly distinguish mdraid flavours.
14295
14296 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14297 (insert_array): New argument raid.
14298 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14299 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14300 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14301
14302 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14305 handling of special keys.
14306
14307 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14308
14309 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14310 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14311
14312 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14313
14314 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14315 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14316 users updated.
14317 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14318 Use right endpoint when querying descriptor.
14319
14320 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 Clear out 0x80 color bit on EFI.
14323 Tested by: decoder
14324 Reported by: decoder and meta tech.
14325
14326 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14327 (grub_console_setcolorstate): Clear out 0x80 bit.
14328 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14329 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14330 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14331
14332 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14335 Set to "auto".
14336
14337 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14340 mo_file after freeing.
14341
14342 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14345
14346 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14349 flags.
14350
14351 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14354 usage.
14355
14356 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14359
14360 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14361 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14362 and terminfo.h when needed.
14363 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14364 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14365 (terminfo): Enable only on terminfokernel.
14366 (extcmd): Likewise.
14367 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14368 * include/grub/lib/arg.h: Likewise.
14369 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14370 incorrect usage of ->.
14371
14372 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14375 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14376
14377 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 Fix coreboot compilation.
14380
14381 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14382 Take VBE info into account even if only text is supported.
14383 (fill_vbe_info): Take into account the case when only VGA text
14384 is supported.
14385 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14386 on coreboot, multiboot and qemu.
14387
14388 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14391 debug messages.
14392 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14393
14394 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14397 parameters.
14398
14399 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14402 if they were BSD-style.
14403
14404 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * grub-core/boot/i386/pc/lnxboot.S: Replace
14407 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14408 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14409
14410 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14411
14412 Write embedding zone using Reed-Solomon.
14413
14414 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14415 * grub-core/Makefile.am (rs_decoder.S): New target.
14416 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14417 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14418 (multiboot): Move to RS part.
14419 (post_reed_solomon): New label.
14420 (grub_boot_drive): Move to non-RS part since it's modified in memory
14421 on boot.
14422 Include rs_decoder.S.
14423 * grub-core/lib/reed_solomon.c: New file.
14424 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14425 New definition.
14426 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14427 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14428 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14429 * include/grub/partition.h (grub_partition_map): Change prototype of
14430 embed to allow returning additional sectors.
14431 * include/grub/reed_solomon.h: New file.
14432 * util/grub-setup.c (setup): Handle Reed-Solomon.
14433
14434 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14435
14436 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14437 i386 and x86-64 definedness tests.
14438
14439 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14440
14441 Fix generation of kernel_syms.lst
14442
14443 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14444 ASM_PREFIX
14445
14446 2010-09-26 Robert Millan <rmh@gnu.org>
14447
14448 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14449
14450 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14451 the pool is an array of devices, iterate through it and return the
14452 first device that passes a stat() test (instead of blindly returning
14453 the first one).
14454
14455 2010-09-26 Robert Millan <rmh@gnu.org>
14456
14457 Build fixes for GNU/kFreeBSD.
14458
14459 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14460 to programs that require ZFS conversion.
14461 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14462 kernels that don't have FLOPPY_MAJOR.
14463
14464 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14465
14466 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14467
14468 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14469
14470 Fix grub-emu build.
14471
14472 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14473 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14474 mdraid09 and mdraid1x.
14475
14476 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14477
14478 Re-enable grub-extras.
14479
14480 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14481 avoid confusing Automake. Run autogen only twice, once for the top
14482 level and once for grub-core. Add Makefile.util.def and
14483 Makefile.core.def from extra modules to the appropriate autogen
14484 invocations. If Makefile.common exists in an extra module, include
14485 it in both Makefile.util.am and grub-core/Makefile.core.am;
14486 similarly, include any Makefile.util.common file in Makefile.util.am
14487 and any Makefile.core.common file in grub-core/Makefile.core.am.
14488 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14489 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14490 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14491 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14492
14493 * gentpl.py (gvar_add): Turn GVARS into a set.
14494 (global_variable_initializers): Sort global variables on output.
14495 (vars_init): New function.
14496 (first_time): Likewise.
14497 (library): Ensure that non-global variable initialisations are
14498 emitted before the first time we emit code for a library block.
14499 Append to variables rather than setting them. Only emit
14500 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14501 each conditional path.
14502 (program): installdir() emits an Autogen macro, so must be passed to
14503 var_add rather than gvar_add.
14504 (data): Likewise.
14505 (script): Likewise.
14506 (rules): New function, centralising handling for different target
14507 types. Set up Guile association lists for first_time and vars_init,
14508 and send most output to a diversion so that variable initialisations
14509 can be emitted first.
14510 (module_rules): Use new rules function.
14511 (kernel_rules): Likewise.
14512 (image_rules): Likewise.
14513 (library_rules): Likewise.
14514 (program_rules): Likewise.
14515 (script_rules): Likewise.
14516 (data_rules): Likewise.
14517
14518 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14519
14520 * .bzrignore: Add contrib and grub-core/contrib. Remove
14521 grub-core/Makefile.gcry.am.
14522
14523 2010-09-24 Yves Blusseau <blusseau@zetam.org>
14524
14525 * grub-core/lib/LzFind.c: Add missing include.
14526 * grub-core/lib/LzmaEnc.c: Likewise.
14527 * grub-core/script/lexer.c: Likewise.
14528 * grub-core/script/yylex.l: Likewise.
14529 * util/grub-macho2img.c: Likewise.
14530 * util/grub-menulst2cfg.c: Likewise.
14531 * util/grub-mklayout.c: Likewise.
14532 * util/grub-mkpasswd-pbkdf2.c
14533 * util/grub-mkrelpath.c: Likewise.
14534 * util/resolve.c: Likewise.
14535
14536 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14537
14538 * Makefile.util.def (example_unit_test): Add
14539 grub-core/gnulib/libgnu.a.
14540
14541 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14542
14543 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14544
14545 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 Support xz compression on yeeloong.
14548
14549 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14550 * configure.ac: Check for LZMA.
14551 * grub-core/Makefile.core.def (xz_decompress): New target.
14552 (none_decompress): Likewise.
14553 * grub-core/boot/decompressor/minilib.c: New file.
14554 * grub-core/boot/decompressor/none.c: Likewise.
14555 * grub-core/boot/decompressor/xz.c: Likewise.
14556 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14557 * grub-core/kern/mips/cache_flush.S: Likewise.
14558 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14559 * grub-core/kern/mips/startup.S: Move first stage to ...
14560 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14561 nomacro.
14562 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14563 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14564 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14565 Allocate statically.
14566 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14567 Allocate statically or use scratch. Don't check CRC32.
14568 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14569 Allocate statically. Don't check CRC32.
14570 * include/grub/decompressor.h: New file.
14571 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14572 Removed.
14573 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14574 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14575 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14576 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14577 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14578 * util/grub-mkimage.c (grub_compression_t): New type.
14579 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14580 (image_target_desc): New field default_compression.
14581 (image_targets): Adjust yeeloong targets.
14582 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14583 (compress_kernel): New parameter comp.
14584 (generate_image): Likewise. Handle new compression case.
14585 (options): New option --compression
14586 (help): Likewise.
14587 (main): Handle new option.
14588
14589 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14590
14591 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14592
14593 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
14594
14595 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14596 typo in __i386__ conditional.
14597
14598 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14601 include.
14602
14603 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 Implement EFI and ACPI multiboot2 extensions.
14606
14607 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14608 new tags as supported.
14609 (acpiv2_size): New function.
14610 (grub_multiboot_get_mbi_size): Take new tags into account.
14611 (grub_multiboot_make_mbi): Add new tags.
14612 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
14613
14614 2010-09-21 Aleš Nesrsta <starous@volny.cz>
14615
14616 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14617 Added missing configuration of USB device.
14618
14619 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14620
14621 * grub-core/normal/menu_entry.c (run): Make sure we always return
14622 a value.
14623
14624 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14625
14626 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14627 NumberOfPages is UINT64 according to the UEFI specification, not
14628 UINTN. Fix printf format.
14629
14630 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14631
14632 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14633 `err' to grub_usb_err_t.
14634 Reported and tested by: KESHAV P.R.
14635
14636 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14637
14638 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14639 tpart non-const, so that we can assign to it. (Since this is a
14640 typedef, the constness refers to the pointer rather than what it
14641 points to.)
14642
14643 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14644
14645 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14646 $(top_srcdir)/grub-core/gnulib as well as
14647 $(top_builddir)/grub-core/gnulib.
14648 Reported by: KESHAV P.R.
14649
14650 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14651
14652 * util/grub-install.in: Fix the bootloader ID option to be
14653 consistently --bootloader-id, not --bootloader_id.
14654 Reported by: KESHAV P.R.
14655
14656 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14657
14658 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14659 check hash checksum." consistently translatable.
14660
14661 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14662
14663 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14664 $(top_builddir).
14665
14666 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14667
14668 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14669 (GRUB_MOD_INIT): Register sha1sum command.
14670 (GRUB_MOD_FINI): Unregister sha1sum command.
14671
14672 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14673
14674 Keep boot and grub directory names in sync with utils scripts
14675
14676 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14677 * config.h.in: Add previous macros.
14678 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14679 * util/grub-install.in: Use $bootdir and $grubdir variables.
14680
14681 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14682
14683 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14684 convert partition names to disk names if the new `convert' parameter
14685 is set.
14686 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14687 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14688 disk in its own right. This can happen with Xen disk images.
14689
14690 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14691
14692 * util/grub-editenv.c: Update strings to avoid warnings when generating
14693 grub.pot file.
14694 * util/grub-setup.c: Likewise.
14695
14696 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * configure.ac: Change version to 1.99~beta0.
14699
14700 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14701
14702 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14703 Add BADRAM.
14704 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14705 Likewise.
14706 * include/multiboot.h: Resynced with specification.
14707 * include/multiboot2.h: Likewise.
14708
14709 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14710
14711 Fix po directory handling.
14712
14713 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14714 * grub-core/gnulib/Makefile.am: Import gettext module.
14715 * m4/gnulib-cache.m4: Likewise.
14716 * m4/gnulib-comp.m4: Likewise.
14717 * m4/gettext.m4: New file, from gnulib.
14718 * m4/glibc2.m4: Likewise.
14719 * m4/iconv.m4: Likewise.
14720 * m4/intdiv0.m4: Likewise.
14721 * m4/intl.m4: Likewise.
14722 * m4/intldir.m4: Likewise.
14723 * m4/intlmacosx.m4: Likewise.
14724 * m4/intmax.m4: Likewise.
14725 * m4/inttypes-pri.m4: Likewise.
14726 * m4/lcmessage.m4: Likewise.
14727 * m4/lib-ld.m4: Likewise.
14728 * m4/lib-link.m4: Likewise.
14729 * m4/lib-prefix.m4: Likewise.
14730 * m4/lock.m4: Likewise.
14731 * m4/nls.m4: Likewise.
14732 * m4/po.m4: Likewise.
14733 * m4/printf-posix.m4: Likewise.
14734 * m4/progtest.m4: Likewise.
14735 * m4/threadlib.m4: Likewise.
14736 * m4/uintmax_t.m4: Likewise.
14737 * m4/visibility.m4: Likewise.
14738 * po/Makefile.am: Remove.
14739 * po/Makefile.in.in: New file, from gettext.
14740 ($(DOMAIN).pot-update): Support POTFILES-shell.
14741 * po/Makevars: New file.
14742 * po/POTFILES-shell: Rename to ...
14743 * po/POTFILES-shell.in: ... this. Update.
14744 * po/POTFILES: Rename to ...
14745 * po/POTFILES.in: ... this. Update.
14746 * po/Rules-quot: New file, from gettext.
14747 * po/boldquot.sed: Likewise.
14748 * po/en@boldquot.header: Likewise.
14749 * po/en@quot.header: Likewise.
14750 * po/insert-header.sin: Likewise.
14751 * po/quot.sed: Likewise.
14752 * po/remove-potcdate.sin: Likewise.
14753
14754 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14757
14758 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 * util/grub.d/20_linux_xen.in: Use submenus.
14761
14762 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 Support submenus.
14765
14766 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14767 parameter submenu. All users updated.
14768 * grub-core/normal/main.c (free_menu): Rename to ...
14769 (grub_normal_free_menu): ... this. Made global.
14770 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14771 if requested.
14772 * grub-core/normal/menu_entry.c (screen): New field submenu.
14773 (make_screen): Set submenu.
14774 (run): Open new context if requested.
14775 * include/grub/menu.h (grub_menu_entry): New field submenu.
14776 * include/grub/normal.h (grub_normal_free_menu): New proto.
14777
14778 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14779
14780 Menu entries extractor.
14781
14782 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14783 variants.
14784 (GRUB_MOD_INIT): Register new variants.
14785 (GRUB_MOD_FINI): Unregister new variants.
14786 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14787 into grub_cmd_legacy_source.
14788 (grub_cmd_legacy_source): Implement extractor variants.
14789 (GRUB_MOD_INIT): Register new variants.
14790 (GRUB_MOD_FINI): Unregister new variants.
14791 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14792 as an extractor.
14793 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14794 search as an extractor.
14795 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14796 test as an extractor.
14797 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14798 as an extractor.
14799 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14800 (grub_env_new_context): New function.
14801 (grub_env_context_open): Likewise.
14802 (grub_env_extractor_open): Likewise.
14803 (grub_env_extractor_close): Likewise.
14804 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14805 grub_extractor_level.
14806 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14807 * include/grub/env.h (grub_env_extractor_open): New proto.
14808 (grub_env_extractor_close): Likewise.
14809 * include/grub/normal.h (grub_extractor_level): New external variable.
14810
14811 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 Make cutmem accept a region specification.
14814 Suggested by: Samuel Thibault
14815
14816 * grub-core/mmap/mmap.c (parsemem): New function.
14817 (grub_cmd_cutmem): Handle new arguments.
14818
14819 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 New command cutmem.
14822
14823 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14824 (GRUB_MOD_INIT): Register new command.
14825 (GRUB_MOD_FINI): Unregister new command.
14826
14827 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 Support some annoying BSD and Minix subpartitions.
14830
14831 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14832 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14833 Properly handle concatenation.
14834 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14835 * grub-core/normal/completion.c (iterate_partition): Likewise.
14836 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14837 contain partition. All users updated.
14838 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14839 struct.
14840 (grub_openbsdlabel_partition_map): Likewise.
14841 (bsdlabel_partition_map_iterate): Rename to ..
14842 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14843 (bsdlabel_partition_map_iterate): New function.
14844 (netopenbsdlabel_partition_map_iterate): Likewise.
14845 (netbsdlabel_partition_map_iterate): Likewise.
14846 (openbsdlabel_partition_map_iterate): Likewise.
14847 (GRUB_MOD_INIT): Register new partmaps.
14848 (GRUB_MOD_FINI): Unregister new partmaps.
14849 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14850 (grub_partition_msdos_iterate): ... this. All users updated.
14851 Don't support embedding other than in a minix partition.
14852 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14853 proto.
14854 * include/grub/partition.h (grub_partition): New field msdostype.
14855 * util/grub-install.in: Handle openbsd and netbsd types being in
14856 part_bsd module.
14857
14858 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14861
14862 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14863 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14864 (mdraid09): ... this.
14865 (mdraid1x): New module.
14866 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14867 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14868
14869 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14870
14871 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14872 vsprintf.
14873
14874 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14875
14876 * grub-core/commands/efi/lsefimmap.c: Correct header.
14877 * NEWS: Update.
14878
14879 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14880
14881 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14882 as printf format strings; the translations might contain '%' which
14883 could cause a crash.
14884 (main): Likewise.
14885 * util/grub-fstest.c (argp_parser): Likewise.
14886 * util/grub-setup.c (argp_parser): Likewise.
14887 (main): Likewise.
14888
14889 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 Use argp in grub-fstest.
14892
14893 * util/grub-fstest.c: Don't include getopt.h.
14894 Include argp.h.
14895 (root): New variable.
14896 (args_count): Likewise.
14897 (nparm): Likewise.
14898 (num_disks): Likewise.
14899 (images): Likewise.
14900 (cmd): Likewise.
14901 (debug_str): Likewise.
14902 (args): Likewise.
14903 (options): Transformed to argp.
14904 (usage): Removed.
14905 (main): Split argument parsing into ...
14906 (argp_parser): ... this. Changed to argp format.
14907 (argp): New variable.
14908 (main): Use argp_parse.
14909
14910 2010-09-20 Tristan Gingold <gingold@free.fr>
14911 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14912 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * grub-core/commands/efi/lsefimmap.c: New file.
14915 * grub-core/Makefile.core.def (lsefimmap): New module.
14916 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14917
14918 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 Pause the execution (10s max) if any errors are displayed so the user
14921 has a chance to see them.
14922
14923 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14924 (grub_print_error): Increment grub_err_printed_errors.
14925 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14926 execution if any errors were displayed.
14927 (show_menu): Remove old code for pause.
14928 * grub-core/normal/menu_entry.c (run): Likewise.
14929 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14930 users updated.
14931 (grub_normal_get_char_counter): Likewise.
14932 * include/grub/err.h (grub_err_printed_errors): New external variable.
14933 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14934
14935 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 Support multiboot VBE info.
14938
14939 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14940 Take VBE info into account.
14941 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14942 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14943 Call fill_vbe_info when appropriate.
14944 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14945 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14946 as supported.
14947 (grub_multiboot_get_mbi_size): Take new tags into account.
14948 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14949 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14950 Call fill_vbe_tag when appropriate.
14951 (grub_multiboot_make_mbi): Properly align tags.
14952 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14953 function.
14954 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14955 proto.
14956 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14957
14958 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 Suport manual terminal geometry specification.
14961
14962 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14963 Save state in grub_ofconsole_terminfo_output.
14964 (grub_ofconsole_term): Use grub_terminfo_getwh.
14965 (grub_ofconsole_getwh): Removed.
14966 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14967 (grub_serial_term): Use grub_terminfo_getwh.
14968 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14969 (options): New struct.
14970 (OPTION_*): New enum.
14971 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14972 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14973 width and height.
14974 (grub_terminfo_getwh): New proto.
14975 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14976
14977 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 Handle legacy "terminal" command.
14980
14981 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14982 and FLAG_TERMINAL.
14983 (legacy_commands): Add terminal and title.
14984 (grub_legacy_parse): Handle terminal. Simplify title handling.
14985
14986 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14989 parameters overflow.
14990
14991 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14992
14993 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14994 widthspec.h.
14995
14996 * docs/grub.texi (Shell-like scripting): Document `!'.
14997 (Network): Simplify using new i386-pc-pxe format. Mention
14998 grub-mknetdir.
14999
15000 * NEWS: Update.
15001
15002 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15003
15004 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15005 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15006 when needed.
15007
15008 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15009
15010 * grub-core/commands/efi/lsefisystab.c: Correct header.
15011 * grub-core/commands/efi/lssal.c: Likewise.
15012 * grub-core/commands/testload.c: Likewise.
15013
15014 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15015
15016 * util/grub-mkrescue.in: Add explicit root argument to --set to
15017 prevent the UUID being interpreted as an argument to --set (matches
15018 previous change to prepare_grub_to_access_device).
15019
15020 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15021
15022 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15023 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15024 the verbosity of later #ifs.
15025 (find_partition_start): Define this function on FreeBSD too.
15026 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15027 function.
15028 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15029 on FreeBSD.
15030
15031 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15032
15033 * util/grub-editenv.c: Use argp instead of getopt.
15034
15035 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15036
15037 * util/grub-setup.c: Use argp instead of getopt.
15038
15039 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15040
15041 Use gnulib-tool to create gnulib source files.
15042
15043 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15044 grub-core/gnulib directories
15045 * .bzignore: Add **/.deps and autogenerated gnulib files
15046 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15047 of gnulib macros, add grub-core/gnulib/Makefile
15048 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15049 include m4 directory to aclocal.
15050 * Makefile.util.def: Remove direct compilation of gnulib source files
15051 and use the new grub-core/gnulib/libgnu.a.
15052 * build-aux/config.rpath: move config.rpath from top directory to
15053 build-aux
15054 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15055 in gnulib headers
15056 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15057 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15058 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15059 header.
15060 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15061 string.
15062
15063 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15064
15065 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15066 grub-core/genmod.sh and grub-core/gensyminfo.sh
15067
15068 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15069
15070 Add a test for echo command options.
15071
15072 * tests/grub_cmd_echo.in: New test.
15073 * Makefile.util.def: Rules for new test.
15074
15075 2010-09-20 Szymon Janc <szymon@janc.net.pl>
15076
15077 Remove crc.mod and move crc command to hashsum.mod.
15078 Remove lib/crc.c - users updated to use gcrypt implementation.
15079
15080 * grub-core/commands/crc.c: Removed.
15081 * grub-core/Makefile.core.def (crc): Module removed.
15082 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15083 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15084 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15085 * grub-core/lib/crc.c: Removed.
15086 * include/grub/lib/crc.h: Removed.
15087 * Makefile.util.def (crc): Remove lib/crc.c
15088 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15089 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15090 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15091 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15092 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15093 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15094
15095 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15098
15099 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 Split config.h for util and core.
15102
15103 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15104 (ADDR32): Likewise.
15105 (DATA32): Likewise.
15106 (BSS_START_SYMBOL): Likewise.
15107 (END_SYMBOL): Likewise.
15108 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15109 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15110 * config.h.in: New file.
15111 * configure.ac: Use config-util.h as config define file.
15112 Rename MACHINE into GRUB_MACHINE. All users updated.
15113 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15114 updated.
15115 (NESTED_FUNC_ATTR): Likewise.
15116 Substitue new variables.
15117 (COND_HAVE_ASM_USCORE): New conditional.
15118 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15119 (kernel_syms.lst): Use ASM_PREFIX.
15120 * grub-core/kern/emu/console.c: Include config-util.h.
15121 * grub-core/kern/emu/misc.c: Likewise.
15122 * grub-core/kern/emu/mm.c: Likewise.
15123 * include/grub/emu/misc.h: Likewise.
15124 * include/grub/libgcc.h: Likewise.
15125
15126 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15129 constants usage.
15130 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15131 Fix GRUB_TERM_KEY_* constants usage.
15132 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15133
15134 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15137 print pointer.
15138 * grub-core/bus/usb/uhci.c: Remove empty define.
15139 (grub_uhci_check_transfer): Add missing cast.
15140 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15141 print pointer.
15142 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15143 PRIuGRUB_SIZE.
15144 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15145
15146 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 * grub-core/Makefile.core.def (legacycfg): Add
15149 lib/i386/pc/vesa_modes_table.c on emu.
15150
15151 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15152
15153 Reduce number of temporary files generated by build system.
15154
15155 * grub-core/gencmdlist.sh: Removed.
15156 * grub-core/genfslist.sh: Removed.
15157 * grub-core/genhandlerlist.sh: Removed.
15158 * grub-core/genmodsrc.sh: Removed.
15159 * grub-core/genpartmaplist.sh: Removed.
15160 * grub-core/genparttoollist.sh: Removed.
15161 * grub-core/gentermiinallist.sh: Removed.
15162 * grub-core/genvideolist.sh: Removed.
15163
15164 * grub-core/genmod.sh.in: New file.
15165 * grub-core/gensyminfo.sh.in: New file.
15166
15167 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15168 * conf/Makefile.extra-dist: Update with new files.
15169 * gentpl.py: Remove rules related to unnecessary temporary files.
15170 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15171 and und-* files.
15172 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15173 genmod.sh scripts.
15174 * grub-core/bus/usb/uhci.c: Remove empty #define.
15175 * grub-core/genmoddep.awk: Updated with new syminfo format.
15176 * util/bash-completion.d/Makefile.am: Add config.log to
15177 CLEANFILES.
15178
15179 2010-09-19 Yves Blusseau <blusseau@zetam.org>
15180
15181 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15182
15183 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15184
15185 * util/grub-mkconfig.in: Check the config script for syntax errors
15186 before saving.
15187
15188 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
15189 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15192 platforms.
15193 * util/grub-install.in: Add EFI and IEEE1275 support.
15194 * util/i386/efi/grub-install.in: Removed.
15195 * util/ieee1275/grub-install.in: Likewise.
15196
15197 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15200 (grub_cmd_cmosclean): Likewise.
15201 (GRUB_MOD_INIT): Register command cmosclean.
15202 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15203 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15204
15205 2010-09-18 Carles Pina i Estany <carles@pina.cat>
15206 2010-09-18 Aleš Nesrsta <starous@volny.cz>
15207 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 Add keyboard layouts support.
15210
15211 * Makefile.util.def (grub-mklayout): New file.
15212 (grub-kbdcomp): New script.
15213 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15214 Add keyboard_layouts.h.
15215 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15216 commands/boot.c on yeeloong.
15217 (keylayouts): New module.
15218 * grub-core/bus/usb/ohci.c
15219 * grub-core/bus/usb/uhci.c
15220 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15221 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15222 (attach_root_port): Likewise.
15223 (poll_nonroot_hub): Likewise.
15224 (grub_usb_poll_devices): Likewise.
15225 (detach_device): Close transfer.
15226 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15227 function.
15228 (grub_usb_bulk_setup_readwrite): Likewise.
15229 (grub_usb_bulk_finish_readwrite): Likewise.
15230 * grub-core/commands/keylayouts.c: New file.
15231 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15232 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15233 aliases.
15234 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15235 support scancode 2.
15236 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15237 * include/grub/keyboard_layouts.h: New file.
15238 * util/grub-mklayout.c: New file.
15239 * util/grub-kbdcomp.in: Likewise.
15240
15241 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 Unify memory types.
15244
15245 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15246 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15247 types.
15248 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15249 (grub_upper_mem): Likewise.
15250 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15251 * include/grub/memory.h (grub_memory_type_t): New enum.
15252 All users updated.
15253
15254 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 * grub-core/Makefile.core.def (lsapm): New module.
15257 * grub-core/commands/i386/pc/lsapm.c: New file.
15258 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15259 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15260 Likewise.
15261 * include/grub/i386/pc/apm.h: New file.
15262 * include/multiboot.h (multiboot_apm_info): New struct.
15263
15264 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 GRUB-legacy configuration file support.
15267
15268 * Makefile.util.def (grub-menulst2cfg): New util.
15269 * docs/man/grub-menulst2cfg.h2m: New file.
15270 * grub-core/Makefile.core.def (legacycfg): New module.
15271 * grub-core/commands/legacycfg.c: New file.
15272 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15273 (grub_normal_add_menu_entry): ... this.
15274 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15275 (grub_normal_set_password): ...this.
15276 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15277 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15278 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15279 * grub-core/lib/legacy_parse.c: New file.
15280 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15281 * include/grub/i386/pc/vesa_modes_table.h: New file.
15282 * include/grub/legacy_parse.h: Likewise.
15283 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15284 * util/grub-menulst2cfg.c: New file.
15285
15286 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15287
15288 * grub-core/kern/emu/hostdisk.c
15289 (convert_system_partition_to_system_disk): Initialise node.
15290
15291 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15292
15293 * grub-core/kern/emu/hostdisk.c
15294 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15295 leak.
15296 Reported and based on patch by: Modestas Vainius.
15297
15298 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15299
15300 Fix DM-RAID probing with recent versions of device-mapper udev
15301 rules.
15302
15303 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15304 canonicalise device paths under /dev/mapper/.
15305 (convert_system_partition_to_system_disk): Compare the
15306 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15307 path, since device nodes under /dev/mapper/ are often symlinks.
15308
15309 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15310
15311 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15312
15313 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15314
15315 * configure.ac: Avoid some annoying error messages if freetype-config
15316 program is not found.
15317
15318 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15319
15320 Support RAID on virtio devices, and others.
15321
15322 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15323 Rename to ...
15324 [__MINGW32__] (grub_find_device): ... this.
15325 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15326 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15327 reasonable default if dir is NULL.
15328 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15329 ...
15330 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15331 (grub_guess_root_device): Update callers.
15332 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15333
15334 * util/raid.c (grub_util_getdiskname): Remove.
15335 (grub_util_raid_getmembers): Use grub_find_device rather than
15336 grub_util_getdiskname.
15337
15338 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15339
15340 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15341 needing to be compiled with serial support.
15342 (ls): Indicate that multiple files are accepted.
15343 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15344 indicate that multiple files are accepted.
15345
15346 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15347
15348 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15349 libgrub_a_init.c, and util/bash-completion.d/grub.
15350
15351 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 * util/grub-setup.c (setup): Fix incorrect container semantics.
15354
15355 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15356
15357 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15358 misusage.
15359 Reported by: J. Nick Terry
15360
15361 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15362
15363 Move embedding routines to partmap sources files.
15364
15365 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15366 [GRUB_UTIL]: New variable.
15367 (gpt_partition_map_iterate): Set part.parent.
15368 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15369 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15370 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15371 New function.
15372 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15373 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15374 (grub_partition_map) [GRUB_UTIL]: New field embed.
15375 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15376 (setup): Use ->embed.
15377
15378 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15381 function.
15382 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15383 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15384
15385 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15386
15387 Add function to get completions from usage.
15388
15389 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15390 completions from usage. Use LC_ALL=C to get options properly.
15391
15392 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15393
15394 * grub-core/gnulib/basename-lgpl.c: Imported.
15395 * grub-core/gnulib/basename.c: Likewise.
15396 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15397 * grub-core/gnulib/dirname.c: Likewise.
15398 * grub-core/gnulib/dirname.h: Likewise.
15399 * grub-core/gnulib/stripslash.c: Likewise.
15400
15401 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 * grub-core/gnulib/error.c: Resynced.
15404 * grub-core/gnulib/getopt.c: Likewise.
15405 * grub-core/gnulib/getopt_int.h: Likewise.
15406 * grub-core/gnulib/regex.h: Likewise.
15407 * grub-core/gnulib/regex_internal.c: Likewise.
15408 * grub-core/gnulib/regex_internal.h: Likewise.
15409
15410 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15411
15412 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15413 CRC calculations and validity checks.
15414 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15415 calculations.
15416
15417 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15418
15419 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15420
15421 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 Fix incorrect echo options handling.
15424 Reported by: Yves Blusseau.
15425
15426 * include/grub/command.h (grub_command_flags_t): New flags
15427 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15428 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15429 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15430
15431 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15434 users updated.
15435 (GRUB_COMMAND_FLAG_MENU): Likewise.
15436 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15437 (GRUB_COMMAND_FLAG_TITLE): Removed.
15438 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15439 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15440 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15441 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15442 (grub_command_flags_t): New enum. All users updated.
15443
15444 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15445
15446 Fix solaris compilation.
15447
15448 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15449 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15450 (grub-emu-list): Likewise.
15451
15452 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 Remove deprecated root command.
15455
15456 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15457 updated.
15458
15459 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * util/i386/pc/grub-setup.c: Merge this ...
15462 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15463 * util/grub-setup.c: ... into this.
15464 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15465 New struct.
15466
15467 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15470 possible.
15471
15472 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15475 allocate p.
15476
15477 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15478
15479 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15480 explicit root argument to set to prevent UUID to be interpreted as
15481 argument to set.
15482
15483 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15486
15487 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 Don't export grub_gate_a20.
15490
15491 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15492 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15493 to ...
15494 (grub_gate_a20): ... this. All users updated.
15495 * include/grub/i386/pc/init.h: Removed. All users updated.
15496
15497 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 Create euro.pf2 which supports most European languages.
15500
15501 * Makefile.am (grubdata_DATA): Add euro.pf2.
15502 (euro.pf2): New target.
15503 (CLEANFILES): Add euro.pf2.
15504
15505 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * configure.ac: Disable emu-usb by default to prevent inadvertent
15508 device takeover.
15509
15510 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 Disable usbserial on grub-emu since our libusb code isn't good enough
15513 yet.
15514
15515 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15516 (usbserial_pl2303): Likewise.
15517 (usbserial_ftdi): Likewise.
15518
15519 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * include/grub/disk.h (grub_disk): Remove has_partitions.
15522 All users updated.
15523 * disk/loopback.c (grub_loopback): Remove has_partitions.
15524 All users updated.
15525 (options): Remove partitions. All users updated.
15526 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15527 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15528 actual partition table is found.
15529
15530 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 Remove readability checks (too many false negatives).
15533
15534 * util/grub-install.in: Remove readability checks.
15535 * util/grub-mkconfig.in: Likewise.
15536 * util/grub.d/10_hurd.in: Likewise.
15537 * util/grub.d/10_kfreebsd.in: Likewise.
15538 * util/grub.d/10_linux.in: Likewise.
15539 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15540 way.
15541
15542 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 Enable acpi shutdown on all ACPI platforms.
15545
15546 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15547 on coreboo, multiboot and EFI.
15548 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15549 (grub_acpi_halt): Likewise.
15550 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15551 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15552 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15553 * grub-core/lib/i386/halt.c (grub_halt)
15554 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15555
15556 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15559 context.
15560
15561 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15564 * grub-core/video/efi_uga.c: Likewise.
15565
15566 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15567
15568 Filter devaliases and never open same device twice.
15569
15570 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15571 (last_ihandle): Likewise.
15572 (ofdisk_hash_ent): New member shortest.
15573 (ofdisk_hash_add): Add canonical path too.
15574 (scan): New function.
15575 (grub_ofdisk_iterate): Iterate over hashed entries.
15576 (compute_dev_path): Don't add :0.
15577 (grub_ofdisk_open): Don't really open the disk.
15578 (grub_ofdisk_close): Avoid closing unrelated disk.
15579 (grub_ofdisk_read): Implement reopen logic.
15580 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15581 New function.
15582 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15583 New proto.
15584
15585 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 Fix sparc64.
15588
15589 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15590 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15591 right address. Add sparc64_ieee1275_ldflags.
15592 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15593 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15594 to grub_host_to_target_addr
15595 (load_image): Likewise.
15596
15597 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * grub-core/normal/completion.c (complete_file): Handle device
15600 containing slash.
15601 Fix based on patch by Doug Nazar.
15602
15603 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 grub-mknetdir script.
15606
15607 * Makefile.util.def (grub-mknetdir): New module.
15608 * tests/util/grub-shell.in: Support boot=net
15609 * util/grub-mknetdir.in: New file.
15610
15611 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 videoinfo on non-vbe.
15614
15615 * grub-core/Makefile.core.def (vbeinfo): Removed.
15616 (vbetest): Removed.
15617 (videoinfo): New module.
15618 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15619 * grub-core/commands/i386/pc/vbetest.c: Removed.
15620 * grub-core/commands/videoinfo.c: New file.
15621 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15622 specification.
15623 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15624 as vbetest.
15625 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15626 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15627 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15628 mode_number. New parameter mode. All users updated.
15629 (grub_video_gop_iterate): New function.
15630 (grub_video_efi_gop): New member iterate.
15631 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15632 (grub_vbe_set_video_mode): Remove setting useless fields.
15633 (vbe2videoinfo): New function.
15634 (grub_video_vbe_iterate): Likewise.
15635 (grub_video_vbe_setup): Use vbe2videoinfo.
15636 (grub_video_vbe_print_adapter_specific_info): New function.
15637 (grub_video_vbe_adapter): New fields iterate and
15638 print_adapter_specific_info.
15639 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15640 All users updated.
15641 (grub_video_mode_info): New field mode_number.
15642 (grub_video_adapter): New fields iterate and
15643 print_adapter_specific_info.
15644
15645 2010-09-13 Tristan Gingold <gingold@free.fr>
15646 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15647 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 * grub-core/commands/efi/lsefisystab.c: New file.
15650 * grub-core/commands/efi/lssal.c: Likewise.
15651 * grub-core/Makefile.core.def (lsacpi): New module.
15652 (lsefisystab): Likewise.
15653 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15654 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15655 (grub_efi_sal_system_table): New struct.
15656 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15657 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15658 (grub_efi_sal_system_table_platform_features): Likewise.
15659 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15660 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15661 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15662 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15663
15664 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15665
15666 Support explicit user claim that a device is BIOS-visible.
15667
15668 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15669 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15670 * grub-core/kern/emu/hostdisk.c
15671 (convert_system_partition_to_system_disk): Support mdX.
15672 (find_system_device): New parameter add. All users updated.
15673 (grub_util_biosdisk_is_present): New function.
15674 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15675 proto.
15676
15677 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 Search hints support.
15680
15681 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15682 All users updated.
15683
15684 2010-09-13 Yves Blusseau <blusseau@zetam.org>
15685
15686 Bash completion script for util commands
15687
15688 * Makefile.am: Add util/bash-completion.d directory
15689 * configure.ac: Likewise.
15690 * util/bash-completion.d/Makefile.am: New file.
15691 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15692
15693 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15696 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15697 Reported by: Yves Blusseau.
15698
15699 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15700
15701 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15702 partition size and offset.
15703
15704 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15707
15708 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15711
15712 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15715 (grub_xvasprintf): Likewise.
15716
15717 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15720
15721 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15724 args ending with NULL.
15725
15726 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15729 pointer.
15730
15731 2010-09-11 Szymon Janc <szymon@janc.net.pl>
15732
15733 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15734
15735 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 Shutdown using ACPI.
15738
15739 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15740 * grub-core/commands/acpihalt.c: New file.
15741 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15742 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15743 (grub_acpi_halt): New proto.
15744 (GRUB_ACPI_SLP_EN): New const.
15745 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15746 (GRUB_ACPI_OPCODE_*): New enum.
15747 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15748
15749 2010-09-11 Tristan Gingold <gingold@free.fr>
15750 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15751 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * commands/lsacpi.c: New file.
15754 * grub-core/Makefile.core.def (lsacpi): New module.
15755 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15756 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15757 (grub_acpi_madt_entry_header): New struct.
15758 (grub_acpi_madt): Likewise.
15759 (grub_acpi_madt_entry_interrupt_override): Likewise.
15760 (grub_acpi_madt_entry_sapic): Likewise.
15761 (grub_acpi_madt_entry_lsapic): Likewise.
15762 (grub_acpi_madt_entry_platform_int_source): Likewise.
15763 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15764 (PRIuGRUB_UINT32_T): Likewise.
15765 (PRIxGRUB_UINT64_T): Likewise.
15766
15767 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 Implement loading palette on ieee1275_fb.
15770
15771 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15772 (have_setcolors): Likewise.
15773 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15774 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15775 (grub_video_ieee1275_set_palette): Implement.
15776
15777 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15778 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15779
15780 * util/grub-install.in (grub_partition): New variable.
15781 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15782 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15783 Fixes a bug reported by Yves Blusseau.
15784
15785 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 Fix emu on mipsel.
15788
15789 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15790 =grub_cpu_flush_cache on all mips and not only yeeloong.
15791 * configure.ac (COND_mips): New conditional.
15792 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15793 platforms.
15794 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15795 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15796 [GRUB_LINKER_HAVE_INIT]: New function.
15797 (grub_emu_post_init): Likewise.
15798 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15799 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15800 * include/grub/cache.h (_mips): Include mips/cache.h.
15801 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15802 LVM and RAID prototypes.
15803 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15804 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15805 function.
15806
15807 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15808
15809 * util/grub-install.in: Don't try to verify core.img until after
15810 running grub-mkimage to create it.
15811
15812 2010-09-10 Robert Millan <rmh@gnu.org>
15813
15814 * util/grub.d/10_hurd.in: Add misc readability checks.
15815 * util/grub.d/10_kfreebsd.in: Likewise.
15816 * util/grub.d/10_linux.in: Likewise.
15817
15818 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15819
15820 * util/grub-install.in: ${imgext} won't be defined here until the
15821 install branch is merged. For the meantime, only verify core.img on
15822 i386-pc and sparc64-ieee1275 platforms.
15823
15824 2010-09-10 Robert Millan <rmh@gnu.org>
15825
15826 Solaris support in grub_find_zpool_from_dir(). Thanks
15827 Seth Goldberg for referring to getextmntent() facility.
15828
15829 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15830 `sys/mkdev.h'.
15831 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15832 `<sys/mnttab.h>'.
15833 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15834 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15835 method for finding zpool name.
15836
15837 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15838
15839 grub-fstest needs the host and hostfs modules while other utilities
15840 actively require those modules to be absent, so grub-fstest needs
15841 its own initialisation and finalisation code.
15842
15843 * Makefile.am (grub_fstest.pp): New target.
15844 (grub_fstest_init.lst): Likewise.
15845 (grub_fstest_init.c): Likewise.
15846 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15847
15848 2010-09-10 Robert Millan <rmh@gnu.org>
15849
15850 * configure.ac: Check for `struct statfs.f_fstypename' and
15851 `struct statfs.f_mntfromname'.
15852
15853 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15854 kFreeBSD-specific code.
15855
15856 2010-09-10 Robert Millan <rmh@gnu.org>
15857
15858 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15859 on ZFS. Now non-main filesystems are supported as / too.
15860
15861 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15862
15863 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15864 and grub-core/disk/host.c to ...
15865 (grub-fstest): ... here. Having the host disk implementation
15866 present confuses grub-probe and other utility programs.
15867
15868 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15869 when writing to a file, not when writing to stdout.
15870
15871 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15872
15873 * tests/partmap_test.in: New test for partitions.
15874 * Makefile.util.def: Rules for new test.
15875
15876 2010-09-09 Robert Millan <rmh@gnu.org>
15877
15878 * util/grub-probe.c (probe): Fix a pair of unhandled error
15879 conditions.
15880
15881 2010-09-09 Robert Millan <rmh@gnu.org>
15882
15883 Basic Btrfs support (detection and UUID).
15884
15885 * grub-core/fs/btrfs.c: New file.
15886 * Makefile.util.def (library): Register btrfs.c.
15887 * grub-core/Makefile.core.def: Likewise.
15888
15889 2010-09-08 Robert Millan <rmh@gnu.org>
15890
15891 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15892 with (optional) parameters to specify device and relative path.
15893 * util/grub-install.in: Use is_path_readable_by_grub() to
15894 verify readability of a few critical files.
15895 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15896 verify readability of grub.cfg.new.
15897
15898 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 Split minix.mod into minix.mod and minix2.mod.
15901
15902 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15903 * grub-core/Makefile.core.def (minix2): New module.
15904 * grub-core/fs/minix.c: Use definitions instead of runtime version
15905 checking.
15906 * grub-core/fs/minix2.c: New file.
15907
15908 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15909
15910 Add new --boot-directory option to replace --root-directory
15911
15912 * util/grub-install.in: Add new --boot-directory option
15913 * util/grub-reboot.in: Likewise.
15914 * util/grub-set-default.in: Likewise.
15915
15916 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15917
15918 * util/grub-mkconfig.in: Use new variable.
15919
15920 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15921
15922 * configure.ac: Define some useful variables.
15923
15924 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15927 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15928 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15929 Use terminfo and don't use cursor-on/cursor-off unless it's known
15930 to work.
15931 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15932 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15933
15934 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15935
15936 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15937 starts with "(,", fill the drive containing the loaded image in
15938 between those two characters, but expect that a full partition
15939 specification including partition map names will follow.
15940
15941 2010-09-08 Robert Millan <rmh@gnu.org>
15942
15943 * configure.ac: Remove `--enable-grub-fstest' option.
15944 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15945
15946 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15947 `grub-fstest' instead of `grub-probe' for readability verification.
15948 * util/grub-probe.c (probe): Remove readability verification kludge.
15949
15950 2010-09-08 Robert Millan <rmh@gnu.org>
15951
15952 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15953 initializing `GRUB_FS'.
15954
15955 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15956
15957 Not command (!) support to GRUB script.
15958
15959 * tests/grub_script_not.in: New test.
15960 * Makefile.util.def: Rules for new test.
15961
15962 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15963 ! command as a special case.
15964 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15965
15966 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15967
15968 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15969 grub_free.
15970
15971 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15972
15973 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15974
15975 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15976
15977 * docs/grub.texi (Shell-like scripting): Documentation for break,
15978 continue, shift and return commands.
15979
15980 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 Rename CD-ROM to cd on BIOS.
15983
15984 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15985 "cd".
15986 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15987
15988 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15991 * util/grub-probe.c (main): Likewise.
15992 * util/i386/pc/grub-setup.c (main): Likewise.
15993 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15994 Reported and debugged by: alexxy
15995
15996 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15999 diagnostic info.
16000
16001 2010-09-05 Jo Shields <directhex@apebox.org>
16002
16003 * util/grub.d/30_os-prober.in: Add missing classes.
16004
16005 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * docs/grub.texi (Theme file format): Document new position format.
16008
16009 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16012 a table. Use @code instead of @verbatim.
16013
16014 2010-09-05 Colin D Bennett <colin@gibibit.com>
16015
16016 Gfxmenu documentation.
16017
16018 * docs/grub.texi (Theme file format): New chapter.
16019
16020 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16021
16022 * grub-core/Makefile.core.def (xzio): New module.
16023 * grub-core/io/xzio.c: New file.
16024 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16025 * grub-core/lib/xzembed/xz_config.h: Likewise.
16026 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16027 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16028 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16029 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16030 * grub-core/lib/xzembed/xz_private.h: Likewise.
16031 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16032 * include/grub/file.h (grub_file_filter_id): New compression filter
16033 GRUB_FILE_FILTER_XZIO.
16034
16035 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16038 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16039 size.
16040
16041 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16044 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16045
16046 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 Uncompressed checksum support.
16049
16050 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16051 (check_list): New parameter uncompress.
16052 (grub_cmd_hashsum): Handle --uncompress.
16053
16054 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 Reintroduce testload.
16057
16058 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16059 from here ...
16060 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16061 (GRUB_MOD_INIT): New function.
16062 (GRUB_MOD_FINI): Likewise.
16063 * grub-core/Makefile.core.def (testload): New module.
16064
16065 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16066
16067 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16068 (uint8_t): New type.
16069 (uint16_t): Likewise.
16070 (uint32_t): Likewise.
16071 (uint64_t): Likewise.
16072
16073 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16074
16075 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16076
16077 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16080 Made static.
16081 (grub_gzfile_open): Removed. All users updated.
16082 (GRUB_MOD_INIT): New function.
16083 (GRUB_MOD_FINI): Likewise.
16084 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16085 (grub_file_filters_enabled): Likewise.
16086 (grub_file_open): Handle filters.
16087 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16088 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16089 * include/grub/file.h (grub_file_filter_id_t): New type.
16090 (grub_file_filter_t): Likewise.
16091 (grub_file_filters_all): New extern variable.
16092 (grub_file_filters_enabled): Likewise.
16093 (grub_file_filter_register): New inline function.
16094 (grub_file_filter_unregister): Likewise.
16095 (grub_file_filter_disable): Likewise.
16096 (grub_file_filter_disable_compression): Likewise.
16097 * include/grub/gzio.h: Removed.
16098
16099 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16100
16101 Filename expansion support for wildcards in GRUB script.
16102
16103 * tests/grub_script_expansion.in: New test.
16104 * Makefile.util.def: Rule for new test.
16105
16106 * grub-core/commands/wildcard.c: New file, implements filename
16107 expansion support for GRUB script.
16108 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16109 * grub-core/script/argv.c: Cosmetic changes.
16110 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16111 Refactored to perform wildcard expansion on arguments.
16112 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16113 struct.
16114
16115 * tests/util/grub-shell.in: Fix quoting for read input.
16116
16117 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16118
16119 Support for updating environment variables with matched substrings
16120 of regexp.
16121
16122 * tests/grub_cmd_regexp.in: New test.
16123 * Makefile.util.def: Rule for new test.
16124
16125 * grub-core/commands/regexp.c: New option -s to update environment
16126 variables with regexp matches.
16127
16128 2010-09-04 Szymon Janc <szymon@janc.net.pl>
16129
16130 * include/grub/file.h (grub_file): New member not_easly_seekable.
16131 (grub_file_seekable): New inline function.
16132 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16133 easily seekable.
16134 (grub_gzio_open): Set not_easly_seekable.
16135 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16136 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16137
16138 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16139
16140 Support for options to appear multiple times on cmdline.
16141
16142 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16143 * grub-core/commands/extcmd.c: Support for repeatable option.
16144 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16145 repeatable option support.
16146
16147 Refactor menuentry into a regular command.
16148
16149 * grub-core/commands/menuentry.c: New file, menuentry command
16150 implementation.
16151 * grub-core/Makefile.core.def: Rule update for normal.mod.
16152 * grub-core/normal/main.c: Moved menuentry creation to
16153 grub-core/commands/menuentry.c.
16154 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16155 (grub_menu_execute_entry_real): Removed.
16156 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16157 function.
16158 (grub_script_execute_menuentry): Removed.
16159 * grub-core/script/parser.y (menuentry): Removed.
16160 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16161 * grub-core/script/yylex.l (menuentry): Removed.
16162 * include/grub/menu.h (grub_menu_init): New prototype.
16163 (grub_menu_fini): New prototype.
16164 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16165 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16166 (grub_script_execute_sourcecode): New prototype.
16167
16168 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16169
16170 "return" command for GRUB script functions.
16171
16172 * tests/grub_script_return.in: New test.
16173 * Makefile.util.def: Rules for new test.
16174
16175 * grub-core/script/execute.c (grub_script_return): New function.
16176 * grub-core/script/main.c: Register/unregister return commaond.
16177 * include/grub/script_sh.h (grub_script_return): New prototype.
16178
16179 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16180
16181 "setparams" command to update positional parameters.
16182
16183 * tests/grub_script_setparams.in: New test.
16184 * Makefile.util.def: Rules for new test.
16185
16186 * grub-core/script/argv.c (grub_script_argv_make): New function.
16187 * grub-core/script/execute.c (replace_scope): New function.
16188 (grub_script_setparams): New function.
16189 * grub-core/script/lexer.c: Remove unused variables.
16190 * grub-core/script/main.c: Register/unregister setparams command.
16191 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16192 (grub_script_setparams): New prototype.
16193
16194 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16195
16196 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16197 grub_free order.
16198
16199 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16200
16201 Support for passing block of commands as an argument to extcmds.
16202
16203 * Makefile.util.def: Rules for new test.
16204 * tests/grub_script_blockarg.in: New test.
16205 * grub-core/tests/test_blockarg.c: New file, block argument
16206 command used in the test.
16207
16208 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16209 (grub_register_extcmd_prio): New function prototype.
16210 (grub_extcmd_dispatcher): New function prototype.
16211 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16212 type.
16213 * include/grub/script_sh.h (struct grub_script): New members
16214 `children', `next_siblings' and `refcnt' for block arguments and
16215 reference counting.
16216 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16217 (grub_script_arg): New member `script' for block argument.
16218 (grub_script_argv): New member `script' for block argument.
16219 (grub_parser_param): New member `scripts' for block argument.
16220 (grub_script_mem_free): New extern function prototype.
16221 (grub_script_ref): New function prototype.
16222 (grub_script_unref): New function prototype.
16223
16224 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16225 extcmd form to support block arguments.
16226 * grub-core/script/argv.c: Block arguments support.
16227 * grub-core/script/execute.c: Likewise.
16228 * grub-core/script/lexer.c: Likewise.
16229 * grub-core/script/main.c: Likewise.
16230 * grub-core/script/script.c: Likewise.
16231 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16232 non-terminals.
16233
16234 * grub-core/commands/acpi.c: Update extcmd implementations with
16235 grub_extcmd_context_t.
16236 * grub-core/commands/cat.c: Likewise.
16237 * grub-core/commands/echo.c: Likewise.
16238 * grub-core/commands/extcmd.c: Likewise.
16239 * grub-core/commands/hashsum.c: Likewise.
16240 * grub-core/commands/hdparm.c: Likewise.
16241 * grub-core/commands/help.c: Likewise.
16242 * grub-core/commands/hexdump.c: Likewise.
16243 * grub-core/commands/i386/cpuid.c: Likewise.
16244 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16245 * grub-core/commands/i386/pc/halt.c: Likewise.
16246 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16247 * grub-core/commands/iorw.c: Likewise.
16248 * grub-core/commands/keystatus.c: Likewise.
16249 * grub-core/commands/loadenv.c: Likewise.
16250 * grub-core/commands/ls.c: Likewise.
16251 * grub-core/commands/lspci.c: Likewise.
16252 * grub-core/commands/memrw.c: Likewise.
16253 * grub-core/commands/probe.c: Likewise.
16254 * grub-core/commands/search_wrap.c: Likewise.
16255 * grub-core/commands/setpci.c: Likewise.
16256 * grub-core/commands/sleep.c: Likewise.
16257 * grub-core/disk/loopback.c: Likewise.
16258 * grub-core/hello/hello.c: Likewise.
16259 * grub-core/loader/i386/bsd.c: Likewise.
16260 * grub-core/loader/xnu.c: Likewise.
16261 * grub-core/term/gfxterm.c: Likewise.
16262 * grub-core/term/serial.c: Likewise.
16263 * grub-core/tests/lib/functional_test.c: Likewise.
16264
16265 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16266
16267 Multi-line quoted strings support.
16268
16269 * grub-core/script/lexer.c (append_newline): Removed.
16270 (grub_script_lexer_yywrap): Refactored.
16271 (grub_script_lexer_init): Refactored.
16272 * grub-core/script/yylex.l (yywrap): New function.
16273 (grub_lexer_resplit): New function.
16274 (grub_lexer_unput): New function.
16275 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16276 and resplit.
16277 * tests/grub_script_echo1.in: Added few more testcases.
16278
16279 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 * grub-core/kern/misc.c: Don't add abort alias in utils.
16282 Reported by: echoline.
16283
16284 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16285
16286 Add missing files into "make dist" tarball for other platforms.
16287
16288 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16289 * conf/Makefile.common (dist_noinst_DATA): New variable.
16290 * conf/Makefile.extra-dist: Added missing make dist files.
16291 * grub-core/Makefile.core.def: Likewise.
16292
16293 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 Compress grub_prefix.
16296
16297 * grub-core/boot/i386/pc/lnxboot.S: Use
16298 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16299 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16300 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16301 GRUB_MACHINE_PREFIX_END. All users updated.
16302 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16303 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16304 + 0x40.
16305 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16306 * util/grub-mkimage.c (image_target_desc): Change data_end to
16307 prefix_end. All users updated.
16308
16309 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16312 value.
16313 (grub_openbsd_boot): Likewise.
16314 (grub_netbsd_boot): Likewise.
16315 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16316 (grub_xnu_boot): Likewise.
16317
16318 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * configure.ac: Clean LIBS variable after tests.
16321
16322 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16323
16324 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16325
16326 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16327
16328 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16329 echo if libdevmapper will be used.
16330
16331 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16332
16333 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16334 constant for the same file.
16335
16336 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16339
16340 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16341
16342 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16343 grub-core/*.pp.
16344
16345 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16346
16347 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16348 required by the boot protocol.
16349
16350 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16351 ebp and edi members.
16352 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16353 state.ebp and state.edi.
16354 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16355 %ebp and %edi according to grub_relocator32_ebp and
16356 grub_relocator32_edi respectively.
16357 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16358 and state.edi.
16359
16360 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 Add i386-pc-pxe image target.
16363
16364 * util/grub-mkimage.c (image_target_desc): New enum value
16365 IMAGE_I386_PC_PXE.
16366 (image_targets): New target i386-pc-pxe.
16367 (generate_image): Handle i386-pc-pxe image.
16368
16369 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 Fix grub_pxe_scan.
16372
16373 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16374 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16375 All users updated.
16376 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16377 (grub_pxe_pxenv): Correct type.
16378
16379 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16380
16381 * NEWS: Document most of the important changes since 1.98.
16382
16383 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16384
16385 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16386 generated manual page) a little.
16387
16388 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16389
16390 * docs/grub.texi: Add myself as an author.
16391
16392 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 * Makefile.util.def (libgrub.a): Add missing sunpc.
16395 Reported by: Seth Goldberg.
16396
16397 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 Interrupt wrapping and code simplifications.
16400
16401 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16402 x86_noieee1275 which are functionaly equivalent in this case.
16403 (grub-install): Make source on each platform explicit. Enable on
16404 all noemu.
16405 * gentpl.py (x86_efi_pc): Removed group.
16406 (x86_noefi): Likewise.
16407 (i386_noefi): Likewise.
16408 (x86_noieee1275): Likewise.
16409 (i386_noieee1275): Likewise.
16410 (i386_noefi_noieee1275): Likewise.
16411 (i386_pc_qemu_coreboot): Likewise.
16412 (i386_coreboot_multiboot): Likewise.
16413 (i386_pc_coreboot_multiboot_qemu): Likewise.
16414 (x86_noefi_mips): Likewise.
16415 (noieee1275): Likewise.
16416 (ieee1275_mips): Likewise.
16417 (noemu_noieee1275): Likewise.
16418 (cmos): New group.
16419 (usb): Likewise.
16420 (videoinkernel): Likewise.
16421 (videomodules): Likewise.
16422 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16423 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16424 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16425 include/grub/loader.h, include/grub/msdos_partition.h,
16426 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16427 include/grub/machine/console.h, include/grub/machine/vga.h,
16428 include/grub/machine/vbe.h, include/grub/machine/init.h,
16429 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16430 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16431 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16432 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16433 * grub-core/Makefile.core.def (kernel): Explicit the source for
16434 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16435 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16436 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16437 Use videoinkernel tag.
16438 (usb): Enable on all usb.
16439 (usbserial_common): Likewise.
16440 (usbserial_pl2303): Likewise.
16441 (usbserial_ftdi): Likewise.
16442 (uhci): Enable on all x86.
16443 (ohci): Enable on all pci.
16444 (cmostest): Enable on all CMOS.
16445 (acpi): Include commands/acpi.c on all platforms.
16446 (halt): Add relevant lib/*/halt.c.
16447 (hdparm): Enable on all pci.
16448 (lspci): Likewise.
16449 (usbtest): Enable on all usb.
16450 (ata): Enable on all pci.
16451 (ata_pthru): Likewise.
16452 (usbms): Enable on all usb.
16453 (usb_keyboard): Likewise.
16454 (font): Use tag videomodules.
16455 (bufio): Likewise.
16456 (datetime): Use tag cmos. Enable on all noemu.
16457 (mmap): Use tags common and x86.
16458 (gfxterm): Use tag videomodules.
16459 (bitmap): Likewise.
16460 (bitmap_scale): Likewise.
16461 (video_fb): Likewise.
16462 (video): Likewise.
16463 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16464 adjust padding accordingly. All users updated.
16465 (grub_ohci_transaction): Fix bad format specification.
16466 (GRUB_MOD_INIT): Add asserts for struct size.
16467 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16468 (grub_alloc_td): Likewise.
16469 (grub_free_queue): Likewise.
16470 (grub_uhci_transfer): Likewise.
16471 (grub_uhci_transaction): Fix bad format specification.
16472 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16473 (grub_usb_bulk_readwrite): Likewise.
16474 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16475 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16476 Made static.
16477 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16478 Made static.
16479 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16480 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16481 Transformed into C.
16482 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16483 Moved from here ...
16484 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16485 ... here. Transformed into C. Made static.
16486 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16487 Moved from here ...
16488 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16489 ... here. Transformed into C. Made static.
16490 * grub-core/kern/i386/pc/startup.S
16491 (grub_biosdisk_check_int13_extensions): Moved from here ...
16492 * grub-core/disk/i386/pc/biosdisk.c
16493 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16494 Made static.
16495 * grub-core/kern/i386/pc/startup.S
16496 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16497 * grub-core/disk/i386/pc/biosdisk.c
16498 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16499 Transformed into C. Made static.
16500 * grub-core/kern/i386/pc/startup.S
16501 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16502 * grub-core/disk/i386/pc/biosdisk.c
16503 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16504 Transformed into C. Made static.
16505 * grub-core/kern/i386/pc/startup.S
16506 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16507 * grub-core/disk/i386/pc/biosdisk.c
16508 (grub_biosdisk_get_diskinfo_standard): ... here.
16509 Transformed into C. Made static.
16510 * grub-core/kern/i386/pc/startup.S
16511 (grub_biosdisk_get_num_floppies): Moved from here ...
16512 * grub-core/disk/i386/pc/biosdisk.c
16513 (grub_biosdisk_get_num_floppies): ... here.
16514 Transformed into C. Made static.
16515 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16516 New function.
16517 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16518 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16519 Transformed into C. Made static.
16520 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16521 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16522 Transformed into C. Made static.
16523 * grub-core/kern/i386/ieee1275/init.c: Removed.
16524 * grub-core/kern/i386/misc.S: Likewise.
16525 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16526 Splitted from here ...
16527 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16528 Transformed into C. Made static. All users updated.
16529 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16530 Transformed into C. Made static. All users updated.
16531 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16532 Moved from here...
16533 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16534 Transformed into C. Made static. All users updated.
16535 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16536 Moved from here...
16537 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16538 Transformed into C. Made static. All users updated.
16539 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16540 Removed (replaced by C version).
16541 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16542 Moved from here...
16543 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16544 Transformed into C. Made static.
16545 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16546 Moved from here...
16547 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16548 ... here. Transformed into C.
16549 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16550 Moved from here...
16551 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16552 ... here. Transformed into C.
16553 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16554 Moved from here...
16555 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16556 ... here. Transformed into C. Made static.
16557 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16558 Moved from here...
16559 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16560 ... here. Transformed into C.
16561 * grub-core/kern/i386/pc/startup.S
16562 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16563 * grub-core/video/i386/pc/vbe.c
16564 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
16565 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16566 Moved from here...
16567 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16568 ... here. Transformed into C.
16569 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16570 Moved from here...
16571 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16572 ... here. Transformed into C.
16573 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16574 Moved from here...
16575 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16576 ... here. Transformed into C.
16577 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16578 Moved from here...
16579 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16580 ... here. Transformed into C.
16581 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16582 Moved from here...
16583 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16584 ... here. Transformed into C. Made static.
16585 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16586 Moved from here...
16587 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16588 ... here. Transformed into C. Made static.
16589 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16590 Moved from here...
16591 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16592 ... here. Transformed into C. Made static.
16593 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16594 pxe_rm_entry as third argument.
16595 (grub_bios_interrupt): New function.
16596 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16597 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16598 of calling grub_stop.
16599 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16600 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16601 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16602 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16603 * grub-core/lib/i386/halt.c: Moved from here ...
16604 * grub-core/lib/i386/halt.c: ... here.
16605 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16606 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16607 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16608 grub_stop_floppy.
16609 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16610 * include/grub/i386/coreboot/init.h: Removed.
16611 * include/grub/i386/multiboot/init.h: Likewise.
16612 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16613 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16614 * include/grub/i386/pc/int.h: New file.
16615 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16616 (grub_pxe_scan): Removed.
16617 (grub_pxe_call): Update prototype.
16618 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16619 prototypes.
16620 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16621 * include/grub/i386/qemu/init.h: Removed.
16622 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16623 noreturn.
16624 (grub_halt): Likewise.
16625 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16626 (grub_reboot): Likewise.
16627 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16628 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
16629 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16630
16631 2010-08-30 Robert Millan <rmh@gnu.org>
16632
16633 * NEWS: Document addition of ZFS support in `grub-install' and
16634 `grub-mkconfig'.
16635
16636 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16637
16638 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16639 dprintf output.
16640
16641 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 Remove leftover embedding of font objects.
16644
16645 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16646 * util/grub-install.in (font): Removed.
16647 * util/grub-mkimage.c (generate_image): Remove font support. All users
16648 updated.
16649
16650 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 Remove leftover embedding of font objects.
16653
16654 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16655 * util/grub-install.in (font): Removed.
16656 * util/grub-mkimage.c (generate_image): Remove font support. All users
16657 updated.
16658
16659 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * docs/grub.texi (Network): Fix reference to pxe_blksize.
16662 Reported by: Ian Turner
16663
16664 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16667 timeout to avoid indefinite boot stalling.
16668
16669 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16670
16671 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16672 (grub_env_write_color_highlight): Likewise.
16673
16674 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16675
16676 * grub-core/normal/term.c (print_more): Return to normal and not
16677 to standard state after printing "---MORE---".
16678
16679 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16682 Mask out the bit 0x80 since it has other meaning that specifiing color.
16683
16684 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16685
16686 New relocator. Allows for more kernel support and more straightforward
16687 loader writing.
16688
16689 * Makefile.am (BOOTTARGET): New variable.
16690 (QEMU32): Likewise.
16691 (linux.init.x86_64): New target.
16692 (linux.init.i386): Likewise.
16693 (multiboot.elf): Likewise.
16694 (kfreebsd.elf): Likewise.
16695 (kfreebsd.aout): Likewise.
16696 (pc-chainloader.elf): Likewise.
16697 (pc-chainloader.bin): Likewise.
16698 (ntldr.elf): Likewise.
16699 (ntldr.bin): Likewise.
16700 (multiboot2.elf): Likewise.
16701 (kfreebsd.init.x86_64): Likewise.
16702 (kfreebsd.init.i386): Likewise.
16703 (knetbsd.init.i386): Likewise.
16704 (kopenbsd.init.i386): Likewise.
16705 (knetbsd.init.x86_64): Likewise.
16706 (kopenbsd.init.x86_64): Likewise.
16707 (linux-initramfs.i386): Likewise.
16708 (linux-initramfs.x86_64): Likewise.
16709 (kfreebsd-mfsroot.i386.img): Likewise.
16710 (knetbsd.image.i386): Likewise.
16711 (kopenbsd.image.i386): Likewise.
16712 (kopenbsd.image.x86_64): Likewise.
16713 (knetbsd.miniroot-image.i386.img): Likewise.
16714 (kfreebsd-mfsroot.x86_64.img): Likewise.
16715 (knetbsd.image.x86_64): Likewise.
16716 (knetbsd.miniroot-image.x86_64.img): Likewise.
16717 (kfreebsd-mfsroot.i386.gz): Likewise.
16718 (bootcheck-kfreebsd-i386): Likewise.
16719 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16720 (bootcheck-kfreebsd-x86_64): Likewise.
16721 (knetbsd.miniroot-image.i386.gz): Likewise.
16722 (bootcheck-knetbsd-i386): Likewise.
16723 (bootcheck-kopenbsd-i386): Likewise.
16724 (bootcheck-kopenbsd-x86_64): Likewise.
16725 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16726 (bootcheck-knetbsd-x86_64): Likewise.
16727 (bootcheck-linux-i386): Likewise.
16728 (bootcheck-linux-x86_64): Likewise.
16729 (bootcheck-linux16-i386): Likewise.
16730 (bootcheck-linux16-x86_64): Likewise.
16731 (bootcheck-multiboot): Likewise.
16732 (bootcheck-multiboot2): Likewise.
16733 (bootcheck-kfreebsd-aout): Likewise.
16734 (bootcheck-pc-chainloader): Likewise.
16735 (bootcheck-ntldr): Likewise.
16736 (CLEANFILES): Add new targets.
16737 (BOOTCHECKS): New variable.
16738 (.PHONY): Add bootchecks.
16739 (SUCCESSFUL_BOOT_STRING): New variable.
16740 (BOOTCHECK_TIMEOUT): Likewise.
16741 (bootcheck): New target
16742 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16743 * configure.ac: Correct efiemu excuse.
16744 * docs/grub.texi (Supported kernels): New chapter.
16745 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16746 include/grub/mm_private.h. Simplify inclusion of
16747 include/grub/boot.h, include/grub/loader.h
16748 and include/grub/msdos_partition.h
16749 (KERNEL_HEADER_FILES) [i386_coreboot]:
16750 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16751 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16752 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16753 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16754 include/grub/machine/loader.h.
16755 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16756 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16757 extra_dist.
16758 (pci.mod): Enable on i386-multiboot.
16759 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16760 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16761 i386-qemu.
16762 (relocator.mod): Rewritten.
16763 (aout.mod): Enable on all x86.
16764 (bsd.mod): Likewise.
16765 (ntldr.mod): New module.
16766 (linux.mod): Use loader/i386/linux.c on all x86.
16767 (xnu.mod): Enable on all x86.
16768 (vga_text.mod): disable on EFI and QEMU.
16769 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16770 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16771 * grub-core/efiemu/loadcore.c: Likewise.
16772 * grub-core/efiemu/main.c: Likewise.
16773 (grub_efiemu_exit_boot_services): Removed.
16774 (grub_efiemu_finish_boot_services): Likewise.
16775 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16776 function.
16777 * grub-core/efiemu/i386/nocfgtables.c: New file.
16778 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16779 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16780 (grub_efi_finish_boot_services): Moved from here ...
16781 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16782 Fille finish memory map and related data.
16783 (finish_mmap_buf): New variable.
16784 (grub_efi_uintn_t finish_mmap_size): Likewise.
16785 (grub_efi_uintn_t finish_key): Likewise.
16786 (grub_efi_uintn_t finish_desc_size): Likewise.
16787 (grub_efi_uint32_t finish_desc_version): Likewise.
16788 (grub_efi_is_finished): Likewise.
16789 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16790 finished.
16791 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16792 (grub_elf64_phdr_iterate): Likewise.
16793 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16794 (grub_os_area_size): Likewise.
16795 (grub_machine_init): Don't reserve os area.
16796 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16797 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16798 * grub-core/kern/i386/loader.S: Removed.
16799 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16800 (grub_os_area_size): Likewise.
16801 (grub_machine_init): Don't reserve os area.
16802 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16803 Don't call grub_dl_unload_all.
16804 Don't include loader.S.
16805 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16806 Declare the memory after _end as available.
16807 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16808 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16809 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16810 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16811 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16812 * include/grub/mm_private.h (grub_mm_header): ... here.
16813 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16814 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16815 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16816 (grub_mm_region): ..here. Removed addr. Added pre_size.
16817 All users updated.
16818 * grub-core/kern/mm.c (base): Renamed to ...
16819 (grub_mm_base): ... this. Made global.
16820 (grub_real_malloc): Alloc from end of region.
16821 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16822 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16823 * grub-core/kern/powerpc/cache_flush.S: ... here.
16824 * grub-core/lib/efi/relocator.c: New file.
16825 * grub-core/lib/i386/relocator.c: Rewritten.
16826 * grub-core/lib/i386/relocator16.S: New file.
16827 * grub-core/lib/i386/relocator32.S: Likewise.
16828 * grub-core/lib/i386/relocator64.S: Likewise.
16829 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16830 * grub-core/lib/i386/relocator_common.S: New file.
16831 * grub-core/lib/ieee1275/relocator.c: Likewise.
16832 * grub-core/lib/mips/relocator.c: Rewritten.
16833 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16834 stylistic adjustments.
16835 * grub-core/lib/powerpc/relocator.c: New file.
16836 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16837 * grub-core/lib/relocator.c: Rewritten.
16838 * grub-core/lib/x86_64/relocator_asm.S: New file.
16839 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16840 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16841 (bsd_tag): New struct.
16842 (tags): New variable.
16843 (tags_last): Likewise.
16844 (netbsd_module): New struct.
16845 (netbsd_mods): New variable.
16846 (netbsd_mods_last): Likewise.
16847 (openbsd_opts): New parameter "serial".
16848 (OPENBSD_SERIAL_ARG): New definition.
16849 (netbsd_opts): New parameter "serial".
16850 (NETBSD_SERIAL_ARG): New definition.
16851 (grub_freebsd_add_meta): Reorganised into ...
16852 (grub_bsd_add_meta): ...this. All users updated.
16853 (grub_freebsd_add_mmap): Reorganised into ...
16854 (generate_e820_mmap): ...this...
16855 (grub_bsd_add_mmap): ...and this. All users updated.
16856 (grub_freebsd_list_modules): Use tags.
16857 (grub_netbsd_add_meta_module): New function.
16858 (grub_netbsd_list_modules): Likewise.
16859 (grub_freebsd_boot): Use relocator and finish EFI.
16860 (grub_openbsd_boot): Likewise.
16861 (grub_netbsd_setup_video): New function.
16862 (grub_netbsd_add_modules): Likewise.
16863 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16864 and finish EFI.
16865 (grub_bsd_unload): Unload tags.
16866 (grub_bsd_load_aout): Use relocator.
16867 (grub_bsd_elf32_size_hook): New function.
16868 (grub_bsd_elf32_hook): Use relocator.
16869 (grub_bsd_elf64_size_hook): New function.
16870 (grub_bsd_elf64_hook): Use relocator.
16871 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16872 (grub_bsd_load): Zero-out openbsd_ramdisk.
16873 (grub_bsd_load): Use relocator.
16874 (grub_cmd_openbsd): Support serial.
16875 (grub_cmd_netbsd): Support modules.
16876 (grub_cmd_freebsd_module): Use relocator.
16877 (grub_netbsd_module_load): New function.
16878 (grub_cmd_netbsd_module): Likewise.
16879 (grub_cmd_openbsd_ramdisk): Likewise.
16880 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16881 kopenbsd_ramdisk.
16882 (GRUB_MOD_FINI): Unregister new commands.
16883 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16884 (grub_freebsd_load_elfmodule_obj): Use relocator.
16885 (grub_freebsd_load_elfmodule): Likewise.
16886 (grub_freebsd_load_elf_meta): Likewise.
16887 (grub_netbsd_load_elf_meta): New function.
16888 (grub_openbsd_find_ramdisk): Likewise.
16889 * grub-core/loader/i386/bsd_helper.S: Removed.
16890 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16891 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16892 * grub-core/loader/i386/efi/linux.c: Likewise.
16893 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16894 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16895 (DEFAULT_VIDEO_MODE): Likewise.
16896 (real_mode_target): New variable.
16897 (prot_mode_target): Likewise.
16898 (initrd_mem_target): Likewise.
16899 (relocator): Likewise.
16900 (efi_mmap_buf): Likewise.
16901 (efi_mmap_size): Likewise.
16902 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16903 (free_pages): Use relocator.
16904 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16905 (grub_linux_setup_video): Return error.
16906 (grub_linux_trampoline_start): Removed.
16907 (grub_linux_trampoline_end): Likewise.
16908 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16909 andd video parameters depending on firmware.
16910 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16911 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16912 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16913 (grub_cmd_initrd): Use relocator.
16914 * grub-core/loader/i386/linux_trampoline.S: Removed.
16915 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16916 (elf_sec_entsize): Likewise.
16917 (elf_sec_shstrndx): Likewise.
16918 (elf_sections): Likewise.
16919 (grub_multiboot_load): Use relocator.
16920 (grub_multiboot_get_mbi_size): Account for sections.
16921 (grub_multiboot_make_mbi): Use relocator and support sections.
16922 (grub_multiboot_add_elfsyms): New function.
16923 (grub_multiboot_free_mbi): Free sections.
16924 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16925 (grub_linux_real_target): Likewise.
16926 (grub_linux_real_chunk): Likewise.
16927 (grub_linux16_prot_size): Likewise.
16928 (grub_linux16_boot): Use relocator.
16929 (grub_linux_unload): Unload relocator.
16930 (grub_cmd_linux): Use relocator.
16931 (grub_cmd_initrd): Likewise.
16932 * grub-core/loader/i386/pc/ntldr.c: New file.
16933 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16934 Don't try to guess CPU frequency.
16935 (grub_xnu_set_video): Stretch bitmap.
16936 (grub_xnu_boot): Use relocator.
16937 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16938 (grub_linux_unload): Free relocator.
16939 (grub_linux_load32): Use relocator.
16940 (grub_linux_load64): Likewise.
16941 (grub_cmd_initrd): Likewise.
16942 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16943 (grub_multiboot_unload): Unload relocator.
16944 (grub_cmd_multiboot): Use relocator.
16945 (grub_cmd_module): Likewise.
16946 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16947 Use relocator and support sections.
16948 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16949 (elf_sec_entsize): Likewise.
16950 (elf_sec_shstrndx): Likewise.
16951 (elf_sections): Likewise.
16952 (grub_multiboot_load): Use relocator.
16953 (grub_multiboot_get_mbi_size): Account for sections.
16954 (grub_multiboot_make_mbi): Use relocator and support sections.
16955 (grub_multiboot_add_elfsyms): New function.
16956 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16957 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16958 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16959 Prototype changed. All users updated.
16960 (grub_xnu_align_heap): Simplified.
16961 (grub_xnu_writetree_toheap): Likewise.
16962 (grub_xnu_unload): Unload relocator.
16963 (grub_cmd_xnu_kernel): Use relocator.
16964 (grub_cmd_xnu_kernel64): Likewise.
16965 (grub_xnu_register_memory): Simplified.
16966 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16967 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16968 EFI is finished.
16969 (grub_console_checkkey): Likewise.
16970 (grub_console_getkey): Likewise.
16971 (grub_console_getwh): Likewise.
16972 (grub_console_getxy): Likewise.
16973 (grub_console_gotoxy): Likewise.
16974 (grub_console_cls): Likewise.
16975 (grub_console_setcolorstate): Likewise.
16976 (grub_console_setcursor): Likewise.
16977 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16978 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16979 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16980 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16981 * grub-core/tests/boot/kernel-8086.S: Likewise.
16982 * grub-core/tests/boot/kernel-i386.S: Likewise.
16983 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16984 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16985 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16986 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16987 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16988 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16989 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16990 * grub-core/tests/boot/linux.cfg: Likewise.
16991 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16992 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16993 * grub-core/tests/boot/linux16.cfg: Likewise.
16994 * grub-core/tests/boot/multiboot.cfg: Likewise.
16995 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16996 * grub-core/tests/boot/ntldr.cfg: Likewise.
16997 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16998 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16999 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17000 New definition.
17001 * include/grub/dl.h (grub_dl_unload_all): Removed.
17002 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17003 (grub_efi_finish_boot_services): Change prototype.
17004 (grub_efi_is_finished): New variable.
17005 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17006 Changed prototype.
17007 (grub_efiemu_finish_boot_services): Removed.
17008 (grub_machine_efiemu_init_tables): New prototype.
17009 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17010 (grub_elf64_phdr_iterate): Likewise.
17011 * include/grub/i386/bsd.h: Include relocator.h.
17012 (freebsd_tag_header): New struct.
17013 (grub_openbsd_bios_mmap): Removed.
17014 (grub_unix_real_boot): Removed.
17015 (grub_freebsd_load_elfmodule32): Changed prototype.
17016 (grub_freebsd_load_elfmodule_obj64): Likewise.
17017 (grub_freebsd_load_elf_meta32): Likewise.
17018 (grub_freebsd_load_elf_meta64): Likewise.
17019 (grub_freebsd_add_meta): Removed.
17020 (grub_netbsd_load_elf_meta32): New prototype.
17021 (grub_netbsd_load_elf_meta64): Likewise.
17022 (grub_bsd_add_meta): Likewise.
17023 (grub_openbsd_ramdisk_descriptor): New struct.
17024 (grub_openbsd_find_ramdisk32): New prototype.
17025 (grub_openbsd_find_ramdisk64): Likewise.
17026 * include/grub/i386/coreboot/loader.h: Removed.
17027 * include/grub/i386/efi/loader.h: Likewise.
17028 * include/grub/i386/ieee1275/loader.h: Likewise.
17029 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17030 to grub_uint32_t.
17031 * include/grub/i386/loader.h: Removed.
17032 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17033 value.
17034 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17035 (grub_phys_addr_t): New type.
17036 (grub_vtop): New inline function.
17037 (grub_map_memory): Likewise.
17038 (grub_unmap_memory): Likewise.
17039 * include/grub/i386/multiboot/loader.h: Removed.
17040 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17041 (NETBSD_BTINFO_CONSOLE): New definition.
17042 (NETBSD_BTINFO_SYMTAB): Likewise.
17043 (NETBSD_BTINFO_MODULES): Likewise.
17044 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17045 (grub_netbsd_bootinfo): New struct.
17046 (grub_netbsd_btinfo_common): Use explicit bitsize.
17047 (grub_netbsd_btinfo_mmap_entry): Removed.
17048 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17049 (grub_netbsd_btinfo_bootdisk): New struct.
17050 (grub_netbsd_btinfo_symtab): Likewise.
17051 (grub_netbsd_btinfo_serial): Likewise.
17052 (grub_netbsd_btinfo_modules): Likewise.
17053 (grub_netbsd_btinfo_framebuf): Likewise.
17054 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17055 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17056 Likewise.
17057 (grub_openbsd_bootargs): Use explicit bitsize.
17058 (grub_openbsd_bootarg_console): New struct.
17059 (GRUB_OPENBSD_COM_MAJOR): New definition.
17060 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17061 * include/grub/i386/pc/efiemu.h: Removed.
17062 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17063 * include/grub/i386/qemu/loader.h: Removed.
17064 * include/grub/i386/relocator.h: Rewritten.
17065 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17066 * include/grub/mips/memory.h: New file.
17067 * include/grub/mips/multiboot.h: Rewritten.
17068 * include/grub/mips/relocator.h: Rewritten.
17069 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17070 (grub_vtop): New function.
17071 (grub_map_memory): Likewise.
17072 (grub_unmap_memory): Likewise.
17073 * include/grub/misc.h (ALIGN_DOWN): New definition.
17074 * include/grub/mm.h (grub_mm_check_real): New proto.
17075 (GRUB_MM_CHECK): New definition.
17076 * include/grub/mm_private.h: New file.
17077 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17078 (grub_multiboot_get_mbi_size): Removed.
17079 (grub_multiboot_make_mbi): Change prottype.
17080 (grub_multiboot_set_accepts_video): New proto.
17081 (grub_multiboot_add_elfsyms): Likewise.
17082 (grub_multiboot_payload_eip): New variable.
17083 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17084 New prototype.
17085 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17086 New definition.
17087 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17088 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17089 * include/grub/powerpc/ieee1275/loader.h: Removed.
17090 * include/grub/powerpc/memory.h: New file.
17091 * include/grub/powerpc/relocator.h: Likewise.
17092 * include/grub/relocator.h: Likewise.
17093 * include/grub/relocator_private.h: Likewise.
17094 * include/grub/sparc64/ieee1275/loader.h: Removed.
17095 * include/grub/x86_64/memory.h: New file.
17096 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17097 (grub_xnu_heap_malloc): Likewise.
17098 (grub_xnu_heap_real_start): Removed.
17099 (grub_xnu_heap_start): Likewise.
17100 (grub_xnu_relocator): New variable.
17101 (grub_xnu_heap_target_start): Likewise.
17102 * tests/util/grub-shell.in: Support non-pc.
17103 * util/grub-mkimage.c (image_targets): Fix multiboot target.
17104
17105 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17106
17107 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17108 on malloc error.
17109 (grub_bidi_logical_to_visual): Check that malloc succeded.
17110 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17111 puts.
17112 (grub_xputs_normal): Likewise.
17113
17114 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17117 extra_dist.
17118
17119 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17122
17123 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17126
17127 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17130 dprintf.
17131
17132 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17133
17134 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17135
17136 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * grub-core/normal/term.c (print_more): Fix a memory leak.
17139 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17140 (grub_xputs_normal): Likewise.
17141
17142 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17145 the begining of the string
17146
17147 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17148
17149 * grub-core/script/script.c (grub_script_parse): Free parsed on
17150 failure.
17151
17152 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17153
17154 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17155 on failure.
17156
17157 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17160 return.
17161
17162 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17163
17164 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17165 (scroll_up): Fix a memory leak.
17166
17167 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17168
17169 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17170 errors.
17171
17172 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 Handle USB pendrives exposed as floppies.
17175
17176 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17177 floppy.
17178 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17179 Check for partitions on all devices.
17180
17181 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17184 (readkey): Likewise.
17185
17186 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17187
17188 Multiple variable names support to "export" command.
17189
17190 * normal/context.c (grub_cmd_export): "export" command supports
17191 multiple variable names.
17192
17193 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17194
17195 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17196 --target=drive output to Mach device name.
17197
17198 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17199
17200 New Automake based build system for GRUB.
17201
17202 * ABOUT-NLS: New file.
17203 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17204 in Makefile.util.def file.
17205 * Makefile.util.def: New file. Autogen build definitions file for
17206 GRUB host utils.
17207 * conf/Makefile.common: New file. Common variables for GRUB host
17208 utils and target modules.
17209 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17210 * docs/Makefile.am: New file. Automake file for docs.
17211 * gentpl.py: New file. Python script to generate Autogen
17212 template.
17213 * grub-core/Makefile.am: New file. GRUB target modules' rules
17214 that doesn't fit in Makefile.core.def file.
17215 * grub-core/Makefile.core.def: New file. Autogen build
17216 definitions file for GRUB target modules.
17217 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17218 specific setjmp.S file.
17219 * po/Makefile.am: New file.
17220
17221 * .bzrignore: New ignores.
17222 * INSTALL: New requirements, without Ruby.
17223 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17224 * autogen.sh: Updated to invoke autogen as necessary.
17225 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17226 and defines for Automake conditionals.
17227 * geninit.sh: Refactoring.
17228
17229 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17230 necessary.
17231 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17232 New prototype.
17233
17234 * include/grub/test.h: Fix functional test modules' naming.
17235 * grub-core/tests/example_functional_test.c: Fix test module name.
17236
17237 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17238 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17239 * util/grub-editenv.c: Likewise.
17240 * util/grub-fstest.c: Likewise.
17241 * util/grub-mkdevicemap.c: Likewise.
17242 * util/grub-mkfont.c: Likewise.
17243 * util/grub-mkimage.c: Likewise.
17244 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17245 * util/grub-probe.c: Likewise.
17246 * util/grub-script-check.c: Likewise.
17247 * util/i386/pc/grub-setup.c: Likewise.
17248 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17249
17250 * tests/util/grub-shell.in: Fix override directory path.
17251 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17252 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17253
17254 * util/lvm.c: Update #includes.
17255 * util/raid.c: Likewise.
17256 * util/resolve.c: Likewise.
17257 * grub-core/bus/emu/pci.c: Likewise.
17258 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17259 * grub-core/lib/posix_wrap/string.h: Likewise.
17260 * grub-core/kern/emu/main.c: Likewise.
17261
17262 * grub-core/gensymlist.sh: New file. Script for generating kernel
17263 symbols file.
17264 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17265
17266 * grub-core/gentrigtables.c: Fix unused variable warnings.
17267
17268 * Makefile.in: Removed.
17269 * conf/any-emu.rmk: Removed.
17270 * conf/common.rmk: Removed.
17271 * conf/i386-coreboot.rmk: Removed.
17272 * conf/i386-efi.rmk: Removed.
17273 * conf/i386-ieee1275.rmk: Removed.
17274 * conf/i386-multiboot.rmk: Removed.
17275 * conf/i386-pc.rmk: Removed.
17276 * conf/i386-qemu.rmk: Removed.
17277 * conf/i386.rmk: Removed.
17278 * conf/mips-yeeloong.rmk: Removed.
17279 * conf/mips.rmk: Removed.
17280 * conf/powerpc-ieee1275.rmk: Removed.
17281 * conf/sparc64-ieee1275.rmk: Removed.
17282 * conf/tests.rmk: Removed.
17283 * conf/x86-efi.rmk: Removed.
17284 * conf/x86_64-efi.rmk: Removed.
17285 * gendistlist.sh: Removed.
17286 * geninitheader.sh: Removed.
17287 * genkernsyms.sh.in: Removed.
17288 * genmk.rb: Removed.
17289 * gensymlist.sh.in: Removed.
17290 * mkinstalldirs: Removed.
17291 * boot: Moved ...
17292 * grub-core/boot: ... to here.
17293 * bus: Moved ...
17294 * grub-core/bus: ... to here.
17295 * commands: Moved ...
17296 * grub-core/commands: ... to here.
17297 * disk: Moved ...
17298 * grub-core/disk: ... to here.
17299 * efiemu: Moved ...
17300 * grub-core/efiemu: ... to here.
17301 * font: Moved ...
17302 * grub-core/font: ... to here.
17303 * fs: Moved ...
17304 * grub-core/fs: ... to here.
17305 * gencmdlist.sh: Moved ...
17306 * grub-core/gencmdlist.sh: ... to here.
17307 * genemuinit.sh: Moved ...
17308 * grub-core/genemuinit.sh: ... to here.
17309 * genemuinitheader.sh: Moved ...
17310 * grub-core/genemuinitheader.sh: ... to here.
17311 * genfslist.sh: Moved ...
17312 * grub-core/genfslist.sh: ... to here.
17313 * genhandlerlist.sh: Moved ...
17314 * grub-core/genhandlerlist.sh: ... to here.
17315 * genmoddep.awk: Moved ...
17316 * grub-core/genmoddep.awk: ... to here.
17317 * genmodsrc.sh: Moved ...
17318 * grub-core/genmodsrc.sh: ... to here.
17319 * genpartmaplist.sh: Moved ...
17320 * grub-core/genpartmaplist.sh: ... to here.
17321 * genparttoollist.sh: Moved ...
17322 * grub-core/genparttoollist.sh: ... to here.
17323 * genterminallist.sh: Moved ...
17324 * grub-core/genterminallist.sh: ... to here.
17325 * gentrigtables.c: Moved ...
17326 * grub-core/gentrigtables.c: ... to here.
17327 * genvideolist.sh: Moved ...
17328 * grub-core/genvideolist.sh: ... to here.
17329 * gettext: Moved ...
17330 * grub-core/gettext: ... to here.
17331 * gfxmenu: Moved ...
17332 * grub-core/gfxmenu: ... to here.
17333 * gnulib: Moved ...
17334 * grub-core/gnulib: ... to here.
17335 * hello: Moved ...
17336 * grub-core/hello: ... to here.
17337 * hook: Moved ...
17338 * grub-core/hook: ... to here.
17339 * io: Moved ...
17340 * grub-core/io: ... to here.
17341 * kern: Moved ...
17342 * grub-core/kern: ... to here.
17343 * lib: Moved ...
17344 * grub-core/lib: ... to here.
17345 * loader: Moved ...
17346 * grub-core/loader: ... to here.
17347 * mmap: Moved ...
17348 * grub-core/mmap: ... to here.
17349 * normal: Moved ...
17350 * grub-core/normal: ... to here.
17351 * partmap: Moved ...
17352 * grub-core/partmap: ... to here.
17353 * parttool: Moved ...
17354 * grub-core/parttool: ... to here.
17355 * script: Moved ...
17356 * grub-core/script: ... to here.
17357 * term: Moved ...
17358 * grub-core/term: ... to here
17359 * tests/example_functional_test.c: Moved ...
17360 * grub-core/tests/example_functional_test.c: ... to here.
17361 * tests/lib/functional_test.c: Moved ...
17362 * grub-core/tests/lib/functional_test.c: ... to here.
17363 * tests/lib/test.c: Moved ...
17364 * grub-core/tests/lib/test.c: ... to here.
17365 * video: Moved ...
17366 * grub-core/video: ... to here.
17367
17368 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17369
17370 Replace --enable-grub-emu-modules with grub-emu-lite.
17371
17372 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17373 cache.S.
17374
17375 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17376 * kern/emu/full.c: New file. For grub-emu specific initialization.
17377 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17378 * kern/emu/main.c: Call initialization function grub_emu_init.
17379
17380 * Makefile.in: Include grub-emu-lite in install.
17381 * commands/parttool.c: Use grub_no_autoload to differentiate
17382 between grub-emu and grub-emu-lite.
17383 * include/grub/misc.h: New variable grub_no_autoload.
17384
17385 * conf/any-emu.rmk: New rules for grub-emu-lite.
17386 * configure.ac: Remove --enable-grub-emu-modules.
17387 * genmk.rb: Cleanup unnecessary rules.
17388 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17389
17390 * normal/main.c: Don't load list files on grub-emu-lite.
17391 * util/misc.c (grub_arch_sync_caches): Removed.
17392
17393 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17394
17395 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17396 grub-mkimage rather than grub-mkelfimage.
17397 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17398
17399 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17400
17401 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17402 a key after CapsLock or NumLock. It's just a qemu bug.
17403
17404 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17407 needed by libusb wrapper.
17408
17409 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17410
17411 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17412
17413 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17416 --nounzip is passed.
17417
17418 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 USB hotunplugging and USB serial support.
17421
17422 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17423 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17424 (grub_uhci_transfer): Respect timeout and set *actual.
17425 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17426 non-standard length.
17427 (grub_usb_device_attach): Autoload modules.
17428 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17429 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17430 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17431 users updated.
17432 (grub_usb_add_hub): Fill nports and children.
17433 (attach_root_port): Receive hub instead of controller.
17434 All users updated. Fill hub->devices.
17435 (grub_usb_root_hub): Allocate hub->devices.
17436 (detach_device): New function.
17437 (poll_nonroot_hub): Fill children and detach devices.
17438 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17439 actual arguments. All users updated.
17440 (grub_usb_bulk_read_extended): New function.
17441 * bus/usb/serial/common.c: New file.
17442 * bus/usb/serial/ftdi.c: Likewise.
17443 * bus/usb/serial/pl2303.c: Likewise.
17444 * commands/terminal.c (handle_command): Support wildcard.
17445 * commands/usbtest.c: Output "Unknown" instead of empty string.
17446 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17447 (usbserial_common_mod_SOURCES): New variable.
17448 (usbserial_common_mod_CFLAGS): Likewise.
17449 (usbserial_common_mod_LDFLAGS): Likewise.
17450 (pkglib_MODULES): Add usbserial_pl2303.mod.
17451 (usbserial_pl2303_mod_SOURCES): New variable.
17452 (usbserial_pl2303_mod_CFLAGS): Likewise.
17453 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17454 (pkglib_MODULES): Add usbserial_ftdi.mod.
17455 (usbserial_ftdi_mod_SOURCES): New variable.
17456 (usbserial_ftdi_mod_CFLAGS): Likewise.
17457 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17458 (pkglib_MODULES): Add serial.mod.
17459 (serial_mod_SOURCES): New variable.
17460 (serial_mod_CFLAGS): Likewise.
17461 (serial_mod_LDFLAGS): Likewise.
17462 * conf/i386-pc.rmk: Likewise.
17463 * conf/mips-yeeloong.rmk: Likewise.
17464 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17465 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17466 * disk/usbms.c (first_available_slot): New variable.
17467 (grub_usbms_attach): Don't reuse free slots due to potential cache
17468 problems.
17469 * include/grub/serial.h: Moved to ..
17470 * include/grub/ns8250.h: ...this.
17471 * include/grub/serial.h: New file.
17472 * include/grub/term.h (grub_term_poll_usb): New variable.
17473 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17474 readkey. All users updated.
17475 (grub_terminfo_output_state): Pass term to put.
17476 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17477 (grub_usb_controller_dev): Add timeout and actual arguments to
17478 transfer. All users updated.
17479 (grub_usb_interface): New field detach_data.
17480 (grub_usb_device): New fields children and nports.
17481 (grub_usb_ep_type_t): New type.
17482 (grub_usb_get_ep_type): New function.
17483 (grub_usb_bulk_read_extended): Likewise.
17484 * include/grub/usbdesc.h (grub_usb_desc): New type.
17485 * include/grub/usbserial.h: New file.
17486 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17487 * kern/term.c (grub_term_poll_usb): New variable.
17488 (grub_getkey): Call grub_term_poll_usb if set.
17489 (grub_checkkey): Likewise.
17490 (grub_getkeystatus): Likewise.
17491 * term/serial.c: Moved controller-specific parts to ...
17492 * term/ns8250.c: ... here.
17493 * term/serial.c: Mostly rewritten.
17494 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17495 according to spec.
17496
17497 2010-08-20 Robert Millan <rmh@gnu.org>
17498
17499 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17500 a separate module and maybe other interesting combinations.
17501
17502 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17503 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17504 (kfreebsd_entry): Add generic filesystem module load routine.
17505 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17506
17507 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17508
17509 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17510 "numcenter" (I misunderstood the purpose of this entry).
17511 * docs/grub.texi (sendkey): Likewise.
17512
17513 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17514
17515 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17516 status flag options; simply omitting the option is equivalent and
17517 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17518 (keysym_table): Rename "num5numlock" to "numlock".
17519 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17520 can uniformly say that only the last of multiple `sendkey'
17521 invocations has any effect.
17522 * docs/grub.texi (sendkey): New section.
17523
17524 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
17525
17526 * commands/i386/pc/sendkey.c (options): Fix three typos.
17527
17528 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 Implement sendkey support.
17531
17532 * commands/i386/pc/sendkey.c: New file.
17533 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17534 (sendkey_mod_SOURCES): New variable.
17535 (sendkey_mod_CFLAGS): Likewise.
17536 (sendkey_mod_LDFLAGS): Likewise.
17537
17538 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17539
17540 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17541 fix warnings from Autoconf.
17542
17543 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17544
17545 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17546 to avoid false positives with some assemblers that output things
17547 like "someprefix_func" as part of their output.
17548
17549 2010-08-15 Robert Millan <rmh@gnu.org>
17550
17551 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17552 errors.
17553 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17554 grub_get_libzfs_handle() errors.
17555
17556 2010-08-14 Robert Millan <rmh@gnu.org>
17557
17558 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17559 filesystem is not ZFS.
17560
17561 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17562
17563 Fix for misspelled color names defaulting to black/black (bug
17564 reported by Doug Nazar)
17565
17566 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17567 status to prototype.
17568 * normal/color.c (grub_parse_color_name_pair): Return failure
17569 status.
17570 (grub_env_write_color_normal): Ignore bad color names.
17571 (grub_env_write_color_highlight): Likewise.
17572 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17573
17574 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17575
17576 "shift" command support to GRUB script.
17577
17578 * include/grub/script_sh.h (grub_script_shift): New prototype.
17579 * script/execute.c (grub_script_shift): New function.
17580 * script/main.c (grub_script_init): Register shift command.
17581 (grub_script_fini): Unregister shift command.
17582 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17583
17584 * tests/grub_script_shift.in: New testcase.
17585 * conf/tests.rmk: Rules for new testcase.
17586
17587 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17588
17589 "continue" command support to GRUB script.
17590
17591 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17592 (grub_script_break): Continue support.
17593 * script/main.c (grub_script_init): Register continue command.
17594 (grub_script_fini): Unregister continue command.
17595
17596 * tests/grub_script_continue.in: New testcase.
17597 * conf/tests.rmk: Rules for new testcase.
17598
17599 2010-08-12 BVK Chaitanya <bvk@dbook>
17600
17601 "break" command support to GRUB script.
17602
17603 * conf/common.rmk: Rule updates to grub-script-check.
17604 * include/grub/misc.h (grub_min): New function.
17605 * include/grub/script_sh.h (grub_script_init): New prototype.
17606 (grub_script_fini): New prototype.
17607 (grub_script_break): New prototype.
17608 * script/main.c (grub_script_init): New function.
17609 (grub_script_fini): New function.
17610 * script/execute.c (grub_script_break): New function.
17611 * normal/main.c: Calls to grub_script_{init,fini}.
17612 * util/grub-script-check.c (grub_script_break): New function.
17613
17614 * tests/grub_script_break.in: New testcase.
17615 * conf/tests.rmk: Rules for new test case.
17616
17617 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17618
17619 Function parameters support to GRUB script.
17620
17621 * script/yylex.l (VARIABLE): Regular expression update.
17622 * script/function.c (grub_script_function_call): Moved ...
17623 * script/execute.c (grub_script_function_call): ... to here.
17624 (grub_script_execute_arglist_to_argv): Removed.
17625 (grub_script_arglist_to_argv): New function.
17626 * script/argv.c: New file.
17627 (grub_script_argv_free): New function.
17628 (grub_script_argv_next): Likewise.
17629 (grub_script_argv_append): Likewise.
17630 (grub_script_argv_split_append): Likewise.
17631 * include/grub/script_sh.h (grub_script_argv): New struct.
17632 (grub_script_argv_free): New function.
17633 (grub_script_argv_next): Likewise.
17634 (grub_script_argv_append): Likewise.
17635 (grub_script_argv_split_append): Likewise.
17636
17637 * conf/common.rmk (normal.mod): New source script/argv.c.
17638
17639 * tests/grub_script_echo1.in: More tests.
17640 * tests/grub_script_vars1.in: Likewise.
17641 * tests/grub_script_functions.in: New test case.
17642 * conf/tests.rmk: Rules for new testcase.
17643
17644 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17645
17646 Remove grub_script_cmdblock struct.
17647
17648 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17649 * script/parser.y: Likewise.
17650 * script/execute.c: Rename cmdblock suffix to cmdlist.
17651 * script/script.c: Likewise.
17652 * util/grub-script-check.c: Likewise.
17653
17654 2010-08-11 Yves Blusseau <blusseau@zetam.org>
17655
17656 * .bzrignore: add grub-macho2img
17657
17658 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17659
17660 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17661
17662 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 Remove the dump of sm712 initialisation sequence.
17665
17666 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17667 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17668 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17669 (GRUB_VGA_CR_*): Added many registers.
17670 (GRUB_VGA_SR_*): Likewise.
17671 (GRUB_VGA_GR_*): Likewise.
17672 (grub_vga_write_arx): New function.
17673 (grub_video_hw_config): New struct.
17674 (grub_vga_set_geometry): New function.
17675 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17676 GRUB_PCI_CLASS_SUBCLASS_VGA.
17677 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17678 * video/sm712.c (grub_sm712_write_reg): New function
17679 (grub_sm712_read_reg): Likewise.
17680 (grub_sm712_sr_write): Likewise.
17681 (grub_sm712_gr_write): Likewise.
17682 (grub_sm712_cr_write): Likewise.
17683 (grub_sm712_write_arx): Likewise.
17684 (grub_sm712_cr_shadow_write): Likewise.
17685 (grub_sm712_write_dda_lookup): Likewise.
17686 (grub_video_sm712_setup): Initialise the video rather then
17687 blindly replay the dump.
17688 (main) [TEST]: Add a routine to be able to compile as standalone for
17689 tests.
17690 * video/sm712_init.c (sm712_init): Removed.
17691 (sm712_sr_seq1): New array.
17692 (sm712_sr_seq2): Likewise.
17693
17694 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 * include/grub/vga.h: Add missing grub/pci.h include.
17697
17698 2010-08-10 Yves Blusseau <blusseau@zetam.org>
17699
17700 * util/grub-macho2img.c (main): fix typo
17701
17702 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17703
17704 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17705 (grub_vga_gr_read): Likewise.
17706 (grub_vga_cr_write): Likewise.
17707 (grub_vga_cr_read): Likewise.
17708 (grub_vga_sr_write): Likewise.
17709 (grub_vga_sr_read): Likewise.
17710 (grub_vga_palette_read): Likewise.
17711 (grub_vga_palette_write): Likewise.
17712 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17713 (grub_sm712_sr_read): New function.
17714 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17715 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17716
17717 2010-08-09 Robert Millan <rmh@gnu.org>
17718
17719 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17720 out unused variables on non-ZFS build.
17721
17722 2010-08-08 Robert Millan <rmh@gnu.org>
17723
17724 Fix path generation for sub-filesystems in ZFS.
17725
17726 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17727 missing slash.
17728
17729 2010-08-08 Robert Millan <rmh@gnu.org>
17730
17731 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17732
17733 2010-08-08 Robert Millan <rmh@gnu.org>
17734
17735 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17736 exist, issue a proper error message (rely on `ls' for translated
17737 strings).
17738
17739 2010-08-08 Robert Millan <rmh@gnu.org>
17740
17741 Fix grub-probe invocation.
17742
17743 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17744
17745 2010-08-04 Robert Millan <rmh@gnu.org>
17746
17747 * configure.ac: Remove checks for getfsstat() and getmntany().
17748 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17749 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17750 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17751 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17752 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17753 function.
17754 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17755 via find_mount_point_from_dir() and getfsstat() / getmntany().
17756
17757 2010-08-04 Robert Millan <rmh@gnu.org>
17758
17759 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17760 (grub_find_zpool_from_mount_point): Merge into ...
17761 (grub_find_zpool_from_dir): ... this.
17762 * kern/emu/misc.c: Likewise.
17763
17764 * kern/emu/misc.c
17765 (grub_make_system_path_relative_to_its_root): Replace
17766 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17767 with grub_find_zpool_from_dir().
17768 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17769
17770 2010-08-04 Robert Millan <rmh@gnu.org>
17771
17772 Support OpenSolaris in ZFS device resolution.
17773
17774 * configure.ac: Check for getmntany().
17775 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17776 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17777 support.
17778
17779 2010-08-03 Robert Millan <rmh@gnu.org>
17780
17781 Fix grub-emu build.
17782
17783 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17784 * include/grub/emu/misc.h: ... here.
17785
17786 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17787 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17788
17789 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17790 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17791 (grub_get_libzfs_handle): Move to ...
17792 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17793 (grub_get_libzfs_handle): ... here.
17794
17795 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17796
17797 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17798 as command name case.
17799
17800 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17801
17802 * disk/raid.c (insert_array): Select unique numbers for named arrays
17803 as well, for use as keys in the disk cache.
17804
17805 2010-08-01 Robert Millan <rmh@gnu.org>
17806
17807 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17808 kFreeBSD device name, except on ZFS where the filesystem label is
17809 used.
17810 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17811 `/boot/zfs/zpool.cache'.
17812 Set mountfrom kernel variable using ${kfreebsd_device}.
17813
17814 2010-08-01 Robert Millan <rmh@gnu.org>
17815
17816 Make it even harder to use uninitialized `libzfs_handle' (and
17817 make the interface a bit simpler).
17818
17819 * include/grub/util/misc.h (grub_util_init_libzfs)
17820 (libzfs_handle): Remove.
17821 (grub_get_libzfs_handle): New prototype.
17822
17823 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17824 attribute.
17825 (grub_util_init_libzfs): Remove.
17826 (grub_get_libzfs_handle): New function.
17827
17828 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17829 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17830 accessing `libzfs_handle' directly.
17831
17832 2010-08-01 Robert Millan <rmh@gnu.org>
17833
17834 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17835 (grub_find_zpool_from_mount_point): New function prototypes.
17836
17837 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17838 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17839
17840 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17841 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17842 `static' attribute.
17843
17844 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17845 finding zpool from mount point into ...
17846 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17847
17848 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17849 requested path is part of a ZFS pool, use
17850 grub_find_zpool_from_mount_point() to detect its filesystem name,
17851 and generate a path with `/fsname@path' syntax.
17852
17853 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17854
17855 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17856 (void) rather than () so that this is a proper prototype.
17857
17858 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17859
17860 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17861
17862 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17865 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17866
17867 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17868
17869 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17870
17871 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17872
17873 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17874
17875 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17876
17877 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17878 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17879 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17880 disable gfxpayload.
17881 (Shell-like scripting): Add real content.
17882 (Serial terminal): Suggest `terminal_input serial; terminal_output
17883 serial' rather than putting the two commands on separate lines,
17884 since console input will be inoperative after the first command.
17885 (menuentry): Document --class, --users, and --hotkey options.
17886 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17887 Vladimir Serbinenko).
17888
17889 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17890 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17891
17892 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17893
17894 2010-08-01 Robert Millan <rmh@gnu.org>
17895
17896 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17897 (grub_find_zpool_from_mount_point): New function prototypes.
17898
17899 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17900 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17901
17902 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17903 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17904 `static' attribute.
17905
17906 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17907 finding zpool from mount point into ...
17908 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17909
17910 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17911 requested path is part of a ZFS pool, use
17912 grub_find_zpool_from_mount_point() to detect its filesystem name,
17913 and generate a path with `/fsname@path' syntax.
17914
17915 2010-08-01 Robert Millan <rmh@gnu.org>
17916
17917 Prevent accidental use of uninitialized libzfs_handle.
17918
17919 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17920 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17921 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17922
17923 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17924
17925 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17926 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17927
17928 2010-08-01 Robert Millan <rmh@gnu.org>
17929
17930 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17931
17932 2010-07-31 Robert Millan <rmh@gnu.org>
17933
17934 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17935
17936 2010-07-31 Robert Millan <rmh@gnu.org>
17937
17938 * kern/emu/misc.c: Add missing license header.
17939
17940 2010-07-31 Robert Millan <rmh@gnu.org>
17941
17942 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17943
17944 * include/grub/util/libnvpair.h: Include `<config.h>'.
17945 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17946 declaring libnvpair prototypes ourselves.
17947 * include/grub/util/libzfs.h: Include `<config.h>'.
17948 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17949 declaring libzfs prototypes ourselves.
17950
17951 (libzfs_handle): Moved to ...
17952 * include/grub/util/misc.h (libzfs_handle): ... here.
17953 Include `<grub/util/libzfs.h>'.
17954
17955 2010-07-30 Robert Millan <rmh@gnu.org>
17956
17957 * include/grub/emu/misc.h: Add missing license header.
17958
17959 2010-07-30 Robert Millan <rmh@gnu.org>
17960
17961 Enable `grub-probe -t device' resolution on ZFS.
17962
17963 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17964 * include/grub/util/libnvpair.h: New file.
17965 * include/grub/util/libzfs.h: New file.
17966
17967 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17968 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17969 `<grub/util/libnvpair.h>'.
17970 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17971
17972 (find_mount_point_from_dir): New static function.
17973 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17974 function.
17975 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17976 find_root_device_from_libzfs() before ressorting to find_root_device().
17977
17978 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17979 prototype.
17980 * util/misc.c: Include `<grub/util/libzfs.h>'.
17981 (grub_util_init_libzfs): New function.
17982 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17983 [HAVE_LIBZFS] (fini_libzfs): New static function.
17984 (grub_util_init_libzfs): New function.
17985 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17986
17987 2010-07-30 Robert Millan <rmh@gnu.org>
17988
17989 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17990 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17991 `warn_unused_result' attribute.
17992 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17993 (grub_xasprintf, grub_xvasprintf): Likewise.
17994 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17995
17996 2010-07-29 Robert Millan <rmh@gnu.org>
17997
17998 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17999 (probe): Handle `PRINT_FS_LABEL'.
18000 (main): Handle `-t fs_label'.
18001
18002 2010-07-29 Robert Millan <rmh@gnu.org>
18003
18004 * configure.ac: Remove grub-mkisofs checks.
18005
18006 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18009 Reported by: Lennart Sorensen.
18010
18011 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18014 prior to terminal_input/terminal_output separation. It's been over 1.5
18015 years and those versions weren't widely deployed.
18016
18017 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * disk/raid.c (insert_array): Don't count named arrays when looking
18020 for unused array numbers.
18021 Reported and tested by: Michael Guntsche.
18022
18023 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18024
18025 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18026 implementation of this so that grub-emu links again, with a note
18027 that this should support hotplugging in the future.
18028
18029 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18030
18031 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18032
18033 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18034
18035 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18036 handle on failure.
18037 (grub_loopback_close): Remove empty function.
18038 (grub_loopback_dev): Remove close method.
18039
18040 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18041
18042 Disable EFI cursor when the EFI console becomes inactive.
18043
18044 * term/efi/console.c (grub_efi_console_init): New function.
18045 (grub_efi_console_fini): New function.
18046 (grub_console_term_output): Register init and fini methods.
18047
18048 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18051 sh script.
18052
18053 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 * disk/loopback.c (grub_loopback): Replace filename with file.
18056 (delete_loopback): Handle new semantics.
18057 (grub_cmd_loopback): Likewise.
18058 (grub_loopback_iterate): Likewise.
18059 (grub_loopback_close): Likewise.
18060
18061 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18064 with -p "".
18065 Reported by: Tito Keitel.
18066
18067 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18068
18069 * docs/grub.texi (Naming convention): Document new naming convention.
18070
18071 2010-07-20 Vadim Solomin <vadic052@gmail.com>
18072 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18073
18074 Generate device.map in something closer to the old ordering.
18075
18076 * util/deviceiter.c (struct device): New declaration.
18077 (compare_file_names): Rename to ...
18078 (compare_devices): ... this. Sort by kernel name in preference to
18079 the stable by-id name, but keep the latter as a fallback comparison.
18080 Update header comment.
18081 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18082 of `struct device' rather than of plain file names.
18083
18084 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18085
18086 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18087 on i386.
18088
18089 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18092 hardcoding size.
18093 (setv1table): Likewise.
18094
18095 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18096
18097 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18098 removing the homehost if present.
18099 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18100 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18101 removing the homehost if present.
18102 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18103 if possible.
18104 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18105
18106 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18107 parameter. Set its pointer target to 0.
18108 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18109 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18110 `data_offset' value from the superblock for 1.x metadata.
18111 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18112 data on the device.
18113 (insert_array): Record the start sector of data on the device.
18114 (grub_raid_register): Pass start_sector parameters to
18115 grub_raid_list->detect and insert_array.
18116 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18117 member.
18118 (struct grub_raid): Add start_sector parameter to `detect'.
18119
18120 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18121 __attribute__ ((packed)), leaving a comment.
18122 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18123 (grub_mdraid_detect_09): ... here and ...
18124 (grub_mdraid_detect_1x): ... here.
18125
18126 2010-07-20 Peter Henn <peter.henn@web.de>
18127
18128 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18129 chunk size and disk size, which are already given as sector counts
18130 as distinct from the 0.90 units. Fetch the correct device number
18131 from the role table instead of using the table index.
18132
18133 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
18134
18135 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18136 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18137 (WriteMostly1): New macro.
18138 Set array->name to NULL for metadata format 0.90. Add support for
18139 metadata 1.x. Fix some comments.
18140 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18141 few comments.
18142 * util/getroot.c (grub_util_get_grub_dev): Add support for
18143 /dev/md/name style devices.
18144
18145 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18146
18147 * .bzrignore: Ignore 20_linux_xen.
18148
18149 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
18150
18151 * util/import_unicode.py: Remove unnecessary imports.
18152
18153 2010-07-17 Aleš Nesrsta <starous@volny.cz>
18154
18155 Hotplugging and USB hub support.
18156
18157 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18158 (grub_ohci): Likewise.
18159 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18160 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18161 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18162 (GRUB_OHCI_CTRL_EDS): Likewise.
18163 (GRUB_OHCI_BULK_EDS): Likewise.
18164 (GRUB_OHCI_TDS): Likewise.
18165 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18166 (grub_ohci_ed_phys2virt): New function.
18167 (grub_ohci_virt_to_phys): Likewise.
18168 (grub_ohci_td_phys2virt): Likewise.
18169 (grub_ohci_td_virt2phys): Likewise.
18170 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18171 attachment.
18172 (grub_ohci_find_ed): New function.
18173 (grub_ohci_alloc_td): Likewise.
18174 (grub_ohci_free_td): Likewise.
18175 (grub_ohci_free_tds): Likewise.
18176 (grub_ohci_transfer): Use previously allocated memory.
18177 (grub_ohci_portstatus): Reset status changed bit.
18178 (grub_ohci_detect_dev): Supply status changed.
18179 (grub_ohci_fini_hw): Free memory.
18180 (grub_ohci_restore_hw): Reallocate memory.
18181 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18182 Reset status change.
18183 (grub_uhci_detect_dev): Supply status_change.
18184 * bus/usb/usb.c (attach_hooks): New var.
18185 (grub_usb_device_attach): New function.
18186 (grub_usb_register_attach_hook_class): Likewise.
18187 (grub_usb_unregister_attach_hook_class): Likewise.
18188 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18189 (grub_usb_add_hub): Reset connection changed bit.
18190 (attach_root_port): New function.
18191 (grub_usb_root_hub): Likewise.
18192 (poll_nonroot_hub): Likewise.
18193 (grub_usb_poll_devices): Likewise.
18194 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18195 * disk/usbms.c (grub_usbms_open): Use device hooks.
18196 (grub_usbms_iterate) :Poll devices.
18197 (grub_usbms_finddevs): Split into ...
18198 (grub_usbms_attach): ... this ...
18199 (grub_usbms_attach): ... and this.
18200 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18201 in detect_dev.
18202 (grub_usb_interface): New fields attached and detach_hook.
18203 (grub_usb_attach_hook_class): New type.
18204 (grub_usb_attach_desc): New struct.
18205 (grub_usb_register_attach_hook_class): New function.
18206 (grub_usb_unregister_attach_hook_class): Likewise.
18207 (grub_usb_poll_devices): Likewise.
18208 (grub_usb_device_attach): Likewise.
18209 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18210 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18211
18212 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18215 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18216 delta determination style. Works with most NetBSD partitions too.
18217
18218 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18221 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18222
18223 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18226
18227 2010-07-14 Anton Blanchard <anton@samba.org>
18228
18229 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18230 ET_DYN files.
18231
18232 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18233
18234 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18235
18236 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18237
18238 * kern/partition.c (grub_partition_check_containment): New function to
18239 check that a partition is physically contained in a parent. Since
18240 offsets are relative (and non-negative), this reduces to checking that
18241 the partition ends before its parent.
18242 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18243 (grub_partition_iterate): Likewise.
18244 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18245 comments.
18246 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18247 partitions that start before their parent, and add debug printfs.
18248
18249 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18250
18251 * Makefile.in (.SUFFIX): Spell correctly, as ...
18252 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18253 bare module name without `.mod', e.g. `test') tried to invoke a
18254 Modula-2 compiler.
18255
18256 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18257
18258 * README: Point to the Info manual.
18259
18260 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18261
18262 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18263 2nd superblock position from partition size.
18264
18265 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18266
18267 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18268 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18269 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18270 outputs.
18271
18272 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 Restructure SCSI .id handling.
18275 Reported and tested by: Aleš Nesrsta.
18276
18277 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18278 (grub_atapi_dev): Changed .name to "ata". New field .id.
18279 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18280 (grub_usbms_dev): New field .id.
18281 * disk/scsi.c (grub_scsi_iterate): Generate name.
18282 (grub_scsi_open): Parse name.
18283 * include/grub/scsi.h (grub_make_scsi_id): New function.
18284 (grub_scsi_dev): Change iterate and open to number instead of naming
18285 busses. All users updated.
18286 (grub_scsi): Remove name. Add .bus.
18287
18288 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 * commands/help.c (grub_cmd_help): Fix a typo.
18291
18292 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18295 Reported and tested by: Colin Watson.
18296
18297 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18300 in this context.
18301
18302 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18305
18306 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18307
18308 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18309 indentation.
18310
18311 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18312
18313 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18314 and disk/raid6_recover.c.
18315 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18316 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18317
18318 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18319
18320 * term/gfxterm.c (repaint_schedulded): Rename to ...
18321 (repaint_scheduled): ... this. Update all callers.
18322 (repaint_was_schedulded): Rename to ...
18323 (repaint_was_scheduled): ... this. Update all callers.
18324
18325 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18326
18327 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18328 which we expect to be handled by upper layers.
18329
18330 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18331
18332 * bus/usb/usbhub.c: #include time.h header.
18333
18334 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18335
18336 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18337 entry_name also for entries without stat blocks (e.g. ".."); fixes
18338 corruption of the first entry in a directory.
18339
18340 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18341
18342 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18343 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18344 doesn't work otherwise.
18345
18346 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18347
18348 * docs/grub.texi (Features): Update list of supported file systems.
18349 (GNU/Linux): Update for GRUB 2.
18350 (Serial terminal): Remove mention of --disable-serial, which was a
18351 GRUB Legacy configure option. Update instructions to use
18352 `terminal_input' and `terminal_output' rather than `terminal'.
18353 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18354 configuration' and `Installing GRUB using grub-install'.
18355 (Menu entry editor): Update for GRUB 2.
18356 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18357 Document new -a, -u, and -v options.
18358 (initrd): New section.
18359 (initrd16): New section.
18360 (linux): New section.
18361 (linux16): New section.
18362 (search): The `var' argument to `--set' is optional.
18363 (GRUB only offers a rescue shell): Go into a little more detail on
18364 drive ordering.
18365
18366 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18367
18368 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18369
18370 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18371
18372 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18373 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18374
18375 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18376
18377 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18378 install_prefix, in line with install_dos_part and install_bsd_part.
18379 Add new prefix variable, which is copied to install_prefix after
18380 comparing core.img in memory with the one read from disk in the
18381 no-embedding case, and use that rather than overwriting
18382 install_prefix immediately when installing to a partition.
18383 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18384 Bicakci.
18385
18386 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18387
18388 * configure.ac: Avoid == in test command, it's not portable.
18389 * util/grub.d/30_os-prober.in: Likewise.
18390
18391 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18392
18393 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18394
18395 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18396
18397 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18398 multiple (top-level) partmaps.
18399
18400 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18403 Reported by: Tino Keitel.
18404
18405 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18406
18407 Bidi and diacritics support.
18408
18409 * Makefile.in (widthspec.bin): New target.
18410 (widthspec.h): Likewise.
18411 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18412 * autogen.sh: Generate unidata.c.
18413 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18414 * commands/ls.c (grub_ls_list_devices): Likewise.
18415 (grub_ls_list_files): Likewise.
18416 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18417 (grub_mini_cmd_lsmod): Likewise.
18418 * commands/read.c: Likewise.
18419 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18420 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18421 * lib/arg.c (grub_arg_show_help): Likewise.
18422 * lib/crypto.c (grub_password_get): Likewise.
18423 * normal/auth.c (grub_username_get): Likewise.
18424 * normal/misc.c (grub_normal_print_device_info): Likewise.
18425 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18426 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18427 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18428 (normal/charset.c_DEPENDENCIES): New variable.
18429 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18430 (pkglib_MODULES): Remove charset.mod.
18431 (charset_mod_SOURCES): Removed.
18432 (charset_mod_CFLAGS): Likewise.
18433 (charset_mod_LDFLAGS): Likewise.
18434 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18435 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18436 and term/tparm.c.
18437 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18438 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18439 (kernel_img_HEADERS): Add terminfo.h.
18440 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18441 Fill ->font. Reverse ascii bitmaps.
18442 (grub_font_get_xheight): New function.
18443 * font/font.c (grub_font_get_string_width): Moved from here ...
18444 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18445 * font/font.c (grub_font_draw_string): Moved from here ...
18446 * gfxmenu/font.c (grub_font_draw_string): ... here.
18447 * font/font.c (grub_font_dup_glyph): New function.
18448 (grub_font_blit_glyph): Likewise.
18449 (grub_font_blit_glyph_mirror): Likewise.
18450 (blit_comb): Likewise.
18451 (grub_font_construct_dry_run): Likewise.
18452 (grub_font_get_constructed_device_width): Likewise.
18453 (grub_font_construct_glyph): Likewise.
18454 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18455 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18456 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18457 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18458 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18459 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18460 (grub_font_get_xheight): New proto.
18461 (grub_font_get_constructed_device_width): Likewise.
18462 (grub_font_construct_glyph): Likewise.
18463 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18464 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18465 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18466 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18467 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18468 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18469 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18470 (grub_console_getcharwidth): Likewise.
18471 * include/grub/misc.h (grub_xputs): New proto.
18472 (grub_puts): Inlined.
18473 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18474 (grub_normal_get_line_counter): Removed.
18475 (grub_install_newline_hook): Likewise.
18476 (grub_normal_get_char_counter): New proto.
18477 (grub_normal_reset_more): Likewise.
18478 (grub_xputs_normal): Likewise.
18479 * include/grub/powerpc/ieee1275/console.h: Removed.
18480 * include/grub/sparc64/ieee1275/console.h: Likewise.
18481 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18482 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18483 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18484 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18485 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18486 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18487 (grub_term_input): Pass reference to self. All users updated.
18488 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18489 Pass reference to self. New fields normal_color, highlight_color and
18490 data. All users updated.
18491 (grub_putchar): Removed.
18492 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18493 (grub_unicode_estimate_width): New function.
18494 (grub_term_getcharwidth): Add defaults.
18495 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18496 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18497 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18498 (grub_cls): Remove EXPORT_FUNC.
18499 (grub_setcolorstate): Inline.
18500 (grub_newline_hook): Removed.
18501 * include/grub/terminfo.h: Rewritten. All users updated.
18502 * include/grub/unicode.h: New file.
18503 * include/grub/video.h (grub_video_signed_rect): New type.
18504 * kern/emu/console.c (grub_console_highlight_color): Removed.
18505 (grub_console_normal_color): Likewise.
18506 (grub_console_standard_color): Made static.
18507 (grub_ncurses_putchar): Remove mapping.
18508 (grub_ncurses_getcharwidth): Removed.
18509 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18510 (grub_ncurses_setcolor): Removed.
18511 (grub_ncurses_getcolor): Likewise.
18512 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18513 (grub_console_putchar): ... this.
18514 (grub_console_putchar): Handle argument difference.
18515 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18516 console_init_early and console_init_lately.
18517 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18518 * kern/misc.c (grub_puts): Removed.
18519 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18520 (grub_vsnprintf_real): Remove str = NULL support.
18521 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18522 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18523 * kern/term.c (grub_putcode): Renamed to ...
18524 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18525 (grub_putchar): Removed.
18526 (grub_xputs_dumb): New function.
18527 (grub_xputs): New variable.
18528 * lib/charset.c: Move from here ...
18529 * normal/charset.c: ... to here.
18530 (grub_ucs4_to_utf8): New function.
18531 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18532 (join_types): New variable.
18533 (unpack_join): New function.
18534 (bidi_types): New variable.
18535 (unpack_bidi): New function.
18536 (get_bidi_type): Likewise.
18537 (get_join_type): Likewise.
18538 (is_mirrored): Likewise.
18539 (grub_unicode_get_comb_type): Likewise.
18540 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18541 (is_type_after): Likewise.
18542 (grub_unicode_aglomerate_comb): Likewise.
18543 (bidi_line_wrap): Likewise.
18544 (grub_bidi_line_logical_to_visual): Likewise.
18545 (grub_bidi_logical_to_visual): Likewise.
18546 (grub_unicode_mirror_code): Likewise.
18547 (grub_unicode_shape_code): Likewise.
18548 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18549 Don't use grub_putchar.
18550 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18551 (grub_normal_reader_init): Likewise.
18552 (grub_xputs_saved): New variable.
18553 (GRUB_MOD_INIT): Set grub_xputs.
18554 (GRUB_MOD_FINI): Restore grub_xputs.
18555 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18556 (menu_init): Avoid printing gfxmenu error.
18557 (show_menu): Use grub_normal_get_char_counter.
18558 * normal/menu_entry.c (update_screen): Fix out-of-array.
18559 (complete): Avoid NULL dereferencing.
18560 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18561 * normal/menu_text.c (print_spaces): Removed.
18562 (grub_print_ucs4): Likewise.
18563 (grub_print_message_indented): Use grub_print_ucs4.
18564 (print_message): Use grub_putcode.
18565 (print_entry): Hanlde diacritics.
18566 * normal/term.c (term_state): New type.
18567 (grub_more_lines): Removed.
18568 (term_states): New variable.
18569 (grub_normal_line_counter): Renamed to ..
18570 (grub_normal_char_counter): ...this. All users updated.
18571 (grub_normal_get_line_counter): Renamed to ...
18572 (grub_normal_get_char_counter): ... this.
18573 (grub_normal_reset_more): New function.
18574 (process_newline): Removed.
18575 (print_more): New function.
18576 (grub_install_newline_hook): Removed.
18577 (map_code): New function.
18578 (grub_puts_terminal): Use grub_print_ucs4.
18579 (putglyph): New function.
18580 (putcode_real): Likewise.
18581 (grub_putcode): Use putcode_real.
18582 (get_maxwidth): New function.
18583 (get_startwidth): Likewise.
18584 (print_ucs4_terminal): Likewise.
18585 (find_term_state): Likewise.
18586 (put_glyphs_terminal): Likewise.
18587 (print_backlog): Likewise.
18588 (print_ucs4_real): Likewise.
18589 (grub_print_ucs4): Likewise.
18590 (grub_xputs_normal): Likewise.
18591 * term/efi/console.c (grub_console_putchar): Output diacritics.
18592 (grub_console_getcharwidth): Removed.
18593 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18594 * term/gfxterm.c (clear_char): Free chars.
18595 (scroll_up): Avoid leaking memory.
18596 (grub_gfxterm_putchar): Support diacritics.
18597 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18598 * term/i386/pc/console.c (grub_console_term_output): Declare as
18599 GRUB_TERM_CODE_TYPE_VGA.
18600 * term/i386/pc/vga.c (grub_vga_term): Declare as
18601 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18602 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18603 GRUB_TERM_CODE_TYPE_VGA.
18604 * term/i386/vga_common.c (map_char): Removed.
18605 (grub_console_putchar): Likewise.
18606 (grub_console_getcharwidth): Likewise.
18607 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18608 (colors): Reordered to match terminfo.
18609 (grub_ofconsole_normal_color): Removed.
18610 (grub_ofconsole_writeesc): Likewise.
18611 (grub_ofconsole_highlight_color): Likewise.
18612 (grub_ofconsole_getcharwidth): Likewise.
18613 (grub_ofconsole_setcolorstate): Likewise.
18614 (grub_ofconsole_setcolor): Likewise.
18615 (grub_ofconsole_getcolor): Likewise.
18616 (grub_ofconsole_readkey): Renamed to ...
18617 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18618 key.
18619 (grub_ofconsole_checkkey): Removed.
18620 (grub_ofconsole_getkey): Likewise.
18621 (grub_ofconsole_getxy): Likewise.
18622 (grub_ofconsole_gotoxy): Likewise.
18623 (grub_ofconsole_cls): Likewise.
18624 (grub_ofconsole_refresh): Likewise.
18625 (grub_ofconsole_terminfo_input): New struct.
18626 (grub_ofconsole_terminfo_output): Likewise.
18627 (grub_ofconsole_term_input): Use terminfo.
18628 (grub_ofconsole_term_output): Likewise.
18629 (grub_console_init): Split into ...
18630 (grub_console_init_early): ...this and ...
18631 (grub_console_init_lately): ...this. Use terminfo.
18632 (grub_ofconsole_putchar): Renamed to ...
18633 (put): ... this. Remove mapping.
18634 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18635 * term/serial.c: Simplify using terminfo.
18636 (xpos): Removed.
18637 (ypos): Likewise.
18638 (keep_track): Likewise.
18639 (registered): Likewise.
18640 (input_buf): Likewise.
18641 (npending): Likewise.
18642 (serial_translate_key_sequence): Likewise.
18643 (fill_input_buf): Likewise.
18644 (grub_serial_checkkey): Likewise.
18645 (grub_serial_getkey): Likewise.
18646 (grub_serial_getxy): Likewise.
18647 (grub_serial_gotoxy): Likewise.
18648 (grub_serial_putchar): Likewise.
18649 (grub_serial_cls): Likewise.
18650 (grub_serial_setcolorstate): Likewise.
18651 (grub_serial_setcursor): Likewise.
18652 (serial_hw_init): Use serial_hw_fetch.
18653 (grub_serial_terminfo_input): New variable.
18654 (grub_serial_terminfo_output): Likewise.
18655 (grub_serial_term_input): Use terminfo.
18656 (grub_serial_term_output): Likewise.
18657 * term/terminfo.c (putstr): Use put.
18658 (grub_terminfo_all_free): New function
18659 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18660 (grub_terminfo_output_register): New function.
18661 (grub_terminfo_output_unregister): Likewise.
18662 (grub_terminfo_getxy): Likewise.
18663 (grub_terminfo_readkey): Likewise.
18664 (grub_terminfo_checkkey): Likewise.
18665 (grub_terminfo_getkey): Likewise.
18666 (grub_terminfo_input_init): Likewise.
18667 (print_terminfo): Likewise.
18668 (grub_cmd_terminfo): Handle encoding.
18669 (grub_terminfo_gotoxy): Track position.
18670 (grub_terminfo_cls): Likewise.
18671 (grub_terminfo_putchar): Likewise.
18672 (grub_terminfo_setcolorstate): Handle colors
18673 (grub_terminfo_cursor_on): This ...
18674 (grub_terminfo_cursor_off): ... and this merged into ...
18675 (grub_terminfo_setcursor): ... this.
18676 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18677 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18678 * unicode/BidiMirroring.txt: Likewise.
18679 * unicode/UnicodeData.txt: Likewise.
18680 * unicode/COPYING: Likewise.
18681 * util/grub-editenv.c (grub_putchar): Removed.
18682 (grub_xputs_real): New function.
18683 (grub_xputs): New variable.
18684 * util/grub-fstest.c (grub_putchar): Removed.
18685 (grub_xputs_real): New function.
18686 (grub_xputs): New variable.
18687 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18688 (grub_xputs_real): New function.
18689 (grub_xputs): New variable.
18690 * util/grub-probe.c (grub_putchar): Removed.
18691 (grub_xputs_real): New function.
18692 (grub_xputs): New variable.
18693 * util/grub-script-check.c (grub_putchar): Removed.
18694 (grub_xputs_real): New function.
18695 (grub_xputs): New variable.
18696 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18697 (grub_xputs_real): New function.
18698 (grub_xputs): New variable.
18699 * util/import_unicode.py: New file.
18700 * util/grub-mkfont.c (ft_errmsgs): New array.
18701 (grub_glyph_info): Make bitmap a pointer.
18702 (file_formats): New type WIDTH_SPEC.
18703 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18704 (options): Add width-spec.
18705 (help): Likewise.
18706 (add_char): Renamed to ...
18707 (add_glyph): ... this.
18708 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18709 (glyph_replace): New type.
18710 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18711 (add_char): New function.
18712 (add_subst): Likewise.
18713 (process_cursive): Likewise.
18714 (add_font): Handle GSUB.
18715 (write_font_width_spec): New function.
18716 (main): Sort glyphs.
18717 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18718 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18719 * kern/term.c (grub_cls): Moved from here...
18720 * normal/term.c (grub_cls): ... here.
18721
18722 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18723
18724 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18725 suitable for using within the format argument of printf when
18726 converting grub_size_t.
18727 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18728 "x" to convert grub_size_t arguments.
18729
18730 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18733 too long captions.
18734 (list_get_minimal_size): Take selection box into account.
18735
18736 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18737
18738 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18739 NULL font.
18740
18741 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18742
18743 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18744 devices when iterating over /dev/disk/by-id; they will be handled
18745 later if appropriate, which they aren't always (e.g. LVM).
18746
18747 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18748
18749 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18750 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18751 fails.
18752 (grub_halt): Likewise.
18753 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18754 reset-all fails.
18755 (grub_halt): Don't return, even if all of shut-down, power-off, and
18756 poweroff fail.
18757
18758 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18759
18760 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18761 arguments, not three.
18762
18763 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18764
18765 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18766 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18767 LVM-on-RAID is handled correctly.
18768
18769 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18770
18771 * docs/grub.texi (Changes from GRUB Legacy): New section.
18772 (Future): Fix typo.
18773
18774 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18775
18776 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18777 grub.d/README accidentally ends up executable for one reason or
18778 another. Ignore it.
18779
18780 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18781
18782 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18783 (gpt_partition_map_iterate): Support non-512B sectors.
18784
18785 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18788 Tested by: Seth Goldberg.
18789
18790 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18793 Properly align mbi.
18794 Reported by: Seth Goldberg.
18795
18796 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 * util/grub-mkrescue.in: Avoid module duplication.
18799
18800 2010-07-01 Sean Finney <seanius@seanius.net>
18801
18802 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18803
18804 2010-07-01 Sean Finney <seanius@seanius.net>
18805
18806 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18807
18808 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18809
18810 * disk/lvm.c (grub_lvm_checkvalue): New function.
18811 (grub_lvm_check_flag): Likewise.
18812
18813 2010-07-01 Robert Millan <rmh@gnu.org>
18814
18815 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18816 Support 'p' as partition separator on kernel of FreeBSD (used
18817 with GPT labels).
18818 (grub_util_biosdisk_get_grub_dev): Likewise.
18819
18820 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 Yeeloong firmware port.
18823
18824 * boot/mips/yeeloong/fwstart.S: New file.
18825 * bus/cs5536.c (gpiodump): New const.
18826 (set_io_space): New function.
18827 (set_iod): Likewise.
18828 (set_p2d): Likewise.
18829 (grub_cs5536_init_geode): Likewise.
18830 * commands/mips/yeeloong/lsspd.c: New file.
18831 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18832 (serial_mod_SOURCES): New variable.
18833 (serial_mod_CFLAGS): Likewise.
18834 (serial_mod_LDFLAGS): Likewise.
18835 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18836 term/terminfo.c and term/tparm.c.
18837 (pkglib_IMAGES): Add fwstart.img.
18838 (fwstart_img_SOURCES): New variable.
18839 (fwstart_img_CFLAGS): Likewise.
18840 (fwstart_img_ASFLAGS): Likewise.
18841 (fwstart_img_LDFLAGS): Likewise.
18842 (fwstart_img_FORMAT): Likewise.
18843 (pkglib_MODULES): Add lsspd.mod.
18844 (lsspd_mod_SOURCES): New variable.
18845 (lsspd_mod_CFLAGS): Likewise.
18846 (lsspd_mod_LDFLAGS): Likewise.
18847 (pkglib_MODULES): Add halt.mod.
18848 (halt_mod_SOURCES): New variable.
18849 (halt_mod_CFLAGS): Likewise.
18850 (halt_mod_LDFLAGS): Likewise.
18851 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18852 (serial_mod_SOURCES): Removed.
18853 (serial_mod_CFLAGS): Likewise.
18854 (serial_mod_LDFLAGS): Likewise.
18855 * disk/ata.c (check_device): New function.
18856 (grub_ata_device_initialize): Use check_device.
18857 (grub_ata_iterate): Recheck devices.
18858 (grub_ata_open): Likewise.
18859 (grub_atapi_iterate): Likewise.
18860 (grub_atapi_open): Likewise.
18861 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18862 (GRUB_ATA_CH1_PORT1): Likewise.
18863 (GRUB_ATA_CH0_PORT2): Likewise.
18864 (GRUB_ATA_CH1_PORT2): Likewise.
18865 * include/grub/mips/loongson.h: New file.
18866 * include/grub/mips/yeeloong/ec.h: Likewise.
18867 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18868 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18869 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18870 * include/grub/misc.h (grub_halt): Declare as noreturn.
18871 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18872 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18873 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18874 (UART_ENABLE_DTRRTS): Likewise.
18875 (UART_ENABLE_MODEM): Removed.
18876 (UART_ENABLE_OUT2): New const.
18877 * include/grub/term.h (grub_term_register_input_active): New function.
18878 (grub_term_register_output_active): Likewise.
18879 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18880 argument.
18881 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18882 (init_pci): New function.
18883 (grub_machine_init): Execute platform init when firmware. Init serial.
18884 (grub_halt): Implement.
18885 (grub_exit): Likewise.
18886 (grub_reboot): Likewise.
18887 * term/serial.c (serial_hw_init): Update macros.
18888 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18889 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18890 (image_targets): New target mipsel-yeeloong-flash.
18891 (generate_image): Support IMAGE_YEELOONG_FLASH.
18892 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18893 (grub_video_sm712_setup): Init card.
18894 (grub_video_sm712_set_palette): Removed.
18895 * video/sm712_init.c: New file.
18896
18897 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18898
18899 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18900 PATH when running help2man and then run it on the unadorned
18901 executable names, rather than passing $(builddir)/* paths to
18902 help2man. This avoids the build directory ending up in generated
18903 manual pages.
18904
18905 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18906
18907 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18908 to avoid accidents when debugging with 'sh -x'.
18909 * util/grub-mkrescue.in: Likewise.
18910 * util/grub.d/00_header.in: Likewise.
18911 * util/grub.d/10_hurd.in: Likewise.
18912 * util/grub.d/10_kfreebsd.in: Likewise.
18913 * util/grub.d/10_linux.in: Likewise.
18914 * util/grub.d/10_netbsd.in: Likewise.
18915 * util/grub.d/10_windows.in: Likewise.
18916 * util/grub.d/20_linux_xen.in: Likewise.
18917 * util/grub.d/30_os-prober.in: Likewise.
18918 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18919
18920 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18921
18922 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18923 last character in the buffer.
18924 Reported by: Vladimir Serbinenko.
18925
18926 2010-06-29 Robert Millan <rmh@gnu.org>
18927
18928 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18929 (Command-line and menu entry commands): Document `badram' command.
18930
18931 2010-06-28 Robert Millan <rmh@gnu.org>
18932
18933 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18934 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18935 command using ${GRUB_BADRAM} as parameter.
18936
18937 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18938
18939 * docs/grub.texi (Device map): New section.
18940 (Themes): New section (stub).
18941 * Makefile.in (docs/grub.info): The info documentation now builds
18942 without errors. Make sure it stays that way.
18943
18944 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 Use normal parser for menu entries.
18947 Reported by: Thomas Frauendorfer
18948
18949 * include/grub/parser.h (grub_parser_execute): Don't export.
18950 * normal/menu.c (grub_menu_execute_entry_real): New function.
18951 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18952
18953 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18954
18955 * docs/grub.texi (Embedded configuration): New section (replacing
18956 old "Preset Menu" stub).
18957 (Images): New section.
18958 (configfile): Note that any menu entries defined in `file' are shown
18959 immediately.
18960
18961 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18962
18963 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18964
18965 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18966
18967 * util/grub-install.in: Add --debug-image= option.
18968
18969 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18970
18971 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18972 possible on Linux.
18973
18974 * util/deviceiter.c (check_device): Rename to ...
18975 (check_device_readable_unique): ... this. Update all callers.
18976 Maintain and check a list of which devices (by canonicalized name)
18977 have already been seen.
18978 (clear_seen_devices): New function.
18979 (compare_file_names) [__linux__]: New function.
18980 (grub_util_iterate_devices): Clear the list of seen devices on exit
18981 and (just in case) on entry.
18982 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18983 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18984 seen-devices list, superseded by general code in check_device.
18985
18986 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18987
18988 * commands/cat.c (options): New variable.
18989 (grub_cmd_cat): Parse options. If the --dos option is given, print
18990 DOS-style "\r\n" line endings as simple newlines (Debian bug
18991 #586358).
18992 (GRUB_MOD_INIT): Use extcmd.
18993 (GRUB_MOD_FINI): Likewise.
18994 * docs/grub.texi (cat): Document --dos.
18995
18996 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18997
18998 XEN with Linux grub-mkconfig support.
18999
19000 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19001 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19002 GRUB_CMDLINE_XEN_DEFAULT.
19003 * util/grub.d/20_linux_xen.in: New file.
19004
19005 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19006
19007 Initialise VGA video on qemu ourselves.
19008
19009 * boot/i386/qemu/boot.S: Don't call 0xc000.
19010 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19011 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19012 (kernel_img_HEADERS): Add pci.h.
19013 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19014 * configure.ac: Force unifont on qemu and yeeloong.
19015 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19016 (grub_vga_palette_write): Use correct register.
19017 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19018 Call grub_qemu_init_cirrus.
19019 * kern/i386/qemu/init.c: New file.
19020 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19021
19022 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19023
19024 2010-06-26 Pavel Roskin <proski@gnu.org>
19025
19026 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19027 13.
19028
19029 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19030
19031 * docs/grub.texi (Simple configuration): Explain that
19032 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19033 set to `true' to disable their respective recovery entries, not
19034 merely set.
19035
19036 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19037
19038 Make the `source' command slightly faster.
19039
19040 * normal/main.c (grub_normal_execute): Don't re-read list files when
19041 nested.
19042
19043 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19044
19045 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19046 field position and mask size to red fields from mode_info, not
19047 green.
19048 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19049 Remove redundant tag->common.framebuffer_type assignment.
19050 Reported by: Seth Goldberg.
19051
19052 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19053
19054 Sync up other versions of the Linux loader with Robert Millan's
19055 change of 2010-01-09, "Make loader output a bit more user-friendly".
19056
19057 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19058 grub_dprintf().
19059 (grub_cmd_linux): Likewise.
19060 (grub_cmd_initrd): Likewise.
19061 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19062 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19063
19064 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
19065
19066 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19067 larger than MEMORY_MAP_SIZE.
19068
19069 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19070
19071 Fix parallel build.
19072
19073 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19074 dependency.
19075 * script/parser.y: #include grub_script.tab.h header.
19076
19077 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 Support >3GiB and <16MiB RAM in i386-qemu.
19080
19081 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19082 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19083 (grub_lower_mem): Removed.
19084 (grub_upper_mem): Likewise.
19085 (mem_size): Made static.
19086 (above_4g): New variable.
19087 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19088 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19089 support.
19090
19091 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 Cirrus 5446 and Bochs video cards support.
19094
19095 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19096 video_bochs.mod
19097 (video_cirrus_mod_SOURCES): New variable.
19098 (video_cirrus_mod_CFLAGS): Likewise.
19099 (video_cirrus_mod_LDFLAGS): Likewise.
19100 (video_bochs_mod_SOURCES): Likewise.
19101 (video_bochs_mod_CFLAGS): Likewise.
19102 (video_bochs_mod_LDFLAGS): Likewise.
19103 * include/grub/vga.h: New file.
19104 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19105 (grub_video_fb_set_page_t): New type.
19106 (grub_video_fb_setup): New prototype.
19107 (grub_video_fb_swap_buffers): Likewise.
19108 (grub_video_fb_get_info_and_fini): Likewise.
19109 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19110 (CRTC_DATA_PORT): Likewise.
19111 (CRTC_CURSOR): Likewise.
19112 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19113 (CRTC_CURSOR_ADDR_LOW): Likewise.
19114 (CRTC_CURSOR_DISABLE): Likewise.
19115 (update_cursor): Use grub_vga_cr_write.
19116 (grub_vga_text_setcursor): Likewise.
19117 * video/bochs.c: New file.
19118 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19119 (palette): Likewise.
19120 (palette_size): Likewise.
19121 (framebuffer): New variable.
19122 (grub_video_fb_init): Use 'framebuffer'.
19123 (grub_video_fb_fini): Likewise.
19124 (grub_video_fb_get_info): Likewise.
19125 (grub_video_fb_get_palette): Likewise.
19126 (grub_video_fb_set_palette): Likewise.
19127 (grub_video_fb_set_viewport): Likewise.
19128 (grub_video_fb_get_viewport): Likewise.
19129 (grub_video_fb_map_color): Likewise.
19130 (grub_video_fb_map_rgb): Likewise.
19131 (grub_video_fb_map_rgba): Likewise.
19132 (grub_video_fb_unmap_color): Likewise.
19133 (grub_video_fb_unmap_color_int): Likewise.
19134 (grub_video_fb_fill_rect): Likewise.
19135 (grub_video_fb_blit_bitmap): Likewise.
19136 (grub_video_fb_blit_render_target): Likewise.
19137 (grub_video_fb_scroll): Likewise.
19138 (grub_video_fb_create_render_target): Likewise.
19139 (grub_video_fb_doublebuf_blit_init): Likewise.
19140 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19141 (doublebuf_pageflipping_update_screen): New function.
19142 (doublebuf_pageflipping_init): Likewise.
19143 (grub_video_fb_setup): Likewise.
19144 (grub_video_fb_swap_buffers): Likewise.
19145 (grub_video_fb_get_info_and_fini): Likewise.
19146 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19147 All users updated.
19148 (doublebuf_pageflipping_commit): Restructured into ...
19149 (doublebuf_pageflipping_set_page): ... this.
19150 (doublebuf_pageflipping_update_screen): Removed.
19151 (doublebuf_pageflipping_init): Likewise.
19152 (double_buffering_init): Likewise.
19153 (grub_video_vbe_setup): Use grub_video_fb_setup.
19154 (grub_video_vbe_swap_buffers): Removed.
19155 (grub_video_vbe_set_active_render_target): Likewise.
19156 (grub_video_vbe_get_active_render_target): Likewise.
19157 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19158 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19159 grub_video_fb_set_active_render_target and
19160 grub_video_fb_get_active_render_target.
19161 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19162 (SEQUENCER_DATA_PORT): Likewise.
19163 (MAP_MASK_REGISTER): Likewise.
19164 (CRTC_ADDR_PORT): Likewise.
19165 (CRTC_DATA_PORT): Likewise.
19166 (START_ADDR_HIGH_REGISTER): Likewise.
19167 (START_ADDR_LOW_REGISTER): Likewise.
19168 (GRAPHICS_ADDR_PORT): Likewise.
19169 (GRAPHICS_DATA_PORT): Likewise.
19170 (READ_MAP_REGISTER): Likewise.
19171 (INPUT_STATUS1_REGISTER): Likewise.
19172 (INPUT_STATUS1_VERTR_BIT): Likewise.
19173 (get_map_mask): Use grub_vga_sr_read.
19174 (set_map_mask): Use grub_vga_sr_write.
19175 (set_read_map): Use grub_vga_gr_write.
19176 (set_start_address): Use grub_vga_cr_write.
19177 * video/sm712.c (framebuffer): Remove leftover fields.
19178
19179 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
19180
19181 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19182 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19183 instead. Replace the gfxterm backend check with a check that
19184 ${GRUB_PREFIX}/video.lst is non-empty.
19185 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19186 again.
19187 (load_video): New generated function. Call it before loading
19188 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19189 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19190 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19191 * docs/grub.texi (Simple configuration): Document
19192 GRUB_VIDEO_BACKEND.
19193
19194 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 Use video functions in linux and xnu loaders.
19197
19198 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19199 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19200 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19201 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19202 loader/i386/pc/linux.c.
19203 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19204 (find_line_len): Removed.
19205 (find_framebuf): Likewise.
19206 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19207 * loader/i386/efi/xnu.c: Removed.
19208 * loader/i386/pc/xnu.c: Moved from here...
19209 * loader/i386/xnu.c: ...here.
19210
19211 Enable priorities in video drivers.
19212
19213 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19214 (grub_video_adapter): New field prio.
19215 (grub_video_register): Respect prio when inserting.
19216 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19217 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19218 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19219 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19220 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19221 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19222 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19223
19224 Fix SDL driver ID.
19225
19226 * include/grub/video.h (grub_video_driver_id_t): New value
19227 GRUB_VIDEO_DRIVER_SDL.
19228 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19229
19230 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19231
19232 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19233 argument to printf.
19234 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19235
19236 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19237
19238 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19239 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19240
19241 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19242
19243 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19244 directly, and recommend grub-install instead.
19245 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19246
19247 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19248
19249 Fix i386-pc prefix handling with nested partitions (Debian bug
19250 #585068). Note that the case where the core image is booted using
19251 multiboot and relocated from its original location still requires
19252 more work.
19253
19254 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19255 with "(,", fill the boot drive in between those two characters, but
19256 expect that a full partition specification including partition map
19257 names will follow.
19258 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19259 specified, write a prefix without the drive name but including a
19260 full partition specification.
19261
19262 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19263
19264 * util/grub-mkconfig.in: Ignore non-option arguments, for
19265 compatibility with older versions (before 2010-06-12) which did the
19266 same. In particular, this makes it easier to ship an update-grub
19267 wrapper which is compatible with that used with GRUB Legacy (Debian
19268 bug #586056).
19269
19270 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19271
19272 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19273 for manual page generation.
19274
19275 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19276
19277 * po/POTFILES: Remove leftover commands/handler.c.
19278
19279 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19280
19281 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19282 left this script non-functional.
19283
19284 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19285
19286 * docs/man/grub-emu.h2m: New file.
19287
19288 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19289
19290 * docs/grub.texi (Commands): Document reduced command set in rescue
19291 mode.
19292 (cpuid): New section.
19293
19294 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19295
19296 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19297 new partition naming style.
19298 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19299
19300 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19301
19302 Add "-o grub.iso" like cmdline options support.
19303
19304 * util/grub-install.in: Improve cmdline option parsing.
19305 * util/grub-mkconfig.in: Likewise.
19306 * util/grub-mkrescue.in: Likewise.
19307 * util/grub-reboot.in: Likewise.
19308 * util/grub-set-default.in: Likewise.
19309 * util/i386/efi/grub-install.in: Likewise.
19310 * util/ieee1275/grub-install.in: Likewise.
19311 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19312
19313 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19314
19315 * .bzrignore: Ignore 41_custom.
19316
19317 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19318
19319 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19320
19321 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19322
19323 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19324 prototype declarations.
19325
19326 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19327 generating fs, partmap, and video lists.
19328 * include/grub/fs.h (grub_fs_register): Omit prototype if
19329 GRUB_LST_GENERATOR is defined.
19330 * include/grub/partition.h (grub_partition_map_register): Likewise.
19331 * include/grub/video.h (grub_video_register): Likewise.
19332
19333 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19334
19335 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19336
19337 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19338
19339 * util/grub-mkrescue.in: Support --xorriso argument.
19340
19341 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19342
19343 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19344 Suggested by: Thomas Schmitt.
19345
19346 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19347
19348 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19349 Suggested by: Thomas Schmitt.
19350
19351 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19352
19353 custom.cfg support.
19354
19355 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19356 * util/grub.d/41_custom.in: New file.
19357
19358 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19359
19360 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19361 been merged back into normal.
19362
19363 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19364
19365 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19366 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19367
19368 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19369
19370 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19371 when generating manual pages.
19372 * docs/man/grub-bin2h.h2m: New file.
19373 * docs/man/grub-editenv.h2m: New file.
19374 * docs/man/grub-fstest.h2m: New file.
19375 * docs/man/grub-install.h2m: New file.
19376 * docs/man/grub-macho2img.h2m: New file.
19377 * docs/man/grub-mkconfig.h2m: New file.
19378 * docs/man/grub-mkdevicemap.h2m: New file.
19379 * docs/man/grub-mkfont.h2m: New file.
19380 * docs/man/grub-mkimage.h2m: New file.
19381 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19382 * docs/man/grub-mkrelpath.h2m: New file.
19383 * docs/man/grub-mkrescue.h2m: New file.
19384 * docs/man/grub-ofpathname.h2m: New file.
19385 * docs/man/grub-pe2elf.h2m: New file.
19386 * docs/man/grub-probe.h2m: New file.
19387 * docs/man/grub-reboot.h2m: New file.
19388 * docs/man/grub-script-check.h2m: New file.
19389 * docs/man/grub-set-default.h2m: New file.
19390 * docs/man/grub-setup.h2m: New file.
19391
19392 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 Use FOR_* macros instead of *_iterate whenever possible.
19395
19396 * commands/handler.c: Removed.
19397 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19398 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19399 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19400 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19401 (grub_probe_SOURCES): Remove kern/parser.c.
19402 (util/grub-script-check.c_DEPENDENCIES): Removed.
19403 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19404 and grub_script_check_init.c.
19405 (grub_script_check_init.lst): Removed.
19406 (grub_script_check_init.h): Likewise.
19407 (grub_script_check_init.c): Likewise.
19408 (pkglib_MODULES): Remove handler.mod and sh.mod.
19409 (handler_mod_SOURCES): Removed.
19410 (handler_mod_CFLAGS): Likewise.
19411 (handler_mod_LDFLAGS): Likewise.
19412 (normal_mod_SOURCES): Remove normal/handler.c.
19413 Add script/main.c, script/script.c, script/execute.c,
19414 script/function.c, script/lexer.c, grub_script.tab.c
19415 and grub_script.yy.c.
19416 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19417 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19418 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19419 (grub_setup_SOURCES): Remove kern/parser.c.
19420 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19421 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19422 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19423 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19424 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19425 (grub_setup_SOURCES): Remove kern/parser.c.
19426 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19427 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19428 * include/grub/command.h (grub_command_iterate): Removed.
19429 (FOR_COMMANDS): New macro.
19430 * include/grub/dl.h (grub_dl): New member next.
19431 (grub_dl_iterate): Removed.
19432 (grub_dl_head): New variable declaration.
19433 (FOR_DL_MODULES): New macro.
19434 * include/grub/fs.h: Include list.h.
19435 (grub_fs): Make next first element.
19436 (grub_fs_list): New variable declaration.
19437 (grub_fs_register): Make inline.
19438 (grub_fs_unregister): Likewise.
19439 (grub_fs_iterate): Removed.
19440 (FOR_FILESYSTEMS): New macro.
19441 * include/grub/handler.h: Removed.
19442 * include/grub/list.h (grub_list_hook_t): Removed.
19443 (grub_list_test_t): Likewise.
19444 (grub_list_pop): Likewise.
19445 (grub_list_iterate): Likewise.
19446 (grub_list_insert): Likewise.
19447 (FOR_LIST_ELEMENTS): New macro.
19448 * include/grub/parser.h (grub_parser_class): Removed.
19449 (grub_parser_register): Likewise.
19450 (grub_parser_unregister): Likewise.
19451 (grub_parser_get_current): Likewise.
19452 (grub_parser_set_current): Likewise.
19453 (grub_register_rescue_parser): Likewise.
19454 (grub_rescue_parse_line): New function.
19455 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19456 * include/grub/script_sh.h (grub_script_function_list): New variable
19457 declaration.
19458 (FOR_SCRIPT_FUNCTIONS): New macro.
19459 (grub_script_function_iterate): Removed.
19460 (grub_normal_parse_line): New prototype.
19461 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19462 (FOR_DISABLED_TERM_INPUTS): Likewise.
19463 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19464 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19465 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19466 element.
19467 (grub_video_register): Inline.
19468 (grub_video_unregister): Likewise.
19469 (grub_video_adapter_list): New variable declaration.
19470 (grub_video_iterate): Removed.
19471 (FOR_VIDEO_ADAPTERS): New macro.
19472 * kern/dl.c (grub_dl_list): Removed. All users updated.
19473 (grub_dl_iterate): Removed.
19474 * kern/fs.c (grub_fs_list): Make global.
19475 (grub_fs_register): Removed.
19476 (grub_fs_unregister): Likewise.
19477 (grub_fs_iterate): Likewise.
19478 * kern/handler.c: Removed.
19479 * kern/list.c (grub_list_pop): Removed.
19480 (grub_list_iterate): Likewise.
19481 (grub_list_insert): Likewise.
19482 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19483 (grub_prio_list_insert): Don't use grub_list_insert.
19484 * kern/main.c (grub_register_rescue_parser): Don't call
19485 grub_register_rescue_parser.
19486 * kern/parser.c (grub_parser_class): Removed.
19487 (grub_parser_execute): Use grub_rescue_parse_line.
19488 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19489 (grub_rescue_parser): Removed.
19490 (grub_register_rescue_parser): Likewise.
19491 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19492 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19493 (grub_auth_check_authentication): Likewise.
19494 * normal/completion.c (iterate_command): Removed.
19495 (grub_normal_do_completion): Use FOR_COMMANDS.
19496 * normal/handler.c: Removed.
19497 * normal/main.c (read_config_file): Remove parser changing.
19498 (grub_normal_execute): Don't call read_handler_list.
19499 (grub_normal_read_line_real): Statically allocate prompt.
19500 (grub_cmdline_run): Use grub_normal_parse_line.
19501 (GRUB_MOD_FINI): Don't call free_handler_list.
19502 * normal/menu_entry.c (run): Likewise.
19503 * script/function.c (grub_script_function_list): Make global.
19504 (grub_script_function_iterate): Removed.
19505 * script/main.c (grub_normal_parse_line): Make global.
19506 (grub_sh_parser): Removed.
19507 (GRUB_MOD_INIT): Likewise.
19508 (GRUB_MOD_FINI): Likewise.
19509 * tests/lib/functional_test.c (grub_functional_test): Use
19510 FOR_LIST_ELEMENTS.
19511 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19512 (grub_test_run): Use FOR_LIST_ELEMENTS.
19513 * tests/lib/unit_test.c (main): Likewise.
19514 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19515 grub_list_pop.
19516 * util/grub-fstest.c (grub_term_input_class): Removed.
19517 (grub_term_output_class): Likewise.
19518 * util/grub-probe.c: Likewise.
19519 * util/i386/pc/grub-setup.c: Likewise.
19520 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19521 * util/grub-script-check.c (main): Don't call grub_init_all and
19522 grub_fini_all.
19523 * video/video.c (grub_video_adapter_list): Make global.
19524 (grub_video_register): Removed.
19525 (grub_video_unregister): Likewise.
19526 (grub_video_iterate): Likewise.
19527
19528 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19531 reported by Henrique Ferreiro.
19532
19533 2010-06-09 Robert Millan <rmh@gnu.org>
19534
19535 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19536 ones, when both are available.
19537
19538 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19539
19540 Make --version uniform and avoid hard-coded program name.
19541
19542 * util/grub-mkimage.c (main): Use `program_name' instead of
19543 hard-coded string.
19544 * util/i386/pc/grub-setup.c (main): Likewise.
19545 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19546 * util/grub-install.in: Save the basename of $0 in $self, and use the
19547 latter in informational messages. Use the same format for --version
19548 as the binary programs.
19549 * util/grub-mkconfig.in: Likewise.
19550 * util/grub-mkrescue.in: Likewise.
19551 * util/grub-reboot.in: Likewise.
19552 * util/grub-set-default.in: Likewise.
19553 * util/i386/efi/grub-install.in: Likewise.
19554 * util/ieee1275/grub-install.in: Likewise.
19555 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19556
19557 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19558
19559 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19560 embedding area. Use <= instead of == when checking for non-emptiness.
19561
19562 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19563
19564 * configure.ac: Add `.' to the directories searched for unifont.
19565
19566 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19567
19568 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19569 grub_script.yy.h.
19570
19571 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19572
19573 * docs/grub.texi (History): Expand to cover GRUB 2.
19574 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19575 commands, not `terminal'.
19576 (serial): Likewise.
19577 (terminal_input): New section.
19578 (terminal_output): New section.
19579 (uppermem): New section (stub).
19580 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19581
19582 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19583
19584 * docs/grub.texi (Security): Menu entries are unrestricted by
19585 default, not restricted to superusers as I had previously thought.
19586 Reword to account for this.
19587
19588 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19589
19590 * kern/emu/misc.c (device_mapper_null_log): New function.
19591 (grub_device_mapper_supported): New function.
19592 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19593 prototype.
19594 * kern/emu/hostdisk.c (find_partition_start): Check whether
19595 device-mapper is supported before trying to use it.
19596 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19597
19598 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19599
19600 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19601 (File name syntax): Likewise.
19602 (help): --all is no longer supported in GRUB 2. Be more precise
19603 about pattern matching.
19604
19605 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19606
19607 * normal/completion.c (grub_normal_do_completion): When completing
19608 arguments to "set" and the current word contains an equals sign,
19609 skip to after the equals sign before starting completion.
19610
19611 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19612
19613 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19614
19615 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19616
19617 * docs/grub.texi (Network): New section.
19618 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19619 `(nd)' as in GRUB Legacy.
19620 (pxe_unload): New section.
19621
19622 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19623
19624 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19625 in the rescue shell, so recommend using `set' instead. Thanks,
19626 Jordan Uggla.
19627
19628 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19629
19630 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19631 (password): New section.
19632 (password_pbkdf2): New section.
19633 (search): New section.
19634 (Security): New section.
19635 (Troubleshooting): New section, currently very incomplete.
19636 (Invoking grub-mkpasswd-pbkdf2): New section.
19637 (Internals): New section, currently very incomplete.
19638
19639 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19640
19641 * util/grub.d/00_header.in: Add some more quoting (of
19642 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19643 work again.
19644 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19645
19646 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19647
19648 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19649 to `count', fixing variable shadowing that broke the -c option.
19650
19651 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
19652
19653 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19654 in case they contain spaces.
19655
19656 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19657
19658 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19659 "part_" to partmap module names, in line with grub-install.
19660 Reported by: Jindřich Makovička (Debian bug #584426).
19661
19662 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19663
19664 * util/grub-mkimage.c: Make target-related error messages slightly
19665 more helpful; -O talks about "format". Explicitly point to the use
19666 of -O if no target is specified.
19667 Reported by: Didier Raboud (Debian bug #584415).
19668
19669 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
19670
19671 * INSTALL: Document several build requirements for optional features
19672 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19673
19674 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19675
19676 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19677 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19678 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19679
19680 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19681
19682 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19683 Thanks to Jordan Uggla for spotting this.
19684
19685 2010-06-02 Aleš Nesrsta <starous@volny.cz>
19686
19687 Finally make USB usable.
19688
19689 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19690 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19691 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19692 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19693 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19694 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19695 (GRUB_OHCI_FSMPS): Likewise.
19696 (GRUB_OHCI_PERIODIC_START): Likewise.
19697 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19698 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19699 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19700 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19701 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19702 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19703 (grub_ohci_transaction): Likewise.
19704 (grub_ohci_transfer): Improve condition detection algorithms.
19705 Handle toggle property. Program the transactions correctly.
19706 Improve error handling. Various important fixups.
19707 (grub_ohci_portstatus): Put register writes in right order.
19708 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19709 (grub_uhci_transfer): Don't show "failed" message on success.
19710 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19711 array.
19712 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19713 determine its size.
19714 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19715 before initialization is completed. Use IN direction for empty
19716 transfers. Use last_trans and compute toggle.
19717 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19718 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19719 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19720 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19721 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19722 (grub_usb_device): Increase toggle to 256.
19723 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19724 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19725 GRUB_USBMS_SUBCLASS_SFF8070.
19726 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19727 (grub_scsi_inquiry): New member page and alloc_length.
19728 (grub_scsi_request_sense): New structure.
19729 (grub_scsi_request_sense_data): Likewise.
19730 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19731 control.
19732 * disk/scsi.c (grub_scsi_request_sense): New function.
19733 (grub_scsi_test_unit_ready): Likewise.
19734 (grub_scsi_inquiry): Fill new fields.
19735 (grub_scsi_read_capacity): Likewise.
19736 (grub_scsi_read10): Add request sense at the end.
19737 (grub_scsi_read12): Likewise.
19738 (grub_scsi_write10): Likewise.
19739 (grub_scsi_write12): Likewise.
19740 (grub_scsi_open): Add Test Unit Ready.
19741 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19742 Support additional subclasses. Con't clear halt yet. Activate the
19743 proper config. Calculate LUNs correctly.
19744 (grub_usbms_transfer): Various important fixups.
19745
19746 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19747
19748 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19749 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19750 (grub_ohci_fini_hw): New function.
19751 (grub_ohci_restore_hw): Likewise.
19752 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19753 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19754 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19755
19756 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 Dedicated DMA allocations.
19759
19760 * bus/pci.c (grub_memalign_dma32): New function
19761 (grub_dma_free): Likewise.
19762 (grub_dma_get_virt): Likewise.
19763 (grub_dma_get_phys): Likewise.
19764 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19765 (grub_ohci_pci_iter): Use dma32_alloc.
19766 (grub_ohci_transfer): Likewise.
19767 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19768 (grub_usb_bulk_readwrite): Likewise.
19769 * include/grub/pci.h: Add declarations.
19770
19771 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 CS5536 support.
19774
19775 * bus/cs5536.c: New file.
19776 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19777 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19778 (cs5536_mod_SOURCES): New variable.
19779 (cs5536_mod_CFLAGS): Likewise.
19780 (cs5536_mod_LDFLAGS): Likewise.
19781 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19782 machine/pci.h.
19783 (kernel_img_SOURCES): Add bus/cs5536.c.
19784 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19785 usb_keyboard.mod.
19786 (usb_mod_SOURCES): New variable.
19787 (usb_mod_CFLAGS): New variable.
19788 (usb_mod_LDFLAGS): New variable.
19789 (usbtest_mod_SOURCES): New variable.
19790 (usbtest_mod_CFLAGS): New variable.
19791 (usbtest_mod_LDFLAGS): New variable.
19792 (ohci_mod_SOURCES): New variable.
19793 (ohci_mod_CFLAGS): New variable.
19794 (ohci_mod_LDFLAGS): New variable.
19795 (usbms_mod_SOURCES): New variable.
19796 (usbms_mod_CFLAGS): New variable.
19797 (usbms_mod_LDFLAGS): New variable.
19798 (usb_keyboard_mod_SOURCES): New variable.
19799 (usb_keyboard_mod_CFLAGS): New variable.
19800 (usb_keyboard_mod_LDFLAGS): New variable.
19801 * include/grub/smbus.h: New file.
19802 * include/grub/cs5536.h: New file.
19803
19804 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19805
19806 * util/grub.d/00_header.in: Add safety check to make sure that
19807 ${locale_dir} exists before trying to probe it.
19808
19809 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19810
19811 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19812 per the GNU Coding Standards; this is now too obscure to be worth
19813 documenting.
19814 (QNX): Likewise.
19815 (chainloader): Remove cross-reference to `SCO UnixWare'.
19816
19817 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19818
19819 * docs/grub.texi (Chain-loading): New section.
19820 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19821 adjusted for GRUB 2.
19822 (SCO UnixWare): Likewise.
19823 (QNX): Likewise.
19824 (chainloader): Add reference to `Block list syntax'.
19825 (drivemap): New section.
19826 (parttool): New section.
19827
19828 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19829
19830 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19831 the grub shell'.
19832 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19833 (Installing GRUB using grub-install): Remove reference to the grub
19834 shell; mention `grub-mkimage' and `grub-setup' instead.
19835 (Invoking grub-install): Likewise.
19836 (Interface): Add reference to `Menu entry editor'.
19837 (serial): Remove `--device' option.
19838
19839 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19840
19841 * docs/grub.texi (Configuration): New section, documenting
19842 configuration file generation using grub-mkconfig. I've left a slot
19843 for documenting the full shell scripting format but have not yet
19844 started on writing that up.
19845 (Invoking grub-mkconfig): New section.
19846
19847 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19848
19849 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19850 (GNU GRUB manual): Likewise.
19851 (General commands): Update description of `terminfo' for GRUB 2.
19852
19853 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19854
19855 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19856 (GRUB_MOD_INIT): Fix capitalisation.
19857 * docs/grub.texi (Command-line and menu entry commands): Document
19858 gettext and gptsync commands.
19859
19860 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19861
19862 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19863 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19864
19865 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19866
19867 Add btrfs probing support, currently only in the single-device case.
19868
19869 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19870 function.
19871 (grub_guess_root_device): Call find_root_device_from_mountinfo
19872 before looking in /dev.
19873
19874 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19877 GRUB_DISK_SIZE_UNKNOWN.
19878 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19879
19880 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19881
19882 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19883 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19884 corrupted or not synced properly.
19885
19886 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19889 Reported by: Seth Goldberg.
19890
19891 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19894 addition of dest.
19895 Reported by: Seth Goldberg.
19896
19897 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19900 Reported by: Seth Goldberg.
19901
19902 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19903
19904 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19905 64-bit address as signed on MIPS.
19906
19907 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19908
19909 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19910 to the empty string.
19911
19912 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19913
19914 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19915
19916 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19917 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19918 * kern/misc.c (__enable_execute_stack): Disable on
19919 GRUB_MACHINE_EMU.
19920
19921 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19922
19923 Make grub-probe work with symbolic links under /dev/mapper as well
19924 as with real block devices. The Linux world seems to be (at best)
19925 in transition here, and GRUB shouldn't get caught in the middle.
19926
19927 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19928 /dev/mapper.
19929
19930 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19931
19932 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19933 input files (in which case exit zero).
19934
19935 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19936
19937 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19938 return NULL for various reasons even if it has a maximum-length
19939 buffer: for example, there might be a symlink loop, or the path
19940 might exceed PATH_MAX. If this happens, return NULL.
19941
19942 2010-05-27 Robert Millan <rmh@gnu.org>
19943
19944 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19945 partmap module to handle cross-partmap setups.
19946 Reported by Orestes Mas. Gràcies!
19947
19948 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19949
19950 * util/grub-mkrescue.in: Initialise override_dir rather than
19951 assuming that it's unset or empty in the environment.
19952
19953 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19954
19955 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19956 variable index into p_index to suppress a warning with -Wshadow.
19957
19958 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19959
19960 * INSTALL: Added flex >= 2.5.35 requirement.
19961
19962 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19965
19966 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19967
19968 cmostest support.
19969
19970 * commands/i386/cmostest.c: New file.
19971 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19972 (cmostest_mod_SOURCES): New variable.
19973 (cmostest_mod_CFLAGS): Likewise.
19974 (cmostest_mod_LDFLAGS): Likewise.
19975 * conf/i386-pc.rmk: Likewise.
19976 * docs/grub.texi (Vendor power-on keys): New section.
19977 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19978 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19979 and GRUB_BUTTON_CMOS_ADDRESS.
19980 * util/grub.d/00_header.in: Handle powering-on by separate button.
19981
19982 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19983
19984 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19985 Removed drawing_scrollbar argument. All users updated
19986 Fixes #29792.
19987 Reported by Jo Shields
19988
19989 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19990
19991 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19992 buffer since gfxterm handles double repaint.
19993
19994 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19997 * term/gfxterm.c (real_scroll): Likewise.
19998
19999 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20002 before calling BIOS.
20003
20004 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 * include/grub/i18n.h: Always enable grub_gettext.
20007
20008 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20011 partition naming style.
20012
20013 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
20014
20015 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20016 not the first option.
20017
20018 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20019
20020 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20021
20022 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20023
20024 * util/misc.c: Move inclusion of <limits.h> to ...
20025 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20026
20027 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20028
20029 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20030 Fix merge error in NetBSD code.
20031 (find_partition_start) [__NetBSD__]: Likewise.
20032
20033 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20034
20035 Fix grub-mkrescue usage unit testing.
20036
20037 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20038
20039 2010-05-18 Christian Franke <franke@computer.org>
20040
20041 * util/grub.d/10_windows.in: Use path names instead of
20042 drive letters to prevent warning from Cygwin 1.7.
20043 Add drivemap command to menuentry if needed.
20044
20045 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20046
20047 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20048 gnumach and gnumach.gz.
20049
20050 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20051
20052 * include/grub/i18n.h (gettext): Inline instead of using #define.
20053 (grub_gettext): Likewise.
20054 (_): Likewise.
20055
20056 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20057
20058 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20059 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20060 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20061 (main): Add a slash after pkglibdirroot.
20062
20063 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * util/grub-install.in: Add missing "in" keyword.
20066
20067 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20070 Reported by: Seth Goldberg.
20071
20072 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20075
20076 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20077
20078 * configure.ac: Check for Linux device-mapper support.
20079
20080 * util/hostdisk.c (device_is_mapped): New function.
20081 (find_partition_start): New function, partly broken out from
20082 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20083 device-mapper support added.
20084 (linux_find_partition): Use find_partition_start.
20085 (convert_system_partition_to_system_disk): Add `st' argument.
20086 Support Linux /dev/mapper/* devices if device-mapper support is
20087 available; only DM-RAID devices are understood at present.
20088 (find_system_device): Add `st' argument. Pass it to
20089 convert_system_partition_to_system_disk.
20090 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20091 find_system_device and convert_system_partition_to_system_disk. Use
20092 find_partition_start.
20093
20094 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20095 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20096 * util/deviceiter.c [__linux__]: Define MINOR.
20097 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20098 * util/mkdevicemap.c (grub_putchar): New function.
20099 (grub_getkey): New function.
20100 (grub_refresh): New function.
20101 (main): Set debug=all if -v -v is used.
20102
20103 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20104
20105 Fix build with non-GNU libcs.
20106
20107 * util/misc.c (canonicalize_file_name): Move to ...
20108 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20109 grub_make_system_path_relative_to_its_root.
20110
20111 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20112
20113 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20114 we handle finding grub-mkimage. Default to finding grub-mkimage in
20115 ${bindir} with program_transform_name applied, and provide a
20116 --grub-mkimage option to override this.
20117
20118 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 Remove grub-mkisofs.
20121
20122 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20123 (grub_mkisofs_SOURCES): Removed.
20124 (grub_mkisofs_CFLAGS): Removed.
20125 * util/mkisofs/defaults.h: Removed.
20126 * util/mkisofs/eltorito.c: Likewise.
20127 * util/mkisofs/exclude.h: Likewise.
20128 * util/mkisofs/hash.c: Likewise.
20129 * util/mkisofs/include/: Likewise.
20130 * util/mkisofs/include/fctldefs.h: Likewise.
20131 * util/mkisofs/include/mconfig.h: Likewise.
20132 * util/mkisofs/include/prototyp.h: Likewise.
20133 * util/mkisofs/include/statdefs.h: Likewise.
20134 * util/mkisofs/iso9660.h: Likewise.
20135 * util/mkisofs/joliet.c: Likewise.
20136 * util/mkisofs/match.c: Likewise.
20137 * util/mkisofs/match.h: Likewise.
20138 * util/mkisofs/mkisofs.c: Likewise.
20139 * util/mkisofs/mkisofs.h: Likewise.
20140 * util/mkisofs/msdos_partition.h: Likewise.
20141 * util/mkisofs/multi.c: Likewise.
20142 * util/mkisofs/name.c: Likewise.
20143 * util/mkisofs/rock.c: Likewise.
20144 * util/mkisofs/tree.c: Likewise.
20145 * util/mkisofs/write.c: Likewise.
20146
20147 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20148
20149 Unify grub-mkimage accross platforms.
20150
20151 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20152 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20153 (grub_mkelfimage_SOURCES): Removed.
20154 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20155 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20156 (bin_UTILITIES): Add grub-mkimage.
20157 (grub_mkimage_SOURCES): New variable.
20158 (kernel_img_HEADERS): Remove machine/kernel.h.
20159 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20160 (pkglib_PROGRAMS): Add kernel.img.
20161 (kernel_img_HEADERS): Add machine/kernel.h.
20162 (kernel_img_FORMAT): Removed.
20163 (bin_UTILITIES): Remove grub-mkimage.
20164 (grub_mkimage_SOURCES): Removed.
20165 (grub_mkimage_CFLAGS): Likewise.
20166 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20167 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20168 (pkglib_PROGRAMS): Add kernel.img.
20169 (bin_UTILITIES): Remove grub-mkimage.
20170 (grub_mkimage_SOURCES): Removed.
20171 (grub_mkimage_CFLAGS): Likewise.
20172 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20173 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20174 (pkglib_PROGRAMS): Add kernel.img.
20175 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20176 (pkglib_PROGRAMS): Add kernel.img.
20177 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20178 (grub_mkimage_SOURCES): Removed.
20179 (grub_mkimage_CFLAGS): Likewise.
20180 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20181 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20182 (pkglib_PROGRAMS): Add kernel.img.
20183 (bin_UTILITIES): Remove grub-mkimage.
20184 (grub_mkimage_SOURCES): Removed.
20185 (grub_mkimage_CFLAGS): Likewise.
20186 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20187 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20188 (grub_mkimage_SOURCES): Removed.
20189 (grub_mkimage_CFLAGS): Likewise.
20190 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20191 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20192 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20193 (grub_pe32_optional_header): ... this.
20194 (grub_pe64_optional_header): ... and this. All users updated.
20195 (GRUB_PE32_PE32_MAGIC): Split into ..
20196 (GRUB_PE32_PE32_MAGIC): .. this.
20197 (GRUB_PE32_PE64_MAGIC): .. and this.
20198 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20199 * include/grub/elf.h (PT_GNU_STACK): New definition.
20200 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20201 * include/grub/i386/efi/kernel.h: Likewise.
20202 * include/grub/i386/kernel.h: Likewise.
20203 * include/grub/i386/pc/kernel.h: Likewise.
20204 * include/grub/i386/qemu/boot.h: Likewise.
20205 * include/grub/mips/kernel.h: Likewise.
20206 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20207 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20208 * include/grub/powerpc/kernel.h: Likewise.
20209 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20210 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20211 * include/grub/sparc64/kernel.h: Likewise.
20212 * include/grub/x86_64/efi/kernel.h: Likewise.
20213 * include/grub/x86_64/kernel.h: Likewise.
20214 * include/grub/offsets.h: New file.
20215 * include/grub/kernel.h (grub_module_info): Split into ...
20216 (grub_module_info32): ... this.
20217 (grub_module_info64): ... and this.
20218 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20219 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20220 (grub_boot_blocklist): Moved from here ...
20221 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20222 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20223 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20224 * include/grub/types.h (grub_target_to_host16): Removed.
20225 (grub_target_to_host32): Likewise.
20226 (grub_target_to_host64): Likewise.
20227 (grub_host_to_target16): Likewise.
20228 (grub_host_to_target32): Likewise.
20229 (grub_host_to_target64): Likewise.
20230 (grub_host_to_target_addr): Likewise.
20231
20232 Support grub-mkrescue for efi, coreboot and qemu.
20233
20234 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20235 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20236 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20237 * util/grub-mkrawimage.c: Moved from here ...
20238 * util/grub-mkimage.c: ... here. All users updated.
20239 (ALIGN_ADDR): Use image_target.
20240 (TARGET_NO_FIELD): New const.
20241 (image_target_desc): New type.
20242 (image_targets): New array.
20243 (grub_target_to_host64): Use image_target.
20244 (grub_target_to_host32): Likewise.
20245 (grub_target_to_host16): Likewise.
20246 (grub_host_to_target64): Likewise.
20247 (grub_host_to_target32): Likewise.
20248 (grub_host_to_target16): Likewise.
20249 (grub_host_to_target_addr): Likewise.
20250 (generate_image): Handle multiimage.
20251 (main): Require -O parameter. All users updated.
20252 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20253 util/efi/grub-mkimage.c
20254 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20255 New option --rom-directory.
20256 Use xorriso.
20257 * util/i386/efi/grub-mkimage.c: Removed.
20258 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20259 (grub_target_to_host32): Likewise.
20260 (grub_target_to_host64): Likewise.
20261 (grub_host_to_target16): Likewise.
20262 (grub_host_to_target32): Likewise.
20263 (grub_host_to_target64): Likewise.
20264 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20265 (grub_target_to_host32): Likewise.
20266 (grub_target_to_host64): Likewise.
20267 (grub_host_to_target16): Likewise.
20268 (grub_host_to_target32): Likewise.
20269 (grub_host_to_target64): Likewise.
20270
20271 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20272
20273 Source tree is reorganized for emu build.
20274
20275 * include/grub/util/console.h: Move from here...
20276 * include/grub/emu/console.h: ...to here.
20277 * include/grub/util/getroot.h: Move from here...
20278 * include/grub/emu/getroot.h: ...to here.
20279 * include/grub/util/hostdisk.h: Move from here...
20280 * include/grub/emu/hostdisk.h: ...to here.
20281 * util/console.c: Move from here...
20282 * kern/emu/console.c: ...to here.
20283 * util/getroot.c: Move from here...
20284 * kern/emu/getroot.c: ...to here.
20285 * util/grub-emu.c: Move from here...
20286 * kern/emu/main.c: ...to here.
20287 * util/hostdisk.c: Move from here...
20288 * kern/emu/hostdisk.c: ...to here.
20289 * util/hostfs.c: Move from here...
20290 * kern/emu/hostfs.c: ...to here.
20291 * util/mm.c: Move from here...
20292 * kern/emu/mm.c: ...to here.
20293 * util/pci.c: Move from here...
20294 * bus/emu/pci.c: ...to here.
20295 * util/sdl.c: Move from here...
20296 * video/emu/sdl.c: ...to here.
20297 * util/time.c: Move from here...
20298 * kern/emu/time.c: ...to here.
20299 * util/usb.c: Move from here...
20300 * bus/usb/emu/usb.c: ...to here.
20301
20302 * include/grub/emu/misc.h: New header for grub-emu functions.
20303 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20304
20305 * conf/any-emu.rmk: Rule updates for above renames.
20306 * conf/common.rmk: Likewise.
20307 * conf/i386-pc.rmk: Likewise.
20308 * conf/i386-qemu.rmk: Likewise.
20309 * conf/mips.rmk: Likewise.
20310 * conf/sparc64-ieee1275.rmk: Likewise.
20311 * conf/x86-efi.rmk: Likewise.
20312
20313 * disk/lvm.h: #include updates for above renames.
20314 * util/grub-mkrelpath.c: Likewise.
20315 * util/grub-probe.c: Likewise.
20316 * util/i386/pc/grub-setup.c: Likewise.
20317 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20318 * kern/emu/console.c: Likewise.
20319 * kern/emu/getroot.c: Likewise.
20320 * kern/emu/hostdisk.c: Likewise.
20321 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20322
20323 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20324 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20325 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20326 * util/misc.c: Remove grub-emu functions.
20327
20328 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 Fix gfxmenu crash.
20331 Reported by: Thorsten Grützmacher.
20332
20333 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20334 timeout hook.
20335 (circprog_set_property): Register and unregister timeout hook.
20336 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20337 (label_destroy): Free template. and unregister hook.
20338 (label_set_state): New function.
20339 (label_set_property): Handle templates and hooks.
20340 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20341 timeout hook.
20342 (progress_bar_set_property): Register and unregister timeout hook.
20343 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20344 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20345 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20346 (update_timeout_visit): Removed.
20347 (update_timeouts): New function.
20348 (redraw_timeouts): Likewise.
20349 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20350 (grub_gfxmenu_clear_timeout): Likewise.
20351 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20352 (grub_gfxmenu_timeout_notify): Likewise.
20353 (grub_gfxmenu_timeout_notifications): New external variable.
20354 (grub_gfxmenu_timeout_register): New function.
20355 (grub_gfxmenu_timeout_unregister): Likewise.
20356
20357 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 Transform (broken) vga terminal into (working) vga video driver.
20360
20361 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20362 video/i386/pc/vga.c.
20363 * include/grub/video.h (grub_video_driver_id):
20364 Add GRUB_VIDEO_DRIVER_VGA.
20365 * term/i386/pc/vga.c: Renamed to ...
20366 * video/i386/pc/vga.c: ...this
20367 (DEBUG_VGA): Removed.
20368 (CHAR_WIDTH): Likewise.
20369 (CHAR_HEIGHT): Likewise.
20370 (TEXT_WIDTH): Likewise.
20371 (TEXT_HEIGHT): Likewise.
20372 (DEFAULT_FG_COLOR): Likewise.
20373 (DEFAULT_BG_COLOR): Likewise.
20374 (colored_char): Likewise.
20375 (xpos): Likewise.
20376 (ypos): Likewise.
20377 (cursor_state): Likewise.
20378 (fg_color): Likewise.
20379 (bg_color): Likewise.
20380 (text_buf): Likewise.
20381 (page): Likewise.
20382 (font): Likewise.
20383 (framebuffer): New variable.
20384 (set_read_map): Disabled.
20385 (setup): New variable.
20386 (is_target): Likewise.
20387 (grub_vga_mod_init): Likewise.
20388 (grub_vga_mod_fini): Likewise.
20389 (check_vga_mem): Likewise.
20390 (write_char): Likewise.
20391 (write_cursor): Likewise.
20392 (scroll_up): Likewise.
20393 (grub_vga_putchar): Likewise.
20394 (grub_vga_getcharwidth): Likewise.
20395 (grub_vga_getwh): Likewise.
20396 (grub_vga_getxy): Likewise.
20397 (grub_vga_gotoxy): Likewise.
20398 (grub_vga_cls): Likewise.
20399 (grub_vga_setcolorstate): Likewise.
20400 (grub_vga_setcursor): Likewise.
20401 (grub_video_vga_init): New function.
20402 (grub_video_vga_setup): Likewise.
20403 (grub_video_vga_fini): Likewise.
20404 (update_target): Likewise.
20405 (grub_video_vga_blit_bitmap): Likewise.
20406 (grub_video_vga_blit_render_target): Likewise.
20407 (grub_video_vga_set_active_render_target): Likewise.
20408 (grub_video_vga_get_active_render_target): Likewise.
20409 (grub_video_vga_swap_buffers): Likewise.
20410 (grub_video_vga_set_palette): Likewise.
20411 (grub_video_vga_get_info_and_fini): Likewise.
20412 (grub_vga_term): Removed.
20413 (grub_video_vga_adapter): New variable.
20414 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20415 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20416
20417 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 * video/readers/jpeg.c: Indented.
20420
20421 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 Various jpeg cleanups.
20424
20425 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20426 (grub_jpeg_decode_quan_table): Use sizeof.
20427 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20428
20429 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20430
20431 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20432 tables. Ignore non-last ac bit.
20433 (grub_jpeg_decode_quan_table): Likewise.
20434
20435 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20438 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20439 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20440 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20441 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20442 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20443
20444 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20447 error.
20448
20449 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20452
20453 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20456 condition.
20457
20458 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20461 part.
20462
20463 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20466 pointers.
20467
20468 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20471
20472 2010-05-01 Christian Franke <franke@computer.org>
20473
20474 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20475 Remove broken Cygwin path conversion.
20476 * util/misc.c: [__CYGWIN__] Add include and define.
20477 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20478 for Cygwin 1.7.
20479 (make_system_path_relative_to_its_root): Simplify loop, replace early
20480 return by break.
20481 [__CYGWIN__] Add conversion to win32 path.
20482 Include "/" case in trailing slash removal.
20483
20484 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20485
20486 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20487 Reported by: Seth Goldberg
20488
20489 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * commands/help.c (grub_cmd_help): Fix a typo.
20492 Reported by: Seth Goldberg
20493
20494 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20497 name and add N_.
20498 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20499 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20500 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20501 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20502 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20503 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20504 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20505 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20506 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20507 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20508 * normal/context.c (GRUB_MOD_INIT): Likewise.
20509 * normal/main.c (GRUB_MOD_INIT): Likewise.
20510 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20511 * term/serial.c (GRUB_MOD_INIT): Likewise.
20512 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20513
20514 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20515
20516 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20517 extra == 0.
20518
20519 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * commands/iorw.c: New file.
20522 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20523 (iorw_mod_SOURCES): New variable.
20524 (iorw_mod_CFLAGS): Likewise.
20525 (iorw_mod_LDFLAGS): Likewise.
20526
20527 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 Hotkey support
20530
20531 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20532 * normal/main.c (hotkey_aliases): New variable.
20533 (grub_normal_add_menu_entry): Parse "--hotkey".
20534 * normal/menu_text.c (run_menu): Handle hotkeys.
20535
20536 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20537
20538 * kern/i386/coreboot/init.c (grub_machine_init): Call
20539 grub_machine_mmap_init on qemu.
20540
20541 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * boot/i386/qemu/boot.S: Add a missing .code16.
20544
20545 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 Use LBIO on coreboot.
20548
20549 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20550 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20551 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20552 New declaration.
20553 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20554 grub_machine_mmap_init on coreboot.
20555 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20556 GRUB_LINUXBIOS_MEMBER_LINK.
20557 (grub_machine_mmap_iterate): Fix declaration.
20558 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20559
20560 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20561
20562 Split coreboot and multiboot ports.
20563
20564 * conf/i386-multiboot.rmk: New file.
20565 * configure.ac: Add multiboot port.
20566 * include/grub/i386/multiboot/boot.h: New file.
20567 * include/grub/i386/multiboot/console.h: Likewise.
20568 * include/grub/i386/multiboot/init.h: Likewise.
20569 * include/grub/i386/multiboot/kernel.h: Likewise.
20570 * include/grub/i386/multiboot/loader.h: Likewise.
20571 * include/grub/i386/multiboot/memory.h: Likewise.
20572 * include/grub/i386/multiboot/serial.h: Likewise.
20573 * include/grub/i386/multiboot/time.h: Likewise.
20574 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20575 * loader/multiboot.c: Likewise.
20576 * loader/multiboot_mbi2.c: Likewise.
20577 * util/grub-mkrescue.in: Generate multiboot rescue.
20578
20579 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20580
20581 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20582
20583 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 Merge handling of input and output terminals. Fix a hang.
20586
20587 * commands/terminal.c (abstract_terminal): New struct.
20588 (handle_command): New function. Based on grub_cmd_terminal_input.
20589 (grub_cmd_terminal_input): Use handle_command.
20590 (grub_cmd_terminal_output): Use handle_command.
20591
20592 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20593
20594 Fix comment handling.
20595
20596 * tests/grub_script_comments.in: New testcase.
20597 * conf/tests.rmk: Rules for new testcase.
20598 * script/yylex.l: Updated flex rules.
20599
20600 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20601
20602 * docs/grub.texi (play): Document that zero pitches produce rests.
20603 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20604 if argc is 1.
20605
20606 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20609 autogen issues.
20610
20611 2010-04-26 Christian Franke <franke@computer.org>
20612
20613 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20614 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20615 (grub_get_prefix): Remove function.
20616 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20617 make_system_path_relative_to_its_root ().
20618 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20619
20620 2010-04-24 Christian Franke <franke@computer.org>
20621
20622 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20623 (kernel_img_LDFLAGS): Remove -static-libgcc.
20624
20625 2010-04-24 Christian Franke <franke@computer.org>
20626
20627 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20628 and CHECK_END_SYMBOL if grub-emu is built.
20629 Unset TARGET_OBJ2ELF if grub-emu is built
20630 without module support.
20631
20632 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
20633
20634 Nilfs2 support.
20635
20636 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20637 (grub_fstest_SOURCES): Likewise.
20638 (pkglib_MODULES): Add nilfs2.mod.
20639 (nilfs2_mod_SOURCES): New variable.
20640 (nilfs2_mod_CFLAGS): Likewise.
20641 (nilfs2_mod_LDFLAGS): Likewise.
20642 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20643 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20644 * fs/nilfs2.c: New file.
20645
20646 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20647
20648 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20649 is not supported.
20650
20651 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20652
20653 Add grub-mkconfig support for NetBSD.
20654
20655 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20656 * util/grub-mkconfig.in: export new NetBSD specific variables.
20657 * po/POTFILES-shell: added 10_netbsd.in.
20658 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20659
20660 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20661
20662 Fix emu build with grub-emu-pci and grub-emu-modules.
20663
20664 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20665 functions.
20666 * include/grub/libpciaccess.h: New file.
20667 * conf/any-emu.rmk: Update kernel headers for emu build.
20668
20669 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20672
20673 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20674
20675 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20676
20677 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20680 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20681 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20682 util/ieee1275/ofpath.c.
20683 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20684 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20685 * include/grub/sparc64/ieee1275/boot.h
20686 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20687 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20688 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20689 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20690 const char *.
20691 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20692 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20693 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20694 install.
20695
20696 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20697
20698 * util/grub-mkconfig.in: Corrected two == equality tests.
20699 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20700 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20701 expect a number appended to it.
20702 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20703 expects a number appended to it.
20704
20705 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20708
20709 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20710
20711 * util/hostdisk.c (make_device_name): Change to new partition naming.
20712
20713 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20714
20715 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20716
20717 2010-04-17 Christian Franke <franke@computer.org>
20718
20719 * Makefile.in: Add missing localedir setting.
20720
20721 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
20722
20723 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20724 mistake in r2156. Noticed by Anthony Fok.
20725
20726 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20727 @localedir@.
20728 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20729
20730 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20731
20732 Fix a spurious, uninitialized variable warning.
20733
20734 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20735 Initialize variable, shdr.
20736 (grub_freebsd_load_elfmodule): Likewise.
20737 (grub_freebsd_load_elf_meta): Likewise.
20738
20739 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20740
20741 Fix for escaped dollar in double quoted strings.
20742
20743 * script/yylex.l: Updated flex rules.
20744 * conf/tests.rmk: Rule for new testcase.
20745 * tests/grub_script_dollar.in: New testcase.
20746
20747 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20748 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20749
20750 Enclose all translated strings in grub.cfg in single quotes, and
20751 escape them appropriately (Ubuntu bug #552921).
20752
20753 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20754 * util/grub.d/10_hurd.in: Use it.
20755 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20756 * util/grub.d/10_linux.in (linux_entry): Likewise.
20757
20758 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 Fix cygwin compilation.
20761
20762 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20763 * include/grub/misc.h (__register_frame_info)
20764 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20765 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20766 * kern/misc.c (__register_frame_info)
20767 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20768 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20769
20770 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20773
20774 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20775
20776 Unify libgcc processing.
20777
20778 * Makefile.in (kernel_img_LDFLAGS): New variable.
20779 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20780 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20781 overwriting.
20782 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20783 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20784 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20785 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20786 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20787 overwriting. Remove -lgcc and -static-libgcc
20788 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20789 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20790 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20791 (kernel_img_LDFLAGS): Append instead of overwriting.
20792 Remove -lgcc and -static-libgcc
20793 * conf/sparc64-ieee1275.rmk: Likewise.
20794 * include/grub/powerpc/libgcc.h: Move to ...
20795 * include/grub/libgcc.h: .. this.
20796 * include/grub/libgcc.h: Don't export most of the function on x86.
20797 (__bswapsi2): New export.
20798 (__bswapdi2): Likewise.
20799 * include/grub/mips/libgcc.h: Removed.
20800 * include/grub/sparc64/libgcc.h: Likewise.
20801
20802 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20803
20804 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20805 disk_info_msg (conflicts with gettexting into languages with cases).
20806
20807 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20808
20809 Add grub-probe support for NetBSD.
20810
20811 * util/getroot.c (find_root_device): Convert block device to
20812 character device on NetBSD.
20813 * util/probe.c (probe): Require character device on NetBSD.
20814 * util/hostdisk.c: NetBSD specific headers.
20815 (configure_device_driver): new function to tune device driver
20816 parameters (currently only for NetBSD floppy driver).
20817 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20818 via disklabel ioctl).
20819 (open_device): call configure_device_driver on NetBSD.
20820 (convert_system_partition_to_system_disk): NetBSD specific code.
20821 (device_is_wholedisk): Likewise.
20822 (grub_util_biosdisk_get_grub_dev): Likewise.
20823 (make_device_name): Fixed a typo in bsd_part_str.
20824 * configure.ac: check for opendisk() and getrawpartition() on
20825 NetBSD and set LIBUTIL.
20826 * Makefile.in: add LIBUTIL to LIBS.
20827
20828 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20829
20830 Documentation fix.
20831
20832 * util/grub-script-check.c: Better help message.
20833
20834 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20835
20836 Fix FreeBSD build.
20837
20838 * configure.ac: Flex version check.
20839 * conf/common.rmk: Add -Wno-error to sh.mod.
20840 * script/yylex.l: Remove all #pragma.
20841
20842 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20843
20844 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20845 prototype.
20846 Reported by: Seth Goldberg.
20847
20848 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20849
20850 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20851 Rename "module" to "module2".
20852 Reported by: Seth Goldberg.
20853
20854 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20855
20856 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20857 EXPORT_FUNC.
20858 Reported by: Seth Goldberg.
20859
20860 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20861
20862 * lib/posix_wrap/locale.h: Add missing file.
20863 Reported by: Seth Goldberg.
20864
20865 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 grub-emu module load support.
20868
20869 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20870 NO_DYNAMIC_MODULES switched to this.
20871 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20872 (CFLAGS): Likewise.
20873 * conf/any-emu.rmk: Generate symlist.
20874 (kernel_img_HEADERS): Add util/datetime.h.
20875 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20876 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20877 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20878 kern/$(target_cpu)/cache.S.
20879 * configure.ac (grub-emu-modules): New option.
20880 * genmk.rb: Handle multiple source lists.
20881 * include/grub/sdl.h: New file.
20882 * include/grub/libusb.h: Likewise.
20883 * util/grub-emu.c (main): Hanle (host) root.
20884 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20885 GRUB_ERR_UNKNOWN_DEVICE.
20886 * util/misc.c: Move mm functions to ...
20887 * util/mm.c: ... here. All users updated.
20888
20889 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20892 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20893 missing files.
20894 (maintainer-clean): Remove libgcrypt-grub.
20895
20896 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20899
20900 2010-04-09 EFI Coder <eficoder@hotmail.com>
20901
20902 * normal/menu_text.c (print_message): Clean up the message and show
20903 the Fn information when on EFI
20904 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20905
20906 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20909 All users updated.
20910 * normal/crypto.c (read_crypto_list): Likewise.
20911 * normal/dyncmd.c (read_command_list): Likewise.
20912 * normal/term.c (read_terminal_list): Likewise.
20913 * normal/main.c (read_lists): Use explicit prefix.
20914 (read_lists_hook): Use read_lists.
20915 (grub_normal_execute): Likewise.
20916
20917 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20920 Reported by: Thomas Schmitt.
20921 Add -no-emul-boot to grub-mkisofs parameters.
20922
20923 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 * font/font.c: Indented.
20926
20927 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20928
20929 Elif support to GRUB script (by Deepak Vankadaru).
20930
20931 * tests/grub_script_if.in: New testcase.
20932 * conf/tests.rmk: Rule for new testcase.
20933 * script/parser.y: Grammar rules for elif.
20934
20935 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20936
20937 While and until loops support to GRUB script.
20938
20939 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20940 (grub_script_create_cmdwhile): New function prototype.
20941 (grub_script_execute_cmdwhile): New function prototype.
20942 * script/execute.c (grub_script_execute_cmdwhile): New function.
20943 * script/parser.y (command): New commands.
20944 (whilecmd): New grammar rule.
20945 (untilcmd): New grammar rule.
20946 * script/script.c (grub_script_create_cmdwhile): New function.
20947 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20948 function.
20949
20950 * tests/grub_script_while1.in: New testcase.
20951 * conf/tests.rmk: Rule for new testcase.
20952
20953 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20956 as *.jpg.
20957
20958 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20959
20960 GRUB_BACKGROUND support.
20961
20962 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20963 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20964
20965 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20966
20967 Load fonts and modules for gfxmenu in grub-mkconfig.
20968 Idea by: Mario Vazquez
20969
20970 * util/grub.d/00_header.in: Load pf2 and image modules.
20971
20972 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 grub-mkconfig multiple terminal support.
20975
20976 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20977 * util/grub.d/00_header.in: Likewise.
20978
20979 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20980
20981 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20982 we use cd $(srcdir).
20983
20984 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20985
20986 * util/grub.d/10_linux.in: Only use the first word of
20987 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20988 spaces in GRUB_DISTRIBUTOR.
20989 * util/grub.d/10_kfreebsd.in: Likewise.
20990 * util/grub.d/10_hurd.in: Likewise.
20991
20992 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20993
20994 Fix unit testing framework for Qemu 0.12.
20995
20996 * tests/util/grub-shell.in: Remove -serial stdio option.
20997
20998 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 POSIX header file wrappers.
21001
21002 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21003 equivalents.
21004 * lib/posix_wrap/ctype.h: Likewise.
21005 * lib/posix_wrap/errno.h: Likewise.
21006 * lib/posix_wrap/langinfo.h: Likewise.
21007 * lib/posix_wrap/limits.h: Likewise.
21008 * lib/posix_wrap/localcharset.h: Likewise.
21009 * lib/posix_wrap/stdint.h: Likewise.
21010 * lib/posix_wrap/stdio.h: Likewise.
21011 * lib/posix_wrap/stdlib.h: Likewise.
21012 * lib/posix_wrap/string.h: Likewise.
21013 * lib/posix_wrap/sys/types.h: Likewise.
21014 * lib/posix_wrap/unistd.h: Likewise.
21015 * lib/posix_wrap/wchar.h: Likewise.
21016 * lib/posix_wrap/wctype.h: Likewise.
21017 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21018 (grub_script.yy.h): Likewise.
21019 * script/yylex.l: Remove POSIX emulation #defines.
21020 * Makefile.in (POSIX_CFLAGS): New variable.
21021 (GNULIB_UTIL_CFLAGS): Likewise.
21022
21023 Regexp support.
21024
21025 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21026 (regexp_mod_SOURCES): New variable.
21027 (regexp_mod_CFLAGS): Likewise.
21028 (regexp_mod_LDFLAGS): Likewise.
21029 * commands/regexp.c: New file.
21030 * gnulib/regcomp.c: New file. Imported from gnulib.
21031 * gnulib/regex.c: Likewise.
21032 * gnulib/regex_internal.c: Likewise.
21033 * gnulib/regex_internal.h: Likewise.
21034 * gnulib/regexec.c: Likewise.
21035 * gnulib/regex.h: Likewise.
21036
21037 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21038
21039 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21040 unsupported video mode types.
21041
21042 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21043
21044 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21045
21046 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21049 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21050
21051 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21052
21053 Remove unused grub_vga_get_font.
21054
21055 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21056 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21057
21058 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21059
21060 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21061 * include/grub/misc.h: Likewise.
21062
21063 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21064
21065 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21066 for which failure is fatal.
21067
21068 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21069
21070 * util/grub-install.in: Use mkdir -p to create grub directory.
21071 * util/i386/efi/grub-install.in: Likewise.
21072 * util/ieee1275/grub-install.in: Likewise.
21073
21074 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21075
21076 * Makefile.in (LEX): new variable.
21077
21078 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21079
21080 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21081 `=' and added double quotes on operands of this equality test.
21082
21083 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * Makefile.in (uninstall): Remove a leftover debug echo.
21086 Reported by: Grégoire Sutre
21087
21088 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 MIPS multiboot2 support.
21091
21092 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21093 (multiboot2_mod_SOURCES): New variable.
21094 (multiboot2_mod_CFLAGS): Likewise.
21095 (multiboot2_mod_LDFLAGS): Likewise.
21096 (multiboot2_mod_ASFLAGS): Likewise.
21097 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21098 definition.
21099 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21100 (MULTIBOOT_MBI_REGISTER): Likewise.
21101 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21102 (MULTIBOOT_ELF32_MACHINE): Likewise.
21103 (MULTIBOOT_ELF64_MACHINE): Likewise.
21104 * include/grub/mips/multiboot.h: New file.
21105 * include/grub/video.h (grub_video_driver_id): New type
21106 GRUB_VIDEO_DRIVER_SM712.
21107 (grub_video_get_info_and_fini): Export.
21108 (grub_video_get_palette): Likewise.
21109 (grub_video_get_driver_id): Likewise.
21110 * include/multiboot2.h: Resynced with spec.
21111 * loader/i386/multiboot.c: Moved from here ...
21112 * loader/multiboot.c: ... here. All users updated.
21113 (grub_multiboot_boot): Use platform-specific macros.
21114 * loader/i386/multiboot_elfxx.c: Moved from here ...
21115 * loader/multiboot_elfxx.c: ... here. All users updated.
21116 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21117 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21118 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21119
21120 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21121
21122 Import gnulib argp module.
21123
21124 * gnulib/argp-ba.c: New file.
21125 * gnulib/argp-eexst.c: Likewise.
21126 * gnulib/argp-fmtstream.c: Likewise.
21127 * gnulib/argp-fmtstream.h: Likewise.
21128 * gnulib/argp-fs-xinl.c: Likewise.
21129 * gnulib/argp-help.c: Likewise.
21130 * gnulib/argp-namefrob.h: Likewise.
21131 * gnulib/argp-parse.c: Likewise.
21132 * gnulib/argp-pin.c: Likewise.
21133 * gnulib/argp-pv.c: Likewise.
21134 * gnulib/argp-pvh.c: Likewise.
21135 * gnulib/argp-version-etc.c: Likewise.
21136 * gnulib/argp-version-etc.h: Likewise.
21137 * gnulib/argp-xinl.c: Likewise.
21138 * gnulib/argp.h: Likewise.
21139
21140 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21141
21142 * kern/device.c (grub_device_iterate): Clear errors after failed
21143 opening device.
21144
21145 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21148 returned by firmware.
21149
21150 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21153 compilation on coreboot and qemu
21154
21155 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21156
21157 * include/multiboot2.h: Resync with spec.
21158
21159 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21160
21161 Multiboot2 tag support
21162
21163 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21164 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21165 Remove loader/multiboot_loader.c.
21166 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21167 (grub_multiboot2_real_boot): Likewise.
21168 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21169 (grub_get_multiboot_mmap_count): New proto.
21170 (grub_fill_multiboot_mmap): Likewise.
21171 (grub_multiboot_set_video_mode): Likewise.
21172 (grub_multiboot_set_console): Likewise.
21173 (grub_multiboot_load): Likewise.
21174 (grub_multiboot_load_elf): Likewise.
21175 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21176 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21177 * include/multiboot.h: Resynced with specification.
21178 * include/multiboot2.h: Resynced with specification.
21179 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21180 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21181 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21182 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21183 users updated.
21184 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21185 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21186 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21187 Removed.
21188 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21189 Moved from here...
21190 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21191 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21192 Moved from here...
21193 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21194 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21195 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21196 All users updated.
21197 * loader/i386/multiboot_mbi2.c: New file.
21198
21199 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21200
21201 Resync with gnulib.
21202
21203 * Makefile.in (GNULIB_CFLAGS): New variable.
21204 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21205 (grub_script_check_CFLAGS): New variable.
21206 * gnulib/alloca.h: Resync with gnulib.
21207 * gnulib/error.c: Likewise.
21208 * gnulib/error.h: Likewise.
21209 * gnulib/fnmatch.c: Likewise.
21210 * gnulib/fnmatch_loop.c: Likewise.
21211 * gnulib/getdelim.c: Likewise.
21212 * gnulib/getline.c: Likewise.
21213 * gnulib/getopt.c: Likewise.
21214 * gnulib/getopt1.c: Likewise.
21215 * gnulib/getopt_int.h: Likewise.
21216 * gnulib/gettext.h: Likewise.
21217 * gnulib/progname.c: Likewise.
21218 * gnulib/progname.h: Likewise.
21219
21220 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21221
21222 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21223 which is the case with --disabled-nls.
21224
21225 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21226 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21227 * util/misc.c: Likewise.
21228 * util/mkisofs/mkisofs.c: Likewise.
21229 * util/mkisofs/mkisofs.h: Likewise.
21230
21231 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 Simplify Apple CC support.
21234
21235 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21236 Add 0 byte at the end not to have a symbol with empty target.
21237 * mmap/i386/pc/mmap_helper.S: Likewise.
21238 * genmk.rb: Ignore errors 2030 and 2050.
21239 * kern/i386/pc/startup.S: Use LOCAL when possible.
21240
21241 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21242
21243 Testcase and the fix for final semicolon on cmdline.
21244
21245 * tests/grub_script_final_semicolon.in: New testcase.
21246 * conf/tests.rmk: Rules for the new testcase.
21247 * script/parser.y: Grammar fix.
21248
21249 2010-03-26 BVK Chaitanya <bvk@localhost>
21250
21251 Blank lines testcase for GRUB script.
21252
21253 * tests/grub_script_blanklines.in: New testcase.
21254 * conf/tests.rmk: Rules for the new testcase.
21255
21256 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 Don't use __FILE__.
21259
21260 * genmk.rb: Add -DGRUB_FILE to all C targets.
21261 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21262 * include/grub/list.h: Likewise.
21263 * include/grub/misc.h: Likewise.
21264 * include/grub/mm.h: Likewise.
21265 * include/grub/test.h: Likewise.
21266 * kern/mm.c: Likewise.
21267 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21268
21269 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21270
21271 Sunpc partitions support.
21272
21273 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21274 (grub_fstest_SOURCES): Likewise.
21275 (pkglib_MODULES): Add part_sunpc.mod.
21276 (part_sunpc_mod_SOURCES): New variable.
21277 (part_sunpc_mod_CFLAGS): Likewise.
21278 (part_sunpc_mod_LDFLAGS): Likewise.
21279 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21280 * partmap/sunpc.c: New file.
21281
21282 2010-03-26 BVK Chaitanya <bvk@localhost>
21283
21284 For loop support to GRUB script.
21285
21286 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21287 (grub_script_create_cmdfor): New function prototype.
21288 (grub_script_execute_cmdfor): New function prototype.
21289 * script/execute.c (grub_script_execute_cmdfor): New function.
21290 * script/parser.y (command): New for command.
21291 (forcmd): New grammar rule.
21292 * script/script.c (grub_script_create_cmdfor): New function.
21293 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21294 function.
21295 * tests/grub_script_for1.in: New testcase.
21296 * conf/tests.rmk: Rules for new testcase.
21297
21298 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21299
21300 Nested partitions
21301
21302 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21303 'partition' is NULL, grub_partition_get_start already does that.
21304 * commands/loadenv.c (check_blocklists): Likewise.
21305 (write_blocklists): Likewise.
21306 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21307 (grub_fstest_SOURCES): Likewise.
21308 (pkglib_MODULES): Add part_bsd.mod.
21309 (part_bsd_mod_SOURCES): New variable.
21310 (part_bsd_mod_CFLAGS): Likewise.
21311 (part_bsd_mod_LDFLAGS): Likewise.
21312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21313 (grub_emu_SOURCES): Likewise.
21314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21315 * include/grub/bsdlabel.h: New file.
21316 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21317 'get_name'.
21318 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21319 (grub_partition_map_list): New variable.
21320 (grub_partition_map_register): Inline.
21321 (grub_partition_map_unregister): Likewise.
21322 (FOR_PARTITION_MAPS): New macro.
21323 (grub_partition_map_iterate): Removed.
21324 (grub_partition_get_start): Handle nested partitions.
21325 * include/grub/msdos_partition.h: Remove bsd-related entries.
21326 (grub_pc_partition): Remove.
21327 * kern/disk.c (grub_disk_close): Free partition data.
21328 (grub_disk_adjust_range): Handle nested partitions.
21329 * kern/partition.c (grub_partition_map_probe): New function.
21330 (grub_partition_probe): Parse name to number, handle subpartitions.
21331 (get_partmap): New function.
21332 (grub_partition_iterate): Handle subpartitions.
21333 (grub_partition_get_name): Likewise.
21334 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21335 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21336 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21337 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21338 Set 'number'.
21339 (acorn_partition_map_probe): Remove.
21340 (acorn_partition_map_get_name): Likewise.
21341 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21342 Set 'number'.
21343 Set 'index' to 0 since there can be only one partition entry per sector.
21344 (amiga_partition_map_probe): Remove.
21345 (amiga_partition_map_get_name): Likewise.
21346 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21347 Set 'number'.
21348 Set 'offset' and 'index' to real positions of partitions.
21349 (apple_partition_map_probe): Remove.
21350 (apple_partition_map_get_name): Likewise.
21351 * partmap/bsdlabel.c: New file.
21352 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21353 Set 'number'.
21354 Allocate 'data' so it can be correctly freed.
21355 Set 'index' to offset inside sector.
21356 (gpt_partition_map_probe): Remove.
21357 (gpt_partition_map_get_name): Likewise.
21358 * partmap/msdos.c (grub_partition_parse): Remove.
21359 (pc_partition_map_iterate): Don't force raw access.
21360 Set 'number'.
21361 Make 'ext_offset' a local variable.
21362 (pc_partition_map_probe): Remove.
21363 (pc_partition_map_get_name): Remove.
21364 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21365 Set 'number'.
21366 (sun_partition_map_probe): Remove.
21367 (sun_partition_map_get_name): Likewise.
21368 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21369 (grub_pcpart_type): Likewise.
21370 * util/hostdisk.c (open_device): Handle new numbering scheme.
21371 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21372 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21373 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21374 * util/grub-install.in: Insert all subpartition modules.
21375 * util/ieee1275/grub-install.in: Likewise.
21376
21377 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21378
21379 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21380 grammar.
21381
21382 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21383
21384 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21385
21386 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21387
21388 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21389 match where 'make install' puts them.
21390 * util/i386/efi/grub-install.in: Likewise.
21391
21392 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21393
21394 * .bzrignore: Add gentrigtables, grub-script-check,
21395 grub_script_check_init.c, grub_script_check_init.h, and
21396 trigtables.c.
21397
21398 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 * kern/parser.c: Indented.
21401
21402 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21403
21404 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21405
21406 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21409 alpha_mask_size == 0 case.
21410
21411 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21412
21413 GRUB shell lexer and parser improvements.
21414
21415 * conf/any-emu.rmk: Build rule updates.
21416 * conf/common.rmk: Likewise.
21417 * conf/i386-coreboot.rmk: Likewise.
21418 * conf/i386-efi.rmk: Likewise.
21419 * conf/i386-ieee1275.rmk: Likewise.
21420 * conf/i386-pc.rmk: Likewise.
21421 * conf/powerpc-ieee1275.rmk: Likewise.
21422 * conf/x86_64-efi.rmk: Likewise.
21423
21424 * configure.ac: Configure check for flex.
21425
21426 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21427 types.
21428 (grub_lexer_param): Struct member updates.
21429 (grub_parser_param): Likewise.
21430 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21431 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21432 (grub_script_lexer_init): Prototype update.
21433 (grub_script_lexer_record_start): Likewise.
21434 (grub_script_lexer_record_stop): Likewise.
21435 (grub_script_lexer_yywrap): New function prototype.
21436 (grub_script_lexer_fini): Likewise.
21437 (grub_script_execute_argument_to_string): Removed by...
21438 (grub_script_execute_argument_to_argv): ...better version.
21439
21440 * script/execute.c (ROUND_UPTO): New macro.
21441 (grub_script_execute_cmdline): Out of memory fixes.
21442 (grub_script_execute_menuentry): Likewise.
21443 (grub_script_execute_argument_to_string): Removed. Update all
21444 users by...
21445 (grub_script_execute_argument_to_argv): ...better version.
21446 * script/function.c (grub_script_function_create): Use
21447 grub_script_execute_argument_to_argv instead of
21448 grub_script_execute_argument_to_string.
21449
21450 * script/lexer.c (check_varstate): Removed.
21451 (check_textstate): Removed.
21452 (grub_script_lexer_record_start): Likewise.
21453 (grub_script_lexer_record_stop): Likewise.
21454 (recordchar): Replaced with...
21455 (grub_script_lexer_record): ...new function.
21456 (nextchar): Removed.
21457 (grub_script_lexer_init): Rewritten.
21458 (grub_script_yylex): Rewritten.
21459 (append_newline): New function.
21460 (grub_script_lexer_yywrap): New function.
21461 (grub_script_lexer_fini): New function.
21462 (grub_script_yyerror): Sets error flag.
21463
21464 * script/yylex.l: New file.
21465 (grub_lexer_yyfree): Wrapper for flex yyffre.
21466 (grub_lexer_yyalloc): Likewise.
21467 (grub_lexer_yyrealloc): Likewise.
21468 * script/parser.y: Refactored.
21469
21470 * script/script.c (grub_script_arg_add): Out of memory fixes.
21471 (grub_script_add_arglist): Likewise.
21472 (grub_script_create_cmdline): Likewise.
21473 (grub_script_create_cmdmenu): Likewise.
21474 (grub_script_add_cmd): Likewise.
21475 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21476 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21477 unnecessary code.
21478
21479 * tests/grub_script_echo1.in: New testcase.
21480 * tests/grub_script_vars1.in: New testcase.
21481 * tests/grub_script_echo_keywords.in: New testcase.
21482
21483 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 Remove some redundancy in build system.
21486
21487 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21488 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21489 (TARGET_LDFLAGS): Add -nostdlib.
21490 (TARGET_IMG_LDFLAGS): Likewise.
21491 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21492 anything since mmap isn't available.
21493 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21494 Add util/time.c.
21495 (pkglib_MODULES): Remove reboot.mod.
21496 (reboot_mod_SOURCES): Removed.
21497 (reboot_mod_CFLAGS): Likewise.
21498 (reboot_mod_LDFLAGS): Likewise.
21499 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21500 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21501 (DEFSYMFILES): Add kernel_syms.lst.
21502 (kernel_img_HEADERS): Add common headers.
21503 (symlist.c): New target.
21504 (kernel_syms.lst): Likewise.
21505 (pkglib_MODULES): Add memdisk.mod.
21506 (memdisk_mod_SOURCES): New variable.
21507 (memdisk_mod_CFLAGS): Likewise.
21508 (memdisk_mod_LDFLAGS): Likewise.
21509 (pkglib_MODULES): Add reboot.mod.
21510 (reboot_mod_SOURCES): New variable.
21511 (reboot_mod_CFLAGS): Likewise.
21512 (reboot_mod_LDFLAGS): Likewise.
21513 (pkglib_MODULES): Add date.mod.
21514 (date_mod_SOURCES): New variable.
21515 (date_mod_CFLAGS): Likewise.
21516 (date_mod_LDFLAGS): Likewise.
21517 (pkglib_MODULES): Add datehook.mod.
21518 (datehook_mod_SOURCES): New variable.
21519 (datehook_mod_CFLAGS): Likewise.
21520 (datehook_mod_LDFLAGS): Likewise.
21521 (pkglib_MODULES): Add lsmmap.mod.
21522 (lsmmap_mod_SOURCES): New variable.
21523 (lsmmap_mod_CFLAGS): Likewise.
21524 (lsmmap_mod_LDFLAGS): Likewise.
21525 (pkglib_MODULES): Add boot.mod.
21526 (boot_mod_SOURCES): New variable.
21527 (boot_mod_CFLAGS): Likewise.
21528 (boot_mod_LDFLAGS): Likewise.
21529 * conf/i386-coreboot.rmk: Removed redundant parts.
21530 * conf/i386-ieee1275.rmk: Likewise.
21531 * conf/i386-pc.rmk: Likewise.
21532 * conf/mips-yeeloong.rmk: Likewise.
21533 * conf/mips.rmk: Likewise.
21534 * conf/powerpc-ieee1275.rmk: Likewise.
21535 * conf/sparc64-ieee1275.rmk: Likewise.
21536 * conf/x86_64-efi.rmk: Likewise.
21537 * conf/i386-coreboot.rmk: Moved qemu parts ..
21538 * conf/i386-qemu.rmk: ... here
21539 * conf/i386-efi.rmk: Moved common parts to...
21540 * conf/x86-efi.rmk: ... here.
21541 * conf/i386.rmk: Added modules common to all x86 variants.
21542 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21543 * disk/memdisk.c: Remove grub/machine/kernel.h.
21544 * gensymlist.sh.in: Include symbol.h.
21545 * hook/datehook.c: Correct module name.
21546 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21547 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21548 * include/grub/i386/efi/serial.h: New file.
21549 * include/grub/x86_64/efi/serial.h: Likewise.
21550 * util/time.c: Likewise.
21551 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21552
21553 2010-03-14 Colin King <colin.king@ubuntu.com>
21554 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21555
21556 Shrink the pre-partition-table part of boot.img by eight bytes.
21557
21558 * boot/i386/pc/boot.S (ERR): New macro.
21559 (chs_mode): Use ERR.
21560 (geometry_error): Likewise.
21561 (hd_probe_error): Remove. This is only used once, so we wrwite
21562 it inline instead.
21563 (read_error): Instead of printing read_error_string, just set up
21564 %si and fall through to ...
21565 (error_message): ... this new function, also used by ERR.
21566
21567 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21568
21569 Speed up consecutive hostdisk operations on the same device.
21570
21571 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21572 (grub_util_biosdisk_open): Initialise disk->data.
21573 (struct linux_partition_cache): New structure.
21574 (linux_find_partition): Cache partition start positions; these are
21575 expensive to compute on every read and write.
21576 (open_device): Cache open file descriptor in disk->data, so that we
21577 don't have to reopen it and flush the buffer cache for consecutive
21578 operations on the same device.
21579 (grub_util_biosdisk_close): New function.
21580 (grub_util_biosdisk_dev): Set `close' member.
21581
21582 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21583 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21584 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21585 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21586 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21587
21588 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 Compile parts of grub-emu as modules.
21591
21592 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21593 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21594 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21595 (all-local): Add $(GRUB_EMU).
21596 (install-local): Install $(GRUB_EMU).
21597 (uninstall): Uninstall $(GRUB_EMU).
21598 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21599 * kern/dl.c: Likewise.
21600 * commands/sleep.c: Not include machine/time.h.
21601 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21602 (COMMON_CFLAGS): Likewise.
21603 (sbin_UTILITIES): Remove grub-emu.
21604 (grub_emu_SOURCES): Removed.
21605 (kernel_img_RELOCATABLE): New variable.
21606 (pkglib_PROGRAMS): Add kernel.img.
21607 (kernel_img_SOURCES): New variable
21608 (kernel_img_CFLAGS): Likewise.
21609 (kernel_img_LDFLAGS): Likewise.
21610 (TARGET_NO_STRIP): Likewise.
21611 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21612 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21613 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21614 (grub-emu): New target.
21615 (GRUB_EMU): New variable.
21616 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21617 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21618 * loader/xnu.c: Likewise.
21619 * include/grub/pci.h: Likewise.
21620 * genemuinit.sh: New file.
21621 * genemuinitheader.sh: Likewise.
21622 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21623 Support TARGET_NO_DYNAMIC_MODULES.
21624 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21625 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21626 * disk/loopback.c: Likewise.
21627 * font/font_cmd.c: Likewise.
21628 * partmap/acorn.c: Likewise.
21629 * partmap/amiga.c: Likewise.
21630 * partmap/apple.c: Likewise.
21631 * partmap/gpt.c: Likewise.
21632 * partmap/msdos.c: Likewise.
21633 * partmap/sun.c: Likewise.
21634 * parttool/msdospart.c: Likewise.
21635 * term/gfxterm.c: Likewise.
21636 * video/bitmap.c: Likewise.
21637 * video/readers/jpeg.c: Likewise.
21638 * video/readers/png.c: Likewise.
21639 * video/readers/tga.c: Likewise.
21640 * video/video.c: Likewise.
21641 * util/grub-emu.c (read_command_list): Removed.
21642 (main): Don't call util_init_nls.
21643 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21644 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21645
21646 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21649 date.mod, datehook.mod.
21650 (datetime_mod_SOURCES): New variable.
21651 (datetime_mod_CFLAGS): Likewise.
21652 (datetime_mod_LDFLAGS): Likewise.
21653 (date_mod_SOURCES): Likewise.
21654 (date_mod_CFLAGS): Likewise.
21655 (date_mod_LDFLAGS): Likewise.
21656 (datehook_mod_SOURCES): Likewise.
21657 (datehook_mod_CFLAGS): Likewise.
21658 (datehook_mod_LDFLAGS): Likewise.
21659 * conf/sparc64-ieee1275.rmk: Likewise.
21660 * lib/ieee1275/datetime.c: New file.
21661
21662 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21665 (ieee1275_fb_mod_SOURCES): New variable.
21666 (ieee1275_fb_mod_CFLAGS): Likewise.
21667 (ieee1275_fb_mod_LDFLAGS): Likewise.
21668 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21669 New proto.
21670 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21671 (HEAP_MAX_ADDR): Likewise.
21672 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21673 type.
21674 Correct stop condition.
21675 (grub_ieee1275_devices_iterate): New function.
21676 * video/ieee1275.c: New file.
21677
21678 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21679
21680 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21681
21682 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21683 as scratch.
21684 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21685 SCRATCH_PAD_DISKBOOT as scratch.
21686 (bootit): Pass Openfirmware pointer in %o4.
21687 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21688 of 0x200000.
21689 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21690 with util/grub-mkrawimage.c.
21691 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21692 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21693 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21694 (grub_aout_load) [GRUB_UTIL]: Likewise.
21695 * include/grub/kernel.h (grub_modules_get_end): New proto.
21696 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21697 (SCRATCH_PAD_BOOT): New definition.
21698 (SCRATCH_PAD_DISKBOOT): Likewise.
21699 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21700 * include/grub/sparc64/ieee1275/ieee1275.h
21701 (grub_ieee1275_original_stack): New variable
21702 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21703 New definition
21704 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21705 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21706 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21707 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21708 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21709 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21710 (grub_platform_image_format_t): New type.
21711 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21712 * kern/main.c (grub_modules_get_end)
21713 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21714 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21715 (codestart): Switch stacks.
21716 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21717 variable.
21718 (grub_heap_init): Use grub_modules_get_end.
21719 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21720 stack.
21721 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21722 (main): Likewise.
21723 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21724
21725 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
21726
21727 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21728
21729 2010-03-08 Matt Kraai <kraai@ftbfs.org>
21730
21731 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21732 bug #559005).
21733
21734 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 * genmoddep.awk: Output all missing symbols and not only first.
21737
21738 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 * NEWS: Put the date of 1.98 release.
21741
21742 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21743
21744 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21745 ft2build.h.
21746
21747 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21748
21749 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21750 completition in the middle of string.
21751
21752 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 * util/grub-mkrescue.in: Use mktemp with explicit template.
21755
21756 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21759
21760 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21763 right pointer.
21764
21765 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21766
21767 Fix FreeBSD compilation.
21768
21769 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21770 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21771
21772 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21775
21776 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21779
21780 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21783
21784 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21785
21786 Support relative image path in theme file.
21787
21788 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21789 (image_set_property): Handle theme_dir and relative path.
21790
21791 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21792
21793 * configure.ac: Alias amd64 to x86_64.
21794
21795 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 * NEWS: mention multiboot on EFI.
21798
21799 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21800
21801 * kern/main.c (grub_load_modules): Handle errors from init functions of
21802 embeded modules.
21803
21804 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21805
21806 * normal/autofs.c (autoload_fs_module): Handle errors.
21807
21808 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21809
21810 Disable linux.mod on qemu-mips since it's not functional and leads
21811 to compilation failure.
21812
21813 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21814 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21815 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21816 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21817 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21818 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21819 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21820 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21821 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21822 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21823 Reported by: BVK Chaitanya
21824
21825 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21826
21827 * INSTALL: Add gettext as a dependency and add qemu to a new section
21828 "Prerequisites for make-check".
21829
21830 2010-03-04 Christian Franke <franke@computer.org>
21831
21832 * util/grub-pe2elf.c: Add missing include "progname.h".
21833
21834 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 * normal/crypto.c (read_crypto_list): Fix a typo.
21837 Reported by: Seth Goldberg.
21838
21839 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21842 Reported by: Seth Goldberg.
21843
21844 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21847 ascii.bitmaps.
21848
21849 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 * genmk.rb: Remove terminal*.lst in make clean.
21852 Reported by: Seth Goldberg.
21853
21854 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 * util/i386/efi/grub-install.in: Copy gettext files.
21857
21858 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21859
21860 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21861
21862 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21863
21864 Wait for user entry basing on presence of output rather than on errors.
21865
21866 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21867 (grub_install_newline_hook): Likewise.
21868 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21869 * normal/menu.c (show_menu): Check line_counter to determine presence
21870 of output.
21871 * normal/term.c (grub_normal_line_counter): New variable.
21872 (grub_normal_get_line_counter): New function.
21873 (grub_install_newline_hook): Likewise.
21874
21875 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21876
21877 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21878
21879 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 * configure.ac: Update version to 1.98.
21882
21883 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21884
21885 * util/grub.d/10_linux.in (linux_entry): Don't default to
21886 gfxpayload=keep if Linux doesn't support video handover.
21887
21888 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 Don't compile video modules on yeeloong since video subsystem is part
21891 of kernel.
21892
21893 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21894 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21895 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21896 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21897 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21898 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21899 * include/grub/bitmap_scale.h: Likewise.
21900 * include/grub/bufio.h: Likewise.
21901 * include/grub/font.h: Likewise.
21902 * include/grub/gfxterm.h: Likewise.
21903 * include/grub/video.h: Likewise.
21904 * include/grub/vbe.h: Don't include video_fb.h.
21905 * video/i386/pc/vbe.c: Include video_fb.h.
21906 * commands/i386/pc/vbetest.c: Include video.h.
21907
21908 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21909
21910 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21911 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21912 default entry if GRUB_SAVEDEFAULT=true. This allows using
21913 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21914 saving a new default on every boot.
21915
21916 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21919 * normal/term.c (read_terminal_list): Likewise.
21920 * normal/main.c (grub_normal_init_page): Likewise.
21921 (grub_normal_read_line_real): Likewise.
21922
21923 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21926 memory leak.
21927 Reported by: Seth Goldberg.
21928
21929 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21930
21931 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21932 duplicate declaration of `start'.
21933
21934 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21937 filename.
21938 Reported by: Georgy Buranov
21939
21940 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21941
21942 * util/grub-mkrawimage.c (usage): Change string formatting to
21943 improve gettext.
21944
21945 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21946
21947 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21948 backspace keys.
21949
21950 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21951
21952 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21953 Reported by: Michael Suchanek.
21954
21955 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21956
21957 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21958 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21959
21960 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21961
21962 Remove any reference to non-free fonts.
21963
21964 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21965 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21966 uses non-free components.
21967 * font/font.c (grub_font_get_name): Remove example name.
21968 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21969 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21970 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21971 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21972
21973 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21974
21975 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21976
21977 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21978
21979 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21980 Double divisor.
21981 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21982 features.
21983 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21984
21985 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21986
21987 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21988
21989 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21990
21991 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21992 * docs/grub.texi (Command-line and menu entry commands): Document play
21993 command.
21994
21995 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21996
21997 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21998 parse arguments as inline tempo and notes. Move code for playing notes
21999 to...
22000 (play): ... new function.
22001
22002 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22003
22004 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22005 grub_uint16_t instead of short.
22006 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22007 disk from little endian to cpu endianness.
22008
22009 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22010
22011 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22012 GRUB_TICKS_PER_SECOND instead of 120.
22013
22014 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22015
22016 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22017 escape sequence after \e.
22018
22019 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22022 non-ASCII characters.
22023
22024 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22027 set root in single quotes to prevent \, from being unescaped.
22028
22029 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22030
22031 Prevent unknown commands from stopping menuentry execution.
22032
22033 * script/execute.c (grub_script_execute_cmdline): Print error after
22034 unknown command.
22035
22036 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22037
22038 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22039 Reported by: Pavel Pisa.
22040
22041 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22044
22045 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 Merge grub_ieee1275_map_physical into grub_map and rename to
22048 grub_ieee1275_map
22049
22050 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22051 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22052 Remove.
22053 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22054 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22055 necessary.
22056 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22057
22058 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22061 opening and not after.
22062
22063 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22064
22065 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22066 constants.
22067
22068 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22071 (alloc_phys): Use ALIGN_UP instead of align_addr.
22072
22073 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22074
22075 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22076
22077 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22080
22081 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22082
22083 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22084 verbose dprintf.
22085
22086 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22087
22088 Fix over-4GiB seek on sparc64.
22089
22090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22091 Replace pos_i and pos_lo with pos. All users updated.
22092 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22093 New constant.
22094 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22095 Likewise.
22096 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22097 and pos_lo.
22098
22099 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22100
22101 * util/grub-mkrawimage.c (main): Call set_program_name.
22102
22103 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 Properly align 64-bit targets.
22106
22107 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22108 (generate_image): Use ALIGN_ADDR.
22109
22110 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 Properly create cross-endian images.
22113
22114 * include/grub/types.h (grub_host_to_target_addr): New macro
22115 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22116
22117 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22118
22119 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22120
22121 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22122
22123 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22124
22125 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22126 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22127 (grub_linux_boot): Divide by 64K when on VESA.
22128
22129 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 Support GRUB_GFXPAYLOAD_LINUX.
22132
22133 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22134 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22135
22136 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22137
22138 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22139 to show messages instead of discarding them.
22140 Process errors after executing command and not before. Keep old method
22141 too as precaution.
22142
22143 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 * configure.ac: Check for ft2build.h.
22146
22147 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22148
22149 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22150
22151 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22152
22153 * genkernsyms.sh.in: Use TARGET_CC.
22154
22155 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
22156
22157 * NEWS: Update.
22158
22159 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22160
22161 * include/grub/multiboot2.h: Remove leftover file.
22162 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22163 * include/grub/partition.h [GRUB_UTIL]: Likewise.
22164
22165 2010-02-07 Yves Blusseau <blusseau@zetam.org>
22166
22167 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
22168
22169 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22170
22171 Fix warnings in grub-emu when compiling with maximum warning options.
22172
22173 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22174 (grub_arch_modules_addr): Return 0 and not NULL.
22175 * util/misc.c (ENABLE_RELOCATABLE): New definition.
22176 (xstrdup): Use newstr instead of dup.
22177 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22178 of disk to dsk to avoid shadowing.
22179 (find_free_slot): Fix prototype.
22180 * util/getroot.c (grub_util_is_dmraid): Make static.
22181 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22182 Add missing prototype.
22183 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
22184
22185 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22188 appropriately.
22189
22190 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22193 code out.
22194
22195 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22198 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22199 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22200 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22201 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22202 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22203
22204 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22205
22206 * include/grub/err.h (grub_err_printf): Don't export.
22207
22208 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22209
22210 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22211
22212 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22213
22214 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22215 * kern/misc.c (grub_gettext_dummy): Make static.
22216
22217 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22220 by non-valid ones.
22221 * kern/term.c (grub_putchar): Likewise.
22222
22223 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22226 buggy hook call and memory leak.
22227
22228 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22231
22232 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22233
22234 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22235
22236 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22237
22238 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22239 modevar.
22240 Return grub_errno on allocation error.
22241
22242 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22243
22244 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22245
22246 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22247
22248 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22249 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22250
22251 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22252
22253 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22254 non-pxe disk.
22255 (grub_pxefs_open): Likewise.
22256
22257 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22258
22259 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22260 * util/grub.d/10_kfreebsd.in: Likewise.
22261 * util/grub.d/10_linux.in: Likewise.
22262
22263 2010-02-06 Colin D Bennett <colin@gibibit.com>
22264
22265 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22266 (gfxmenu_mod_SOURCES): New variable.
22267 (gfxmenu_mod_CFLAGS): Likewise.
22268 (gfxmenu_mod_LDFLAGS): Likewise.
22269 * include/grub/term.h (grub_term_set_current_output): Declare
22270 argument as const.
22271 * docs/gfxmenu-theme-example.txt: New file.
22272 * gfxmenu/gfxmenu.c: Likewise.
22273 * gfxmenu/gui_box.c: Likewise.
22274 * gfxmenu/gui_canvas.c: Likewise.
22275 * gfxmenu/gui_circular_progress.c: Likewise.
22276 * gfxmenu/gui_image.c: Likewise.
22277 * gfxmenu/gui_label.c: Likewise.
22278 * gfxmenu/gui_list.c: Likewise.
22279 * gfxmenu/gui_progress_bar.c: Likewise.
22280 * gfxmenu/gui_string_util.c: Likewise.
22281 * gfxmenu/gui_util.c: Likewise.
22282 * gfxmenu/icon_manager.c: Likewise.
22283 * gfxmenu/model.c: Likewise.
22284 * gfxmenu/named_colors.c: Likewise.
22285 * gfxmenu/theme_loader.c: Likewise.
22286 * gfxmenu/view.c: Likewise.
22287 * gfxmenu/widget-box.c: Likewise.
22288 * include/grub/gfxmenu_model.h: Likewise.
22289 * include/grub/gfxmenu_view.h: Likewise.
22290 * include/grub/gfxwidgets.h: Likewise.
22291 * include/grub/gui.h: Likewise.
22292 * include/grub/gui_string_util.h: Likewise.
22293 * include/grub/icon_manager.h: Likewise.
22294
22295 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 Agglomerate scrolling in gfxterm.
22298
22299 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22300 (grub_virtual_screen_setup): Initialise 'total_screen'.
22301 (write_char): Split to ...
22302 (paint_char): ... this ...
22303 (write_char): ... and this.
22304 (paint_char): Handle delayed scrolling.
22305 (draw_cursor): Likewise.
22306 (scroll_up): Split to ...
22307 (real_scroll): ... this ...
22308 (scroll_up): ... and this.
22309 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22310 characters.
22311 (grub_gfxterm_refresh): Call real_scroll.
22312
22313 2010-02-06 Colin D Bennett <colin@gibibit.com>
22314
22315 * include/grub/misc.h (grub_iscntrl): New inline function.
22316 (grub_isalnum): Likewise.
22317 (grub_strtol): Likewise.
22318
22319 2010-02-06 Colin D Bennett <colin@gibibit.com>
22320
22321 * normal/menu_text.c (get_entry_number): Move from here ...
22322 * normal/menu.c (get_entry_number): ... moved here.
22323 * include/grub/menu.h (grub_menu_get_default_entry_index):
22324 New prototype.
22325 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22326 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22327 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22328 (grub_menu_viewer_should_return): Likewise.
22329 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22330 * normal/menu_text.c (run_menu): Enable menu switching.
22331 * normal/menu_viewer.c (should_return): New variable.
22332 (menu_viewer_changed): Likewise.
22333 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22334 (grub_menu_viewer_should_return): New function.
22335 (menuviewer_write_hook): Likewise.
22336 (grub_menu_viewer_init): Likewise.
22337
22338 2010-02-06 Colin D Bennet <colin@gibibit.com>
22339 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22340
22341 Support for gfxterm in a window.
22342
22343 * include/grub/gfxterm.h: New file.
22344 * include/grub/video.h (struct grub_video_rect): New declaration.
22345 (grub_video_rect_t): Likewise.
22346 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22347 (refcount): New variable.
22348 (render_target): Likewise.
22349 (window): Likewise.
22350 (repaint_callback): Likewise.
22351 (grub_virtual_screen_setup): Use 'render_target'.
22352 (init_window): New function.
22353 (grub_gfxterm_init_window): Likewise.
22354 (grub_gfxterm_init): Check reference counter.
22355 Use init_window.
22356 (destroy_window): New function.
22357 (grub_gfxterm_destroy_window): Likewise.
22358 (grub_gfxterm_fini): Check reference counter.
22359 Use destroy_window.
22360 (redraw_screen_rect): Restore viewport.
22361 Use 'render_target' and 'window'.
22362 Call 'repaint_callback'.
22363 (write_char): Use 'render_target'.
22364 (draw_cursor): Likewise.
22365 (scroll_up): Restore viewport.
22366 Use 'render_target' and 'window'.
22367 Call 'repaint_callback'.
22368 (grub_gfxterm_cls): Likewise.
22369 (grub_gfxterm_refresh): Use 'window'.
22370 (grub_gfxterm_set_repaint_callback): New function.
22371 (grub_gfxterm_background_image_cmd): Use 'window'.
22372 (grub_gfxterm_get_term): New function.
22373 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22374
22375 2010-02-06 Colin D Bennett <colin@gibibit.com>
22376
22377 Bitmap scaling support.
22378
22379 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22380 (bitmap_scale_mod_SOURCES): New variable.
22381 (bitmap_scale_mod_CFLAGS): Likewise.
22382 (bitmap_scale_mod_LDFLAGS): Likewise.
22383 * include/grub/bitmap_scale.h: New file.
22384 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22385 (background_image_cmd_options): New variable.
22386 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22387 (cmd): Rename and change type to ...
22388 (background_image_cmd_handle): ... this. All users updated.
22389 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22390 * video/bitmap_scale.c: New file.
22391
22392 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 SDL support.
22395
22396 * Makefile.in (LIBSDL): New variable.
22397 (enable_grub_emu_sdl): Likewise.
22398 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22399 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22400 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22401 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22402 * util/sdl.c: New file.
22403
22404 2010-02-06 Colin D Bennett <colin@gibibit.com>
22405 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22406
22407 Double buffering support.
22408
22409 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22410 * include/grub/video.h: Update comment.
22411 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22412 New type.
22413 (grub_video_fb_doublebuf_blit_init): New prototype.
22414 * term/gfxterm.c (scroll_up): Support double buffering.
22415 (grub_gfxterm_refresh): Likewise.
22416 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22417 (grub_video_fb_doublebuf_blit_init): Likewise.
22418 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22419 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22420 'displayed_page', 'render_page' and 'update_screen'.
22421 (grub_video_vbe_fini): Free offscreen buffer.
22422 (doublebuf_pageflipping_commit): New function.
22423 (doublebuf_pageflipping_update_screen): Likewise.
22424 (doublebuf_pageflipping_init): Likewise.
22425 (double_buffering_init): Likewise.
22426 (grub_video_vbe_setup): Enable doublebuffering.
22427 (grub_video_vbe_swap_buffers): Implement.
22428 (grub_video_vbe_set_active_render_target): Handle double buffering.
22429 (grub_video_vbe_get_active_render_target): Likewise.
22430 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22431 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22432 (grub_video_vbe_enable_double_buffering): Likewise.
22433 (grub_video_vbe_swap_buffers): Use update_screen.
22434 (grub_video_set_mode): Use double buffering.
22435
22436 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22437
22438 * maintainance/gentrigtables.py: Remove.
22439 * lib/trig.c: Likewise.
22440
22441 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22442
22443 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22444 `trigtables.c'.
22445 (trigtables.c): New rule.
22446 (gentrigtables): Likewise.
22447 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22448
22449 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22450
22451 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22452 integer constants.
22453
22454 2010-02-06 Colin D Bennet <colin@gibibit.com>
22455
22456 Trigonometry support.
22457
22458 * include/grub/trig.h: New file.
22459 * lib/trig.c: Likewise.
22460 * maintainance/gentrigtables.py: Likewise.
22461 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22462 (trig_mod_SOURCES): New variable.
22463 (trig_mod_CFLAGS): Likewise.
22464 (trig_mod_LDFLAGS): Likewise.
22465
22466 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22469 disk devices.
22470
22471 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22474 error.
22475
22476 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * util/hostdisk.c (open_device): Don't use partition device when reading
22479 before the partition.
22480 (grub_util_biosdisk_read): Don't read from partition and before the
22481 partition in single operation.
22482 (grub_util_biosdisk_write): Don't write to partition and before the
22483 partition in single operation.
22484
22485 2010-02-03 Torsten Landschoff <torsten@debian.org>
22486
22487 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22488 last sectors.
22489
22490 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22491
22492 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22493 CDROM reads.
22494 (grub_biosdisk_write): Refuse to write to CDROM.
22495
22496 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22497
22498 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22499
22500 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22501
22502 * font/font.c (find_glyph): Check that bmp_idx is available before
22503 using it.
22504 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22505 with (font == NULL).
22506
22507 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
22508
22509 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22510
22511 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22512
22513 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22514 * util/grub-script-check.c (getline): Fix empty lines case.
22515
22516 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22517
22518 * Makefile.in (check): Exit with fail status when one of the tests
22519 fails.
22520 * tests/example_functional_test.c (example_test): Fix reversed assert.
22521 * tests/example_unit_test.c (example_test): Likewise.
22522
22523 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
22524
22525 * util/grub.d/10_linux.in: This script does not use any of the
22526 contents of gettext.sh, only the external command `gettext', so stop
22527 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22528 the same prefix as GRUB.)
22529 * util/grub.d/10_kfreebsd.in: Likewise.
22530
22531 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22532
22533 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22534 of the line.
22535
22536 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22537
22538 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22539 last sectors.
22540
22541 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22542
22543 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22544 having a 4KiB and not 32KiB buffer size.
22545
22546 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22547
22548 * util/hostfs.c: Include `<errno.h>'.
22549 (grub_hostfs_read): Handle errors from fseeko() and fread().
22550
22551 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22552
22553 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22554 loop when using read hooks on files whose size isn't sector-aligned.
22555
22556 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22557
22558 Remove unused parameter.
22559
22560 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22561 (grub_iso9660_open): Remove initialization of `data->length'.
22562
22563 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22564
22565 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22566 memleak conditions.
22567
22568 2010-01-27 Carles Pina i Estany <carles@pina.cat>
22569
22570 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22571 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22572
22573 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22574
22575 * util/bin2h.c (usage): Fix warning (space after backslash).
22576
22577 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22578
22579 * font/font.c: Include `grub/fontformat.h.
22580 Remove font file format constants.
22581 (grub_font_load): Use the new macros.
22582 * include/grub/fontformat.h: New file.
22583 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22584 (write_font_pf2): Use the new macros.
22585
22586 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22587
22588 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22589 does.
22590
22591 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22592
22593 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22594
22595 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22596 (_start): Macroify `0x7F'.
22597
22598 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22599 (make_install_device): Use "(pxe)" as fallback prefix when booting
22600 via PXE.
22601
22602 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22603
22604 * configure.ac: Reset LIBS after check for libgcc symbols.
22605
22606 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
22607
22608 * util/hostdisk.c (open_device): Add trailing newline to debug
22609 message.
22610
22611 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22612
22613 * configure.ac: Check for `limits.h'.
22614 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22615
22616 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22617
22618 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22619 capitalize error strings.
22620
22621 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22622
22623 * util/grub.d/10_hurd.in: Add a recovery mode.
22624
22625 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22626
22627 * configure.ac: Check for libgcc symbols with -nostdlib.
22628
22629 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22630
22631 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22632
22633 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22636 stack since heap may be unavailable at that point.
22637 (grub_ofconsole_gotoxy): Likewise.
22638
22639 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22640
22641 * configure.ac: Check for _restgpr_14_x.
22642 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22643 and _savegpr_* prototypes.
22644
22645 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22646
22647 Use generic grub_reboot() for i386-efi.
22648
22649 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22650 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22651 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22652
22653 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22654
22655 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22656 presence of "prefix" variable as it breaks when normal.mod is
22657 embedded.
22658
22659 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22660
22661 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22662 stack since heap is unavailable at that point.
22663
22664 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22667 (grub_freebsd_bootinfo): Rewritten.
22668 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22669
22670 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22671
22672 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22673
22674 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22675
22676 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22677 domain now.
22678
22679 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
22680
22681 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22682 around for handling "/" to the correct fix. Fix a memory leak. Use
22683 xstrdup instead of strdup.
22684
22685 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22686
22687 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22688
22689 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22692
22693 * font/font.c (struct grub_font): New member 'bmp_idx'.
22694 (font_init): Initialise 'bmp_idx'.
22695 (load_font_index): Fill 'bmp_idx'.
22696 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22697
22698 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22699
22700 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22701 unnecessary calls.
22702
22703 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 Move context handling out of the kernel.
22706
22707 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22708 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22709 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22710 * conf/i386-efi.rmk: Likewise.
22711 * conf/i386-ieee1275.rmk: Likewise.
22712 * conf/i386-pc.rmk: Likewise.
22713 * conf/powerpc-ieee1275.rmk: Likewise.
22714 * conf/sparc64-ieee1275.rmk: Likewise.
22715 * conf/x86_64-efi.rmk: Likewise.
22716 * include/grub/env.h: Include grub/menu.h.
22717 (grub_env_var_type): Removed.
22718 (grub_env_var): Replaced field 'type' with 'global'.
22719 (grub_env_find): New prototype.
22720 (grub_env_context_open): Remove EXPORT_FUNC.
22721 (grub_env_context_close): Likewise.
22722 (grub_env_export): Likewise.
22723 (grub_env_set_data_slot): Removed.
22724 (grub_env_get_data_slot): Likewise.
22725 (grub_env_unset_data_slot): Likewise.
22726 (grub_env_unset_menu): New prototype.
22727 (grub_env_set_menu): Likewise.
22728 (grub_env_get_menu): Likewise.
22729 * include/grub/env_private.h: New file.
22730 * include/grub/normal.h (grub_context_init): New prototype.
22731 (grub_context_fini): Likewise.
22732 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22733 * normal/context.c (grub_cmd_export): ... to here.
22734 * kern/env.c: Include env_private.h.
22735 (HASHSZ): Moved to include/grub/env_private.h.
22736 (grub_env_context): Likewise.
22737 (grub_env_sorted_var): Likewise.
22738 (current_context): Renamed from this ...
22739 (grub_current_context): ...to this. 'static' removed. All users updated.
22740 (grub_env_find): Removed 'static'.
22741 (grub_env_context_open): Moved to normal/context.c.
22742 (grub_env_context_close): Likewise.
22743 (grub_env_export): Likewise.
22744 (mangle_data_slot_name): Removed.
22745 (grub_env_set_data_slot): Likewise.
22746 (grub_env_get_data_slot): Likewise.
22747 (grub_env_unset_data_slot): Likewise.
22748 * kern/main.c (grub_set_root_dev): Don't export root.
22749 It will be done later.
22750 (grub_main): Don't export prefix.
22751 It will be done later.
22752 * normal/context.c: New file.
22753 * normal/main.c (free_menu): Use grub_env_unset_menu.
22754 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22755 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22756 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22757 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22758
22759 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22760
22761 setpci support.
22762
22763 * commands/setpci.c: New file.
22764 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22765 (setpci_mod_SOURCES): New variable.
22766 (setpci_mod_CFLAGS): Likewise.
22767 (setpci_mod_LDFLAGS): Likewise.
22768
22769 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22770
22771 Byte-addressable PCI configuration space.
22772
22773 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22774 dword address.
22775 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22776 GRUB_PCI_REG_CACHELINE.
22777 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22778 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22779 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22780 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22781 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22782 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22783 grub_pci_make_address.
22784 (lock_rom_area): Likewise.
22785 * commands/lspci.c (grub_lspci_iter): Use macroses
22786 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22787 of grub_pci_make_address.
22788 * disk/ata.c (grub_ata_pciinit): Likewise.
22789 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22790 (GRUB_PCI_REG_VENDOR): Likewise.
22791 (GRUB_PCI_REG_DEVICE): Likewise.
22792 (GRUB_PCI_REG_COMMAND): Likewise.
22793 (GRUB_PCI_REG_STATUS): Likewise.
22794 (GRUB_PCI_REG_REVISION): Likewise.
22795 (GRUB_PCI_REG_CLASS): Likewise.
22796 (GRUB_PCI_REG_CACHELINE): Likewise.
22797 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22798 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22799 (GRUB_PCI_REG_BIST): Likewise.
22800 (GRUB_PCI_REG_ADDRESSES): Likewise.
22801 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22802 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22803 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22804 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22805 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22806 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22807 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22808 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22809 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22810 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22811 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22812 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22813 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22814 (GRUB_PCI_REG_MIN_GNT): Likewise.
22815 (GRUB_PCI_REG_MAX_LAT): Likewise.
22816 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22817 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22818 * video/efi_uga.c (find_framebuf): Likewise.
22819 * video/sm712.c (grub_video_sm712_setup): Likewise.
22820 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22821 space.
22822
22823 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22824
22825 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22826 can be reliably determined to be supported.
22827
22828 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22829
22830 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22831 that VESA is supported.
22832 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22833 supported.
22834
22835 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22838
22839 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22840
22841 * util/misc.c (make_system_path_relative_to_its_root): Work around
22842 special-casing of "/", as previous incarnation of this routine did.
22843
22844 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22845
22846 Fix any-emu compilation.
22847
22848 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22849 * grub_bin2h_SOURCES: New variable.
22850
22851 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22852
22853 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22854
22855 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22856
22857 * util/grub.d/00_header.in: Fix handling of locale_dir.
22858
22859 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22860
22861 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22862 as possible unifont location (Gentoo).
22863 Reported by: Alexander Brüning
22864
22865 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22866
22867 Don't try to generate lists for kernel.img.
22868
22869 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22870 (pkglib_MODULES): Remove kernel.img.
22871 (kernel_img_EXPORTS): Removed.
22872 (kernel_img_RELOCATABLE): New variable.
22873 * conf/x86_64-efi.rmk: Likewise.
22874 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22875
22876 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22877
22878 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22879 grub_xasprintf or grub_snprintf.
22880 (grub_vsprintf): Likewise.
22881 (grub_snprintf): New proto.
22882 (grub_vsnprintf): Likewise.
22883 (grub_xasprintf): Likewise.
22884 (grub_xvasprintf): Likewise.
22885 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22886 (grub_sprintf): Removed.
22887 (grub_vsnprintf): New function.
22888 (grub_snprintf): Likewise.
22889 (grub_xvasprintf): Likewise.
22890 (grub_xasprintf): Likewise.
22891 (grub_vsprintf): Renamed to ...
22892 (grub_vsnprintf_real): ...this. New argument max_len.
22893
22894 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22895
22896 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22897 fix grub-script-check warning.
22898
22899 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22900
22901 * include/grub/font.h (grub_font_load): Fix prototype.
22902
22903 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22906
22907 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22908
22909 * include/grub/x86_64/at_keyboard.h: New file.
22910
22911 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22912
22913 * loader/mips/linux.c: Include missing grub/i18n.h.
22914
22915 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22916
22917 * normal/menu.c (notify_execution_failure): Clarify error message.
22918
22919 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22920
22921 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22922 return value (and revert all return statements). Update users.
22923
22924 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22925
22926 * kern/device.c (grub_device_iterate): Allocate new part_ent
22927 structure based on sizeof (*p) rather than sizeof (p->next), to
22928 account for structure padding.
22929
22930 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22931 disk is NULL, which might happen for LVM physical volumes with no
22932 LVM signature.
22933
22934 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22935
22936 * loader/mips/linux.c (grub_cmd_initrd)
22937 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22938
22939 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22940
22941 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22942 (grub_video_video_init, grub_video_bitmap_init)
22943 (grub_font_manager_init, grub_term_gfxterm_init)
22944 (grub_at_keyboard_init): New extern declarations.
22945 (grub_machine_init): Initialize gfxterm and at_keyboard.
22946
22947 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22948
22949 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22950 `gfxterm.mod' into core image.
22951
22952 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22953 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22954 (kernel_img_FORMAT): Copy to ...
22955
22956 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22957 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22958 (kernel_img_FORMAT): ... here, and ...
22959
22960 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22961 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22962 (kernel_img_FORMAT): ... here.
22963
22964 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22965 and input (at_keyboard) terminals in kernel.
22966 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22967
22968 (pkglib_MODULES): Remove `pci.mod'.
22969 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22970 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22971 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22972 (at_keyboard_mod_LDFLAGS): Remove variables.
22973
22974 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22975
22976 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22977
22978 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22979
22980 * include/grub/mips/libgcc.h: Only export symbols for functions
22981 that libgcc provides.
22982
22983 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22984
22985 MIPS support.
22986
22987 * bus/bonito.c: New file.
22988 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22989 GRUB_PCI_NUM_DEVICES.
22990 * term/i386/pc/serial.c: Move to ...
22991 * term/serial.c: ... here. All users updated.
22992 * util/i386/pc/grub-mkimage.c: Move to ...
22993 * util/grub-mkrawimage.c: ... here. All users updated.
22994 * term/i386/pc/at_keyboard.c: Move to ...
22995 * term/at_keyboard.c: ... here. All users updated.
22996 * conf/mips-qemu-mips.rmk: New file.
22997 * conf/mips-yeeloong.rmk: Likewise.
22998 * conf/mips.rmk: Likewise.
22999 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23000 mipsel-qemu-mips.
23001 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23002 to port addresses.
23003 (grub_ata_pciinit): Support CS5536.
23004 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23005 * font/font_cmd.c (loadfont_command): Open file before passing it to
23006 grub_font_load.
23007 (pseudo_file_read): New function.
23008 (pseudo_file_close): Likewise.
23009 (pseudo_fs): New structure.
23010 (load_font_module): New function.
23011 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23012 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23013 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23014 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23015 * include/grub/i386/at_keyboard.h: Split into ...
23016 * include/grub/at_keyboard.h: ... this ...
23017 * include/grub/i386/at_keyboard.h: ... and this.
23018 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23019 New prototype.
23020 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23021 updated.
23022 (grub_elf64_size): Likewise.
23023 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23024 filename.
23025 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23026 * include/grub/i386/coreboot/serial.h: Rewritten.
23027 * include/grub/i386/ieee1275/serial.h: Include
23028 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23029 * include/grub/i386/pc/serial.h: Moved from here ...
23030 * include/grub/serial.h: ... to here. All users updated.
23031 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23032 (GRUB_PCI_NUM_BUS): Likewise.
23033 (GRUB_PCI_NUM_DEVICES): Likewise.
23034 (grub_pci_device_map_range): Add missing volatile keyword.
23035 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23036 * include/grub/mips/at_keyboard.h: New file.
23037 * include/grub/mips/cache.h: Likewise.
23038 * include/grub/mips/io.h: Likewise.
23039 * include/grub/mips/kernel.h: Likewise.
23040 * include/grub/mips/libgcc.h: Likewise.
23041 * include/grub/mips/pci.h: Likewise.
23042 * include/grub/mips/qemu-mips/boot.h: Likewise.
23043 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23044 * include/grub/mips/qemu-mips/loader.h: Likewise.
23045 * include/grub/mips/qemu-mips/memory.h: Likewise.
23046 * include/grub/mips/qemu-mips/serial.h: Likewise.
23047 * include/grub/mips/qemu-mips/time.h: Likewise.
23048 * include/grub/mips/relocator.h: Likewise.
23049 * include/grub/mips/time.h: Likewise.
23050 * include/grub/mips/types.h: Likewise.
23051 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23052 * include/grub/mips/yeeloong/boot.h: Likewise.
23053 * include/grub/mips/yeeloong/kernel.h: Likewise.
23054 * include/grub/mips/yeeloong/loader.h: Likewise.
23055 * include/grub/mips/yeeloong/memory.h: Likewise.
23056 * include/grub/mips/yeeloong/pci.h: Likewise.
23057 * include/grub/mips/yeeloong/serial.h: Likewise.
23058 * include/grub/mips/yeeloong/time.h: Likewise.
23059 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23060 * kern/elf.c (grub_elf32_size): New parameter. All users
23061 updated.
23062 (grub_elf64_size): Likewise.
23063 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23064 Load modules before saying "Welcome to GRUB!".
23065 Call grub_refresh after saying "Welcome to GRUB!".
23066 * kern/mips/cache.S: New file.
23067 * kern/mips/cache_flush.S: Likewise.
23068 * kern/mips/dl.c: Likewise.
23069 * kern/mips/init.c: Likewise.
23070 * kern/mips/qemu-mips/init.c: Likewise.
23071 * kern/mips/startup.S: Likewise.
23072 * kern/mips/yeeloong/init.c: Likewise.
23073 * kern/term.c (grub_putcode): Handle NULL terminal.
23074 (grub_getcharwidth): Likewise.
23075 (grub_getkey): Likewise.
23076 (grub_checkkey): Likewise.
23077 (grub_getkeystatus): Likewise.
23078 (grub_getxy): Likewise.
23079 (grub_getwh): Likewise.
23080 (grub_gotoxy): Likewise.
23081 (grub_cls): Likewise.
23082 (grub_setcolorstate): Likewise.
23083 (grub_setcolor): Likewise.
23084 (grub_getcolor): Likewise.
23085 (grub_refresh): Likewise.
23086 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23087 (write_jump): Add hatch nop.
23088 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23089 * lib/mips/setjmp.S: New file.
23090 * loader/mips/linux.c: Likewise.
23091 * term/i386/pc/at_keyboard.c: Move from here ...
23092 * term/at_keyboard.c: ... to here.
23093 * term/i386/pc/serial.c: Moved from here ...
23094 * term/serial.c: ... to here. All users updated.
23095 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23096 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23097 (serial_translate_key_sequence): Avoid deadlock.
23098 (grub_serial_getkey): Handle backspace.
23099 (grub_serial_putchar): Fix newline handling.
23100 * util/i386/pc/grub-mkimage.c: Move from here ...
23101 * util/grub-mkrawimage.c: ... to here. All users updated.
23102 (generate_image): New parameters 'font_path' and 'format'.
23103 Support embedding font.
23104 Use grub_host_to_target* instead of grub_cpu_to_le*.
23105 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23106 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23107 (options): New option "--font".
23108 (usage): Likewise.
23109 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23110 (main): Handle "--font".
23111 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23112 (grub_virtual_screen_setup): Set bg_color_display.
23113 (redraw_screen_rect): Use bg_color_display instead of incorrect
23114 bg_color.
23115 (grub_gfxterm_cls): Likewise.
23116 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23117 Support embedding config file.
23118 (add_segments): Likewise.
23119 (options): New option "--config".
23120 (main): Handle "--config".
23121 * video/sm712.c: New file.
23122
23123 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23124
23125 Fix parallel builds.
23126
23127 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23128 font.c depend on ascii.h).
23129
23130 2010-01-12 Carles Pina i Estany <carles@pina.cat>
23131
23132 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23133
23134 2010-01-11 Carles Pina i Estany <carles@pina.cat>
23135
23136 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23137 By default: disabled.
23138 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23139 parameter.
23140
23141 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23142
23143 * font/font.c: Update copyright years.
23144 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23145
23146 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23147
23148 * font/font.c: Include `ascii.h'.
23149 (ASCII_BITMAP_SIZE): New macro.
23150 (ascii_font_glyph): Define.
23151 (ascii_glyph_lookup): New function.
23152 (grub_font_get_string_width): Change comment. If glyph not found, use
23153 ascii_glyph_lookup.
23154 (grub_font_get_glyph_with_fallback): If glyph not available returns
23155 ascii_glyph_lookup.
23156 * util/grub-mkfont.c (file_formats): New enum.
23157 (options): Add `ascii-bitmaps' new option.
23158 (usage): Add `asii-bitmaps' new option.
23159 (write_font_ascii_bitmap): New function.
23160 (write_font): Rename to ...
23161 (write_font_p2): ... this. Remove print_glyphs call.
23162 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23163 used. Call print_glyphs.
23164 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23165
23166 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23167
23168 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23169 (grub_bin2h_SOURCES): New variable.
23170 * util/bin2h.c: New file.
23171
23172 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 * include/multiboot.h: Resynced with spec.
23175 * include/multiboot2.h: Likewise.
23176 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23177 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23178
23179 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23180
23181 * include/grub/term.h (grub_term_register_input,
23182 grub_term_register_output): Check return of terminal init()
23183 routines, and abort if errors are raised.
23184
23185 * commands/terminal.c: Update copyright year.
23186
23187 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23188
23189 * commands/terminal.c (grub_cmd_terminal_input)
23190 (grub_cmd_terminal_output): Check return of terminal init()
23191 routines, and abort if errors are raised.
23192
23193 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 * include/grub/i386/bsd.h: Fix include pathes.
23196
23197 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23198
23199 Add missing *BSD copyright headers.
23200
23201 * include/grub/aout.h: Add BSD licence.
23202 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23203 * include/grub/i386/freebsd_linker.h: ... here,
23204 * include/grub/i386/freebsd_reboot.h: ... here,
23205 * include/grub/i386/netbsd_bootinfo.h: ... here,
23206 * include/grub/i386/netbsd_reboot.h: ... here,
23207 * include/grub/i386/openbsd_bootarg.h: ... here,
23208 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23209 licence to each file.
23210
23211 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23212
23213 * acinclude.m4: Remove `nop' assembly instruction; it's not
23214 implemented by all architectures.
23215
23216 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23217
23218 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23219 ELILO. This is no longer necessary.
23220
23221 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23222
23223 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23224
23225 * util/grub-script-check.c: grub-script-check tool.
23226 * conf/common.rmk: Make rules for grub-script-check.
23227
23228 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23229
23230 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23231 spotting it back in 2008. Shame on me for forgetting he did.
23232
23233 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23234
23235 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23236
23237 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23238 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23239 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23240 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23241 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23242 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23243
23244 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23245
23246 * include/grub/test.h: Add license header.
23247 * tests/example_functional_test.c: Likewise.
23248 * tests/example_unit_test.c: Likewise.
23249 * tests/lib/functional_test.c: Likewise.
23250 * tests/lib/test.c: Likewise.
23251 * tests/lib/unit_test.c: Likewise.
23252
23253 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 Use flag-based instead of hook-based video mode selection and "auto"
23256 keyword.
23257
23258 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23259 (grub_video_set_mode): Changed prototype. All users updated.
23260 (grub_video_check_mode_flag): New inline function.
23261 * video/video.c (parse_modespec): New function.
23262 (grub_video_set_mode): Parse flags and keywords.
23263
23264 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23265
23266 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23267 fprintf call.
23268
23269 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23270
23271 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23272
23273 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23274
23275 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23276 string.
23277 * util/grub-emu.c (usage): Likewise.
23278 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23279 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23280 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23281 * util/i386/pc/grub-setup.c (usage): Likewise.
23282
23283 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23284
23285 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23286 the message.
23287 (grub_util_info): Likewise.
23288 (grub_util_error): Likewise.
23289 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23290 and/or new lines in `grub_util_warna', `grub_util_info',
23291 `grub_util_error' calls.
23292 * util/getroot.c: Likewise.
23293 * util/grub-editenv.c: Likewise.
23294 * util/grub-emu.c: Likewise.
23295 * util/grub-fstest.c: Likewise.
23296 * util/grub-mkdevicemap.c: Likewise.
23297 * util/grub-mkfont.c: Likewise.
23298 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23299 * util/grub-mkrelpath.c: Likewise.
23300 * util/grub-pe2elf.c: Likewise.
23301 * util/grub-probe.c: Likewise.
23302 * util/hostdisk.c: Likewise.
23303 * util/i386/efi/grub-mkimage.c: Likewise.
23304 * util/i386/pc/grub-mkimage.c: Likewise.
23305 * util/i386/pc/grub-setup.c: Likewise.
23306 * util/ieee1275/ofpath.c: Likewise.
23307 * util/mkisofs/eltorito.c: Likewise.
23308 * util/mkisofs/rock.c: Likewise.
23309 * util/mkisofs/write.c: Likewise.
23310 * util/raid.c: Likewise.
23311 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23312 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23313
23314 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 Enable multiboot on non-pc.
23317
23318 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23319 multiboot.mod and multiboot2.mod to ...
23320 * conf/i386.rmk (pkglib_MODULES): ... here.
23321 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23322 Moved to ...
23323 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23324 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23325 Moved to ...
23326 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23327 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23328 Moved to ...
23329 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23330 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23331 Moved to ...
23332 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23333 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23334 relocator.mod.
23335 (ata_mod_SOURCES): Removed.
23336 (ata_mod_CFLAGS): Likewise.
23337 (ata_mod_LDFLAGS): Likewise.
23338 (relocator_mod_SOURCES): Removed.
23339 (relocator_mod_CFLAGS): Likewise.
23340 (relocator_mod_ASFLAGS): Likewise.
23341 (relocator_mod_LDFLAGS): Likewise.
23342 Include i386.mk.
23343 * include/grub/x86_64/multiboot.h: New file.
23344 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23345 Terminate EFI.
23346
23347 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23348
23349 Video multiboot support.
23350
23351 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23352 New prototype.
23353 * include/multiboot.h: Resynced with multiboot specification.
23354 * include/multiboot2.h: Likewise.
23355 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23356 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23357 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23358 (HAS_VGA_TEXT): Likewise.
23359 (accepts_video): New variable.
23360 (grub_multiboot_set_accepts_video): New function.
23361 (grub_multiboot_get_mbi_size): Account for video structures.
23362 (set_video_mode): New function.
23363 (retrieve_video_parameters): Likewise.
23364 (grub_multiboot_make_mbi): Fill video fields.
23365
23366 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23367
23368 Video driver ids.
23369
23370 * include/grub/video.h (grub_video_driver_id): New type.
23371 (grub_video_adapter): New member 'id'. All users updated.
23372 (grub_video_get_driver_id): New proto.
23373 * video/video.c (grub_video_get_driver_id): New function.
23374
23375 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23376
23377 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23378 `var=val'.
23379
23380 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23381
23382 * normal/cmdline.c (print_completion): Gettextizze.
23383
23384 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23385
23386 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23387
23388 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23389
23390 * gettext/gettext.c (grub_gettext_translate): Push and pop
23391 grub_errno.
23392 (grub_gettext_delete_list): Change comment style.
23393 * kern/err.c (grub_error): Gettextizze.
23394 (grub_fatal): Gettextizze.
23395
23396 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23397
23398 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23399 (grub_linux16_real_boot): ... this.
23400 * kern/i386/loader.S: Likewise.
23401 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23402 (grub_linux16_boot): New function. Switches to text mode and calls
23403 grub_linux16_real_boot().
23404
23405 * loader/i386/bsd.c: Include `<grub/video.h>'.
23406 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23407 text mode before calling grub_unix_real_boot().
23408
23409 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23410 (grub_multiboot_boot): Switch to text mode before calling
23411 grub_relocator32_boot().
23412
23413 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23414 (grub_chainloader_boot): Switch to text mode before calling
23415 grub_chainloader_real_boot().
23416
23417 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23418 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23419
23420 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23421 non-empty value.
23422
23423 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23424 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23425
23426 * util/grub.d/00_header.in: Define a "savedefault" function for use
23427 in menu entries.
23428 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23429
23430 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23431 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23432
23433 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23434 saved_entry if boot_once is unset.
23435 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23436 previous saved entry (i.e. grub-reboot).
23437
23438 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23439
23440 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23441
23442 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23443
23444 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23445 `var=val'.
23446 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23447
23448 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23449
23450 * util/grub-reboot.in: Fix --version output.
23451 * util/grub-set-default.in: Likewise.
23452
23453 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23454
23455 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23456 blocks.
23457
23458 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23459
23460 * util/grub.d/00_header.in: Quote the value assigned to `default',
23461 in case it contains spaces.
23462
23463 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23464
23465 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23466 `save_default_entry' call from the macosx case to the linux case.
23467
23468 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23469 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23470
23471 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23472 in `chosen' environment variable.
23473 * normal/menu_text.c (get_entry_number): Check if the variable
23474 matches the title of a menu entry.
23475 (run_menu): Pass menu to get_entry_number.
23476
23477 * util/grub-reboot.in: New file.
23478 * util/grub-set-default.in: New file.
23479 * conf/common.rmk (grub-reboot): New utility.
23480 (grub-set-default): New utility.
23481
23482 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23483 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23484 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23485 move it to `saved_entry' for the next boot. Load environment on
23486 initialisation.
23487 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23488 * util/grub.d/10_hurd.in: Likewise.
23489 * util/grub.d/10_linux.in (linux_entry): Likewise.
23490 * util/grub.d/10_windows.in: Likewise.
23491 * util/grub.d/30_os-prober.in: Likewise.
23492
23493 * util/grub-install.in: Create environment block.
23494 * util/i386/efi/grub-install.in: Likewise.
23495 * util/ieee1275/grub-install.in: Likewise.
23496 * util/sparc64/ieee1275/grub-install.in: Likewise.
23497
23498 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23499
23500 Unit testing framework for GRUB.
23501
23502 * Makefile.in: Test framework build rules for 'make check'.
23503 * conf/tests.rmk: Build rules for individual tests and framework.
23504
23505 * include/grub/test.h: Header file for whitebox tests.
23506 * tests/lib/functional_test.c: Framework support for whitebox
23507 functional tests.
23508 * tests/lib/test.c: Common whitebox testing code for unit and
23509 functional tests.
23510 * tests/lib/unit_test.c: Framework support for whitebox unit
23511 tests.
23512
23513 * tests/util/grub-shell-tester.in: Support utility for grub-script
23514 tests.
23515 * tests/util/grub-shell.in: Utility to execute grub-script
23516 commands in a Qemu instance.
23517
23518 * tests/example_functional_test.c: Example whitebox functional
23519 test.
23520 * tests/example_grub_script_test.in: Example grub-script test.
23521 * tests/example_scripted_test.in: Example scripted test.
23522 * tests/example_unit_test.c: Example whitebox unit test.
23523
23524 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23525
23526 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23527 Add loader/i386/multiboot_mbi.c.
23528 (multiboot2_mod_SOURCES): Likewise.
23529 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23530 (multiboot2_mod_SOURCES): Likewise.
23531 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23532 (grub_multiboot_make_mbi): Likewise.
23533 (grub_multiboot_free_mbi): Likewise.
23534 (grub_multiboot_init_mbi): Likewise.
23535 (grub_multiboot_add_module): Likewise.
23536 (grub_multiboot_set_bootdev): Likewise.
23537 * loader/i386/multiboot.c (mbi): Removed.
23538 (mbi_dest): Likewise.
23539 (alloc_mbi): New variable.
23540 (grub_multiboot_payload_size): Removed. All users updated.
23541 (grub_multiboot_pure_size): New variable.
23542 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23543 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23544 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23545 (grub_fill_multiboot_mmap): Likewise.
23546 (grub_multiboot_get_bootdev): Likewise.
23547 (grub_multiboot): Use multiboot_mbi functions.
23548 * loader/i386/multiboot_mbi.c: New file.
23549
23550 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23553 it would result in module crash.
23554
23555 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23556
23557 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23558 (grub_ofconsole_getwh): Split to ...
23559 (grub_ofconsole_getwh): ... this.
23560 (grub_ofconsole_dimensions): ...and this.
23561 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23562
23563 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23564
23565 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23566
23567 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23568
23569 * loader/i386/pc/multiboot2.c: Removed stalled file.
23570
23571 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23572
23573 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23574 Reported by: Grégoire Sutre
23575
23576 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23577
23578 * util/misc.c (canonicalize_file_name): New function.
23579 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23580 instead of realpath().
23581
23582 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
23583
23584 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23585 and make it clearer that it's optional. Based on confusion
23586 witnessed on IRC.
23587
23588 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23589
23590 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23591 in premature implicit newline.
23592
23593 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23594
23595 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23596 which resulted in garbled command line at the end of screen.
23597
23598 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23599
23600 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23601 initialization with similar approach as with other Linux loaders.
23602
23603 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23604
23605 Fix i386-ieee1275 build.
23606
23607 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23608 and grub_term_height() for video_{width,height} initialization.
23609
23610 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23611
23612 Fix grub-emu build.
23613
23614 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23615
23616 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23617 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23618
23619 Support for multiple terminals.
23620
23621 * Makefile.in (pkglib_DATA): terminal.lst.
23622 (terminal.lst): New target.
23623 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23624 (GRUB_MOD_INIT(handler)): Likewise.
23625 (GRUB_MOD_FINI(handler)): Likewise.
23626 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23627 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23628 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23629 (grub_cmd_sleep): Use grub_term_save_pos.
23630 * commands/terminal.c: New file.
23631 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23632 commands/terminal.c and lib/charset.c.
23633 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23634 (pkglib_MODULES): Add terminal.mod.
23635 (terminal_mod_SOURCES): New variable.
23636 (terminal_mod_CFLAGS): Likewise.
23637 (terminal_mod_LDFLAGS): Likewise.
23638 * genhandlerlist.sh: Don't handle terminals.
23639 * genmk.rb: Generate terminal-*.lst.
23640 * genterminallist.sh: New file.
23641 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23642 (grub_is_valid_utf8): Likewise.
23643 (grub_utf8_to_ucs4_alloc): Likewise.
23644 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23645 (grub_menu_register_viewer): Changed argument.
23646 (grub_menu_try_text): New proto.
23647 (grub_gfxmenu_try_hook): New declaration.
23648 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23649 (grub_menu_init_page): Additional argument term.
23650 (grub_normal_init_page): Likewise.
23651 (grub_cmdline_get): Arguments simplified.
23652 (grub_utf8_to_ucs4_alloc): Removed.
23653 (grub_print_ucs4): Additional argument term.
23654 (grub_getstringwidth): Likewise.
23655 (grub_print_message_indented): Likewise.
23656 (grub_menu_text_register_instances): New proto.
23657 (grub_show_menu): Likewise.
23658 (read_terminal_list): Likewise.
23659 (grub_set_more): Likewise.
23660 * include/grub/parser.h: Include handler.h.
23661 * include/grub/reader.h: Rewritten.
23662 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23663 (GRUB_TERM_WIDTH): Changed to function.
23664 (GRUB_TERM_HEIGHT): Likewise.
23665 (GRUB_TERM_BORDER_WIDTH): Likewise.
23666 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23667 (GRUB_TERM_NUM_ENTRIES): Likewise.
23668 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23669 (GRUB_TERM_CURSOR_X): Likewise.
23670 (grub_term_input_class): Likewise.
23671 (grub_term_output_class): Likewise.
23672 (grub_term_outputs_disabled): New declaration.
23673 (grub_term_inputs_disabled): Likewise.
23674 (grub_term_outputs): Likewise.
23675 (grub_term_inputs): Likewise.
23676 (grub_term_register_input): Rewritten.
23677 (grub_term_register_output): Likewise.
23678 (grub_term_unregister_input): Likewise.
23679 (grub_term_unregister_output): Likewise.
23680 (FOR_ACTIVE_TERM_INPUTS): New macro.
23681 (FOR_DISABLED_TERM_INPUTS): Likewise.
23682 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23683 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23684 * include/grub/terminfo.h: Add oterm argument to all protypes.
23685 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23686 Use grub_rescue_run.
23687 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23688 All users updated.
23689 * kern/reader.c: Removed. All users updated.
23690 * kern/rescue_reader.c (grub_rescue_init): Removed.
23691 (grub_rescue_reader): Likewise.
23692 (grub_register_rescue_reader): Likewise.
23693 (grub_rescue_run): New function based on kern/reader.c.
23694 * kern/term.c: Adapted for multiterm.
23695 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23696 (grub_is_valid_utf8): Likewise.
23697 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23698 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23699 right terminal.
23700 * loader/i386/linux.c (grub_linux_boot): Likewise.
23701 * normal/auth.c (grub_username_get): New function.
23702 (grub_auth_check_authentication): Use grub_username_get.
23703 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23704 * normal/color.c: Adapt for multiterm.
23705 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23706 (grub_normal_init_page): Additional argument term.
23707 (read_lists): Call read_terminal_lists.
23708 (grub_enter_normal_mode): Call grub_cmdline_run.
23709 Handle grub_normal_exit_level.
23710 (grub_cmd_normal): Make reentrant.
23711 (grub_cmd_normal_exit): New function.
23712 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23713 * normal/menu.c: Adapt for multiterm.
23714 * normal/menu_entry.c: Likewise.
23715 * normal/menu_text.c: Likewise.
23716 * normal/menu_viewer.c: Removed. All users updated.
23717 * normal/term.c: New file.
23718 * util/console.c: Change order of includes to workaround a bug in
23719 ncurses headers.
23720 * term/terminfo.c: New argument oterm on all exported functions.
23721 All users updated.
23722 * util/grub-editenv.c (grub_term_input_class): Removed.
23723 (grub_term_output_class): Likewise.
23724
23725 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23726
23727 Make loader output a bit more user-friendly.
23728
23729 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23730 is being loaded. Likewise for the Hurd.
23731
23732 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23733 that kernel of FreeBSD ${version} is being loaded.
23734
23735 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23736 grub_dprintf().
23737 (grub_cmd_initrd): Likewise.
23738 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23739 that Linux ${version} is being loaded. Likewise for initrd.
23740
23741 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23742
23743 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23744
23745 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23746
23747 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23748 (GRUB_MOD_INIT): Gettextizze.
23749 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23750 (GRUB_MOD_INIT): Gettextizze.
23751 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23752 (grub_cmd_linux): Capitalise Linux.
23753 (GRUB_MOD_INIT): Gettextizze.
23754 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23755 (grub_cmd_linux): Capitalise Linux.
23756 (GRUB_MOD_INIT): Gettextizze.
23757 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23758 (grub_cmd_linux): Capitalise Linux.
23759 (GRUB_MOD_INIT): Gettextizze.
23760 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23761 (GRUB_MOD_INIT): Gettextizze.
23762 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23763 (grub_cmd_linux): Capitalise Linux.
23764 (GRUB_MOD_INIT): Gettextizze.
23765 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23766 (grub_cpu_xnu_init): Gettextizze.
23767 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23768 (GRUB_MOD_INIT): Gettextizze.
23769 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23770 (GRUB_MOD_INIT): Gettextizze.
23771 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23772 (grub_linux_load64): Capitalise Linux.
23773 (GRUB_MOD_INIT): Gettextizze.
23774 * loader/xnu.c: Include `<grub/i18n.h>'.
23775 (GRUB_MOD_INIT): Gettextizze.
23776 * po/POTFILES: Add `loader/efi/appleloader.c',
23777 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23778 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23779 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23780 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23781 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23782 and `loader/xnu.c'.
23783
23784 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23785
23786 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23787
23788 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23789
23790 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23791 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23792 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23793
23794 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23795
23796 Reset Multiboot 2 support. New loader implements the draft in
23797 /branches/multiboot2 and shares as much code as possible with the
23798 production Multiboot 1 implementation.
23799
23800 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23801 * loader/multiboot2.c: Likewise.
23802 * loader/i386/multiboot_helper.S: Likewise.
23803 * include/multiboot2.h: Replace with latest version from the draft
23804 in /branches/multiboot2.
23805
23806 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23807 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23808 and `loader/multiboot2.c'.
23809 (pkglib_MODULES): Add `multiboot2.mod'.
23810 (multiboot2_mod_SOURCES): New variable.
23811 (multiboot2_mod_LDFLAGS): Likewise.
23812 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23813
23814 * conf/i386-pc.rmk: Likewise.
23815
23816 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23817 (multiboot_mod_SOURCES): Remove variable.
23818 (multiboot_mod_LDFLAGS): Likewise.
23819 (multiboot_mod_CFLAGS): Likewise.
23820
23821 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23822 `<multiboot2.h>' instead of `<multiboot.h>'.
23823 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23824 (MULTIBOOT_HEADER_MAGIC): New macros.
23825
23826 * loader/multiboot_loader.c (module_version_status): Remove variable.
23827 (find_multi_boot2_header): Remove function.
23828 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23829 logic. Always check for the Multiboot version we're compiling for.
23830 (grub_cmd_module_loader): Likewise.
23831 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23832 command instead of `multiboot'.
23833
23834 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23835
23836 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23837 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23838 all users.
23839
23840 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23841 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23842
23843 Fix breakage introduced with previous commit.
23844
23845 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23846 commands.
23847 * normal/handler.c (read_handler_list): Revert part of previous commit
23848 affecting this file.
23849 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23850 (grub_normal_execute): ... here.
23851
23852 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23853
23854 Merge prefix-redefinition-fix branch.
23855
23856 * normal/autofs.c (read_fs_list): Make function capable of being
23857 run multiple times, gracefuly replacing the previous data
23858 structures.
23859 * normal/dyncmd.c (read_command_list): Likewise.
23860 * normal/handler.c (read_handler_list): Likewise.
23861 * normal/main.c (read_lists): New function. Calls all the
23862 list reading functions.
23863 (grub_normal_execute): Use read_lists() instead of calling all
23864 list reading functions explicitly. Register read_lists() as a
23865 variable hook attached to ${prefix}.
23866
23867 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23868
23869 Merge crypto branch.
23870
23871 * Makefile.in (pkglib_DATA): Add crypto.lst.
23872 (crypto.lst): New target.
23873 * commands/hashsum.c: New file.
23874 * commands/password.c (check_password): Use grub_crypto_memcmp.
23875 * commands/password_pbkdf2.c: New file.
23876 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23877 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23878 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23879 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23880 -I$(srcdir)/lib/libgcrypt_wrap.
23881 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23882 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23883 password_pbkdf2.mod.
23884 (crypto_mod_SOURCES): New variable.
23885 (crypto_mod_CFLAGS): Likewise.
23886 (crypto_mod_LDFLAGS): Likewise.
23887 (hashsum_mod_SOURCES): New variable.
23888 (hashsum_mod_CFLAGS): Likewise.
23889 (hashsum_mod_LDFLAGS): Likewise.
23890 (pbkdf2_mod_SOURCES): New variable.
23891 (pbkdf2_mod_CFLAGS): Likewise.
23892 (pbkdf2_mod_LDFLAGS): Likewise.
23893 (password_pbkdf2_mod_SOURCES): New variable.
23894 (password_pbkdf2_mod_CFLAGS): Likewise.
23895 (password_pbkdf2_mod_LDFLAGS): Likewise.
23896 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23897 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23898 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23899 Include conf/gcry.rmk.
23900 * include/grub/auth.h: Rewritten.
23901 * include/grub/crypto.h: New file.
23902 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23903 * include/grub/normal.h (read_crypto_list): New prototype.
23904 * lib/crypto.c: New file.
23905 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23906 * lib/pbkdf2.c: Likewise.
23907 * normal/auth.c (grub_auth_strcmp): Removed.
23908 (grub_iswordseparator): Likewise.
23909 (grub_auth_strword): Likewise.
23910 (is_authenticated): Use grub_strword.
23911 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23912 and grub_strword. Pass entered password to authentication callback.
23913 * normal/crypto.c: New file.
23914 * normal/main.c: Call read_crypto_list.
23915 * util/grub-mkpasswd-pbkdf2.c: New file.
23916 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23917
23918 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 Fix descent and ascent calculation.
23921
23922 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23923 (options): New option "asce".
23924 (usage): Likewise.
23925 (add_char): Ignore invalid glyphs for descent calculation.
23926 Calculate ascent from actual content.
23927 (print_glyphs): Use 'asce'.
23928 (write_font): Likewise. Allow ascent override.
23929 (main): Handle "asce" option.
23930
23931 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23932
23933 * kern/err.c: Include `<grub/i18n.h>'.
23934 (grub_print_error): Add full stop. Gettextizze.
23935 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23936 (grub_bsd_load_elf): Capitalise ELF.
23937 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23938 (grub_cmd_freebsd_module): Likewise.
23939 (grub_cmd_freebsd_module_elf): Likewise.
23940 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23941
23942 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23943
23944 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23945 * commands/search_file.c (HELP_MESSAGE): New macro.
23946 * commands/search_label.c (HELP_MESSAGE): Likewise.
23947 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23948 * po/POTFILES: Add `commands/search_file.c',
23949 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23950 `commands/search.c'.
23951
23952 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23953
23954 * config.rpath: Update from Gnulib.
23955
23956 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23957
23958 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23959
23960 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23961
23962 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23963
23964 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23965
23966 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23967 arguments to fread so that we get a return value in bytes, rather
23968 than something that will normally be rounded down to 0.
23969 Adjust error handling to avoid producing garbage when size_t is not
23970 the same size as long long.
23971
23972 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23973
23974 * util/mkisofs/write.c (padblock_write): Check return value of
23975 fread.
23976
23977 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23980 floppy images now.
23981
23982 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23983
23984 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23985
23986 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23987 instead of manual alignment.
23988 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23989 verbose). Avoid attempts to read past end of the device
23990 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23991 but GRUB_DISK_CACHE_SIZE may exceed that).
23992
23993 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23994
23995 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23996 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23997 it to upper layer.
23998
23999 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24000
24001 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24002 New constant.
24003 (grub_efi_piwg_device_path): New structure
24004 (grub_efi_piwg_device_path_t): New type.
24005 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24006 (devpath_1): Transform to a structure. All users updated.
24007 (devpath_2): Likewise.
24008 (devpath_3): Likewise.
24009 (devpath_4): Likewise.
24010 (devpath_5): Likewise.
24011
24012 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * loader/efi/appleloader.c: Restored. Update all users.
24015
24016 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24017
24018 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24019
24020 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24021 (struct boot_blocklist): Move from here ...
24022 * include/grub/i386/pc/boot.h [ASM_FILE]
24023 (struct grub_boot_blocklist): ... to here. Update all users.
24024 (setup): Only initialize `start' member of `first_block'
24025 structure. Add assert() calls to verify the other members.
24026
24027 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24028 (generate_image): Fix broken blocklist length initialization.
24029 Add assert() call to verify blocklist `segment' field.
24030
24031 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24032
24033 * loader/efi/appleloader.c: Remove. Update all users.
24034
24035 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24036
24037 * boot/i386/pc/boot.S: Update copyright year.
24038 * boot/i386/pc/cdboot.S: Likewise.
24039 * boot/i386/pc/diskboot.S: Likewise.
24040 * boot/i386/pc/lnxboot.S: Likewise.
24041 * boot/i386/pc/pxeboot.S: Likewise.
24042 * bus/pci.c: Likewise.
24043 * commands/cmp.c: Likewise.
24044 * commands/help.c: Likewise.
24045 * commands/hexdump.c: Likewise.
24046 * commands/i386/pc/halt.c: Likewise.
24047 * commands/i386/pc/play.c: Likewise.
24048 * commands/i386/pc/vbeinfo.c: Likewise.
24049 * commands/ls.c: Likewise.
24050 * commands/test.c: Likewise.
24051 * disk/dmraid_nvidia.c: Likewise.
24052 * disk/i386/pc/biosdisk.c: Likewise.
24053 * disk/ieee1275/nand.c: Likewise.
24054 * disk/ieee1275/ofdisk.c: Likewise.
24055 * disk/lvm.c: Likewise.
24056 * disk/raid.c: Likewise.
24057 * disk/raid6_recover.c: Likewise.
24058 * disk/scsi.c: Likewise.
24059 * fs/affs.c: Likewise.
24060 * fs/cpio.c: Likewise.
24061 * fs/ext2.c: Likewise.
24062 * fs/hfs.c: Likewise.
24063 * fs/iso9660.c: Likewise.
24064 * fs/ntfs.c: Likewise.
24065 * fs/sfs.c: Likewise.
24066 * fs/udf.c: Likewise.
24067 * fs/ufs.c: Likewise.
24068 * fs/xfs.c: Likewise.
24069 * gencmdlist.sh: Likewise.
24070 * genmk.rb: Likewise.
24071 * include/grub/disk.h: Likewise.
24072 * include/grub/efi/api.h: Likewise.
24073 * include/grub/efi/efi.h: Likewise.
24074 * include/grub/efi/pe32.h: Likewise.
24075 * include/grub/elf.h: Likewise.
24076 * include/grub/fs.h: Likewise.
24077 * include/grub/i386/at_keyboard.h: Likewise.
24078 * include/grub/i386/pc/memory.h: Likewise.
24079 * include/grub/i386/pc/vbe.h: Likewise.
24080 * include/grub/i386/pci.h: Likewise.
24081 * include/grub/i386/tsc.h: Likewise.
24082 * include/grub/ieee1275/ieee1275.h: Likewise.
24083 * include/grub/ntfs.h: Likewise.
24084 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24085 * include/grub/sparc64/libgcc.h: Likewise.
24086 * include/grub/symbol.h: Likewise.
24087 * include/grub/types.h: Likewise.
24088 * include/multiboot2.h: Likewise.
24089 * io/gzio.c: Likewise.
24090 * kern/device.c: Likewise.
24091 * kern/disk.c: Likewise.
24092 * kern/efi/efi.c: Likewise.
24093 * kern/efi/mm.c: Likewise.
24094 * kern/elf.c: Likewise.
24095 * kern/file.c: Likewise.
24096 * kern/i386/dl.c: Likewise.
24097 * kern/i386/pc/init.c: Likewise.
24098 * kern/i386/pc/startup.S: Likewise.
24099 * kern/ieee1275/ieee1275.c: Likewise.
24100 * kern/ieee1275/init.c: Likewise.
24101 * kern/main.c: Likewise.
24102 * kern/mm.c: Likewise.
24103 * kern/powerpc/dl.c: Likewise.
24104 * kern/sparc64/dl.c: Likewise.
24105 * kern/x86_64/dl.c: Likewise.
24106 * lib/hexdump.c: Likewise.
24107 * loader/efi/appleloader.c: Likewise.
24108 * loader/i386/ieee1275/linux.c: Likewise.
24109 * loader/i386/pc/chainloader.c: Likewise.
24110 * loader/i386/pc/linux.c: Likewise.
24111 * loader/i386/pc/multiboot2.c: Likewise.
24112 * loader/ieee1275/multiboot2.c: Likewise.
24113 * loader/multiboot2.c: Likewise.
24114 * loader/multiboot_loader.c: Likewise.
24115 * loader/powerpc/ieee1275/linux.c: Likewise.
24116 * normal/completion.c: Likewise.
24117 * normal/menu_entry.c: Likewise.
24118 * partmap/apple.c: Likewise.
24119 * util/grub.d/10_hurd.in: Likewise.
24120 * util/hostfs.c: Likewise.
24121 * video/readers/png.c: Likewise.
24122
24123 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
24124
24125 * include/grub/misc.h (GNUC_PREREQ): New macro.
24126 (ATTRIBUTE_ERROR): New macro.
24127 * include/grub/list.h (grub_bad_type_cast_real): Use
24128 ATTRIBUTE_ERROR.
24129
24130 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24131
24132 * normal/menu_text.c (print_message): Change messages.
24133
24134 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24135
24136 * normal/menu_entry.c (store_completion): Gettextizze.
24137
24138 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24139
24140 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24141
24142 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24143
24144 * po/POTFILES: Sort correctly.
24145
24146 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24147
24148 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24149 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24150 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24151 full stop.
24152 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24153 summary. Gettextizze the strings.
24154 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24155 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24156 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24157 full stop.
24158 (GRUB_MOD_INIT): Remove command name from summary.
24159 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24160 summary.
24161 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24162 * term/i386/pc/serial.c (options): Add full stops.
24163 (GRUB_MOD_INIT): Remove command name from the summary.
24164
24165 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24166
24167 * commands/acpi.c: Gettextizze help strings and/or options. Include
24168 `grub/i18n.h' if needed.
24169 * commands/blocklist.c: Likewise.
24170 * commands/boot.c: Likewise.
24171 * commands/cat.c: Likewise.
24172 * commands/cmp.c: Likewise.
24173 * commands/configfile.c: Likewise.
24174 * commands/crc.c: Likewise.
24175 * commands/date.c: Likewise.
24176 * commands/echo.c: Likewise.
24177 * commands/efi/fixvideo.c: Likewise.
24178 * commands/efi/loadbios.c: Likewise.
24179 * commands/gptsync.c: Likewise.
24180 * commands/halt.c: Likewise.
24181 * commands/handler.c: Likewise.
24182 * commands/hdparm.c: Likewise.
24183 * commands/hexdump.c: Likewise.
24184 * commands/i386/cpuid.c: Likewise.
24185 * commands/i386/pc/drivemap.c: Likewise.
24186 * commands/i386/pc/halt.c: Likewise.
24187 * commands/i386/pc/pxecmd.c: Likewise.
24188 * commands/i386/pc/vbeinfo.c: Likewise.
24189 * commands/i386/pc/vbetest.c: Likewise.
24190 * commands/ieee1275/suspend.c: Likewise.
24191 * commands/keystatus.c: Likewise.
24192 * commands/loadenv.c: Likewise.
24193 * commands/ls.c: Likewise.
24194 * commands/lsmmap.c: Likewise.
24195 * commands/lspci.c: Likewise.
24196 * commands/memrw.c: Likewise.
24197 * commands/minicmd.c: Likewise.
24198 * commands/parttool.c: Likewise.
24199 * commands/password.c: Likewise.
24200 * commands/probe.c: Likewise.
24201 * commands/read.c: Likewise.
24202 * commands/reboot.c: Likewise.
24203 * commands/search.c: Likewise.
24204 * commands/sleep.c: Likewise.
24205 * commands/test.c: Likewise.
24206 * commands/true.c: Likewise.
24207 * commands/usbtest.c: Likewise.
24208 * commands/videotest.c: Likewise.
24209 * commands/xnu_uuid.c: Likewise.
24210 * disk/loopback.c: Likewise.
24211 * hello/hello.c: Likewise.
24212 * loader/i386/bsd.c: Likewise.
24213 * term/i386/pc/serial.c: Likewise.
24214 * po/POTFILES: Add new files.
24215
24216 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
24217
24218 * term/i386/pc/at_keyboard.c
24219 (keyboard_controller_wait_untill_ready): Rename to ...
24220 (keyboard_controller_wait_until_ready): ... this. Update all users.
24221
24222 2010-01-01 Carles Pina i Estany <carles@pina.cat>
24223
24224 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24225 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24226 string using string width.
24227 * normal/menu_text.c (grub_print_message_indented): Use
24228 grub_print_spaces and not print_spaces.
24229 (print_timeout): Likewise.
24230 (print_spaces): Move to...
24231 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24232
24233 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24234
24235 Import from Gnulib.
24236
24237 * gnulib/getdelim.c: New file.
24238 * gnulib/getline.c: Likewise.
24239
24240 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24241
24242 * include/grub/list.h (grub_assert_fail): Removed.
24243 (grub_bad_type_cast_real): New function.
24244 (grub_bad_type_cast): New macro.
24245 (GRUB_AS_LIST): Use grub_bad_type_cast.
24246 (GRUB_AS_LIST_P): Likewise.
24247 (GRUB_AS_NAMED_LIST): Likewise.
24248 (GRUB_AS_NAMED_LIST_P): Likewise.
24249 (GRUB_AS_PRIO_LIST): Likewise.
24250 (GRUB_AS_PRIO_LIST_P): Likewise.
24251 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24252
24253 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24254
24255 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24256 Fix syntax error.
24257
24258 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 * configure.ac: Check for TARGET_CFLAGS initialization before we
24261 initialize it ourselves (sigh).
24262 Move a few modifications to TARGET_CFLAGS to be unconditional
24263 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24264 eh_frame)
24265
24266 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24267 * term/i386/pc/at_keyboard.c
24268 (keyboard_controller_wait_untill_ready): Likewise.
24269 (keyboard_controller_led): Rename `led_status' paramter to avoid
24270 name conflict.
24271
24272 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24273
24274 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24275 quotes.
24276
24277 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24278
24279 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24280
24281 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24282
24283 * normal/menu_text.c (grub_print_message_indented): Prevent
24284 past-the-end-of-array dereference.
24285
24286 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24287
24288 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24289 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24290
24291 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24292
24293 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24294 * normal/main.c (grub_normal_read_line): Remove a space from the
24295 default prompt.
24296
24297 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24298
24299 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24300 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24301 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24302 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24303 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24304 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24305 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24306
24307 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24308
24309 * video/readers/jpeg.c (cmd): Declare.
24310 (grub_cmd_jpegtest): Use `grub_command_t' type.
24311 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24312 Assign to `cmd'.
24313 (GRUB_MOD_FINI): Use `cmd' to unregister.
24314 * video/readers/png.c (cmd): Declare.
24315 (grub_cmd_pngtest): Use `grub_command_t' type.
24316 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24317 Assign to `cmd'.
24318 (GRUB_MOD_FINI): Use `cmd' to unregister.
24319 * video/readers/tga.c (cmd): Declare.
24320 (grub_cmd_tgatest): Use `grub_command_t' type.
24321 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24322 Assign to `cmd'.
24323 (GRUB_MOD_FINI): Use `cmd' to unregister.
24324
24325 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24326
24327 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24328 stops.
24329 * kern/corecmd.c (grub_register_core_commands): Likewise.
24330 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24331 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24332 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24333 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24334 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24335 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24336 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24337 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24338 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24339 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24340 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24341 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24342 * normal/handler.c (insert_handler): Likewise.
24343 * normal/main.c (GRUB_MOD_INIT): Likewise.
24344 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24345
24346 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24347
24348 * commands/help.c (grub_cmd_help): Print the command name before the
24349 summary.
24350 (GRUB_MOD_INIT): Remove command name from the summary.
24351 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24352 string as summary.
24353 * lib/arg.c (find_long): Print the command name before the summary.
24354 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24355 summary.
24356 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24357 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24358 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24359 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24360 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24361 * commands/date.c (GRUB_MOD_INIT): Likewise.
24362 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24363 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24364 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24365 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24366 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24367 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24368 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24369 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24370 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24371 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24372 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24373 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24374 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24375 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24376 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24377 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24378 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24379 * commands/password.c (GRUB_MOD_INIT): Likewise.
24380 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24381 * commands/read.c (GRUB_MOD_INIT): Likewise.
24382 * commands/search.c (GRUB_MOD_INIT): Likewise.
24383 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24384 * commands/test.c (GRUB_MOD_INIT): Likewise.
24385 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24386 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24387 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24388 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24389 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24390 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24391 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24392 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24393 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24394 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24395 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24396 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24397 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24398 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24399
24400 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24401
24402 Use search command for preliminar UUID search.
24403
24404 * commands/search.c: Split into ...
24405 * commands/search_wrap.c: ...this
24406 * commands/search.c: ...and this.
24407 * commands/search_file.c: New file.
24408 * commands/search_label.c: New file.
24409 * commands/search_uuid.c: New file.
24410 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24411 Add commands/search_wrap.c, commands/search_file.c,
24412 commands/search_label.c and commands/search_uuid.c.
24413 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24414 (search_mod_SOURCES): Set to commands/search_wrap.c.
24415 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24416 search_label.mod.
24417 (search_fs_file_mod_SOURCES): New variable.
24418 (search_fs_file_mod_CFLAGS): Likewise.
24419 (search_fs_file_mod_LDFLAGS): Likewise.
24420 (search_label_mod_SOURCES): Likewise.
24421 (search_label_mod_CFLAGS): Likewise.
24422 (search_label_mod_LDFLAGS): Likewise.
24423 (search_fs_uuid_mod_SOURCES): New variable.
24424 (search_fs_uuid_mod_CFLAGS): Likewise.
24425 (search_fs_uuid_mod_LDFLAGS): Likewise.
24426 (fs_file_mod_SOURCES): Removed.
24427 (fs_file_mod_CFLAGS): Likewise.
24428 (fs_file_mod_LDFLAGS): Likewise.
24429 (fs_uuid_mod_SOURCES): Removed.
24430 (fs_uuid_mod_CFLAGS): Likewise.
24431 (fs_uuid_mod_LDFLAGS): Likewise.
24432 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24433 Set to util/grub-install.in.
24434 * disk/fs_file.c: Removed.
24435 * disk/fs_uuid.c: Likewise.
24436 * include/grub/search.h: New file.
24437 * util/grub-install.in: Handle sparc64.
24438 Create and use load.cfg.
24439 * util/sparc64/ieee1275/grub-install.in: Removed.
24440
24441 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24444 Ignore return status if CF is cleared.
24445 (grub_biosdisk_get_diskinfo_standard): Likewise.
24446
24447 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24448
24449 * term/i386/pc/at_keyboard.c
24450 (keyboard_controller_wait_untill_ready): New function.
24451 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24452 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24453 for keyboard polling, rather than duplicate the same loop. This
24454 saves a few bytes in code size.
24455
24456 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 Support for (pxe[:server[:gateway]]) syntax and
24459 use environment variable for PXE.
24460
24461 * commands/i386/pc/pxecmd.c (options): Removed.
24462 (print_ip): Removed.
24463 (grub_cmd_pxe): Removed
24464 (grub_cmd_pxe_unload): New function.
24465 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24466 (grub_pxe_your_ip): Made static.
24467 (grub_pxe_default_server_ip): Likewise.
24468 (grub_pxe_default_gateway_ip): Likewise.
24469 (grub_pxe_blksize): Likewise.
24470 (parse_ip): New function.
24471 (grub_pxe_open): Support server and gateway specification.
24472 (grub_pxe_close): Free disk->data.
24473 (grub_pxefs_open): Use disk->data.
24474 (grub_pxefs_read): Likewise.
24475 (grub_env_write_readonly): New function.
24476 (set_mac_env): Likewise.
24477 (set_env_limn_ro): Likewise.
24478 (parse_dhcp_vendor): Likewise.
24479 (grub_pxe_detect): Set the environment variables.
24480 (set_ip_env): New function.
24481 (write_ip_env): Likewise.
24482 (grub_env_write_pxe_default_server): Likewise.
24483 (grub_env_write_pxe_default_gateway): Likewise.
24484 (grub_env_write_pxe_blocksize): Likewise.
24485 (GRUB_MOD_INIT(pxe)): Set environment variables.
24486 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24487 (grub_pxe_mac_addr_t): ... this. All users updated.
24488 (grub_pxe_your_ip): Removed.
24489 (grub_pxe_server_ip): Likewise.
24490 (grub_pxe_gateway_ip): Likewise.
24491 (grub_pxe_blksize): Likewise.
24492
24493 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24494
24495 * commands/help.c: Include `<grub/i18n.h>'.
24496 (grub_cmd_help): Gettextizze.
24497 (GRUB_MOD_INIT): Likewise.
24498 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24499 (GRUB_MOD_INIT): Gettextizze.
24500 * commands/search.c: Include `<grub/i18n.h>'.
24501 (options): Gettextizze.
24502 (GRUB_MOD_INIT): Gettextizze.
24503 * lib/arg.c: Include `<grub/i18n.h>'.
24504 (help_options): Gettextizze.
24505 (find_long): Likewise.
24506 (grub_arg_show_help): Likewise.
24507 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24508 (read_command_list): Gettextizze.
24509 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
24510 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
24511
24512 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24513
24514 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24515 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24516 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24517 (led_status): New variable.
24518 (keyboard_controller_led): New function.
24519 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24520 update led status for caps lock, num lock and scroll lock.
24521
24522 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
24523
24524 * util/hostdisk.c (open_device): Fix a comment.
24525
24526 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24527
24528 * util/grub-install.in (host_os): New variable.
24529 * util/i386/efi/grub-install.in (host_os): Likewise.
24530
24531 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24532
24533 * util/mkisofs/write.c (padblock_write): Abort when given an
24534 excedingly large embed image, instead of silently truncating it.
24535
24536 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24537
24538 * include/multiboot.h: Indentation fixes.
24539
24540 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24541
24542 * include/multiboot.h (struct multiboot_aout_symbol_table)
24543 (struct multiboot_elf_section_header_table): New structure
24544 declarations (stolen from GRUB Legacy).
24545 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24546 table information.
24547
24548 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24549 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24550 type aliases.
24551
24552 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24553
24554 * include/multiboot.h: Make comments src2texi-friendly.
24555
24556 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24557
24558 For consistency with [multiboot]/docs/boot.S.
24559
24560 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24561 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24562 (MULTIBOOT_MAGIC2): Rename from this ...
24563 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24564
24565 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24566
24567 * include/multiboot.h: Remove `<grub/types.h>'.
24568 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24569 types. Update all users.
24570
24571 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24572
24573 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24574 `couldn't' and `can not' by `cannot'.
24575 * commands/i386/pc/drivemap.c: Likewise.
24576 * disk/ata.c: Likewise.
24577 * disk/ieee1275/nand.c: Likewise.
24578 * fs/affs.c: Likewise.
24579 * fs/fat.c: Likewise.
24580 * fs/hfs.c: Likewise.
24581 * fs/hfsplus.c: Likewise.
24582 * fs/iso9660.c: Likewise.
24583 * fs/jfs.c: Likewise.
24584 * fs/minix.c: Likewise.
24585 * fs/reiserfs.c: Likewise.
24586 * fs/sfs.c: Likewise.
24587 * fs/udf.c: Likewise.
24588 * fs/ufs.c: Likewise.
24589 * fs/xfs.c: Likewise.
24590 * loader/powerpc/ieee1275/linux.c: Likewise.
24591 * loader/sparc64/ieee1275/linux.c: Likewise.
24592 * util/grub-probe.c: Likewise.
24593 * util/misc.c: Likewise.
24594
24595 2009-12-24 Carles Pina i Estany <carles@pina.cat>
24596
24597 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24598 grub_errno calls.
24599 * commands/acpi.c: Likewise.
24600 * commands/blocklist.c: Likewise.
24601 * commands/efi/loadbios.c: Likewise.
24602 * commands/i386/pc/drivemap.c: Likewise.
24603 * commands/loadenv.c: Likewise.
24604 * commands/memrw.c: Likewise.
24605 * commands/password.c: Likewise.
24606 * commands/videotest.c: Likewise.
24607 * disk/ata.c: Likewise.
24608 * disk/ata_pthru.c: Likewise.
24609 * disk/dmraid_nvidia.c: Likewise.
24610 * disk/ieee1275/nand.c: Likewise.
24611 * disk/ieee1275/ofdisk.c: Likewise.
24612 * disk/loopback.c: Likewise.
24613 * disk/lvm.c: Likewise.
24614 * disk/mdraid_linux.c: Likewise.
24615 * disk/raid.c: Likewise.
24616 * disk/raid6_recover.c: Likewise.
24617 * disk/scsi.c: Likewise.
24618 * efiemu/main.c: Likewise.
24619 * efiemu/mm.c: Likewise.
24620 * efiemu/pnvram.c: Likewise.
24621 * efiemu/symbols.c: Likewise.
24622 * font/font.c: Likewise.
24623 * fs/cpio.c: Likewise.
24624 * fs/hfsplus.c: Likewise.
24625 * fs/iso9660.c: Likewise.
24626 * fs/jfs.c: Likewise.
24627 * fs/minix.c: Likewise.
24628 * fs/ntfs.c: Likewise.
24629 * fs/ntfscomp.c: Likewise.
24630 * fs/reiserfs.c: Likewise.
24631 * fs/ufs.c: Likewise.
24632 * fs/xfs.c: Likewise.
24633 * gettext/gettext.c: Likewise.
24634 * include/grub/auth.h: Likewise.
24635 * kern/elf.c: Likewise.
24636 * kern/file.c: Likewise.
24637 * kern/ieee1275/init.c: Likewise.
24638 * kern/ieee1275/mmap.c: Likewise.
24639 * kern/ieee1275/openfw.c: Likewise.
24640 * kern/powerpc/dl.c: Likewise.
24641 * kern/sparc64/dl.c: Likewise.
24642 * lib/arg.c: Likewise.
24643 * loader/i386/bsd.c: Likewise.
24644 * loader/i386/bsdXX.c: Likewise.
24645 * loader/i386/efi/linux.c: Likewise.
24646 * loader/i386/efi/xnu.c: Likewise.
24647 * loader/i386/ieee1275/linux.c: Likewise.
24648 * loader/i386/linux.c: Likewise.
24649 * loader/i386/multiboot.c: Likewise.
24650 * loader/i386/pc/linux.c: Likewise.
24651 * loader/i386/pc/multiboot2.c: Likewise.
24652 * loader/i386/xnu.c: Likewise.
24653 * loader/ieee1275/multiboot2.c: Likewise.
24654 * loader/macho.c: Likewise.
24655 * loader/machoXX.c: Likewise.
24656 * loader/multiboot2.c: Likewise.
24657 * loader/multiboot_loader.c: Likewise.
24658 * loader/powerpc/ieee1275/linux.c: Likewise.
24659 * loader/sparc64/ieee1275/linux.c: Likewise.
24660 * loader/xnu.c: Likewise.
24661 * loader/xnu_resume.c: Likewise.
24662 * mmap/i386/pc/mmap.c: Likewise.
24663 * normal/menu_viewer.c: Likewise.
24664 * partmap/acorn.c: Likewise.
24665 * partmap/amiga.c: Likewise.
24666 * partmap/apple.c: Likewise.
24667 * script/lexer.c: Likewise.
24668 * term/gfxterm.c: Likewise.
24669 * term/i386/pc/serial.c: Likewise.
24670 * term/i386/pc/vga.c: Likewise.
24671 * term/ieee1275/ofconsole.c: Likewise.
24672 * term/terminfo.c: Likewise.
24673 * video/bitmap.c: Likewise.
24674 * video/efi_gop.c: Likewise.
24675 * video/efi_uga.c: Likewise.
24676 * video/fb/video_fb.c: Likewise.
24677 * video/i386/pc/vbe.c: Likewise.
24678 * video/readers/tga.c: Likewise.
24679 * video/video.c: Likewise.
24680
24681 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
24682
24683 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24684 * commands/lspci.c: Likewise.
24685 * commands/probe.c: Likewise.
24686 * commands/xnu_uuid.c: Likewise.
24687 * conf/i386-coreboot.rmk: Likewise.
24688 * conf/i386-efi.rmk: Likewise.
24689 * conf/i386-ieee1275.rmk: Likewise.
24690 * conf/i386-pc.rmk: Likewise.
24691 * conf/powerpc-ieee1275.rmk: Likewise.
24692 * conf/sparc64-ieee1275.rmk: Likewise.
24693 * conf/x86_64-efi.rmk: Likewise.
24694 * fs/i386/pc/pxe.c: Likewise.
24695 * gettext/gettext.c: Likewise.
24696 * include/grub/efi/graphics_output.h: Likewise.
24697 * include/grub/i386/pc/memory.h: Likewise.
24698 * kern/env.c: Likewise.
24699 * kern/i386/qemu/startup.S: Likewise.
24700 * lib/i386/pc/biosnum.c: Likewise.
24701 * lib/i386/relocator.c: Likewise.
24702 * lib/i386/relocator_asm.S: Likewise.
24703 * lib/relocator.c: Likewise.
24704 * loader/i386/bsd.c: Likewise.
24705 * loader/i386/multiboot.c: Likewise.
24706 * loader/i386/pc/chainloader.c: Likewise.
24707 * loader/i386/xnu.c: Likewise.
24708 * loader/xnu.c: Likewise.
24709 * normal/main.c: Likewise.
24710 * normal/menu_text.c: Likewise.
24711 * util/getroot.c: Likewise.
24712 * util/grub-mkconfig_lib.in: Likewise.
24713 * util/grub.d/00_header.in: Likewise.
24714 * util/i386/pc/grub-mkimage.c: Likewise.
24715 * util/mkisofs/eltorito.c: Likewise.
24716 * util/mkisofs/exclude.h: Likewise.
24717 * util/mkisofs/hash.c: Likewise.
24718 * util/mkisofs/iso9660.h: Likewise.
24719 * util/mkisofs/joliet.c: Likewise.
24720 * util/mkisofs/mkisofs.c: Likewise.
24721 * util/mkisofs/mkisofs.h: Likewise.
24722 * util/mkisofs/multi.c: Likewise.
24723 * util/mkisofs/name.c: Likewise.
24724 * util/mkisofs/rock.c: Likewise.
24725 * util/mkisofs/tree.c: Likewise.
24726 * util/mkisofs/write.c: Likewise.
24727 * video/efi_gop.c: Likewise.
24728
24729 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24730
24731 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24732 size counting.
24733
24734 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24735
24736 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24737 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24738
24739 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24740
24741 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24742 (GRUB_MOD_INIT(memrw)): Update help line.
24743
24744 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24747 Use grub_extcmd_t. All users updated.
24748 (options): New variable.
24749 (grub_cmd_read): Restructure for readability. Support "-v" option.
24750 (grub_cmd_write): Restructure for readability.
24751
24752 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24753
24754 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24755
24756 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24757
24758 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24759 with the actual contents of the correspondending make variable.
24760 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24761 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24762 specifying `*.lst' and `efiemu??.o'
24763
24764 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24765
24766 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24767 after function name.
24768 Noticed by Rene Engelhard <rene@debian.org>.
24769
24770 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24771
24772 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24773 (options): New variable.
24774 (iospace): Likewise.
24775 (grub_lspci_iter): List IO spaces if "-i" was given.
24776 (grub_cmd_lspci): Parse options.
24777 (GRUB_MOD_INIT(lspci)): Use extcmd.
24778 (GRUB_MOD_FINI(lspci)): Likewise.
24779
24780 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24781
24782 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24783 `function' keyword.
24784 Patch by Tony Mancill <tmancill@debian.org>.
24785
24786 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24787
24788 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24789 (grub_uhci_portstatus): Likewise.
24790 (grub_uhci_portstatus): Add necessary delay.
24791 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24792
24793 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24794
24795 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24796 (GRUB_MOD_INIT): Likewise.
24797 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24798 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24799 * commands/echo.c (options): Fix capitalizations and/or full stops.
24800 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24801 (enable_rom_area): Likewise.
24802 (GRUB_MOD_INIT): Likewise.
24803 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24804 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24805 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24806 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24807 * commands/hexdump.c (options): Likewise.
24808 * commands/i386/cpuid.c (options): Likewise.
24809 (GRUB_MOD_INIT): Likewise.
24810 * commands/i386/pc/drivemap.c (options): Likewise.
24811 (GRUB_MOD_INIT): Likewise.
24812 * commands/i386/pc/halt (options): Likewise.
24813 (GRUB_MOD_INIT): Likewise.
24814 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24815 * commands/i386/pc/pxecmd.c (options): Likewise.
24816 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24817 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24818 * commands/keystatus.c (options): Likewise.
24819 (GRUB_MOD_INIT): Likewise.
24820 * commands/loadenv.c (options): Likewise.
24821 * commands/ls.c (options): Likewise.
24822 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24823 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24824 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24825 * commands/parttool.c (helpmsg): Likewise.
24826 * commands/probe.c (options): Likewise.
24827 * commands/read.c (GRUB_MOD_INIT): Likewise.
24828 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24829 * commands/search.c (options): Likewise.
24830 * commands/sleep.c (options): Likewise.
24831 * commands/test.c (GRUB_MOD_INIT): Likewise.
24832 * commands/true.c (GRUB_MOD_INIT): Likewise.
24833 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24834 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24835 * lib/arg.c (help_options): Likewise.
24836 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24837 `$(XGETTEXT)'.
24838 * po/POTFILES: Add `commands/loadenv.c'.
24839
24840 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24841
24842 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24843 instead of specifying them explicit.
24844
24845 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24846
24847 * NEWS: Add grub-probe support for GNU/Hurd.
24848
24849 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24850
24851 * NEWS: gettext was added after 1.97.
24852
24853 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24854
24855 * util/mkisofs/msdos_partition.h: New file (based on
24856 include/grub/msdos_partition.h).
24857 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24858 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24859 (ld_options, main): Recognize --protective-msdos-label.
24860 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24861 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24862 (padblock_write): If `use_protective_msdos_label' is set, patch a
24863 protective DOS-style label in the output image.
24864
24865 * util/grub-mkrescue.in: Use --protective-msdos-label.
24866
24867 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24868
24869 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24870 boot.
24871
24872 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24873
24874 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24875 variables.
24876 (ld_options, main): Recognize `--embedded-boot'.
24877 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24878 declarations.
24879 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24880 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24881 (padblock_write): Likewise. Rewrite to support embedded boot image.
24882
24883 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24884 for BIOS-based disk boot instead of only ElTorito.
24885
24886 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24887
24888 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24889 build (not needed for bootstrap).
24890
24891 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24892
24893 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24894 from i386-pc build (not needed for bootstrap).
24895 Rewrite a pair of strings.
24896
24897 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24898
24899 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24900
24901 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24902
24903 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24904
24905 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24906
24907 * kern/env.c (grub_env_context_open): Mark exported variable for
24908 reexport.
24909
24910 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24911
24912 * kern/env.c (grub_env_export): Create nonexistent variables before
24913 exporting.
24914
24915 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24916
24917 * include/grub/auth.h: Include `<grub/i18n.h>'.
24918 (GRUB_GET_PASSWORD): Gettextizze string.
24919 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24920 menu_text.c.
24921 (grub_utf8_to_ucs4_alloc): Fix indentation.
24922 (grub_print_ucs4): Likewise.
24923 (grub_getstringwidth): Likewise.
24924 (print_message_indented): New declaration.
24925 * normal/auth.c: Include `<grub/i18n.h>'.
24926 (grub_auth_check_authentication): Gettexttize string.
24927 * normal/cmdline.c: Include `<grub/i18n.h>'.
24928 (grub_cmdline_get): Gettextizze.
24929 * normal/color.c: Include `<grub/i18n.h>'.
24930 (grub_parse_color_name_pair): Gettexttize strings.
24931 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24932 string (use `print_message_indented').
24933 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24934 `include/grub/normal.h'.
24935 (print_message_indented): Renamed to ...
24936 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24937 used in normal/main.c).
24938 (print_message): Use `grub_print_message_indented' instead of
24939 `print_message_indented'.
24940 (print_timeout): Likewise.
24941 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24942 (grub_normal_print_device_info): Gettexttize strings.
24943 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24944
24945 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24946
24947 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24948 of arguments. Return number of tokens and not arguments. All users
24949 updated.
24950
24951 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24952
24953 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24954 non-MSDOS paritions.
24955
24956 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24957
24958 * include/grub/types.h (UNUSED): Removed since it conflicts with
24959 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24960 Reported by Grégoire Sutre.
24961
24962 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24963
24964 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24965 (grub_print_ucs4_alloc): Likewise.
24966 (grub_getstringwidth): Likewise.
24967 * normal/main.c (grub_normal_init_page): Gettextize version string.
24968 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24969 (getstringwidth): Renamed to ...
24970 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24971 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24972 (grub_print_ucs4): Remove `static' qualifer (now used in
24973 normal/main.c).
24974 * po/POTFILES: Add normal/main.c.
24975
24976 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24977
24978 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24979 (print_message_indented): Add `margin_left' and `margin_right'
24980 parameters.
24981 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24982 strings.
24983 (print_timeout): Use `print_message_indented' to print the message.
24984 Deletes `second_stage' parameter.
24985 (run_menu): Update `print_timeout' calls.
24986
24987 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24988
24989 Fix console palette on OpenFirmware.
24990
24991 * term/ieee1275/ofconsole.c (MAX): Removed.
24992 (colors): Redone based on VGA palette.
24993 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24994 colors are supported.
24995 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24996
24997 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24998
24999 Fix potential EfiEmu double prepare.
25000
25001 * efiemu/main.c (prepared): New variable
25002 (grub_efiemu_unload): Set prepare to '0'.
25003 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25004
25005 set_virtual_address_map support.
25006
25007 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25008 prototype.
25009 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25010 prototype.
25011 (grub_efiemu_crc32): Likewise.
25012 (grub_efiemu_crc64): Likewise.
25013 (grub_efiemu_set_virtual_address_map): Likewise.
25014 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25015 New definition.
25016 (grub_autoefi_set_virtual_address_map): Likewise.
25017 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25018 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25019 Restructure flow to accomodate it.
25020 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25021 (grub_efiemu_crc): Recompute CRC32.
25022 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25023 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25024 * efiemu/symbols.c (relocated_handle): New variable.
25025 (grub_efiemu_free_syms): Free relocated_handle.
25026 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25027 (grub_efiemu_write_sym_markers): New function.
25028 (grub_efiemu_set_virtual_address_map): Likewise.
25029
25030 Newer XNU parameters.
25031
25032 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25033 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25034 (grub_xnu_fill_devicetree): New prototype.
25035 (grub_xnu_heap_real_start): New variable.
25036 * loader/xnu.c (get_name_ptr): New function.
25037 (grub_xnu_load_driver): Fill namelen and name.
25038
25039 64-bit xnu support.
25040
25041 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25042 and 'loader/macho64.c'.
25043 * conf/i386-pc.rmk: Likewise.
25044 * conf/x86_64-efi.rmk: Likewise.
25045 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25046 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25047 * include/grub/macho.h (grub_macho_segment64): New structure.
25048 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25049 (grub_macho_size32): ... to this.
25050 (grub_macho32_get_entry_point): Renamed from ...
25051 (grub_macho_get_entry_point32): ... to this.
25052 (grub_macho_contains_macho64): New prototype.
25053 (grub_macho_size64): Likewise.
25054 (grub_macho_get_entry_point64): Likewise.
25055 (grub_macho32_load): Renamed from ...
25056 (grub_macho_load32): ... to this.
25057 (grub_macho32_filesize): Renamed from ...
25058 (grub_macho_filesize32): ... to this.
25059 (grub_macho32_readfile): Renamed from ...
25060 (grub_macho_readfile32): ... to this.
25061 (grub_macho_filesize64): New prototype.
25062 (grub_macho_readfile64): Likewise.
25063 (grub_macho_parse32): Likewise.
25064 (grub_macho_parse64): Likewise.
25065 * loader/macho.c: Split into ...
25066 * loader/machoXX.c: ... and this. Replace 32 with XX.
25067 * loader/macho32.c: New file.
25068 * loader/macho64.c: Likewise.
25069 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25070 (grub_cmd_xnu_kernel): Make 32-bit only.
25071 (grub_cmd_xnu_kernel64): New function.
25072 (grub_xnu_load_driver): Support Mach-O 64.
25073 (grub_cmd_xnu_mkext): Likewise.
25074 * util/grub.d/30_os-prober.in (osx_entry): New function.
25075 Generate entries for 64-bit boot too.
25076
25077 Eliminate ad-hoc tree format in XNU and EfiEmu.
25078
25079 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25080 * efiemu/pnvram.c: Rewritten to use environment variables.
25081 All users updated.
25082
25083 Inline utf16_to_utf8.
25084
25085 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25086 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25087 All users updated.
25088 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25089
25090 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25091 * commands/usbtest.c (grub_usb_get_string): ... move here.
25092 (usb_print_str): Fix error handling.
25093 * include/grub/usb.h (grub_usb_get_string): Remove.
25094
25095 UTF-8 to UTF-16 transformation.
25096
25097 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25098 (charset_mod_SOURCES): New variable.
25099 (charset_mod_CFLAGS): Likewise.
25100 (charset_mod_LDFLAGS): Likewise.
25101 * include/grub/utf.h: New file.
25102 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25103
25104 Support for device properties.
25105
25106 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25107 (grub_xnu_devprop_device_header): Likewise.
25108 (grub_xnu_devprop_device_descriptor): Likewise.
25109 (grub_xnu_devprop_add_device): New prototype.
25110 (grub_xnu_devprop_remove_device): Likewise.
25111 (grub_xnu_devprop_remove_property): Likewise.
25112 (grub_xnu_devprop_add_property_utf8): Likewise.
25113 (grub_xnu_devprop_add_property_utf16): Likewise.
25114 (grub_cpu_xnu_init): Likewise.
25115 (grub_cpu_xnu_fini): Likewise.
25116 (grub_cpu_xnu_unload): Likewise.
25117 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25118 (property_descriptor): Likewise.
25119 (devices): New variable.
25120 (grub_xnu_devprop_remove_property): New function.
25121 (grub_xnu_devprop_add_device): Likewise.
25122 (grub_xnu_devprop_remove_device): Likewise.
25123 (grub_xnu_devprop_add_property): Likewise.
25124 (grub_xnu_devprop_add_property_utf8): Likewise.
25125 (grub_xnu_devprop_add_property_utf16): Likewise.
25126 (hextoval): Likewise.
25127 (grub_cpu_xnu_fill_devprop): Likewise.
25128 (grub_cmd_devprop_load): Likewise.
25129 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25130 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25131 (cmd_devprop_load): New variable.
25132 (grub_cpu_xnu_init): New function.
25133 (grub_cpu_xnu_fini): Likewise.
25134 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25135 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25136 (grub_cmd_xnu_devtree): Likewise.
25137 (hextoval): New function.
25138 (unescape): Likewise.
25139 (grub_xnu_fill_devicetree): Likewise.
25140
25141 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25142 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25143
25144 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25145
25146 Workaround for broken ATI VBE.
25147
25148 * video/i386/pc/vbe.c (last_set_mode): New variable.
25149 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25150 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25151 (grub_video_vbe_setup): Don't check for reserved flag.
25152
25153 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
25154
25155 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25156 the `find' command.
25157
25158 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25159
25160 UUID support for HFS.
25161
25162 * fs/hfs.c (grub_hfs_uuid): New function.
25163 (grub_hfs_fs): New value .uuid.
25164 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25165
25166 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
25167
25168 Fix a segfault with parsing unknown long options.
25169
25170 * util/grub-mkrelpath.c (options): Zero terminate it.
25171
25172 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25173
25174 * include/grub/misc.h (grub_puts): New declaration.
25175 (grub_puts_): Likewise.
25176 * kern/misc.c (grub_puts): New definition.
25177 (grub_puts_): Likewise.
25178
25179 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25180
25181 * util/grub-probe.c (probe): Improve error message.
25182
25183 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25184
25185 * loader/i386/multiboot_elfxx.c
25186 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25187 initialization.
25188
25189 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25190
25191 Relocator framework
25192
25193 * loader/i386/xnu_helper.S: Removed. All users updated.
25194 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25195 (relocator_mod_SOURCES): New variable.
25196 (relocator_mod_CFLAGS): Likewise.
25197 (relocator_mod_LDFLAGS): Likewise.
25198 (relocator_mod_ASFLAGS): Likewise.
25199 * conf/x86_64.rmk: Likewise.
25200 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25201 (grub_multiboot_payload_entry_offset): Likewise.
25202 (grub_multiboot_forward_relocator): Likewise.
25203 (grub_multiboot_forward_relocator_end): Likewise.
25204 (grub_multiboot_backward_relocator): Likewise.
25205 (grub_multiboot_backward_relocator_end): Likewise.
25206 (grub_multiboot_payload_eip): New variable.
25207 (grub_multiboot_payload_orig): Likewise.
25208 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25209 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25210 * include/grub/i386/memory.h
25211 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25212 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25213 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25214 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25215 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25216 * include/grub/i386/relocator.h: New file.
25217 * include/grub/x86_64/relocator.h: Likewise.
25218 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25219 (XNU_RELOCATOR): New macro.
25220 (grub_xnu_launcher_start): Remove.
25221 (grub_xnu_launcher_end): Likewise.
25222 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25223 (grub_xnu_heap_real_start): Remove.
25224 (grub_xnu_heap_start): Change to void *. All users updated.
25225 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25226 * lib/i386/relocator.c: New file.
25227 * lib/i386/relocator_asm.S: Likewise.
25228 * lib/i386/relocator_backward.S: Likewise.
25229 * lib/mips/relocator.c: Likewise.
25230 * lib/mips/relocator_asm.S: Likewise.
25231 * lib/relocator.c: Likewise.
25232 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25233 (entry): Removed.
25234 (playground): Likewise.
25235 (grub_multiboot_payload_orig): New variable.
25236 (grub_multiboot_payload_dest): Likewise.
25237 (grub_multiboot_payload_size): Likewise.
25238 (grub_multiboot_payload_eip): Likewise.
25239 (grub_multiboot_payload_esp): Likewise.
25240 (grub_multiboot_boot): Use grub_relocator32_boot.
25241 (grub_multiboot_unload): Free relocators.
25242 (grub_multiboot): Setup stack. Use relocators.
25243 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25244 (grub_multiboot_load_elfXX): Use relocators.
25245 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25246 (grub_multiboot_payload_size): Likewise.
25247 (grub_multiboot_payload_dest): Likewise.
25248 (grub_multiboot_payload_entry_offset): Likewise.
25249 (grub_multiboot_forward_relocator): Likewise.
25250 (grub_multiboot_backward_relocator): Likewise.
25251 (grub_multiboot_real_boot): Likewise.
25252 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25253 (grub_xnu_entry_point): Likewise.
25254 (grub_xnu_arg1): Likewise.
25255 (grub_xnu_stack): Likewise.
25256 (grub_xnu_launch): Removed.
25257 (grub_xnu_boot_resume): New function.
25258 (grub_xnu_boot): Use relocators.
25259 * loader/i386/xnu_helper.S: Removed.
25260 * loader/xnu.c (grub_xnu_heap_start): New variable.
25261 (grub_xnu_heap_size): Likewise.
25262 (grub_xnu_heap_malloc): Use relocators.
25263 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25264
25265 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25268 anything.
25269
25270 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25271
25272 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25273 GRUB_ERR_NONE before calling grub_env_set.
25274
25275 2009-12-12 Robert Millan <rmh@aybabtu.com>
25276
25277 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25278 * genmk.rb (video): New variable.
25279 (CLEANFILES, VIDEOFILES): Add #{video}.
25280 (#{video}): New target rule.
25281 * genvideolist.sh: New file.
25282 * Makefile.in (pkglib_DATA): Add video.lst.
25283 (video.lst): New target rule.
25284 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25285 `video.lst'.
25286 * util/grub.d/30_os-prober.in: Replace `vbe' with
25287 ${GRUB_VIDEO_BACKEND}.
25288
25289 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25290
25291 * THANKS: Add David Miller.
25292
25293 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25294
25295 libpciaccess support.
25296
25297 * Makefile.in (LIBPCIACCESS): New variable.
25298 (enable_grub_emu_pci): Likewise.
25299 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25300 util/pci.c and commands/lspci.c.
25301 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25302 * configure.ac (grub-emu-pci): New option.
25303 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25304 (grub_pci_device_unmap_range): Likewise.
25305 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25306 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25307 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25308 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25309 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25310 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25311 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25312 * include/grub/pciutils.h: New file.
25313 * util/pci.c: Likewise.
25314
25315 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25316
25317 * util/misc.c: Don't include <errno.h> twice.
25318
25319 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25320
25321 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25322 name in an error message.
25323 (grub_biosdisk_rw): Likewise.
25324
25325 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 Eliminate NTFS 4Gib barrier.
25328
25329 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25330 (read_run_data): Likewise.
25331 (grub_ntfs_read_run_list): Likewise.
25332 (grub_ntfs_read_block): Likewise.
25333 (grub_ntfs_iterate_dir): Likewise.
25334 (read_mft): Likewise.
25335 (read_data): Likewise.
25336 Use COM_LOG_LEN.
25337 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25338 to avoid 64-bit division
25339 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25340 (grub_ntfs_rlst): Use grub_disk_addr_t.
25341
25342 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 Eliminate grub-fstest 4Gib barrier.
25345
25346 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25347 (read_file): Fix error reporting.
25348
25349 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25350
25351 Eliminate hexdump 4Gib barrier.
25352
25353 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25354 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25355
25356 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25359 Fixes amarsh bug.
25360
25361 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25362
25363 Remove miscellaneous files in distclean target.
25364
25365 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25366
25367 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25368
25369 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25370 if they're already set. This resolves the conflict between my
25371 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25372 fixing the --grub-probe option again.
25373 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25374 change on 2009-10-06, so that we now once again source
25375 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25376
25377 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25378
25379 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25380 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25381 `util/devicemap.c'.
25382
25383 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25384
25385 * include/grub/misc.h (grub_printf_): New declaration.
25386 * kern/misc.c (grub_printf_): New definition.
25387 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25388 instead of `grub_printf' and `_'.
25389 * normal/menu_entry.c (store_completion): Likewise.
25390 (run): Likewise.
25391 (grub_menu_entry_run): Likewise.
25392 * normal/menu_text.c (grub_wait_after_message): Likewise.
25393 (notify_booting): Likewise.
25394 (notify_fallback): Likewise.
25395 (notify_execution_failure): Likewise.
25396
25397 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25398
25399 * configure.ac: Check for vasprintf.
25400 * util/misc.c (asprintf): Move allocation from here ...
25401 (vasprintf): ... to here. New function.
25402 (xasprintf): New function.
25403 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25404 prototypes.
25405 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25406 * util/grub-mkfont.c (write_font): Likewise.
25407 * util/grub-probe.c (probe): Likewise.
25408 * util/hostdisk.c (make_device_name): Likewise.
25409
25410 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25411
25412 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25413 anything even prefixed with 'cdrom' as a cdrom.
25414
25415 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25416
25417 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25418 mount points.
25419
25420 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25421
25422 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25423 grub_gettext_msg_list.
25424 (grub_gettext_gettranslation_from_position): Return const char *
25425 and not char *.
25426 (grub_gettext_translate): Add the translated strings into a list,
25427 returns from the list if existing there.
25428 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25429 (grub_gettext_delete_list): Delete the list.
25430 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25431 lang environment variable is changed.
25432 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25433
25434 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25435
25436 Rename kernel.mod to kernel.img.
25437
25438 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25439 (kernel_mod_EXPORTS): Rename to ...
25440 (kernel_img_EXPORTS): ... this.
25441 (kernel_mod_SOURCES): Rename to ...
25442 (kernel_img_SOURCES): ... this.
25443 (kernel_mod_HEADERS): Rename to ...
25444 (kernel_img_HEADERS): ... this. All users updated.
25445 (kernel_mod_CFLAGS): Rename to ...
25446 (kernel_img_CFLAGS): ... this.
25447 (kernel_mod_ASFLAGS): Rename to ...
25448 (kernel_img_ASFLAGS): ... this.
25449 (kernel_mod_LDFLAGS): Rename to ...
25450 (kernel_img_LDFLAGS): ... this.
25451 * conf/x86_64-efi.rmk: Likewise.
25452 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25453 (read_kernel_image): ... this. All users updated.
25454 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25455
25456 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25457
25458 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25459 (print_spaces): New function.
25460 (grub_print_ucs4): New function.
25461 (getstringwidth): New function.
25462 (print_message_indented): New function.
25463 (print_message): Gettexttize strings using print_message_indented.
25464 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25465 width.
25466 (get_entry_number): Gettextize and uses dynamic terminal width.
25467 (notify_booting, notify_fallback, notify_execution_failure):
25468 Gettextize.
25469 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25470 string.
25471 (run): Likewise.
25472 (grub_menu_entry_run): Likewise.
25473 * PO/POTFILES: Add normal/menu_entry.c.
25474
25475 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25476
25477 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25478
25479 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25480
25481 * util/grub-install.in: Install gettext .mo files.
25482 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25483
25484 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25485
25486 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25487 grub_dprintf.
25488
25489 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25490
25491 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25492 non-firmware-dependant one in realmode.S takes precedence.
25493
25494 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25495
25496 * commands/halt.c: Replace misc arch-specific headers with
25497 `<grub/misc.h>'.
25498 * commands/reboot.c: Likewise.
25499 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25500 `<grub/misc.h>'.
25501 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25502 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25503 (kernel_img_SOURCES): ... to here.
25504
25505 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25506 * include/grub/i386/pc/init.h: Likewise.
25507 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25508 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25509
25510 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25511
25512 * include/grub/i386/halt.h: Remove.
25513 * include/grub/i386/reboot.h: Likewise.
25514
25515 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25516
25517 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
25518
25519 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25520 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25521 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25522 "progname.h"
25523 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25524 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25525 (usage): Add missing comma in printf.
25526
25527 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25528
25529 Use the same reboot approach on i386 coreboot and qemu as we do on
25530 BIOS.
25531
25532 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25533 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25534 * kern/i386/reboot.c: Remove.
25535 * include/grub/i386/reboot.h (grub_reboot): Export function.
25536 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25537 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25538 0xf000:0xfff0 instead of 0xffff:0x0000.
25539 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25540 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25541
25542 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25543
25544 Fix $srcdir != $objdir build.
25545
25546 * Makefile.in (po/%.po): Rewrite as ...
25547 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25548
25549 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25550
25551 Fix GNU/Hurd grub-install crash.
25552 * util/grub-probe.c (probe): Try to access `path' only when it is not
25553 NULL.
25554
25555 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25556
25557 Correct module naming.
25558
25559 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25560 (GRUB_MOD_INIT(efi_uga)): ... to this
25561 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25562 (GRUB_MOD_FINI(efi_uga)): ... to this
25563 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25564 (GRUB_MOD_INIT(efi_gop)): ... to this
25565 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25566 (GRUB_MOD_FINI(efi_gop)): ... to this
25567
25568 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25569
25570 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25571 translatable.
25572 (usage): Translate `arg' strings using gettext().
25573 Thanks to Jordi Mallach for the suggestion.
25574
25575 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25576
25577 GOP support. Based on patch from Bean
25578 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25579
25580 * video/efi_gop.c: New file.
25581 * include/grub/efi/graphics_output.h: Likewise.
25582 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25583 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25584 variables.
25585 * conf/x86_64-efi.rmk: Likewise.
25586
25587 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25588
25589 Rename efi_fb to efi_uga.
25590
25591 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25592 'efi_uga.mod'.
25593 (efi_fb_mod_SOURCES): Rename this ...
25594 (efi_uga_mod_SOURCES): ... to this.
25595 (efi_fb_mod_CFLAGS): Rename this ...
25596 (efi_uga_mod_CFLAGS): ... to this.
25597 (efi_fb_mod_LDFLAGS): Rename this ...
25598 (efi_uga_mod_LDFLAGS): ... to this.
25599 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25600 'efi_uga.mod'.
25601 (efi_fb_mod_SOURCES): Rename this ...
25602 (efi_uga_mod_SOURCES): ... to this.
25603 (efi_fb_mod_CFLAGS): Rename this ...
25604 (efi_uga_mod_CFLAGS): ... to this.
25605 (efi_fb_mod_LDFLAGS): Rename this ...
25606 (efi_uga_mod_LDFLAGS): ... to this.
25607 * video/efi_fb.c: Move this ...
25608 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25609
25610 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25611
25612 * po/README: New file. Explain our PO file workflow.
25613
25614 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25615
25616 * po/ChangeLog: Remove. Move relevant entries back to ...
25617 * ChangeLog: ... here.
25618 * po/ca.po: Remove (now handled by TLP).
25619 * po/id.po: Likewise.
25620 * po/zh_CN.po: Likewise.
25621 * Makefile.in (LINGUAS): Initialize in a way that supports
25622 empty set.
25623
25624 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25625
25626 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25627 reliing on po/LINGUAS.
25628 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25629 (po/%.po): ... this.
25630
25631 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25632
25633 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25634 (main): Use `program_name' instead of nonexistent `progname'.
25635
25636 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25637
25638 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25639 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25640
25641 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25642
25643 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25644 commit.
25645 * conf/i386-efi.rmk: Likewise.
25646 * conf/i386-ieee1275.rmk: Likewise.
25647 * conf/powerpc-ieee1275.rmk: Likewise.
25648 * conf/sparc64-ieee1275.rmk: Likewise.
25649 * conf/x86_64-efi.rmk: Likewise.
25650
25651 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25652
25653 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25654
25655 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25656
25657 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25658
25659 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25660
25661 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25662 (grub_mkdevicemap_SOURCES): New variable.
25663 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25664 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25665 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25666 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25667 (grub_mkdevicemap_SOURCES): Remove.
25668 * conf/i386-efi.rmk: Likewise.
25669 * conf/i386-ieee1275.rmk: Likewise.
25670 * conf/i386-pc.rmk: Likewise.
25671 * conf/powerpc-ieee1275.rmk: Likewise.
25672 * conf/sparc64-ieee1275.rmk: Likewise.
25673 * conf/x86_64-efi.rmk: Likewise.
25674 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25675 (usage): Fix strings to use `program_name'.
25676 (main): Initialize gettext.
25677 * util/grub-editenv.c: Likewise.
25678 * util/grub-emu.c: Likewise.
25679 * util/grub-fstest.c: Likewise.
25680 * util/grub-mkdevicemap.c: Likewise.
25681 * util/grub-mkfont.c: Likewise.
25682 * util/grub-mkrelpath.c: Likewise.
25683 * util/grub-pe2elf.c: Likewise.
25684 * util/grub-probe.c: Likewise.
25685 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25686 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25687 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25688
25689 * util/misc.c: Include `"progname.h"'.
25690 (progname): Remove variable.
25691 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25692
25693 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25694
25695 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25696 printf and print a newline after the menuentry header line.
25697 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25698
25699 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25700
25701 autoconf >= 2.60 support $(localedir).
25702
25703 * INSTALL: Note that autoconf 2.60 is required.
25704 * configure.ac (AC_PREREQ): Bump to 2.60.
25705 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25706 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25707
25708 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25709
25710 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25711 aclocal is run.
25712
25713 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25714
25715 * normal/main.c (grub_normal_read_line): Fix off-by-one
25716 buffer overflow.
25717
25718 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25719
25720 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25721 "parser.grub" in grub_command_execute() call.
25722
25723 2009-11-24 Carles Pina i Estany <carles@pina.cat>
25724
25725 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25726 * conf/i386-efi.rmk: Likewise.
25727 * conf/i386-ieee1275.rmk: Likewise.
25728 * conf/i386-pc.rmk: Likewise.
25729 * conf/powerpc-ieee1275.rmk: Likewise.
25730 * conf/sparc64-ieee1275.rmk: Likewise.
25731 * conf/x86_64-efi.rmk: Likewise.
25732 * gettext/gettex.c: Include <grub/i18n.h>.
25733 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25734 here ...
25735 * include/grub/i18n.h: ... to here
25736 * include/grub/i18n.h: ... to here.
25737 * kern/misc.c: Include <grub/i18n.h>
25738 (grub_gettext_dummy): Move above user.
25739
25740 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25741
25742 * util/Makefile.in (install-local): Convert a `for' into a normal
25743 shell expansion.
25744
25745 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25746
25747 * autogen.sh: Add automake call.
25748 * config.guess: Remove.
25749 * config.sub: Likewise.
25750 * install-sh: Likewise.
25751
25752 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25753
25754 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25755
25756 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25757
25758 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25759 function to a normal shell `for'.
25760
25761 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25762
25763 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25764
25765 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25766
25767 * util/grub-mkrelpath.c: New file.
25768 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25769 (grub_mkrelpath_SOURCES): New variable.
25770 * include/grub/util/misc.h: New function prototype.
25771 * util/misc.c (make_system_path_relative_to_its_root): New function.
25772
25773 * util/grub-mkconfig_lib.in (bindir): New variable.
25774 (grub_mkrelpath): Likewise.
25775 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25776
25777 * util/probe.c (probe): Make the file path relative to its root.
25778 Change a info message to use the GRUB path. Enable again the
25779 check if we can read the file with GRUB facilities.
25780
25781 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25782 to its root.
25783
25784 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25785
25786 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25787 platform.
25788
25789 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25790
25791 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25792 strncmp().
25793
25794 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25795
25796 * util/getroot.c (grub_util_is_dmraid): New function.
25797 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25798 devices as normal ones, not as LVM.
25799
25800 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25801
25802 * conf/common.rmk: Add grub-gettext_lib target and updates
25803 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25804 LDFLAGS.
25805 * gettext/gettext.c: New file. (Reads mo files).
25806 * include/grub/file.h (grub_file_pread): New prototype.
25807 * include/grub/i18n.h (_): New prototype.
25808 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25809 prototypes.
25810 * kern/misc.c (grub_gettext_dummy): New function.
25811 * normal/menu_text.c: Include <grub/i18n.h>.
25812 * normal/menu_text.c (print_timeout): Gettexttize string.
25813 * normal/menu_text.c (print_message): Gettexttize string.
25814 * po/POTFILES: Add `normal/menu_text.c'.
25815 * po/ca.po: Add new translations.
25816 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25817 gettext module and defines locale_dir and lang in grub.cfg.
25818 * NEWS: Add gettext support.
25819
25820 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25821
25822 * util/hostdisk.c: Include `<grub/i18n.h>'.
25823 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25824 (make_device_name): Rewrite using asprintf.
25825 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25826 (find_system_device): If a device is not found, generate one just
25827 by reusing the OS path name.
25828 (read_device_map): Make it permissible for device.map not to exist.
25829
25830 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25831
25832 * script/sh/execute.c: Move from here ...
25833 * script/execute.c: ... to here. Update all users.
25834 * script/sh/function.c: Move from here ...
25835 * script/function.c: ... to here. Update all users.
25836 * script/sh/lexer.c: Move from here ...
25837 * script/lexer.c: ... to here. Update all users.
25838 * script/sh/main.c: Move from here ...
25839 * script/main.c: ... to here. Update all users.
25840 * script/sh/parser.y: Move from here ...
25841 * script/parser.y: ... to here. Update all users.
25842 * script/sh/script.c: Move from here ...
25843 * script/script.c: ... to here. Update all users.
25844
25845 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25846
25847 * configure.ac: Detect all `emu' platforms. Define
25848 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25849 --enable-grub-emu logic. Disable include/grub/machine
25850 symlink on `emu' platforms.
25851
25852 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25853 * gensymlist.sh.in: Likewise.
25854
25855 * include/grub/i386/coreboot/machine.h: Remove file.
25856 * include/grub/i386/efi/machine.h: Likewise.
25857 * include/grub/i386/ieee1275/machine.h: Likewise.
25858 * include/grub/i386/pc/machine.h: Likewise.
25859 * include/grub/i386/qemu/machine.h: Likewise.
25860 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25861 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25862 * include/grub/x86_64/efi/machine.h: Likewise.
25863
25864 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25865 * commands/halt.c: Likewise.
25866 * commands/reboot.c: Likewise.
25867 * include/grub/autoefi.h: Likewise.
25868 * include/grub/i386/at_keyboard.h: Likewise.
25869 * include/grub/i386/kernel.h: Likewise.
25870 * include/grub/i386/loader.h: Likewise.
25871 * include/grub/i386/pc/memory.h: Likewise.
25872 * kern/dl.c: Likewise.
25873 * kern/i386/coreboot/init.c: Likewise.
25874 * loader/i386/bsd.c: Likewise.
25875 * loader/i386/linux.c: Likewise.
25876 * loader/multiboot_loader.c: Likewise.
25877 * term/i386/pc/serial.c: Likewise.
25878 * term/usb_keyboard.c: Likewise.
25879
25880 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25881 `<grub/machine/machine.h>'
25882 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25883 * util/misc.c: Remove `<grub/machine/machine.h>' and
25884 `<grub/machine/time.h>'.
25885
25886 * Makefile.in (enable_grub_emu): Remove variable.
25887 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25888
25889 * conf/any-emu.rmk: New file.
25890 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25891 (grub_emu_init.c): Move from here ...
25892 * conf/any-emu.rmk: ... to here.
25893
25894 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25895 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25896 * conf/any-emu.rmk: ... to here.
25897
25898 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25899
25900 * include/grub/parser.h (grub_parser_register): Document need
25901 of `name' parameter.
25902 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25903 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25904 "sh" to "grub".
25905
25906 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25907
25908 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25909 `$(XGETTEXT)'.
25910 * include/grub/i18n.h (N_): New macro.
25911 * util/mkisofs/mkisofs.h: Likewise.
25912 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25913 around N_().
25914 (usage): Use gettext() to translate help strings when printing them.
25915
25916 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25917
25918 Based on patch from Bean
25919 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25920
25921 * video/efi_fb.c: New file.
25922 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25923 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25924 variables.
25925 * conf/x86_64-efi.rmk: Likewise.
25926
25927 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25928
25929 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25930 * util/i386/pc/grub-setup.c: Likewise.
25931
25932 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25933
25934 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25935 <hurd/fs.h>
25936 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25937 file_get_storage_info to implement grub_guess_root_device.
25938
25939 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25940
25941 * Makefile.in (target): Use make's builtin $(shell) function
25942 instead of calling directly $(SHELL) to create the locale directories,
25943 inside the $(foreach) function.
25944
25945 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25946
25947 * util/grub-mkrescue.in: Print an error and usage if output option
25948 has not been given.
25949
25950 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25951
25952 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25953 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25954 root and /boot are on different devices.
25955
25956 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25957
25958 Fix build for srcdir != objdir.
25959
25960 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25961 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25962 $(srcdir).
25963 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25964 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25965 reference for input.
25966
25967 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25968
25969 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25970 or hardlinking it). Remove -J option, Joliet is not compatible with
25971 multiple source directories.
25972
25973 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25974 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25975
25976 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25977 (process_input_dir): New function. Process an arbitrary input
25978 directory.
25979 Misc adjustments to support both "override mode" and system-wide mode.
25980
25981 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25982
25983 * configure.ac (UNIFONT_BDF): Rename to ...
25984 (FONT_SOURCE): ... this. Update all users.
25985
25986 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25987
25988 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25989 to the list of unifont files to look for.
25990
25991 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25992
25993 Patch from Joe Auricchio <jauricchio@gmail.com>
25994 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25995 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25996 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25997
25998 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25999
26000 * Makefile.in (install-local): Add a missing backslash.
26001
26002 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
26003
26004 * include/grub/x86_64/io.h: New file.
26005
26006 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26007
26008 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26009 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26010 Include `"progname.h"'.
26011 (main): Initialize gettext.
26012 * util/i386/pc/grub-setup.c: Gettexttize.
26013 * util/i386/pc/grub-mkimage.c: Likewise.
26014
26015 * Makefile.in (po/*.po): Redefine as ...
26016 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26017
26018 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26019
26020 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26021
26022 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26023 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26024 (program_name): Remove.
26025 (main): Initialize gettext support.
26026 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26027 Include `<libintl.h>'.
26028 (_): New macro.
26029
26030 * util/mkisofs/eltorito.c: Gettexttize.
26031 * util/mkisofs/joliet.c: Likewise.
26032 * util/mkisofs/mkisofs.c: Likewise.
26033 * util/mkisofs/multi.c: Likewise.
26034 * util/mkisofs/rock.c: Likewise.
26035 * util/mkisofs/tree.c: Likewise.
26036 * util/mkisofs/write.c: Likewise.
26037
26038 * po/POTFILES: Update with new files.
26039
26040 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26041
26042 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26043 * util/mkisofs/iso9660.h: Likewise.
26044 * util/mkisofs/joliet.c: Likewise.
26045 * util/mkisofs/mkisofs.c: Likewise.
26046 * util/mkisofs/mkisofs.h: Likewise.
26047 * util/mkisofs/rock.c: Likewise.
26048 * util/mkisofs/tree.c: Likewise.
26049 * util/mkisofs/write.c: Likewise.
26050
26051 * util/mkisofs/eltorito.c (rcsid): Remove.
26052 * util/mkisofs/hash.c: Likewise.
26053 * util/mkisofs/joliet.c: Likewise.
26054 * util/mkisofs/name.c: Likewise.
26055 * util/mkisofs/rock.c: Likewise.
26056 * util/mkisofs/tree.c: Likewise.
26057 * util/mkisofs/write.c: Likewise.
26058
26059 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26060
26061 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26062 instead of static allocation.
26063 * util/mkisofs/match.h: Likewise.
26064
26065 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26066
26067 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26068 and `util/grub.d/10_linux.in'.
26069 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26070 translatable Shell files.
26071
26072 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26073
26074 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26075
26076 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26077
26078 * INSTALL: Document Automake is needed for bootstrap.
26079 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
26080 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26081 Add gettext initialization.
26082 (kfreebsd_entry): Make menuentry output translatable.
26083
26084 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26085
26086 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26087 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26088 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26089 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26090 (LINGUAS): Auto-generate using `po/LINGUAS'.
26091 * po/LINGUAS: New file.
26092
26093 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26094
26095 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26096 other things).
26097 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26098 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26099 bindtextdomain() calls for gettext initialization.
26100
26101 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26102
26103 * gnulib/progname.c: New file (imported from Gnulib).
26104 * gnulib/progname.h: Likewise.
26105 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26106 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26107 (usage): Replace `progname' with `program_name'.
26108 (main): Use set_program_name() for program name initialization.
26109
26110 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26111
26112 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26113 from here ...
26114 * Makefile.in (CPPFLAGS): ... to here.
26115
26116 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26117
26118 * aclocal.m4: Move from here ...
26119 * acinclude.m4: ... to here.
26120 * autogen.sh: Add call to `aclocal'.
26121 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26122
26123 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26124
26125 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26126 (LINGUAS): New variable.
26127 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26128 (install-local): Install MO files.
26129 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26130 * include/grub/i18n.h: New file.
26131 * po/POTFILES: New file.
26132 * po/ca.po: New file.
26133 * util/grub.d/10_linux.in (bindir): New variable.
26134 Add gettext initialization.
26135 (linux_entry): Make menuentry output translatable.
26136 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26137 (usage): Make --help output translatable.
26138 (main): Initialize gettext.
26139
26140 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26141
26142 * import_gcry.py: New file (written by Vladimir with minor
26143 adjustments).
26144 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26145 ciphers.
26146 * INSTALL: Document that Python is required for bootstrap.
26147
26148 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26149
26150 Import ciphers from libgcrypt 1.4.4.
26151
26152 * lib/libgcrypt/cipher/ChangeLog
26153 * lib/libgcrypt/cipher/ac.c
26154 * lib/libgcrypt/cipher/arcfour.c
26155 * lib/libgcrypt/cipher/bithelp.h
26156 * lib/libgcrypt/cipher/blowfish.c
26157 * lib/libgcrypt/cipher/camellia-glue.c
26158 * lib/libgcrypt/cipher/camellia.c
26159 * lib/libgcrypt/cipher/camellia.h
26160 * lib/libgcrypt/cipher/cast5.c
26161 * lib/libgcrypt/cipher/cipher.c
26162 * lib/libgcrypt/cipher/crc.c
26163 * lib/libgcrypt/cipher/des.c
26164 * lib/libgcrypt/cipher/dsa.c
26165 * lib/libgcrypt/cipher/ecc.c
26166 * lib/libgcrypt/cipher/elgamal.c
26167 * lib/libgcrypt/cipher/hash-common.c
26168 * lib/libgcrypt/cipher/hash-common.h
26169 * lib/libgcrypt/cipher/hmac-tests.c
26170 * lib/libgcrypt/cipher/md.c
26171 * lib/libgcrypt/cipher/md4.c
26172 * lib/libgcrypt/cipher/md5.c
26173 * lib/libgcrypt/cipher/primegen.c
26174 * lib/libgcrypt/cipher/pubkey.c
26175 * lib/libgcrypt/cipher/rfc2268.c
26176 * lib/libgcrypt/cipher/rijndael-tables.h
26177 * lib/libgcrypt/cipher/rijndael.c
26178 * lib/libgcrypt/cipher/rmd.h
26179 * lib/libgcrypt/cipher/rmd160.c
26180 * lib/libgcrypt/cipher/rsa.c
26181 * lib/libgcrypt/cipher/seed.c
26182 * lib/libgcrypt/cipher/serpent.c
26183 * lib/libgcrypt/cipher/sha1.c
26184 * lib/libgcrypt/cipher/sha256.c
26185 * lib/libgcrypt/cipher/sha512.c
26186 * lib/libgcrypt/cipher/tiger.c
26187 * lib/libgcrypt/cipher/twofish.c
26188 * lib/libgcrypt/cipher/whirlpool.c
26189
26190 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26191
26192 Fix build for systems without error().
26193
26194 * gnulib/error.c: New file (imported from Gnulib).
26195 * gnulib/error.h: Likewise.
26196 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26197 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26198 (this variable is now used by error()).
26199
26200 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26201
26202 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26203 instead of relying that char is signed.
26204
26205 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26206
26207 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26208 blocksize different from specified.
26209 (grub_pxefs_read): Likewise.
26210
26211 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26212
26213 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26214
26215 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26216 (grub_ata_readwrite): Likewise. Update 2 format strings.
26217 (grub_atapi_read): Likewise.
26218
26219 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26220 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26221 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26222 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26223 (ata_mod_LDFLAGS): Move from here ...
26224 * conf/i386.rmk: ... to here ...
26225 * conf/x86_64-efi.rmk: ... and here.
26226 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26227 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26228
26229 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26230
26231 Relicense multiboot.h, with RMS' blessing.
26232
26233 * include/multiboot.h: Change to X11 license.
26234
26235 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26236
26237 Support --version in grub-mkisofs.
26238
26239 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26240 (OPTION_VERSION): New macro.
26241 (ld_options): Recognize --version.
26242 (usage): Move `program_name' from here ...
26243 (program_name): ... to here. Add `static' qualifier.
26244 (main): Recognize `OPTION_VERSION'.
26245
26246 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26247
26248 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26249 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26250
26251 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 Fix help2man generation for mkisofs.
26254
26255 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26256 (usage): Send output to stdout (rather than stderr).
26257
26258 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26259
26260 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26261 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26262 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26263 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26264 (bin_SCRIPTS): Add `grub-mkfloppy'.
26265 (grub_mkfloppy_SOURCES): New variable.
26266
26267 * util/grub-mkrescue.in: New file.
26268 * util/i386/pc/grub-mkfloppy.in: New file.
26269
26270 * util/i386/coreboot/grub-mkrescue.in: Remove.
26271 * util/i386/pc/grub-mkrescue.in: Remove.
26272
26273 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26274
26275 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26276 from here ...
26277 * include/multiboot.h (struct multiboot_header): ... to here. Update
26278 all users.
26279 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26280 from here ...
26281 * include/multiboot.h (struct multiboot_info): ... to here. Update
26282 all users.
26283 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26284 from here ...
26285 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26286 Update all users.
26287 * include/grub/multiboot.h (struct grub_mod_list): Move
26288 from here ...
26289 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26290 Update all users.
26291
26292 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26293
26294 * include/multiboot2.h (multiboot_word): Rename from this ...
26295 (multiboot2_word): ... to this. Update all users.
26296 (multiboot_header): Rename from this ...
26297 (multiboot2_header): ... to this. Update all users.
26298 (multiboot_tag_header): Rename from this ...
26299 (multiboot2_tag_header): ... to this. Update all users.
26300 (multiboot_tag_start): Rename from this ...
26301 (multiboot2_tag_start): ... to this. Update all users.
26302 (multiboot_tag_name): Rename from this ...
26303 (multiboot2_tag_name): ... to this. Update all users.
26304 (multiboot_tag_module): Rename from this ...
26305 (multiboot2_tag_module): ... to this. Update all users.
26306 (multiboot_tag_memory): Rename from this ...
26307 (multiboot2_tag_memory): ... to this. Update all users.
26308 (multiboot_tag_unused): Rename from this ...
26309 (multiboot2_tag_unused): ... to this. Update all users.
26310 (multiboot_tag_end): Rename from this ...
26311 (multiboot2_tag_end): ... to this. Update all users.
26312
26313 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26314
26315 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26316 this platform we should support Multiboot1 first.
26317
26318 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26319 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26320 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26321
26322 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26323
26324 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26325 of write calls (converting them to fwrite() if they aren't already).
26326 (get_torito_desc): Likewise.
26327 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26328
26329 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26330
26331 * util/i386/pc/grub-install.in: Move from here ...
26332 * util/grub-install.in: ... to here. Update all users.
26333
26334 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26335
26336 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26337
26338 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26339
26340 Support for El Torito without floppy emulation.
26341
26342 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26343 (init_boot_catalog): Improve error handling.
26344 (get_torito_desc): Don't use floppy emulation unless requested by
26345 user. Patch boot information table when requested via
26346 `-boot-info-table'.
26347 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26348 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26349 (use_boot_info_table): New variables.
26350 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26351 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26352 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26353 `--eltorito-emul-floppy'.
26354 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26355 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26356 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26357 (use_boot_info_table, get_731): New prototypes.
26358 * util/mkisofs/write.c (get_731): New function.
26359
26360 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26361
26362 Fix the generation of the man page.
26363
26364 * util/pc/i386/grub-install.in: Source
26365 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26366
26367 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26368
26369 Large file support for grub-mkisofs.
26370
26371 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26372 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26373 (session_start): Upgrade type to `uint64_t'. Update all users.
26374 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26375 (struct directory_entry): Upgrade type of `starting_block' and
26376 `size' to `uint64_t'. Update all users.
26377 (struct deferred): Remove unused structure.
26378 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26379 Update all users.
26380 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26381 file is larger than `UINT32_MAX'.
26382 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26383 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26384 return value.
26385 (struct deferred_write): Upgrade type of `extent' and `size' to
26386 `uint64_t'. Update all users.
26387 (last_extent_written): Upgrade type to `uint64_t'. Update all
26388 users.
26389 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26390 Update all users. Upgrade type of `remain' to `int64_t' and
26391 `use' to `size_t'. Use error() to handle fread() errors.
26392 (write_files): Rely on write_one_file() rather than calling
26393 xfwrite() directly.
26394
26395 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26396
26397 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26398
26399 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26400
26401 * util/mkisofs/fnmatch.c: Remove.
26402 * util/mkisofs/getopt1.c: Likewise.
26403 * util/mkisofs/getopt.c: Likewise.
26404 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26405 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26406 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26407 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26408 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26409
26410 * configure.ac: Detect `mingw32msvc' host_os.
26411 Check for lstat(), getuid() and getgid().
26412
26413 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26414 instances of `u_char' with `uint8_t'.
26415
26416 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26417 [!HAVE_GETUID] (getuid): New function (stub).
26418 [!HAVE_GETGID] (getgid): Likewise.
26419 [!HAVE_LSTAT] (lstat): Likewise.
26420 [!S_IROTH] (S_IROTH): New macro (dummy).
26421 [!S_IRGRP] (S_IRGRP): Likewise.
26422
26423 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26424
26425 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26426 conditional expression).
26427
26428 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26429
26430 Import from Gnulib.
26431
26432 * gnulib/fnmatch.c: New file.
26433 * gnulib/fnmatch.h: Likewise.
26434 * gnulib/fnmatch_loop.c: Likewise.
26435 * gnulib/getopt.c: Likewise.
26436 * gnulib/getopt.h: Likewise.
26437 * gnulib/getopt1.c: Likewise.
26438 * gnulib/getopt_int.h: Likewise.
26439 * gnulib/gettext.h: Likewise.
26440
26441 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26442
26443 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26444 * normal/handler.c (read_handler_list): Likewise.
26445
26446 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26447
26448 Misc cleanup.
26449
26450 * kern/command.c (grub_register_command_prio): Use
26451 grub_zalloc() instead of explicitly zeroing data.
26452 * kern/list.c: Include `<grub/mm.h>'.
26453 (grub_named_list_find): Replace `0' with `NULL'.
26454 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26455 (fs_module_list): Change type to `grub_named_list_t'. Update all
26456 users.
26457 * normal/dyncmd.c (read_command_list): Add space between function
26458 call and parenthesis.
26459 * normal/handler.c (read_handler_list): Likewise.
26460
26461 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26462
26463 * normal/auth.c (punishment_delay): Moved from here ...
26464 (grub_auth_strcmp): ... to here (inside function).
26465
26466 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26467
26468 * include/grub/list.h (struct grub_named_list): Remove `const'
26469 qualifier from `name'.
26470 (struct grub_prio_list): Likewise.
26471
26472 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26473
26474 * normal/auth.c: Include `<grub/time.h>'.
26475 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26476
26477 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26478
26479 * normal/auth.c (punishment_delay): New variable.
26480 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26481 (grub_auth_check_authentication): Punish failed login attempts with
26482 an incremental (2^N) delay.
26483
26484 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26485
26486 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26487 path with $(srcdir).
26488
26489 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26490
26491 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26492
26493 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26494
26495 * util/i386/coreboot/grub-mkrescue.in: New file.
26496 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26497 variables.
26498
26499 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26500 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26501 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26502 requirements.
26503 * util/mkisofs/defaults.h: New file.
26504 * util/mkisofs/eltorito.c: Likewise.
26505 * util/mkisofs/exclude.h: Likewise.
26506 * util/mkisofs/fnmatch.c: Likewise.
26507 * util/mkisofs/getopt.c: Likewise.
26508 * util/mkisofs/getopt1.c: Likewise.
26509 * util/mkisofs/hash.c: Likewise.
26510 * util/mkisofs/include/fctldefs.h: Likewise.
26511 * util/mkisofs/include/mconfig.h: Likewise.
26512 * util/mkisofs/include/prototyp.h: Likewise.
26513 * util/mkisofs/include/statdefs.h: Likewise.
26514 * util/mkisofs/iso9660.h: Likewise.
26515 * util/mkisofs/joliet.c: Likewise.
26516 * util/mkisofs/match.c: Likewise.
26517 * util/mkisofs/match.h: Likewise.
26518 * util/mkisofs/mkisofs.c: Likewise.
26519 * util/mkisofs/mkisofs.h: Likewise.
26520 * util/mkisofs/multi.c: Likewise.
26521 * util/mkisofs/name.c: Likewise.
26522 * util/mkisofs/rock.c: Likewise.
26523 * util/mkisofs/tree.c: Likewise.
26524 * util/mkisofs/write.c: Likewise.
26525
26526 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26527
26528 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26529 being insecure.
26530
26531 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26532
26533 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26534 `grub-mkimage' (and use $0 when possible).
26535
26536 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26537
26538 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26539 error message for excessively large memory map.
26540
26541 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26542
26543 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26544 executable bit.
26545
26546 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26547
26548 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26549 message for coreboot users.
26550
26551 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26552
26553 Fix build with GNU gold.
26554
26555 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26556 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26557 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26558 link addresses.
26559 * aclocal.m4: Likewise.
26560
26561 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
26562
26563 * configure.ac (AC_PREREQ): Bump to 2.59d.
26564 * INSTALL: Make it more clear when Autoconf and Ruby are
26565 needed and when to run `./autogen.sh'.
26566
26567 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26568
26569 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26570 OSes.
26571
26572 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26573
26574 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26575
26576 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26577
26578 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26579 giving it to GNU Mach.
26580
26581 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26582
26583 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26584 GNU partition number to get internal GRUB partition number.
26585
26586 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26587
26588 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26589 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26590
26591 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26592
26593 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26594 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26595 case.
26596
26597 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
26598
26599 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26600
26601 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26602
26603 Fix build problem.
26604
26605 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26606 `-isystem=$(srcdir)/include'.
26607
26608 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26609
26610 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26611 checked (grub-install doesn't currently rely on it).
26612
26613 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26614
26615 Revert SVN r2660.
26616
26617 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26618 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26619 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26620 * conf/i386-ieee1275.rmk: Likewise.
26621 * conf/i386-pc.rmk: Likewise.
26622 * conf/powerpc-ieee1275.rmk: Likewise.
26623 * conf/sparc64-ieee1275.rmk: Likewise.
26624 * conf/x86_64-efi.rmk: Likewise.
26625
26626 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26627
26628 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26629
26630 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26631
26632 * include/grub/misc.h: Stop checking for APPLE_CC.
26633
26634 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26635
26636 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26637 doesn't cause an infinite call loop.
26638
26639 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
26640
26641 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26642 strings.
26643
26644 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26645
26646 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26647 variable.
26648 * Makefile.in: Likewise.
26649
26650 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26651
26652 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26653
26654 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26655
26656 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26657
26658 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26659
26660 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26661
26662 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26663
26664 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26665 from here ...
26666 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26667
26668 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26669
26670 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26671 in $(MAKEINFO) invocation. This makes it clear in output that
26672 errors are being ignored.
26673
26674 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26675
26676 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26677 from here ...
26678 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26679 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26680 * conf/i386-ieee1275.rmk: Likewise.
26681 * conf/i386-pc.rmk: Likewise.
26682 * conf/powerpc-ieee1275.rmk: Likewise.
26683 * conf/sparc64-ieee1275.rmk: Likewise.
26684 * conf/x86_64-efi.rmk: Likewise.
26685
26686 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26687
26688 * util/grub-editenv.c (main): If only a command is given, use
26689 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26690 (usage): FILENAME is now optional and has a default.
26691
26692 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26693
26694 Improve grub-mkconfig performance when there are several menu
26695 entries on a single filesystem.
26696
26697 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26698 prepare_grub_to_access_device.
26699 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26700 * util/grub.d/30_os-prober.in: Likewise.
26701
26702 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26703
26704 * util/grub.d/10_freebsd.in: Remove.
26705 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26706 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26707
26708 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26709
26710 * docs/grub.cfg: Fix example usage of *BSD loaders.
26711
26712 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26713
26714 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26715 grub_util_error() call.
26716
26717 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26718
26719 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26720 `reserved_first_sector' member.
26721 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26722 `reserved_first_sector' to 1.
26723 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26724 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26725 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26726 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26727 filesystems which begin at first sector.
26728 (options): New option --skip-fs-probe.
26729 (main): Handle --skip-fs-probe and pass it to setup().
26730
26731 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26732
26733 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26734 (memset): Fix function prototype.
26735
26736 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26737 2009-10-25 Vasily Averin <vvs@parallels.com>
26738
26739 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26740 `dirent.direntlen == 0'.
26741
26742 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26743
26744 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26745 `cpio'.
26746 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26747
26748 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26749
26750 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26751 `__trampoline_setup' and `__ucmpdi2'.
26752 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26753 that libgcc provides.
26754
26755 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26758 * include/grub/sparc64/libgcc.h (memset): Likewise.
26759 * include/grub/misc.h (memset, memcmp): New function prototypes.
26760
26761 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26762
26763 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26764 `cpio'.
26765 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26766
26767 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26768
26769 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26770 * docs/grub.cfg: Compensate for recent change in multiboot
26771 loader (since 2009-08-14 it won't pass filename to payload).
26772 * util/grub.d/10_hurd.in: Likewise.
26773
26774 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26775
26776 * config.guess: Update to latest version from config git
26777 repository.
26778 * config.sub: Likewise.
26779
26780 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26781
26782 Fix build on sparc64.
26783
26784 * configure.ac: Perform checks for libgcc symbols before
26785 adding `-nostdlib' to LDFLAGS.
26786
26787 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26788
26789 Let user specify OpenBSD root device.
26790
26791 * loader/i386/bsd.c (openbsd_root): New variable.
26792 (openbsd_opts): New option 'root'.
26793 (OPENBSD_ROOT_ARG): New macro.
26794 (grub_openbsd_boot): Use 'openbsd_root'.
26795 (grub_cmd_openbsd): Fill 'openbsd_root'.
26796
26797 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26798
26799 * NEWS: Misc adjustments.
26800
26801 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26802
26803 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26804
26805 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26806
26807 * configure.ac: Bump version to 1.97.
26808
26809 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26810
26811 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26812 -mno-3dnow on x86 architectures. Some toolchains enable these
26813 features by default, but they rely on registers that aren't enabled
26814 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26815
26816 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26817
26818 Make entry text a bit more readable.
26819
26820 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26821
26822 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26823
26824 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26825
26826 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26827
26828 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26829 operations.
26830
26831 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26832
26833 * configure.ac: Add missing dollar.
26834
26835 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26836
26837 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26838
26839 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26840 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26841 exports.
26842 * include/grub/sparc64/libgcc.h: Likewise. Use
26843 preprocessor conditionals.
26844
26845 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26846
26847 * conf/common.rmk (grub-dumpbios): Remove rule.
26848 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26849 * util/grub-dumpbios.in: Remove file.
26850
26851 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26852
26853 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26854 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26855
26856 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26857 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26858 users.
26859
26860 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26861 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26862 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26863 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26864 users.
26865
26866 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26867
26868 * term/tparm.c: Switch to GPLv3.
26869
26870 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26871
26872 * include/grub/i386/cpuid.h: Add header protection.
26873
26874 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26875
26876 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26877
26878 * include/grub/i386/cpuid.h: New file.
26879 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26880 (has_longmode): Rename to ...
26881 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26882 `static' attribute.
26883 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26884 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26885 on a CPU that doesn't implement AMD64 instruction set.
26886
26887 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26888
26889 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26890 that version.texi is rebuilt on version number changes.
26891
26892 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26893
26894 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26895 Fixes bug #27602.
26896
26897 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26898
26899 * util/i386/pc/grub-install.in: Source
26900 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26901 that the --grub-probe option will work.
26902 * util/sparc64/ieee1275/grub-install.in: Likewise.
26903
26904 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26905
26906 * configure.ac: Bump version to 1.97~beta4.
26907
26908 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26909
26910 Resync grub-mkdevicemap in x86_64-efi.
26911
26912 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26913 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26914 `util/devicemap.c'.
26915
26916 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26917
26918 * util/grub-editenv.c (create_envblk_file): Write new block with a
26919 .new suffix and then rename it into place, to ensure atomic
26920 creation.
26921
26922 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26923
26924 Do not automatically install headers.
26925
26926 * Makefile.in (include_DATA): Remove. Update all users.
26927
26928 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26929
26930 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26931 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26932
26933 * util/osdetect.lua: Remove.
26934 * script/lua/lauxlib.c: Likewise.
26935 * script/lua/ldebug.c: Likewise.
26936 * script/lua/grub_main.c: Likewise.
26937 * script/lua/lauxlib.h: Likewise.
26938 * script/lua/ldebug.h: Likewise.
26939 * script/lua/ltablib.c: Likewise.
26940 * script/lua/liolib.c: Likewise.
26941 * script/lua/lstrlib.c: Likewise.
26942 * script/lua/lualib.h: Likewise.
26943 * script/lua/ldo.c: Likewise.
26944 * script/lua/ldump.c: Likewise.
26945 * script/lua/ldo.h: Likewise.
26946 * script/lua/loslib.c: Likewise.
26947 * script/lua/lundump.c: Likewise.
26948 * script/lua/grub_lib.c: Likewise.
26949 * script/lua/ldblib.c: Likewise.
26950 * script/lua/lundump.h: Likewise.
26951 * script/lua/lmem.c: Likewise.
26952 * script/lua/grub_lib.h: Likewise.
26953 * script/lua/lmathlib.c: Likewise.
26954 * script/lua/lstate.c: Likewise.
26955 * script/lua/ltm.c: Likewise.
26956 * script/lua/lvm.c: Likewise.
26957 * script/lua/lmem.h: Likewise.
26958 * script/lua/lstate.h: Likewise.
26959 * script/lua/ltm.h: Likewise.
26960 * script/lua/ltable.c: Likewise.
26961 * script/lua/lvm.h: Likewise.
26962 * script/lua/llex.c: Likewise.
26963 * script/lua/lgc.c: Likewise.
26964 * script/lua/grub_lua.h: Likewise.
26965 * script/lua/loadlib.c: Likewise.
26966 * script/lua/lfunc.c: Likewise.
26967 * script/lua/lopcodes.c: Likewise.
26968 * script/lua/lparser.c: Likewise.
26969 * script/lua/ltable.h: Likewise.
26970 * script/lua/llex.h: Likewise.
26971 * script/lua/lgc.h: Likewise.
26972 * script/lua/lfunc.h: Likewise.
26973 * script/lua/lbaselib.c: Likewise.
26974 * script/lua/lopcodes.h: Likewise.
26975 * script/lua/lparser.h: Likewise.
26976 * script/lua/lzio.c: Likewise.
26977 * script/lua/linit.c: Likewise.
26978 * script/lua/lobject.c: Likewise.
26979 * script/lua/llimits.h: Likewise.
26980 * script/lua/lstring.c: Likewise.
26981 * script/lua/lzio.h: Likewise.
26982 * script/lua/lapi.c: Likewise.
26983 * script/lua/lcode.c: Likewise.
26984 * script/lua/lua.h: Likewise.
26985 * script/lua/lobject.h: Likewise.
26986 * script/lua/lstring.h: Likewise.
26987 * script/lua/lapi.h: Likewise.
26988 * script/lua/lcode.h: Likewise.
26989 * script/lua/luaconf.h: Likewise.
26990
26991 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26992
26993 * docs/grub.texi (Command-line and menu entry commands): Document
26994 date and echo commands.
26995
26996 2009-09-24 Pavel Roskin <proski@gnu.org>
26997
26998 * include/grub/kernel.h (struct grub_module_header): Remove
26999 `grub_module_header_types'. Make `type' unsigned. Make `size'
27000 32-bit on all platforms.
27001 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27002 8-bit field. Use grub_host_to_target32() for `size'.
27003 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27004 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27005 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27006
27007 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27008
27009 Fix "lost keypress" bug in at_keyboard.
27010
27011 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27012 Checks for readyness of input buffer (without flushing it).
27013 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27014 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27015
27016 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27017
27018 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27019 size check within GRUB_MACHINE_PCBIOS section.
27020
27021 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27022
27023 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27024 return value.
27025 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27026 KEYBOARD_ISREADY check.
27027 (grub_at_keyboard_checkkey): Rename to ...
27028 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27029 Remove gratuitous cast.
27030
27031 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
27032
27033 * configure.ac: Call AC_PROG_MKDIR_P.
27034 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27035 version.texi in $(builddir) rather than $(srcdir).
27036 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27037 to makeinfo's @include search path.
27038
27039 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27040
27041 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27042
27043 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27044
27045 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27046 for `*.dpkg-new'.
27047
27048 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
27049
27050 Build info documentation. Some code borrowed from Automake.
27051
27052 * configure.ac: Check for makeinfo.
27053 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27054 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27055 docs/version.texi.
27056 (MOSTLYCLEANFILES): Add vti.tmp.
27057 (docs/version.texi, docs/stamp-vti): Update automatically.
27058 (docs/grub.info): Build info documentation. Use --force and ignore
27059 errors for now.
27060 (all-local): Add $(INFOS).
27061 (install-local): Install info files.
27062 (uninstall): Uninstall info files.
27063 * docs/version.texi: Remove from revision control. This file is
27064 automatically generated on build now.
27065 * gendistlist.sh: Add `*.info'.
27066
27067 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27068
27069 * kern/term.c: Fix indentation.
27070
27071 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27072
27073 * util/hostdisk.c: Fix a comment.
27074
27075 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27076
27077 Fix regression introduced in r2539.
27078
27079 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27080 to 0xA1.
27081
27082 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
27083
27084 * util/grub.d/30_os-prober.in: Don't throw away stderr from
27085 os-prober. Under normal operation, it does not print anything to
27086 stderr; if it does, we need to debug it, and throwing away stderr
27087 makes that excessively difficult.
27088
27089 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27090
27091 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27092
27093 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27094
27095 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27096 AC_LANG_PROGRAM from autoconf.
27097 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27098 prototypes (fixes warning).
27099
27100 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27101 `--disable-werror' was used.
27102
27103 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27104
27105 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27106 uninitialized `lastaddr'.
27107
27108 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27109
27110 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
27111
27112 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27113
27114 * commands/test.c (get_fileinfo): Return immediately if
27115 grub_fs_probe fails.
27116
27117 2009-09-14 José Martínez <xosemp@gmail.com>
27118
27119 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27120
27121 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27122
27123 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27124 output.
27125
27126 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27127
27128 * configure.ac: Remove --enable-grub-pe2elf. Only build
27129 grub-pe2elf when needed by the build system itself.
27130 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27131
27132 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27133
27134 * configure.ac: Bump version to 1.97~beta3.
27135 * docs/version.texi: Likewise.
27136
27137 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27138
27139 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27140 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27141 from here ...
27142 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27143 (grub_linux_setup_video): ... to here (with some adjustments).
27144
27145 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27146
27147 Fix memory corruption issue (spotted by Colin Watson).
27148
27149 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27150 causing returned size to be stored in an incorrect memory location.
27151 Fix use of uninitialized value when storing the returned size.
27152
27153 2009-09-12 Yves Blusseau <blusseau@zetam.org>
27154
27155 Change clean rules to properly remove files
27156
27157 * genmk.rb: add new clean rules
27158 * Makefile.in (clean): add the new targets
27159 (mostlyclean): likewise
27160
27161 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27162
27163 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27164 to grub_uint64_t.
27165 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27166 non-resident files.
27167
27168 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27169
27170 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27171 part of bug #27349.
27172
27173 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27174
27175 * util/grub-mkconfig.in: Make the created config mode 400 and
27176 print a warning if it fails.
27177
27178 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27179
27180 * util/grub.d/40_custom.in: Ask user to type custom entries below
27181 comment, rather than below 'exec tail' line.
27182
27183 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27184
27185 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27186 visible in grub.cfg.
27187
27188 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27189
27190 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27191 file.
27192
27193 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27194
27195 * docs/grub.cfg: Add an example menu entry for memtest86+.
27196
27197 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
27198
27199 * config.guess: Update to latest version from config git.
27200 * config.sub: Likewise.
27201
27202 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
27203
27204 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27205 unknown-command case. Fixes bug #27320.
27206
27207 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
27208
27209 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27210 `help' if the command exists.
27211
27212 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27213
27214 * INSTALL: Require GCC 4.1.3 or later.
27215
27216 2009-09-06 Yves Blusseau <blusseau@zetam.org>
27217
27218 * Makefile.in (RMKFILES): add i386-qemu.rmk
27219 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27220 $(srcdir)/stamp-h.in
27221
27222 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27223
27224 * util/grub-probe.c (probe): Comment out buggy codepath, which
27225 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27226 should be re-enabled after 1.97.
27227
27228 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
27229
27230 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27231 find searches for.
27232
27233 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27234
27235 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27236 unnecessary calls to grub_error.
27237
27238 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
27239
27240 * NEWS: Mention `keystatus' and Unicode fonts.
27241
27242 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27243
27244 * configure.ac: Bump version to 1.97~beta2.
27245 * docs/version.texi: Likewise.
27246
27247 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27248
27249 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27250 containing unwind information in some cases where it previously did
27251 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27252 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27253 discussion.
27254
27255 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27256
27257 Embedding loadenv module into grub-emu
27258
27259 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27260 commands/loadenv.c
27261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27262 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27263 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27265 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27266 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27267
27268 2009-09-03 Magnus Granberg <zorry@ume.nu>
27269
27270 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27271 include -fPIE in the default specs.
27272 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27273 to TARGET_CFLAGS.
27274
27275 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27276
27277 * INSTALL: Note that GNU Bison 2.3 or later is required.
27278
27279 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27280
27281 * kern/i386/pc/startup.S: Fix typo.
27282
27283 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27284
27285 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27286 according to GCS.
27287
27288 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27289
27290 * docs/grub.texi (Naming convention): Describe one-based partition
27291 numbering.
27292 (Device syntax): Likewise.
27293 (File name syntax): Likewise.
27294 (Block list syntax): Likewise.
27295 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27296 menu.lst.
27297 (File name syntax): Likewise.
27298 (Command-line and menu entry commands): Document acpi, blocklist,
27299 crc, export, insmod, keystatus, ls, set, and unset commands.
27300
27301 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27302
27303 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27304 to avoid implying that only one of --shift, --ctrl, or --alt may be
27305 used.
27306
27307 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27308
27309 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27310 rather than comparing against S_IFREG, which will almost never work.
27311
27312 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27313
27314 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27315 (write_blocklists): Likewise.
27316
27317 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27318
27319 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27320 argument to grub_printf.
27321
27322 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27323
27324 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27325 non GNU test.
27326
27327 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27328
27329 * kern/file.c (grub_file_read): Spelling fix
27330
27331 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27332
27333 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27334 loading of headers in some cases.
27335
27336 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27337
27338 * configure.ac: Bump version to 1.97~beta1.
27339 * docs/version.texi: Likewise.
27340
27341 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27342
27343 * include/grub/i386/xnu.h: Add license header.
27344 include grub/err.h explicitly.
27345
27346 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27347
27348 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27349 to `ufs' in the vfs.root.mountfrom kernel parameter.
27350
27351 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27352
27353 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27354
27355 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27356 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27357
27358 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27359 `ARRAY_SIZE' macro.
27360
27361 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27362
27363 * kern/file.c (grub_file_read): Check offset.
27364 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27365 * fs/jfs.c (grub_jfs_read_file): Likewise.
27366 * fs/ntfs.c (grub_ntfs_read): Likewise.
27367 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27368 * fs/minix.c (grub_minix_read_file): Correct offset check.
27369 * fs/ufs.c (grub_ufs_read_file): Likewise.
27370
27371 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27372
27373 * term/i386/pc/console.c (bios_data_area): Cast
27374 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27375
27376 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27377
27378 1-bit optimised blitters.
27379
27380 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27381 prototype.
27382 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27383 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27384 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27385 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27386 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27387 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27388 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27389 function.
27390 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27391 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27392 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27393 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27394 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27395 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27396 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27397 when possible.
27398 * video/video.c (grub_video_get_blit_format): Return
27399 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27400
27401 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27402
27403 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27404 the first argument to grub_printf.
27405
27406 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27407 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27408
27409 Add `getkeystatus' terminal method. Add a new `keystatus' command
27410 to query it.
27411
27412 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27413 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27414 modifier key bitmasks.
27415 (struct grub_term_input): Add `getkeystatus' member.
27416 (grub_getkeystatus): Add prototype.
27417 * kern/term.c (grub_getkeystatus): New function.
27418
27419 * include/grub/i386/pc/memory.h
27420 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27421 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27422 Data Area layout.
27423 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27424 (grub_console_term_input): Set `getkeystatus' member.
27425 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27426 constants.
27427 (grub_usb_keyboard_getreport): Likewise.
27428 (grub_usb_keyboard_checkkey): Likewise.
27429 (grub_usb_keyboard_getkeystatus): New function.
27430 (grub_usb_keyboard_term): Set `getkeystatus' member.
27431
27432 * commands/keystatus.c: New file.
27433 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27434 (keystatus_mod_SOURCES): New variable.
27435 (keystatus_mod_CFLAGS): Likewise.
27436 (keystatus_mod_LDFLAGS): Likewise.
27437 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27438 commands/keystatus.c.
27439 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27440 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27441 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27443 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27444 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27445
27446 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27447
27448 Split befs.mod and afs.mod into *_be.mod and *.mod
27449
27450 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27451 (grub_fstest_SOURCES): Likewise.
27452 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27453 (afs_be_mod_SOURCES): New variable.
27454 (afs_be_mod_CFLAGS): Likewise.
27455 (afs_be_mod_LDFLAGS): Likewise.
27456 (befs_be_mod_SOURCES): Likewise.
27457 (befs_be_mod_CFLAGS): Likewise.
27458 (befs_be_mod_LDFLAGS): Likewise.
27459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27460 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27461 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27462 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27463 (grub_emu_SOURCES): Likewise.
27464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27465 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27466 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27467 * fs/afs_be.c: New file.
27468 * fs/befs_be.c: New file.
27469 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27470 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27471 (U16): Replaced with ...
27472 (grub_afs_to_cpu16): ...this. All users updated.
27473 (U32): Replaced with ...
27474 (grub_afs_to_cpu32): ...this. All users updated.
27475 (U64): Replaced with ...
27476 (grub_afs_to_cpu64): ...this. All users updated.
27477 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27478 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27479 (grub_afs_validate_sblock): Check only one endianness.
27480 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27481 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27482 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27483 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27484 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27485 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27486 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27487 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27488
27489 2009-08-26 Bean <bean123ch@gmail.com>
27490
27491 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27492 64-bit number.
27493 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27494 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27495 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27496
27497 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27498
27499 NetBSD memory map support.
27500
27501 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27502 (grub_netbsd_btinfo_mmap_header): New structure.
27503 (grub_netbsd_btinfo_mmap_entry): Likewise.
27504 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27505
27506 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27507
27508 Enable bsd.mod on coreboot.
27509
27510 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27511 (bsd_mod_SOURCES): New variable.
27512 (bsd_mod_CFLAGS): Likewise.
27513 (bsd_mod_LDFLAGS): Likewise.
27514 (bsd_mod_ASFLAGS): Likewise.
27515 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27516 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27517
27518 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27519
27520 Cleanup NetBSD root support.
27521
27522 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27523 grub_bsd_get_device.
27524 Fix typo.
27525
27526 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
27527
27528 * util/grub.d/00_header.in: Move check for the video backend of
27529 gfxterm from here ...
27530 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27531 a suitable video backend.
27532
27533 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27534
27535 Fix breakage in grub-setup.
27536
27537 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27538 "msdos_partition_map".
27539
27540 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27541
27542 Fix breakage in normal/auth.c.
27543
27544 * normal/auth.c (grub_iswordseparator): New function.
27545
27546 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27547
27548 Authentication support.
27549
27550 * commands/password.c: New file.
27551 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27552 (password_mod_SOURCES): New variable.
27553 (password_mod_CFLAGS): Likewise.
27554 (password_mod_LDFLAGS): Likewise.
27555 (normal_mod_SOURCES): Add normal/auth.c.
27556 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27557 normal/auth.c.
27558 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27559 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27560 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27563 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27564 * include/grub/auth.h: New file.
27565 * include/grub/err.h (grub_err_t): New enum value
27566 GRUB_ERR_ACCESS_DENIED.
27567 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27568 'users'.
27569 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27570 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27571 users updated.
27572 * normal/auth.c: New file.
27573 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27574 (grub_cmdline_run): Don't allow to go to command line without
27575 authentication.
27576 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27577 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27578 menuentry without superuser rights.
27579 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27580 user isn't a superuser.
27581
27582 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27583
27584 Save space by inlining misc.c functions.
27585
27586 * kern/misc.c (grub_iswordseparator): Made static.
27587 * kern/misc.c (grub_strcat): Moved from here ...
27588 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27589 * kern/misc.c (grub_strncat): Moved from here ...
27590 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27591 * kern/misc.c (grub_strcasecmp): Moved from here ...
27592 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27593 * kern/misc.c (grub_strncasecmp): Moved from here ...
27594 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27595 * kern/misc.c (grub_isalpha): Moved from here ...
27596 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27597 * kern/misc.c (grub_isdigit): Moved from here ...
27598 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27599 * kern/misc.c (grub_isgraph): Moved from here ...
27600 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27601 * kern/misc.c (grub_tolower): Moved from here ...
27602 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27603
27604 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27605
27606 * script/sh/function.c (grub_script_function_find): Cut error message
27607 not to flood terminal.
27608 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27609 limit.
27610 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27611
27612 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
27613
27614 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27615 `report' grub_uint8_t *.
27616 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27617 Use a 50-millisecond timeout rather than just repeating
27618 grub_usb_keyboard_getreport 50 times.
27619 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27620
27621 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 Rename *_partition_map to part_*
27624
27625 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27626 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27627 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27628 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27629 All users updated.
27630 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27631 All users updated.
27632 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27633 * util/grub-probe.c (probe_partmap): Don't transform partition name
27634 to get module name.
27635
27636 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27637
27638 Fix OpenBSD and NetBSD support.
27639
27640 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27641 memory address conflict.
27642 (OPENBSD_MMAP_ACPI): New definition.
27643 (OPENBSD_MMAP_NVS): Likewise.
27644 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27645 and OPENBSD_MMAP_NVS.
27646 Add memory map terminator
27647 Explicit cast when calling grub_unix_real_boot.
27648 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
27649
27650 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27651
27652 Let user specify NetBSD root device.
27653
27654 * loader/i386/bsd.c (netbsd_root): New variable.
27655 (netbsd_opts): New option 'root'.
27656 (NETBSD_ROOT_ARG): New macro.
27657 (grub_netbsd_boot): Use 'netbsd_root'.
27658 (grub_bsd_unload): Free 'netbsd_root'.
27659 (grub_cmd_netbsd): Fill 'netbsd_root'.
27660
27661 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27662
27663 Support for 64-bit NetBSD.
27664
27665 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27666 point when booting non-FreeBSD.
27667
27668 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27669
27670 Support --no-smp and --no-acpi for NetBSD.
27671
27672 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27673 (NETBSD_AB_NOACPI): Likewise.
27674 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27675 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27676
27677 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27678
27679 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27680 errors.
27681 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27682 errors. Call grub_error when needed.
27683
27684 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27685
27686 * commands/search.c (search_fs): Try searching without autoload first.
27687 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27688 filesystem module explicitly for faster booting.
27689
27690 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27691
27692 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27693
27694 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27695
27696 * util/grub.d/30_os-prober.in: Disable os-prober if
27697 `GRUB_DISABLE_OS_PROBER' was set to true.
27698
27699 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27700
27701 * partmap/pc.c: Rename to ...
27702 * partmap/msdos.c: ... this. Update all users.
27703 (grub_pc_partition_map): Rename to ...
27704 (grub_msdos_partition_map): ... this. Update all users.
27705
27706 * parttool/pcpart.c: Rename to ...
27707 * parttool/msdospart.c: ... this. Update all users.
27708
27709 * include/grub/pc_partition.h: Rename to ...
27710 * include/grub/msdos_partition.h: ... this. Update all users.
27711 (grub_pc_partition_bsd_entry): Rename to ...
27712 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27713 (grub_pc_partition_disk_label): Rename to ...
27714 (grub_msdos_partition_disk_label): ... this. Update all users.
27715 (grub_pc_partition_entry): Rename to ...
27716 (grub_msdos_partition_entry): ... this. Update all users.
27717 (grub_pc_partition_mbr): Rename to ...
27718 (grub_msdos_partition_mbr): ... this. Update all users.
27719 (grub_pc_partition): Rename to ...
27720 (grub_msdos_partition): ... this. Update all users.
27721 (grub_pc_partition_is_empty): Rename to ...
27722 (grub_msdos_partition_is_empty): ... this. Update all users.
27723 (grub_pc_partition_is_extended): Rename to ...
27724 (grub_msdos_partition_is_extended): ... this. Update all users.
27725 (grub_pc_partition_is_bsd): Rename to ...
27726 (grub_msdos_partition_is_bsd): ... this. Update all users.
27727
27728 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27729 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27730 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27731 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27732 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27733 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27734 (gpt_mod_LDFLAGS): Rename to ...
27735 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27736 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27737 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27738 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27739 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27740 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27741 (part_gpt_mod_LDFLAGS): ... this.
27742 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27743 `pcpart.mod' to `msdospart.mod'.
27744 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27745 to ...
27746 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27747 (msdospart_mod_LDFLAGS): ... this.
27748
27749 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27750
27751 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27752 (openbsd_opts): Likewise.
27753 (netbsd_opts): Likewise.
27754 (freebsd_flags): Added 0 terminator.
27755 (openbsd_flags): Likewise.
27756 (netbsd_flags): Likewise.
27757 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27758 (grub_cmd_freebsd): Transformed into extended command.
27759 (grub_cmd_openbsd): Likewise.
27760 (grub_cmd_netbsd): Likewise.
27761 (cmd_freebsd): Changed type to grub_extcmd_t.
27762 (cmd_openbsd): Likewise.
27763 (cmd_netbsd): Likewise.
27764 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27765 grub_cmd_openbsd as extended commands.
27766 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27767 cmd_netbsd and cmd_openbsd
27768
27769 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27770
27771 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27772
27773 2009-08-21 Pavel Roskin <proski@gnu.org>
27774
27775 * Makefile.in (install-local): When checking if a file is in the
27776 build directory, use "test -e" to detect symlinks.
27777
27778 * Makefile.in (install-local): Remove all files in
27779 $(DESTDIR)$(pkglibdir) before installing new files there.
27780
27781 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27782
27783 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27784 grub-mkelfimage.
27785
27786 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27787
27788 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27789 explicitly specified by the user.
27790
27791 2009-08-18 Pavel Roskin <proski@gnu.org>
27792
27793 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27794 grub_uint8_t pointer for data.
27795 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27796 Likewise.
27797 * video/fb/fbutil.c: Remove unnecessary casts.
27798
27799 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27800
27801 VBE cleanup.
27802
27803 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27804 (grub_vbe_set_video_mode): Save active mode info
27805 only after setting the mode.
27806 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27807 second argument.
27808
27809 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27810
27811 Rename variables for clarity.
27812
27813 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27814 (active_vbe_mode_info): ... this. All users updated.
27815 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27816 All users updated.
27817 (initial_mode): Rename to ...
27818 (initial_vbe_mode): ... this. All users updated.
27819 (mode_in_use): Rename to ..
27820 (vbe_mode_in_use): ... this. All users updated.
27821 (mode_list): Rename to ..
27822 (vbe_mode_list): ... this. All users updated.
27823 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27824 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27825 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27826 'mode_list_size' to 'vbe_mode_list_size'.
27827 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27828 'best_mode_info' to 'best_vbe_mode_info' and
27829 'best_mode' to 'best_vbe_mode'
27830
27831 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27832
27833 Remove duplicate grub_video_fb_get_video_ptr.
27834
27835 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27836 (grub_video_fb_get_video_ptr): ... this.
27837 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27838 * video/fb/fbutil.c: Add comment about addressing.
27839 (get_data_ptr): Rename to ...
27840 (grub_video_fb_get_video_ptr): ... this. All users updated.
27841 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27842
27843 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27844
27845 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27846 grub_dprintf() that was just added.
27847
27848 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27849
27850 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27851 (DEFAULT_VIDEO_MODE): Remove macros.
27852 (grub_linux_boot): Remove assumption that Linux has FB support,
27853 and use "text" as default video mode.
27854
27855 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27856
27857 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27858 grub_dprintf.
27859 * fs/fat.c (grub_fat_read_data): Likewise.
27860
27861 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27862
27863 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27864 payload.
27865 (grub_module): Likewise.
27866
27867 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27868
27869 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27870 mbi->cmdline but free playground.
27871
27872 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27873
27874 Handle group offset on UFS1.
27875
27876 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27877 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27878
27879 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27880
27881 Split ufs.mod into ufs1.mod and ufs2.mod.
27882
27883 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27884 (grub_fstest_SOURCES): Likewise.
27885 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27886 (ufs_mod_SOURCES): Remove.
27887 (ufs_mod_CFLAGS): Likewise.
27888 (ufs_mod_LDFLAGS): Likewise.
27889 (ufs1_mod_SOURCES): New variable.
27890 (ufs1_mod_CFLAGS): Likewise.
27891 (ufs1_mod_LDFLAGS): Likewise.
27892 (ufs2_mod_SOURCES): New variable.
27893 (ufs2_mod_CFLAGS): Likewise.
27894 (ufs2_mod_LDFLAGS): Likewise.
27895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27896 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27897 Likewise.
27898 (grub_emu_SOURCES): Likewise.
27899 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27900 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27901 (grub_setup_SOURCES): Likewise.
27902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27903 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27904 (grub_setup_SOURCES): Likewise.
27905 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27906 Likewise.
27907 * fs/ufs2.c: New file.
27908 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27909
27910 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27911
27912 Framebuffer split.
27913
27914 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27915 subsystem at the end.
27916 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27917 (video_fb_mod_SOURCES): New variable.
27918 (video_fb_mod_CFLAGS): Likewise.
27919 (video_fb_mod_LDFLAGS): Likewise.
27920 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27921 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27922 * video/i386/pc/vbeblit.c: Moved from here ...
27923 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27924 * video/i386/pc/vbefill.c: Moved from here ...
27925 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27926 * video/i386/pc/vbeutil.c: Moved from here ...
27927 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27928 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27929 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27930 * include/grub/i386/pc/vbefill.h: Moved from here ...
27931 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27932 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27933 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27934 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27935 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27936 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27937 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27938 (grub_video_adapter): Added 'get_info_and_fini'.
27939 (grub_video_get_info_and_fini): New prototype.
27940 (grub_video_set_mode): make modestring const char *.
27941 * loader/i386/linux.c (grub_linux_setup_video): Use
27942 grub_video_get_info_and_fini.
27943 (grub_linux_boot): Move modesetting just before booting.
27944 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27945 grub_video_get_info_and_fini.
27946 * video/i386/pc/vbe.c: Moved framebuffer part ...
27947 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27948 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27949 grub_video_fbstd_colors and grub_video_fb_set_palette.
27950 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27951 grub_video_fb_init.
27952 (grub_video_vbe_fini): Use grub_video_fb_fini.
27953 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27954 render_target and use grub_video_fb_set_active_render_target and
27955 grub_video_fb_set_palette.
27956 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27957 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27958 (grub_video_vbe_adapter): Use framebuffer.
27959 * video/video.c (grub_video_get_info_and_fini): New function.
27960 (grub_video_set_mode): Make modestring const char *.
27961 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27962 values are already initialised.
27963
27964 2009-08-14 Pavel Roskin <proski@gnu.org>
27965
27966 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27967 ABS and APPLE_CC.
27968 * boot/i386/pc/diskboot.S: Likewise.
27969 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27970 sectors allow compilation on MacOSX.
27971 * conf/i386-pc.rmk: Enable unconditional compilation of
27972 lnxboot.img.
27973
27974 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27975
27976 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27977 * util/grub.d/00_header.in: Enter interruptible sleep if
27978 GRUB_HIDDEN_TIMEOUT is set.
27979
27980 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27981
27982 * include/grub/symbol.h: Add the LOCAL macro.
27983 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27984 starting with "L_".
27985
27986 2009-08-13 Pavel Roskin <proski@gnu.org>
27987
27988 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27989 any modern compilers we support.
27990
27991 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27992 Use local labels starting with "L_" so that Apple assembler
27993 knows they are local.
27994
27995 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27996
27997 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27998 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27999 (bsd_kernel_types): ... this enum.
28000
28001 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28002 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28003 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28004
28005 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28006 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28007 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28008 messages.
28009
28010 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28011
28012 * util/grub-dumpdevtree: Moved from here ...
28013 * util/i386/efi/grub-dumpdevtree: ... to here.
28014 (hexify): New function. Converts a string to its hex version.
28015 Generate hex versions of "efi" and "device-properties" by calling
28016 hexify() on the ASCII strings rather than by hardcoding numbers.
28017
28018 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28019
28020 * fs/jfs.c: Update copyright year.
28021
28022 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28023
28024 * util/grub.d/00_header.in: Fix a comment.
28025 * util/grub.d/10_linux.in: Likewise.
28026 * util/grub.d/10_windows.in: Likewise.
28027 * util/grub.d/10_hurd.in: Likewise.
28028
28029 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28030
28031 * util/grub-mkconfig.in: Allow the user to specify the used font
28032 with GRUB_FONT.
28033
28034 2009-08-08 Pavel Roskin <proski@gnu.org>
28035
28036 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28037 available, xfs.mod needs it now.
28038
28039 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28040 the "g" modifier in sed when the intention is to strip something
28041 once. This fixes comparison of kernels with multiple dashes.
28042
28043 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28044 on it. Add missing space before closing bracket. Fix
28045 misleading formatting.
28046
28047 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28048
28049 * docs/grub.texi: Major overhaul. Remove all sections that are
28050 specific to GRUB Legacy, or mostly composed of Legacy-specific
28051 information.
28052
28053 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28054
28055 * docs/version.texi: New file. Provides version information for
28056 grub.texi.
28057
28058 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28059
28060 * docs/grub.texi: Update CVS information to SVN.
28061 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28062
28063 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28064
28065 * util/grub-mkconfig.in: Remove a wrong `fi'.
28066
28067 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28068
28069 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28070 (grub_jfs_uuid): New function.
28071 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28072
28073 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28074
28075 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28076 of it to ...
28077 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28078 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28079
28080 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28081
28082 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28083 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28084 Update all users.
28085
28086 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28087 not just "vmlinu[zx]".
28088 Moved from here ...
28089 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28090 all users.
28091
28092 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28093 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28094 all users.
28095
28096 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28097
28098 * util/grub.d/10_freebsd.in: Use an absolute device path for
28099 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28100
28101 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
28102
28103 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28104 handling of multiple abstraction modules.
28105
28106 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28107
28108 Fix a bug resulting in black screen when loading Linux using a
28109 packed video mode.
28110
28111 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28112 function.
28113
28114 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28115 (grub_vbe_bios_getset_dac_palette_width): New function.
28116 (grub_vbe_bios_get_dac_palette_width)
28117 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28118 grub_vbe_bios_getset_dac_palette_width()).
28119
28120 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28121 check for return status.
28122 (grub_vbe_get_video_mode_info): When getting information for a packed
28123 mode (<= 8 bpp), obtain DAC palette width using
28124 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28125 {red,green,blue}_mark_size.
28126
28127 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
28128
28129 * commands/search.c (options): Fix help output to match actual code.
28130
28131 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28132
28133 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28134 of homegrown code.
28135
28136 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28137
28138 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28139 on XFS or ReiserFS.
28140
28141 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28142
28143 Support Apple partition map with sector size different from 512 bytes.
28144
28145 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28146 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28147 and 'apart.partmap_size'.
28148
28149 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28150 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28151
28152 Fix cpuid command.
28153
28154 * commands/i386/cpuid.c (options): New variable.
28155 (grub_cmd_cpuid): Return real error.
28156 (GRUB_MOD_INIT(cpuid)): Declare options.
28157
28158 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28159
28160 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28161 valid.
28162
28163 2009-07-31 Bean <bean123ch@gmail.com>
28164
28165 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28166 log2_inode.
28167 (grub_fshelp_node): Move inode field to the end.
28168 (grub_xfs_data): Remove inode field.
28169 (grub_xfs_inode_block): Calculate inode size using sblock.
28170 (grub_xfs_inode_offset): Likewise.
28171 (grub_xfs_read_inode): Calculate inode size using sblock.
28172 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28173 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28174 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28175 to match inode size.
28176 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28177 not accessible when data is null.
28178 (grub_xfs_open): Likewise.
28179
28180 2009-07-31 Bean <bean123ch@gmail.com>
28181
28182 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28183 Don't change pv->disk if it's already set.
28184
28185 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28186 (grub_raid_register): ... here.
28187 (grub_raid_rescan): Removed.
28188
28189 * include/grub/raid.h (grub_raid_rescan): Removed.
28190
28191 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28192 (fstest): Replace grub_raid_rescan with module fini function followed
28193 by init function.
28194
28195 * util/grub-probe.c: Add include file <grub/raid.h>.
28196 (probe_raid_level): New function.
28197 (probe): Detect abstraction by walking the disk device, support two
28198 level of abstraction (LVM on RAID) when detecting partition map.
28199
28200 2009-07-31 Pavel Roskin <proski@gnu.org>
28201
28202 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28203 to grub_zalloc(), it was erroneous.
28204 Reported by Bean <bean123ch@gmail.com>
28205
28206 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28207
28208 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
28209 embedding zone, not only the first one.
28210
28211 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
28212
28213 * term/gfxterm.c (clear_char): New function.
28214 (grub_virtual_screen_setup): Use clear_char.
28215 (scroll_up): Likewise.
28216 (grub_virtual_screen_cls): Likewise.
28217
28218 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
28219
28220 * util/deviceiter.c (get_acceleraid_disk_name): New static
28221 function.
28222 (grub_util_iterate_devices): Handle Accelraid devices.
28223 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28224
28225 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28226
28227 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28228 separator for the suggested gfxpayload string (';' collides with the
28229 parser and needs escaping).
28230
28231 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28234 Clear direction flag before jumping to OS.
28235 (grub_multiboot2_real_boot): Likewise.
28236
28237 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28238
28239 * util/i386/pc/grub-install: Fix parsing of --disk-module
28240 option.
28241
28242 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28243
28244 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28245 when embedding.
28246
28247 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28248
28249 * util/grub-mkconfig.in (package_version): New variable.
28250 Use it do display the version.
28251
28252 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28253
28254 * kern/file.c (grub_file_open): Revert to previous check with
28255 grub_errno.
28256
28257 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28258
28259 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28260 from help line. It's out of sync with code.
28261
28262 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28263
28264 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28265 entries on failed boot.
28266
28267 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28268
28269 * kern/file.c (grub_file_open): Fix an error check.
28270
28271 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28272
28273 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28274 partition map couldn't be identified.
28275
28276 2009-07-23 Pavel Roskin <proski@gnu.org>
28277
28278 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28279 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28280 case of little endian words becomes just an optimization.
28281 Respect const modifier.
28282 (md5_final): Use code that doesn't depend on endianness.
28283
28284 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28285 to avoid loss of upper bits if align is unsigned and shorter
28286 than addr.
28287
28288 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28289
28290 UUID support for UFS
28291
28292 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28293 (grub_ufs_uuid): New function.
28294 (grub_ufs_fs): add .uuid
28295
28296 2009-07-21 Pavel Roskin <proski@gnu.org>
28297
28298 * kern/dl.c (grub_dl_check_header): Make static.
28299
28300 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28301
28302 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28303 add drivemap for Vista. It breaks Windows 7.
28304
28305 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28306
28307 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28308 128 bytes
28309
28310 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28311
28312 Add BFS support
28313
28314 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28315 (grub_fstest_SOURCES): Likewise.
28316 (pkglib_MODULES): Add befs.mod.
28317 (befs_mod_SOURCES): New variable.
28318 (befs_mod_CFLAGS): Likewise.
28319 (befs_mod_LDFLAGS): Likewise.
28320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28321 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28322 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28323 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28324 (grub_setup_SOURCES): Likewise.
28325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28326 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28327 (grub_setup_SOURCES): Likewise.
28328 * fs/befs.c: New file.
28329 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28330 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28331 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28332 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28333 (B_KEY_INDEX_ALIGN): New declaration.
28334 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28335 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28336 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28337 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28338 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28339 (grub_afs_mount) [MODE_BFS]: Likewise.
28340 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28341 (grub_afs_fs): Use GRUB_AFS_FSNAME
28342 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28343 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28344 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28345 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28346
28347 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28348
28349 * util/getroot.c (find_root_device): Add support for MacOSX.
28350 * util/hostdisk.c: Likewise.
28351
28352 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28353
28354 * font/font.c (find_glyph): Check whether a font is present to avoid
28355 segmentation fault.
28356
28357 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28358
28359 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28360
28361 2009-07-20 Pavel Roskin <proski@gnu.org>
28362
28363 * configure.ac: Trim excessively wordy excuses.
28364
28365 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 Add symlink, mtime and label support to AtheFS.
28368
28369 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28370 (grub_afs_iterate_dir): Handle symlinks.
28371 (grub_afs_open): Use grub_afs_read_symlink.
28372 (grub_afs_dir): Likewise.
28373 Pass mtime.
28374 (grub_afs_label): New function.
28375 (grub_afs_fs): Add grub_afs_label.
28376 (grub_afs_read_symlink): New function.
28377
28378 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28379
28380 Fix AtheFS support.
28381
28382 * fs/afs.c: Fix comments style.
28383 (grub_afs_blockrun): Declare as packed.
28384 (grub_afs_datastream): Likewise.
28385 (grub_afs_bnode): Likewise.
28386 (grub_afs_btree): Likewise.
28387 (grub_afs_sblock): Likewise.
28388 Declare `name' as char.
28389 (grub_afs_inode): Declare as packed.
28390 Change void *vnode to grub_uint32_t unused.
28391 (grub_afs_iterate_dir): Check that key_size is positive.
28392 (grub_afs_mount): Don't read superblock twice.
28393 (grub_afs_dir): Don't free node in case of error,
28394 grub_fshelp_find_file already handles this.
28395 (grub_afs_open): Likewise.
28396
28397 2009-07-19 Pavel Roskin <proski@gnu.org>
28398
28399 * Makefile.in: Remove LIBLZO and enable_lzo.
28400 * conf/i386-pc.rmk: Remove lzo support.
28401 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28402 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28403 support.
28404 * kern/i386/pc/lzo1x.S: Remove.
28405 * kern/i386/pc/startup.S: Remove lzo support.
28406 * util/i386/pc/grub-mkimage.c: Likewise.
28407
28408 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28409
28410 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28411 * fs/xfs.c (grub_xfs_dir): Likewise.
28412 * fs/afs.c (grub_afs_dir): Likewise.
28413 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28414 (grub_iso9660_open): Likewise.
28415 * fs/jfs.c (grub_jfs_open): Likewise.
28416 * fs/ext2.c (grub_ext2_dir): Likewise.
28417 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28418 * script/sh/lexer.c (grub_script_yylex): Likewise.
28419
28420 2009-07-16 Pavel Roskin <proski@gnu.org>
28421
28422 * configure.ac: Never add "-c" to CFLAGS.
28423
28424 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28425
28426 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28427 grub_cv_cc_efiemu should be used.
28428
28429 * configure.ac: Typo fixes.
28430
28431 * kern/mm.c (grub_zalloc): New function.
28432 (grub_debug_zalloc): Likewise.
28433 * include/grub/mm.h: Declare grub_zalloc() and
28434 grub_debug_zalloc().
28435 * util/misc.c (grub_zalloc): New function.
28436 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28437 instead of grub_malloc(), remove unneeded initializations.
28438 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28439 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28440 * commands/parttool.c (grub_cmd_parttool): Likewise.
28441 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28442 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28443 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28444 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28445 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28446 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28447 (grub_cmd_efiemu_pnvram): Likewise.
28448 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28449 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28450 (grub_iso9660_iterate_dir): Likewise.
28451 * fs/jfs.c (grub_jfs_opendir): Likewise.
28452 * fs/ntfs.c (list_file): Likewise.
28453 (grub_ntfs_mount): Likewise.
28454 * kern/disk.c (grub_disk_open): Likewise.
28455 * kern/dl.c (grub_dl_load_core): Likewise.
28456 * kern/elf.c (grub_elf_file): Likewise.
28457 * kern/env.c (grub_env_context_open): Likewise.
28458 (grub_env_set): Likewise.
28459 (grub_env_set_data_slot): Likewise.
28460 * kern/file.c (grub_file_open): Likewise.
28461 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28462 * loader/i386/multiboot.c (grub_module): Likewise.
28463 * loader/xnu.c (grub_xnu_create_key): Likewise.
28464 (grub_xnu_create_value): Likewise.
28465 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28466 (read_config_file): Likewise.
28467 * normal/menu_entry.c (make_screen): Likewise.
28468 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28469 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28470 * script/sh/script.c (grub_script_parse): Likewise.
28471 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28472 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28473 * video/readers/png.c (grub_png_output_byte): Likewise.
28474 (grub_video_reader_png): Likewise.
28475
28476 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28477
28478 Enable all targets that can be built by default
28479
28480 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28481 grub-mkfont and grub-fstest if they can be built
28482
28483 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28484
28485 Fix hang and segmentation fault in grub-emu-usb
28486
28487 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28488 * util/usb.c (grub_libusb_devices): likewise
28489 (grub_libusb_init): rename to ...
28490 (GRUB_MOD_INIT (libusb)):...this
28491 (grub_libusb_fini): rename to ..
28492 (GRUB_MOD_FINI (libusb)):...this
28493 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28494 * include/grub/disk.h (grub_raid_init): removed, it's useless
28495 (grub_raid_fini): likewise
28496 (grub_lvm_init): likewise
28497 (grub_lvm_fini): likewise
28498 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28499 by grub_init_all
28500
28501 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28502
28503 Fix libusb
28504
28505 * Makefile.in (LIBUSB): new macro
28506 * genmk.rb (Utility/print_tail): new method
28507 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28508 (top level): call util.print_tail at the end.
28509
28510 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28511
28512 Make FreeBSD accept zpool.cache
28513
28514 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28515 type is /boot/zfs/zpool.cache
28516
28517 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28518
28519 Fix 64-bit efiemu
28520
28521 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28522 correct wrong typedef
28523 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28524
28525 2009-07-15 Pavel Roskin <proski@gnu.org>
28526
28527 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28528 * kern/disk.c (struct grub_disk_cache): Likewise.
28529
28530 * commands/probe.c (options): Typo fix.
28531
28532 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28533 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28534 accordingly.
28535 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28536
28537 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28538 the end of "Error" to make the message more readable.
28539
28540 * boot/i386/pc/boot.S (kernel_segment): Remove.
28541 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28542 for destination.
28543
28544 * boot/i386/pc/boot.S (boot_version): Remove.
28545 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28546 Remove.
28547
28548 * include/grub/i386/pc/boot.h: Sort all offsets.
28549 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28550 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28551 * boot/i386/pc/boot.S: Assert location of every offset listed in
28552 include/grub/i386/pc/boot.h.
28553
28554 2009-07-13 Pavel Roskin <proski@gnu.org>
28555
28556 * include/grub/i386/coreboot/machine.h: Rename
28557 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28558 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28559 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28560
28561 * kern/dl.c: Force native word size to suppress warnings when
28562 compiling grub-emu.
28563
28564 * kern/device.c (grub_device_iterate): Change struct part_ent to
28565 hold the name, not a pointer to it. Use one grub_malloc() per
28566 partition, not two. Free partition_name if grub_malloc() fails.
28567 Set ents to NULL only before grub_partition_iterate() is called.
28568
28569 2009-07-11 Bean <bean123ch@gmail.com>
28570
28571 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28572 childname.
28573
28574 2009-07-10 Bean <bean123ch@gmail.com>
28575 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28576
28577 * kern/ieee1275/openfw.c (grub_children_iterate)
28578 (grub_devalias_iterate): Fix size evaluation for property or path
28579 strings, which was broken since r2132.
28580
28581 2009-07-07 Pavel Roskin <proski@gnu.org>
28582
28583 * commands/search.c (search_file): Merge into ...
28584 (search_fs): ... this. Accept search type as argument.
28585 (grub_cmd_search): Pass search type to search_fs().
28586
28587 * include/grub/util/console.h: New file.
28588 * util/console.c: Use it instead of grub/machine/console.h.
28589 * util/grub-emu.c: Likewise.
28590
28591 * lib/arg.c (find_long_option): Remove.
28592 (find_long): Add `len' argument, make `s' const char *.
28593 (grub_arg_parse): Parse long options in place, not in a
28594 temporary buffer.
28595
28596 2009-07-06 Pavel Roskin <proski@gnu.org>
28597
28598 * commands/search.c (search_fs): Fix potential NULL pointer
28599 dereference.
28600
28601 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28602 function pointer.
28603
28604 2009-07-06 Daniel Mierswa <impulze@impulze.org>
28605
28606 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28607 comparison.
28608
28609 2009-07-05 Pavel Roskin <proski@gnu.org>
28610
28611 * include/grub/i386/linux.h (struct linux_kernel_params):
28612 Restore padding3, it's still needed.
28613
28614 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28615 FreeBSD.
28616 * util/osdetect.lua: Likewise.
28617
28618 2009-07-05 Bean <bean123ch@gmail.com>
28619
28620 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28621
28622 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28623 (grub_lua_getenv): Likewise.
28624 (grub_lua_setenv): Likewise.
28625 (save_errno): New function.
28626 (push_result): Likewise.
28627 (grub_lua_enum_device): Likewise.
28628 (grub_lua_enum_file): Likewise.
28629 (grub_lua_file_open): Likewise.
28630 (grub_lua_file_close): Likewise.
28631 (grub_lua_file_seek): Likewise.
28632 (grub_lua_file_read): Likewise.
28633 (grub_lua_file_getline): Likewise.
28634 (grub_lua_file_getsize): Likewise.
28635 (grub_lua_file_getpos): Likewise.
28636 (grub_lua_file_eof): Likewise.
28637 (grub_lua_file_exist): Likewise.
28638 (grub_lua_add_menu): Likewise.
28639
28640 * script/lua/grub_lua.h (isupper): New inline function.
28641 (islower): Likewise.
28642 (ispunct): Likewise.
28643 (isxdigit): Likewise.
28644 (strcspn): Change to normal function.
28645 (strpbkr): New function declaration.
28646 (memchr): Likewise.
28647
28648 * script/lua/grub_main.c (scan_str): New function.
28649 (strcspn): Likewise.
28650 (strpbrk): Likewise.
28651 (memchr): Likewise.
28652
28653 * script/lua/linit.c (lualibs): Enable the string library.
28654
28655 * util/osdetect.lua: New file.
28656
28657 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28658
28659 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28660 `capabilities' member.
28661
28662 2009-07-02 Pavel Roskin <proski@gnu.org>
28663
28664 * genparttoollist.sh: Add missing newline at the end.
28665
28666 2009-07-01 Pavel Roskin <proski@gnu.org>
28667
28668 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28669
28670 * util/hostdisk.c (open_device): Remove `const' from
28671 `sysctl_size', as sysctlbyname() can change it (in this case it
28672 doesn't actually happen).
28673
28674 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28675 using signed long int constants.
28676
28677 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28678 constant to avoid a warning on FreeBSD.
28679
28680 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28681 where it's needed.
28682
28683 * Makefile.in: Install include/grub/machine symlink.
28684
28685 * Makefile.in: When installing symlinks, use "cp -fR", which
28686 works on FreeBSD and MacOSX.
28687 From Yves Blusseau <cl7m42e02@sneakemail.com>
28688
28689 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28690 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28691
28692 * util/misc.c: Move grub_reboot() and grub_halt() ...
28693 * util/grub-emu.c: ... here. Make main_env static.
28694 * include/grub/util/misc.h: Remove main_env.
28695
28696 * kern/mm.c: Use correct format to print size_t.
28697
28698 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28699 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28700 * kern/powerpc/dl.c: Likewise.
28701 * kern/sparc64/dl.c: Likewise.
28702 * kern/x86_64/dl.c: Likewise.
28703
28704 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28705
28706 Fix grub-emu build on sparc64-ieee1275.
28707
28708 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
28709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28710
28711 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28712
28713 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28714 (grub_reboot, grub_halt): New functions.
28715
28716 * util/i386/pc/misc.c: Delete. Update all users.
28717 * util/sparc64/ieee1275/misc.c: Likewise.
28718 * util/powerpc/ieee1275/misc.c: Likewise.
28719
28720 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28721
28722 * conf/i386.rmk (setjmp_mod_SOURCES)
28723 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28724 * conf/common.rmk (setjmp_mod_SOURCES)
28725 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28726 to use $(target_cpu).
28727 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28728 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28729 * conf/powerpc-ieee1275.rmk: Likewise.
28730 * conf/sparc64-ieee1275.rmk: Likewise.
28731
28732 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28733 $(target_cpu) for kern/$(target_cpu)/dl.c.
28734 * conf/i386-efi.rmk: Likewise.
28735 * conf/i386-ieee1275.rmk: Likewise.
28736 * conf/x86_64-efi.rmk: Likewise.
28737 * conf/i386-coreboot.rmk: Likewise.
28738 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28739 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28740 kern/$(target_cpu)/cache.S.
28741 * conf/sparc64-ieee1275.rmk: Likewise.
28742
28743 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28744
28745 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28746 type to `grub_uint8_t', and adjust `padding9' accordingly.
28747
28748 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28749
28750 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28751
28752 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28753 assembly in final jump, using register constraints.
28754
28755 (grub_linux_boot): For text mode, initialize `have_vga' using
28756 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28757
28758 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28759 right before the final jump.
28760
28761 Set `video_mode' to 0x3.
28762
28763 Document initialization of `video_page', `video_mode' and
28764 `video_ega_bx'.
28765
28766 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28767
28768 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28769 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28770 and set GRUB_LINUX_FLAG_QUIET appropriately.
28771
28772 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28773
28774 Fix build on Debian / sparc.
28775
28776 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28777
28778 2009-06-28 Pavel Roskin <proski@gnu.org>
28779
28780 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28781 fix a warning.
28782
28783 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28784
28785 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28786
28787 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28788 `err'.
28789
28790 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28791
28792 Revert r2338.
28793
28794 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28795 file can't be opened. grub_file_open() is already supposed to set
28796 grub_errno / grub_errmsg appropriately.
28797 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28798
28799 2009-06-27 Pavel Roskin <proski@gnu.org>
28800 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28801
28802 * include/grub/dl.h: Include grub/elf.h.
28803 (struct grub_dl): Add symtab field.
28804 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28805 GRUB_MODULES_MACHINE_READONLY.
28806 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28807 of the header for read-only modules.
28808 (grub_dl_unload): Free mod->symtab for read-only modules.
28809 * kern/i386/dl.c: Use mod->symtab.
28810 * kern/powerpc/dl.c: Likewise.
28811 * kern/sparc64/dl.c: Likewise.
28812 * kern/x86_64/dl.c: Likewise.
28813
28814 * conf/i386-qemu.rmk: New file.
28815 * kern/i386/qemu/startup.S: Likewise.
28816 * kern/i386/qemu/mmap.c: Likewise.
28817 * boot/i386/qemu/boot.S: Likewise.
28818 * include/grub/i386/qemu/time.h: Likewise.
28819 * include/grub/i386/qemu/serial.h: Likewise.
28820 * include/grub/i386/qemu/kernel.h: Likewise.
28821 * include/grub/i386/qemu/console.h: Likewise.
28822 * include/grub/i386/qemu/boot.h: Likewise.
28823 * include/grub/i386/qemu/init.h: Likewise.
28824 * include/grub/i386/qemu/machine.h: Likewise.
28825 * include/grub/i386/qemu/loader.h: Likewise.
28826 * include/grub/i386/qemu/memory.h: Likewise.
28827
28828 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28829 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28830 [qemu] (pkglib_IMAGES): Add `boot.img'.
28831 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28832 [qemu] (boot_img_FORMAT): New variables.
28833 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28834 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28835 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28836 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28837 [qemu] (kernel_img_FORMAT): New variables.
28838
28839 * configure.ac: Recognise `i386-qemu'.
28840
28841 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28842 (for no compression).
28843 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28844 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28845 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28846 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28847 ifdefs).
28848
28849 2009-06-27 Pavel Roskin <proski@gnu.org>
28850
28851 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28852 read.
28853 * efiemu/prepare32.c: Likewise.
28854 * efiemu/prepare64.c: Likewise.
28855
28856 2009-06-26 Pavel Roskin <proski@gnu.org>
28857
28858 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28859 * include/grub/elf.h: Define symbols without "32" or "64" based
28860 on GRUB_TARGET_WORDSIZE.
28861 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28862 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28863 ELF definitions.
28864 * efiemu/loadcore64.c: Likewise.
28865 * loader/i386/bsd32.c: Likewise.
28866 * loader/i386/bsd64.c: Likewise.
28867 * kern/dl.c: Remove own ELF definitions.
28868 * util/i386/efi/grub-mkimage.c: Likewise.
28869
28870 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28871
28872 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28873 segment 0x0 unconditionally, because the reference generated by
28874 GAS is an absolute address.
28875
28876 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28877
28878 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28879 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28880
28881 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28882
28883 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28884 indexes. Check for -f explicitly.
28885 (search_file): Improve error message.
28886 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28887
28888 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28889
28890 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28891 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28892
28893 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28894
28895 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28896 * conf/i386-ieee1275.rmk: Likewise.
28897 * conf/i386-coreboot.rmk: Likewise.
28898
28899 * kern/i386/pc/startup.S (grub_stop): Remove function.
28900 * kern/i386/ieee1275/startup.S: Likewise.
28901 * kern/i386/coreboot/startup.S: Likewise.
28902 * kern/i386/misc.S (grub_stop): New function.
28903
28904 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28905
28906 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28907 * kern/i386/realmode.S (real_to_prot): ... to here.
28908
28909 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28910
28911 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28912 with `kernel.img'.
28913 (kernel_elf_SOURCES): Rename to ...
28914 (kernel_img_SOURCES): ... this.
28915 (kernel_elf_HEADERS): Rename to ...
28916 (kernel_img_HEADERS): ... this. Update all users.
28917 (kernel_elf_ASFLAGS): Rename to ...
28918 (kernel_img_ASFLAGS): ... this.
28919 (kernel_elf_CFLAGS): Rename to ...
28920 (kernel_img_CFLAGS): ... this.
28921 (kernel_elf_LDFLAGS): Rename to ...
28922 (kernel_img_LDFLAGS): ... this.
28923 * conf/i386-coreboot.rmk: Likewise.
28924 * conf/powerpc-ieee1275.rmk: Likewise.
28925
28926 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28927 with "kernel.img".
28928
28929 2009-06-21 Pavel Roskin <proski@gnu.org>
28930
28931 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28932 to match nested functions.
28933 * loader/sparc64/ieee1275/linux.c: Likewise.
28934
28935 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28936
28937 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28938
28939 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28940 all i386 platforms.
28941
28942 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28943
28944 Fix asm file handling on ELF, and remove workarounds.
28945
28946 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28947 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28948 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28949 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28950
28951 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28952
28953 Load BSD ELF modules
28954
28955 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28956 and loader/i386/bsd64.c
28957 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28958 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28959 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28960 (grub_freebsd_load_elfmodule32): New declaration
28961 (grub_freebsd_load_elfmoduleobj64): Likewise
28962 (grub_freebsd_load_elf_meta32): Likewise
28963 (grub_freebsd_load_elf_meta64): Likewise
28964 (grub_freebsd_add_meta): Likewise
28965 (grub_freebsd_add_meta_module): Likewise
28966 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28967 (grub_freebsd_add_meta_module): Likewise and move module-specific
28968 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28969 (grub_cmd_freebsd): Add elf-kernel specific parts
28970 based on grub_freebsd_add_meta_module
28971 (grub_cmd_freebsd_module): Add type parsing moved from
28972 grub_freebsd_add_meta_module
28973 (grub_cmd_freebsd_module_elf): New function
28974 (cmd_freebsd_module_elf): New variable
28975 (GRUB_MOD_INIT): Register freebsd_module_elf
28976 * loader/i386/bsd32.c: New file
28977 * loader/i386/bsd64.c: Likewise
28978 * loader/i386/bsdXX.c: Likewise
28979 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28980 (grub_elf64_load): Likewise
28981 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28982 All users updated
28983 (grub_elf64_load_hook_t): Likewise
28984
28985 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28986
28987 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28988 variable.
28989 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28990 don't write a menu entry for recovery mode.
28991
28992 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28993
28994 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28995 after it's no longer needed.
28996
28997 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28998
28999 * include/grub/i386/loader.h (grub_linux_prot_size)
29000 (grub_linux_tmp_addr, grub_linux_real_addr)
29001 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29002 GRUB_MACHINE_PCBIOS.
29003 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29004 common grub_util_info() call to ...
29005 (generate_image): ... here.
29006 Fix use of uninitialized memory, comparison of signed with
29007 unsigned integers and memory leak.
29008 Remove bogus module address message.
29009
29010 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29011
29012 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29013 grub_raid_register
29014 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29015
29016 2009-06-19 Pavel Roskin <proski@gnu.org>
29017
29018 * configure.ac: Remove stray AC_MSG_CHECKING.
29019
29020 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29021
29022 * disk/scsi.c (grub_scsi_open): use continue instead of big if
29023
29024 2009-06-18 Pavel Roskin <proski@gnu.org>
29025
29026 * conf/common.rmk: Add fs_file.mod.
29027 * disk/fs_file.c: New file.
29028 * include/grub/disk.h (enum grub_disk_dev_id): Add
29029 GRUB_DISK_DEVICE_FILE_ID.
29030
29031 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29032
29033 Fix build with Apple's toolchain. Part 2
29034
29035 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29036 a fake start
29037
29038 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 Fix build with Apple's toolchain. Part 1
29041
29042 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29043 for long calls
29044 * configure.ac: remove a leftover AC_MSG_RESULT
29045 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
29046 Apple's toolchain
29047
29048 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29049
29050 Fix warnings
29051
29052 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29053 (decomp_block): initialize ch
29054 use grub_memcpy instead of memcpy
29055
29056 2009-06-17 Pavel Roskin <proski@gnu.org>
29057
29058 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29059 version, use declarations needed to use vga_text as the startup
29060 console.
29061
29062 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29063 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29064 the kernel.
29065 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29066 and grub_at_keyboard_fini(), it's done on module load and
29067 unload.
29068
29069 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
29070
29071 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29072 file can't be found.
29073 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29074
29075 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29076
29077 Fix newline handling
29078
29079 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
29080 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
29081 (grub_script_yylex): don't segfault on unterminated script
29082 newline terminates command and variable
29083
29084 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29085
29086 avoid double grub_adjust_range call. Bug reported by David Simner
29087
29088 * kern/disk.c (grub_disk_write): change to raw disk access before
29089 calling disk_read
29090
29091 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
29092
29093 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29094 spaces, for the benefit of help2man.
29095 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29096
29097 2009-06-16 Pavel Roskin <proski@gnu.org>
29098
29099 * kern/i386/halt.c: Include grub/machine/init.h.
29100 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29101
29102 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
29103
29104 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29105 drivemap menuentry.
29106
29107 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29108
29109 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29110 `echo' command.
29111
29112 2009-06-16 Pavel Roskin <proski@gnu.org>
29113
29114 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29115 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29116 save %dx, we only need %dl and we never change it.
29117 * boot/i386/pc/cdboot.S: Don't set the root drive.
29118 * boot/i386/pc/pxeboot.S: Likewise.
29119 * include/grub/i386/pc/boot.h: Remove
29120 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29121 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29122 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29123 * kern/i386/pc/init.c (make_install_device): Remove references
29124 to grub_root_drive.
29125 * kern/i386/pc/startup.S: Likewise.
29126 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29127
29128 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29129
29130 xnu_uuid command
29131
29132 * commands/xnu_uuid.c: new file
29133 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29134 (xnu_uuid_mod_SOURCES): new variable
29135 (xnu_uuid_mod_CFLAGS): likewise
29136 (xnu_uuid_mod_LDFLAGS): likewise
29137 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29138 * conf/i386-ieee1275.rmk: likewise
29139 * conf/i386-pc.rmk: likewise
29140 * conf/powerpc-ieee1275.rmk: likewise
29141 * conf/sparc64-ieee1275.rmk: likewise
29142 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29143
29144 2009-06-16 Pavel Roskin <proski@gnu.org>
29145
29146 * configure.ac: Avoid '==' in test command, it's not portable.
29147
29148 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29149
29150 Probe command
29151
29152 * commands/probe.c: new file
29153 * conf/common.rmk (pkglib_MODULES): add probe.mod
29154 (probe_mod_SOURCES): new variable
29155 (probe_mod_CFLAGS): likewise
29156 (probe_mod_LDFLAGS): likewise
29157 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29158 * conf/i386-ieee1275.rmk: likewise
29159 * conf/i386-pc.rmk: likewise
29160 * conf/powerpc-ieee1275.rmk: likewise
29161 * conf/sparc64-ieee1275.rmk: likewise
29162
29163 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29164
29165 Fix handling of string like \"hello\" and "a
29166 b"
29167
29168 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29169 (grub_script_yylex): fix parsing of quoting, escaping and newline
29170
29171 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29172
29173 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
29174 handling
29175
29176 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
29177
29178 * util/grub-mkconfig.in: Fix parsing of --output option.
29179
29180 2009-06-12 Pavel Roskin <proski@gnu.org>
29181
29182 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29183 genmk.rb don't need to be generated or installed.
29184
29185 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29186
29187 * commands/i386/pc/drivemap_int13h.S: add more comments
29188
29189 2009-06-11 Pavel Roskin <proski@gnu.org>
29190
29191 * Makefile.in (uninstall): Uninstall manuals.
29192
29193 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29194 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29195 and update-grub_lib in two places.
29196 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29197
29198 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29199 a compiler warning.
29200
29201 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29202 `entry_lo' to fix variable shadowing.
29203
29204 2009-06-11 Christian Franke <franke@computer.org>
29205
29206 * kern/misc.c (__enable_execute_stack): Add missing return type
29207 to prevent gcc warning.
29208
29209 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29210
29211 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29212
29213 2009-06-11 Pavel Roskin <proski@gnu.org>
29214
29215 * Makefile.in: Don't rely on any scripts being executable.
29216 Always use $(SHELL) to run shell scripts.
29217
29218 * configure.ac: Always define ___main if using -nostdlib. This
29219 fixes tests on Cygwin.
29220
29221 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29222
29223 UDF fix
29224
29225 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
29226 is in bytes and not in blocks
29227
29228 2009-06-11 Pavel Roskin <proski@gnu.org>
29229
29230 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29231 warning.
29232
29233 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29234
29235 * util/grub.d/30_os-prober.in: Fix a comment. Source
29236 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29237 to set the root device. Place drivemap command in the generated
29238 chain entry.
29239
29240 2009-06-11 Pavel Roskin <proski@gnu.org>
29241
29242 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29243 have long been resolved.
29244
29245 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29246
29247 * util/grub.d/10_linux.in: Capitalise "Linux".
29248
29249 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29250
29251 2009-06-11 Pavel Roskin <proski@gnu.org>
29252
29253 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29254 fix a gcc warning and ensure that the function won't ever exit.
29255
29256 * kern/i386/ieee1275/init.c: Add missing prototype for
29257 grub_stop_floppy().
29258
29259 * loader/ieee1275/multiboot2.c [__i386__]: Include
29260 grub/cpu/multiboot.h.
29261
29262 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29263 casts to short - they are not portable and cause warnings. Fix
29264 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29265
29266 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29267
29268 Drivemap fixes
29269
29270 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29271 new function
29272 (grub_get_root_biosnumber_saved): new variable
29273 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29274 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29275 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29276 %dx after the call if necessary
29277 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29278 (boot_mod_SOURCES): remove
29279 (boot_mod_CFLAGS): remove
29280 (boot_mod_LDFLAGS): remove
29281 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29282 (boot_mod_SOURCES): new variable
29283 (boot_mod_CFLAGS): likewise
29284 (boot_mod_LDFLAGS): likewise
29285 * conf/i386-efi.rmk: likewise
29286 * conf/i386-ieee1275.rmk: likewise
29287 * conf/i386-pc.rmk: likewise
29288 * conf/powerpc-ieee1275.rmk: likewise
29289 * conf/sparc64-ieee1275.rmk: likewise
29290 * conf/x86_64-efi.rmk: likewise
29291 * include/grub/i386/pc/biosnum.h: new file
29292 * lib/i386/pc/biosnum.c: likewise
29293 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29294 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29295 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29296
29297 2009-06-10 Pavel Roskin <proski@gnu.org>
29298
29299 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29300 Use separate variables. Read only the file size at the end, but
29301 not the checksum that we don't use.
29302
29303 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29304 Adjust all callers.
29305
29306 * kern/ieee1275/openfw.c: Remove libc includes.
29307 * kern/ieee1275/cmain.c: Likewise.
29308 * include/grub/ieee1275/ieee1275.h: Likewise.
29309
29310 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29311 compiler warnings.
29312
29313 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29314
29315 * Makefile.in: Remove all trailing whitespace.
29316 * conf/i386-pc.rmk: Likewise.
29317 * conf/powerpc-ieee1275.rmk: Likewise.
29318 * conf/sparc64-ieee1275.rmk: Likewise.
29319 * docs/grub.texi: Likewise.
29320 * docs/texinfo.tex: Likewise.
29321 * disk/fs_uuid.c: Likewise.
29322 * disk/lvm.c: Likewise.
29323 * disk/scsi.c: Likewise.
29324 * disk/ata.c: Likewise.
29325 * disk/ieee1275/ofdisk.c: Likewise.
29326 * disk/i386/pc/biosdisk.c: Likewise.
29327 * disk/host.c: Likewise.
29328 * disk/raid.c: Likewise.
29329 * disk/efi/efidisk.c: Likewise.
29330 * disk/usbms.c: Likewise.
29331 * disk/memdisk.c: Likewise.
29332 * disk/loopback.c: Likewise.
29333 * kern/powerpc/dl.c: Likewise.
29334 * kern/device.c: Likewise.
29335 * kern/dl.c: Likewise.
29336 * kern/sparc64/dl.c: Likewise.
29337 * kern/ieee1275/ieee1275.c: Likewise.
29338 * kern/term.c: Likewise.
29339 * kern/fs.c: Likewise.
29340 * kern/i386/dl.c: Likewise.
29341 * kern/i386/pc/startup.S: Likewise.
29342 * kern/i386/pc/init.c: Likewise.
29343 * kern/i386/pc/mmap.c: Likewise.
29344 * kern/i386/pc/lzo1x.S: Likewise.
29345 * kern/i386/ieee1275/init.c: Likewise.
29346 * kern/i386/realmode.S: Likewise.
29347 * kern/i386/tsc.c: Likewise.
29348 * kern/partition.c: Likewise.
29349 * kern/corecmd.c: Likewise.
29350 * kern/file.c: Likewise.
29351 * kern/efi/efi.c: Likewise.
29352 * kern/efi/init.c: Likewise.
29353 * kern/efi/mm.c: Likewise.
29354 * kern/main.c: Likewise.
29355 * kern/err.c: Likewise.
29356 * kern/env.c: Likewise.
29357 * kern/disk.c: Likewise.
29358 * kern/generic/millisleep.c: Likewise.
29359 * kern/generic/rtc_get_time_ms.c: Likewise.
29360 * kern/misc.c: Likewise.
29361 * kern/parser.c: Likewise.
29362 * genmk.rb: Likewise.
29363 * configure.ac: Likewise.
29364 * boot/i386/pc/diskboot.S: Likewise.
29365 * boot/i386/pc/pxeboot.S: Likewise.
29366 * boot/i386/pc/boot.S: Likewise.
29367 * boot/i386/pc/lnxboot.S: Likewise.
29368 * boot/i386/pc/cdboot.S: Likewise.
29369 * parttool/pcpart.c: Likewise.
29370 * video/readers/tga.c: Likewise.
29371 * video/video.c: Likewise.
29372 * video/bitmap.c: Likewise.
29373 * lib/envblk.c: Likewise.
29374 * lib/i386/setjmp.S: Likewise.
29375 * fs/xfs.c: Likewise.
29376 * fs/afs.c: Likewise.
29377 * fs/fat.c: Likewise.
29378 * fs/ntfs.c: Likewise.
29379 * fs/udf.c: Likewise.
29380 * fs/affs.c: Likewise.
29381 * fs/iso9660.c: Likewise.
29382 * fs/hfs.c: Likewise.
29383 * fs/fshelp.c: Likewise.
29384 * fs/ext2.c: Likewise.
29385 * fs/jfs.c: Likewise.
29386 * fs/reiserfs.c: Likewise.
29387 * fs/hfsplus.c: Likewise.
29388 * fs/minix.c: Likewise.
29389 * fs/cpio.c: Likewise.
29390 * fs/sfs.c: Likewise.
29391 * fs/ufs.c: Likewise.
29392 * efiemu/prepare.c: Likewise.
29393 * efiemu/loadcore_common.c: Likewise.
29394 * efiemu/runtime/efiemu.sh: Likewise.
29395 * efiemu/runtime/efiemu.S: Likewise.
29396 * efiemu/runtime/efiemu.c: Likewise.
29397 * efiemu/pnvram.c: Likewise.
29398 * efiemu/main.c: Likewise.
29399 * efiemu/i386/pc/cfgtables.c: Likewise.
29400 * efiemu/i386/loadcore64.c: Likewise.
29401 * efiemu/i386/loadcore32.c: Likewise.
29402 * efiemu/loadcore.c: Likewise.
29403 * efiemu/symbols.c: Likewise.
29404 * efiemu/mm.c: Likewise.
29405 * include/grub/autoefi.h: Likewise.
29406 * include/grub/datetime.h: Likewise.
29407 * include/grub/term.h: Likewise.
29408 * include/grub/hfs.h: Likewise.
29409 * include/grub/lvm.h: Likewise.
29410 * include/grub/i386/tsc.h: Likewise.
29411 * include/grub/i386/linux.h: Likewise.
29412 * include/grub/i386/xnu.h: Likewise.
29413 * include/grub/i386/efiemu.h: Likewise.
29414 * include/grub/i386/pc/biosdisk.h: Likewise.
29415 * include/grub/i386/pc/memory.h: Likewise.
29416 * include/grub/i386/pc/vbe.h: Likewise.
29417 * include/grub/parttool.h: Likewise.
29418 * include/grub/video.h: Likewise.
29419 * include/grub/memory.h: Likewise.
29420 * include/grub/fs.h: Likewise.
29421 * include/grub/partition.h: Likewise.
29422 * include/grub/xnu.h: Likewise.
29423 * include/grub/efi/api.h: Likewise.
29424 * include/grub/efi/pe32.h: Likewise.
29425 * include/grub/efi/memory.h: Likewise.
29426 * include/grub/multiboot.h: Likewise.
29427 * include/grub/usbdesc.h: Likewise.
29428 * include/grub/multiboot2.h: Likewise.
29429 * include/grub/acpi.h: Likewise.
29430 * include/grub/efiemu/efiemu.h: Likewise.
29431 * include/grub/disk.h: Likewise.
29432 * include/grub/ieee1275/ieee1275.h: Likewise.
29433 * include/grub/net.h: Likewise.
29434 * include/grub/machoload.h: Likewise.
29435 * include/grub/macho.h: Likewise.
29436 * include/multiboot.h: Likewise.
29437 * genmoddep.awk: Likewise.
29438 * normal/main.c: Likewise.
29439 * normal/menu_entry.c: Likewise.
29440 * normal/menu_viewer.c: Likewise.
29441 * normal/completion.c: Likewise.
29442 * normal/cmdline.c: Likewise.
29443 * normal/misc.c: Likewise.
29444 * normal/datetime.c: Likewise.
29445 * bus/usb/usbtrans.c: Likewise.
29446 * bus/usb/ohci.c: Likewise.
29447 * bus/usb/uhci.c: Likewise.
29448 * bus/usb/usb.c: Likewise.
29449 * mmap/efi/mmap.c: Likewise.
29450 * mmap/i386/pc/mmap_helper.S: Likewise.
29451 * mmap/i386/pc/mmap.c: Likewise.
29452 * mmap/i386/mmap.c: Likewise.
29453 * mmap/i386/uppermem.c: Likewise.
29454 * mmap/mmap.c: Likewise.
29455 * commands/acpi.c: Likewise.
29456 * commands/echo.c: Likewise.
29457 * commands/blocklist.c: Likewise.
29458 * commands/loadenv.c: Likewise.
29459 * commands/usbtest.c: Likewise.
29460 * commands/boot.c: Likewise.
29461 * commands/parttool.c: Likewise.
29462 * commands/search.c: Likewise.
29463 * commands/cat.c: Likewise.
29464 * commands/i386/pc/play.c: Likewise.
29465 * commands/i386/pc/drivemap.c: Likewise.
29466 * commands/i386/pc/vbeinfo.c: Likewise.
29467 * commands/i386/pc/acpi.c: Likewise.
29468 * commands/i386/pc/vbetest.c: Likewise.
29469 * commands/ls.c: Likewise.
29470 * commands/cmp.c: Likewise.
29471 * commands/test.c: Likewise.
29472 * commands/efi/acpi.c: Likewise.
29473 * commands/gptsync.c: Likewise.
29474 * commands/help.c: Likewise.
29475 * partmap/amiga.c: Likewise.
29476 * partmap/apple.c: Likewise.
29477 * partmap/acorn.c: Likewise.
29478 * partmap/pc.c: Likewise.
29479 * partmap/sun.c: Likewise.
29480 * partmap/gpt.c: Likewise.
29481 * script/sh/lexer.c: Likewise.
29482 * script/sh/function.c: Likewise.
29483 * font/font.c: Likewise.
29484 * font/font_cmd.c: Likewise.
29485 * loader/powerpc/ieee1275/linux.c: Likewise.
29486 * loader/efi/chainloader.c: Likewise.
29487 * loader/multiboot_loader.c: Likewise.
29488 * loader/macho.c: Likewise.
29489 * loader/i386/multiboot.c: Likewise.
29490 * loader/i386/linux.c: Likewise.
29491 * loader/i386/pc/linux.c: Likewise.
29492 * loader/i386/pc/multiboot2.c: Likewise.
29493 * loader/i386/pc/chainloader.c: Likewise.
29494 * loader/i386/pc/xnu.c: Likewise.
29495 * loader/i386/bsd_trampoline.S: Likewise.
29496 * loader/i386/efi/linux.c: Likewise.
29497 * loader/i386/multiboot_elfxx.c: Likewise.
29498 * loader/i386/bsd_helper.S: Likewise.
29499 * loader/i386/bsd.c: Likewise.
29500 * loader/i386/linux_trampoline.S: Likewise.
29501 * loader/i386/xnu_helper.S: Likewise.
29502 * loader/i386/xnu.c: Likewise.
29503 * loader/i386/bsd_pagetable.c: Likewise.
29504 * loader/i386/multiboot_helper.S: Likewise.
29505 * loader/xnu.c: Likewise.
29506 * loader/xnu_resume.c: Likewise.
29507 * io/gzio.c: Likewise.
29508 * term/efi/console.c: Likewise.
29509 * term/terminfo.c: Likewise.
29510 * term/ieee1275/ofconsole.c: Likewise.
29511 * term/i386/pc/serial.c: Likewise.
29512 * term/i386/pc/vesafb.c: Likewise.
29513 * term/i386/pc/vga.c: Likewise.
29514 * term/usb_keyboard.c: Likewise.
29515 * term/gfxterm.c: Likewise.
29516 * aclocal.m4: Likewise.
29517 * util/lvm.c: Likewise.
29518 * util/grub.d/30_os-prober.in: Likewise.
29519 * util/grub.d/10_hurd.in: Likewise.
29520 * util/console.c: Likewise.
29521 * util/grub-macho2img.c: Likewise.
29522 * util/grub-probe.c: Likewise.
29523 * util/hostfs.c: Likewise.
29524 * util/i386/pc/grub-mkimage.c: Likewise.
29525 * util/i386/pc/grub-setup.c: Likewise.
29526 * util/i386/efi/grub-mkimage.c: Likewise.
29527 * util/grub-mkconfig.in: Likewise.
29528 * util/raid.c: Likewise.
29529 * util/resolve.c: Likewise.
29530 * util/grub-mkdevicemap.c: Likewise.
29531 * util/grub-emu.c: Likewise.
29532 * util/getroot.c: Likewise.
29533 * util/hostdisk.c: Likewise.
29534 * util/usb.c: Likewise.
29535 * util/grub-editenv.c: Likewise.
29536 * util/misc.c: Likewise.
29537
29538 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29539
29540 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29541 `genparttoollist.sh'.
29542 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29543 Add `*.sh' to the list find searches for and change `mdate.sh'
29544 to `mdate-sh'.
29545
29546 2009-06-10 Pavel Roskin <proski@gnu.org>
29547
29548 * include/grub/multiboot2.h: Provide compatibility defines for
29549 multiboot2.h.
29550 * include/multiboot2.h: Include stdint.h only if needed, using
29551 angle brackets.
29552 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29553 grub/multiboot2.h.
29554 * loader/ieee1275/multiboot2.c: Likewise.
29555 * loader/multiboot2.c: Likewise.
29556 * loader/multiboot_loader.c: Likewise.
29557
29558 * configure.ac: Use -nostdlib when probing for the target. It
29559 should not be required to have libc for the target.
29560
29561 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29562 they fail without libc headers for the target.
29563 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29564 exports.
29565 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29566 preprocessor conditionals.
29567
29568 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29569 build system doesn't need to be aware of the tar.c internals.
29570
29571 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
29572
29573 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
29574
29575 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29576
29577 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29578 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29579
29580 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
29581
29582 * util/i386/pc/grub-install.in: Change the error message if UUIDs
29583 aren't available if ata.mod gets used.
29584
29585 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
29586
29587 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
29588 initialising controller.
29589 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29590
29591 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29592
29593 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29594 to choose between ata and biosdisk module on i386-pc.
29595
29596 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
29597
29598 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29599 Subclass and Programming Interface fields in terms of the 3 byte
29600 Class Code register.
29601 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29602
29603 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29604 interface is OHCI. Add grub_dprintf for symmetry with
29605 bus/usb/uhci.c.
29606 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29607 interface is UHCI. Add interf variable for programming
29608 interface. Print interface with class/subclass.
29609
29610 * bus/usb/ohci.c: Set interf with correct field.
29611
29612 * bus/usb/uhci.c: Remove unneeded doubled lines.
29613 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29614 Remove whitespace inside comment.
29615
29616 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29617
29618 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29619 as fallback an equivalent option without depth.
29620
29621 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29622
29623 Not fail if unable to retrieve C/H/S on LBA disks
29624
29625 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
29626 if unable to retrieve C/H/S on LBA disks
29627
29628 2009-06-08 Pavel Roskin <proski@gnu.org>
29629
29630 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29631 about aliasing.
29632
29633 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29634
29635 * Makefile.in (uninstall): Remove all $lib_DATA files.
29636
29637 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29638
29639 Bugfix: install on partitionless device
29640
29641 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29642 is a whole disk
29643
29644 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29645
29646 * Makefile.in (uninstall): Remove all $include_DATA files.
29647
29648 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29649
29650 * commands/true.c: New file. Implement the true and false commands.
29651 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29652 (true_mod_SOURCES): New variable.
29653 (true_mod_CFLAGS): Likewise.
29654 (true_mod_LDFLAGS): Likewise.
29655
29656 2009-06-05 Colin D Bennett <colin@gibibit.com>
29657
29658 Optimized font character lookup using binary search instead of linear
29659 search. Fonts now are required to have the character index ordered by
29660 code point.
29661
29662 * font/font.c (load_font_index): Verify that fonts have ordered
29663 character indices.
29664 (find_glyph): Use binary search instead of linear search to find a
29665 character in a font.
29666
29667 2009-06-05 Michael Scherer <misc@mandriva.org>
29668
29669 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29670 uses case sensitive btree.
29671 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29672 only for case insensitive filesystems.
29673
29674 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29675
29676 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29677 * conf/common.rmk (search_mod_CFLAGS): likewise
29678
29679 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29680
29681 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
29682 compensate a compiler bug
29683
29684 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29685
29686 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
29687 instead of '\b'
29688
29689 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29690
29691 Definitions for creating asm symbols with Apple's CC
29692
29693 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29694 [APPLE_CC] (VARIABLE): likewise
29695
29696 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29697
29698 Disable lnxboot.img when compiled
29699 with Apple's CC
29700
29701 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29702 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29703 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29704 [! APPLE_CC] (CODE_LENG): skip
29705 [! APPLE_CC] (setup_sects): likewise
29706 [! APPLE_CC]: skip filling
29707
29708 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29709
29710 Address in trampolines based on 32-bit registers when compiled
29711 with Apple's CC
29712
29713 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
29714 for addresses
29715 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29716
29717 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29718
29719 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29720
29721 * kern/misc.c [APPLE_CC] (memcpy): new function
29722 [APPLE_CC] (memmove): likewise
29723 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
29724 (memcpy): define alias conditionally on !APPLE_CC
29725 (memset): likewise
29726 (abort): likewise
29727 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29728 APPLE_CC are defined
29729 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29730 (grub_assert_fail): make prototype conditional
29731
29732 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29733
29734 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29735
29736 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29737 grub-macho2img
29738 (CLEANFILES): add grub-macho2img
29739 (grub_macho2img_SOURCES): new variable
29740 * kern/i386/pc/startup.S (bss_start): new variable
29741 (bss_end): likewise
29742 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29743 * util/grub-macho2img.c: new file
29744
29745 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29746
29747 Use objconv when compiling with Apple's CC
29748
29749 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29750 (efiemu64.o): likewise
29751 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29752 when compiling with Apple's CC
29753 (efiemu64_s.o): likewise
29754 * configure.ac: check for objconv when compiling with Apple's CC
29755 * genmk.rb: use objconv for modules when compiled with Apple's CC
29756
29757 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29758
29759 Define segment as well as section when compiling with
29760 Apple's CC
29761
29762 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29763 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29764 (efiemu_convert_pointer): likewise
29765 (efiemu_set_virtual_address_map): likewise
29766 (efiemu_convert_pointer): likewise
29767 (efiemu_getcrc32): likewise
29768 (init_crc32_table): likewise
29769 (reflect): likewise
29770 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29771 (GRUB_MOD_DEP): likewise
29772
29773 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29774
29775 Allow a compilation without -mcmodel=large
29776
29777 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29778 when compiled without -mcmodel=large
29779 (filter_memory_map): remove memory post 4 GiB when compiled
29780 without -mcmodel=large
29781 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29782 TARGET_CFLAGS when -mcmodel=large isn't supported
29783
29784 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29785
29786 Remove nested functions in efiemu core
29787
29788 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29789
29790 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29791
29792 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29793
29794 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29795 temporary storage
29796 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29797 using Apple's CC
29798 (grub_cpu_is_tsc_supported): likewise
29799 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29800
29801 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29802
29803 Absolute addressing through constant with Apple's cc
29804
29805 * kern/i386/pc/startup.S: Define necessary constants
29806 and address through it when using ABS with Apple's CC
29807 * boot/i386/pc/diskboot.S: likewise
29808 * boot/i386/pc/boot.S: likewise
29809 * boot/i386/pc/lnxboot.S: likewise
29810 * boot/i386/pc/cdboot.S: likewise
29811 * mmap/i386/pc/mmap_helper.S: likewise
29812 * commands/i386/pc/drivemap_int13h.S: likewise
29813
29814 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29815
29816 Check if compiler is apple cc
29817
29818 * Makefile.in (ASFLAGS): new variable
29819 (TARGET_ASFLAGS): likewise
29820 (TARGET_MODULE_FORMAT): likewise
29821 (TARGET_APPLE_CC): likewise
29822 (OBJCONV): likewise
29823 (TARGET_IMG_CFLAGS): likewise
29824 (TARGET_CPPFLAGS): add includedir
29825 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29826 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29827 Check for linker script only if compiler isn't Apple's CC
29828 (TARGET_MODULE_FORMAT): set
29829 (TARGET_APPLE_CC): likewise
29830 (TARGET_ASFLAGS): likewise
29831 (ASFLAGS): likewise
29832 Check for objcopy only if compiler isn't Apple's CC
29833 Check for BSS symbol only if compiler isn't Apple's CC
29834 * genmk.rb: adapt nm options if we use Apple's utils
29835 * aclocal.m4 (grub_apple_cc): new test
29836 (grub_apple_target_cc): likewise
29837
29838 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29839
29840 Simplify sed expressions and improve awk
29841
29842 * Makefile.in (install-local): simplify sed expression
29843 * gencmdlist.sh: likewise
29844 * genmoddep.awk: avoid adding module as a dependency of itself
29845
29846 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29847
29848 Add missing start symbols
29849
29850 * boot/i386/pc/boot.S: add start
29851 * boot/i386/pc/pxeboot.S: likewise
29852
29853 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29854
29855 Fix wrong assumptions with grub-mkimage on EFI
29856
29857 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29858 (relocate_addresses): consider both r_addend and value at offset
29859 (make_mods_section): zerofill modinfo and header
29860 (convert_elf): write prefix here
29861
29862 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29863
29864 Use .asciz instead of .string
29865
29866 * i386/pc/diskboot.S: use .asciz instead of .string
29867 * i386/pc/boot.S: likewise
29868 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29869 (GRUB_MOD_NAME): likewise
29870
29871 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29872
29873 gfxpayload support
29874
29875 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29876 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29877 (grub_video_setup): remove
29878 (grub_video_set_mode): new prototype
29879 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29880 (vid_mode): remove
29881 (linux_vesafb_res): compile only on PCBIOS
29882 (grub_linux_boot): support gfxpayload
29883 * loader/i386/pc/xnu.c (video_hook): new function
29884 (grub_xnu_set_video): support gfxpayload
29885 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29886 (DEFAULT_VIDEO_HEIGHT): likewise
29887 (DEFAULT_VIDEO_FLAGS): likewise
29888 (DEFAULT_VIDEO_MODE): new definition
29889 (video_hook): new function
29890 (grub_gfxterm_init): use grub_video_set_mode
29891 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29892 loading xnu
29893 * video/video.c (grub_video_setup): removed
29894 (grub_video_set_mode): new function based on grub_gfxterm_init and
29895 grub_video_setup
29896
29897 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29898
29899 Avoid calling biosdisk in drivemap
29900
29901 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29902 (revparse_biosdisk): likewise
29903 (list_mappings): derive name from id directly
29904 (grub_cmd_drivemap): use tryparse_diskstring
29905
29906 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29907
29908 Script fixes
29909
29910 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29911 (grub_lexer_param): add tokenonhold
29912 (grub_script_create_cmdline): remove cmdline. All callers updated
29913 (grub_script_function_create): make functionname
29914 grub_script_arg. All callers updated
29915 (grub_script_execute_argument_to_string): new prototype
29916 * kern/parser.c (state_transitions): reorder
29917 (grub_parser_cmdline_state): fix a bug and make more compact
29918 * script/sh/execute.c (grub_script_execute_argument_to_string):
29919 make global
29920 (grub_script_execute_cmdline): use new format
29921 * script/sh/function.c (grub_script_function_create): make functionname
29922 grub_script_arg. All callers updated
29923 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29924 (grub_script_yylex): remove
29925 (grub_script_yylex2): renamed to ...
29926 (grub_script_yylex): ...renamed
29927 parse the expressions like a${b}c
29928 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29929 (GRUB_PARSER_TOKEN_VAR): remove
29930 (GRUB_PARSER_TOKEN_NAME): likewise
29931 ("if"): declare as typeless
29932 ("while"): likewise
29933 ("function"): likewise
29934 ("else"): likewise
29935 ("then"): likewise
29936 ("fi"): likewise
29937 (text): remove
29938 (argument): likewise
29939 (script): accept empty scripts and make exit on error
29940 (arguments): use GRUB_PARSER_TOKEN_ARG
29941 (function): likewise
29942 (command): move error handling to script
29943 (menuentry): move grub_script_lexer_ref before
29944 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29945 argument. All callers updated
29946
29947 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29948
29949 Prevent GRUB from probing floppies during boot.
29950
29951 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29952 * commands/search.c (options): Add --no-floppy.
29953 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29954 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29955 --no-floppy when searching for UUIDs.
29956
29957 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29958
29959 Simplify the code duplication in commands/search.c.
29960
29961 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29962 (search_fs): ... this. Update all users.
29963
29964 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29965
29966 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29967
29968 2009-05-28 Pavel Roskin <proski@gnu.org>
29969
29970 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29971 Remove the original symlink explicitly.
29972
29973 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29974 just one slash. That's how grub_fshelp_find_file() does it.
29975
29976 2009-05-26 Pavel Roskin <proski@gnu.org>
29977
29978 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29979 to `str'.
29980
29981 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29982 possibly unused.
29983
29984 2009-05-25 Christian Franke <franke@computer.org>
29985
29986 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29987 register.
29988 (grub_atapi_identify): Add wait after drive select.
29989 (grub_ata_identify): Do more strict status register check before
29990 calling grub_atapi_identify (). Suppress error message if status
29991 register is 0x00 after command failure. Add status register
29992 check after PIO read to avoid bogus identify due to stuck DRQ.
29993 Thanks to Pavel Roskin for testing.
29994 (grub_device_initialize): Remove unsafe status register check.
29995 Thanks to 'phcoder' for problem report and patch.
29996 Prevent sign extension in debug message.
29997
29998 2009-05-23 Colin D Bennett <colin@gibibit.com>
29999
30000 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30001 definition file, and functions defined in `normal/menu.c' have had
30002 their prototypes moved to `include/grub/menu.h' for consistency.
30003
30004 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30005 from normal.h.
30006 (grub_menu_get_entry): Likewise.
30007 (grub_menu_get_timeout): Likewise.
30008 (grub_menu_set_timeout): Likewise.
30009 (grub_menu_execute_entry): Likewise.
30010 (grub_menu_execute_with_fallback): Likewise.
30011 (grub_menu_entry_run): Likewise.
30012
30013 * include/grub/normal.h: Re-ordered and grouped function
30014 prototypes by file that the function is defined in.
30015 (grub_menu_execute_callback): Removed; moved to menu.h.
30016 (grub_menu_get_entry): Likewise.
30017 (grub_menu_get_timeout): Likewise.
30018 (grub_menu_set_timeout): Likewise.
30019 (grub_menu_execute_entry): Likewise.
30020 (grub_menu_execute_with_fallback): Likewise.
30021 (grub_menu_entry_run): Likewise.
30022 (grub_menu_addentry): Renamed from this ...
30023 (grub_normal_add_menu_entry): ... to this.
30024
30025 * normal/main.c (grub_menu_addentry): Renamed from this ...
30026 (grub_normal_add_menu_entry): ... to this.
30027
30028 * script/sh/execute.c (grub_script_execute_menuentry): Update
30029 reference to renamed grub_menu_addentry function.
30030
30031 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
30032
30033 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30034
30035 2009-05-22 Pavel Roskin <proski@gnu.org>
30036
30037 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30038 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30039 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30040 compiling for the i386 targets, but not for the utilities.
30041
30042 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30043 to grub_uint8_t.
30044 (grub_root_drive): Likewise.
30045 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30046 remove alignment.
30047 (grub_root_drive): Change size to byte.
30048 (grub_start_addr): Remove.
30049 (grub_end_addr): Likewise.
30050 (grub_apm_bios_info): Likewise.
30051
30052 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
30053
30054 * normal/i386: Remove.
30055 * normal/powerpc: Likewise.
30056 * normal/sparc64: Likewise.
30057 * normal/x86_64: Likewise.
30058
30059 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30060
30061 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
30062 * loader/i386/linux_trampoline.S: Fix indentation
30063 * loader/i386/xnu_helper.S: Likewise
30064
30065 2009-05-18 Colin D Bennett <colin@gibibit.com>
30066
30067 Display error messages when parsing a Lua statement fails.
30068 Previously, executing a syntactically invalid statement like
30069 ")foo" or "bar;" would silently fail.
30070
30071 * script/lua/grub_main.c (handle_lua_error): New function.
30072 (grub_lua_parse_line): Improved reporting of Lua parser and
30073 execution errors.
30074
30075 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30076
30077 Remove -Werror which causes build to fail on some systems
30078
30079 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30080 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30081 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
30082
30083 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30084
30085 trampoline for linux on 64-bit platform
30086
30087 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30088 loader/i386/efi/linux_trampoline.S
30089 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
30090 declaration
30091 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30092 here
30093 * loader/i386/linux_trampoline.S: moved here
30094 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30095 trampoline
30096 (jumpvector): removed
30097 (grub_linux_trampoline_start): new declaration
30098 (grub_linux_trampoline_end): likewise
30099 (grub_linux_boot): use trampoline when on 64-bit platform
30100 * loader/i386/linux.c: likewise
30101
30102 2009-05-16 Pavel Roskin <proski@gnu.org>
30103
30104 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30105 const to avoid a warning.
30106 (grub_lua_setenv): Likewise.
30107 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30108 lmsg to fix a warning.
30109
30110 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30111
30112 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
30113 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30114 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30115 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30116 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30117 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30118 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30119 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30120
30121 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30122
30123 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30124
30125 2009-05-16 Bean <bean123ch@gmail.com>
30126
30127 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30128 (lua_mod_SOURCES): New variable.
30129 (lua_mod_CFLAGS): Likewise.
30130 (lua_mod_LDFLAGS): Likewise.
30131
30132 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30133 (setjmp_mod_SOURCES): New variable.
30134 (setjmp_mod_CFLAGS): Likewise.
30135 (setjmp_LDFLAGS): Likewise.
30136
30137 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30138 (setjmp_mod_SOURCES): New variable.
30139 (setjmp_mod_CFLAGS): Likewise.
30140 (setjmp_LDFLAGS): Likewise.
30141
30142 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30143 (setjmp_mod_SOURCES): New variable.
30144 (setjmp_mod_CFLAGS): Likewise.
30145 (setjmp_LDFLAGS): Likewise.
30146
30147 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30148 (setjmp_mod_SOURCES): New variable.
30149 (setjmp_mod_CFLAGS): Likewise.
30150 (setjmp_LDFLAGS): Likewise.
30151
30152 * normal/i386/setjmp.S: Moved from here ...
30153 * lib/i386/setjmp.S: ... Moved here
30154 * normal/x86_64/setjmp.S: Moved from here ...
30155 * lib/x86_64/setjmp.S: ... Moved here
30156 * normal/powerpc/setjmp.S: Moved from here ...
30157 * lib/powerpc/setjmp.S: ... Moved here
30158 * normal/sparc64/setjmp.S: Moved from here ...
30159 * lib/sparc64/setjmp.S: ... Moved here
30160
30161 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30162 returns_twice in mingw.
30163
30164 * script/lua/grub_lib.c: New file.
30165 * script/lua/grub_lib.h: Likewise.
30166 * script/lua/grub_lua.h: Likewise.
30167 * script/lua/grub_main.c: Likewise.
30168 * script/lua/lapi.c: Likewise.
30169 * script/lua/lapi.h: Likewise.
30170 * script/lua/lauxlib.c: Likewise.
30171 * script/lua/lauxlib.h: Likewise.
30172 * script/lua/lbaselib.c: Likewise.
30173 * script/lua/lcode.c: Likewise.
30174 * script/lua/lcode.h: Likewise.
30175 * script/lua/ldblib.c: Likewise.
30176 * script/lua/ldebug.c: Likewise.
30177 * script/lua/ldebug.h: Likewise.
30178 * script/lua/ldo.c: Likewise.
30179 * script/lua/ldo.h: Likewise.
30180 * script/lua/ldump.c: Likewise.
30181 * script/lua/lfunc.c: Likewise.
30182 * script/lua/lfunc.h: Likewise.
30183 * script/lua/lgc.c: Likewise.
30184 * script/lua/lgc.h: Likewise.
30185 * script/lua/linit.c: Likewise.
30186 * script/lua/liolib.c: Likewise.
30187 * script/lua/llex.c: Likewise.
30188 * script/lua/llex.h: Likewise.
30189 * script/lua/llimits.h: Likewise.
30190 * script/lua/lmathlib.c: Likewise.
30191 * script/lua/lmem.c: Likewise.
30192 * script/lua/lmem.h: Likewise.
30193 * script/lua/loadlib.c: Likewise.
30194 * script/lua/lobject.c: Likewise.
30195 * script/lua/lobject.h: Likewise.
30196 * script/lua/lopcodes.c: Likewise.
30197 * script/lua/lopcodes.h: Likewise.
30198 * script/lua/loslib.c: Likewise.
30199 * script/lua/lparser.c: Likewise.
30200 * script/lua/lparser.h: Likewise.
30201 * script/lua/lstate.c: Likewise.
30202 * script/lua/lstate.h: Likewise.
30203 * script/lua/lstring.c: Likewise.
30204 * script/lua/lstring.h: Likewise.
30205 * script/lua/lstrlib.c: Likewise.
30206 * script/lua/ltable.c: Likewise.
30207 * script/lua/ltable.h: Likewise.
30208 * script/lua/ltablib.c: Likewise.
30209 * script/lua/ltm.c: Likewise.
30210 * script/lua/ltm.h: Likewise.
30211 * script/lua/lua.h: Likewise.
30212 * script/lua/luaconf.h: Likewise.
30213 * script/lua/lualib.h: Likewise.
30214 * script/lua/lundump.c: Likewise.
30215 * script/lua/lundump.h: Likewise.
30216 * script/lua/lvm.c: Likewise.
30217 * script/lua/lvm.h: Likewise.
30218 * script/lua/lzio.c: Likewise.
30219 * script/lua/lzio.h: Likewise.
30220
30221 2009-05-16 Bean <bean123ch@gmail.com>
30222
30223 * include/grub/kernel.h (grub_module_header_types): Add type
30224 OBJ_TYPE_CONFIG.
30225
30226 * kern/main.c (grub_load_config): New function.
30227 (grub_main): Call grub_load_config to read boot config.
30228
30229 * grub-mkimage (generate_image): New parameter config_path.
30230 (options): New option --config.
30231 (main): Parse --config option, and pass it to generate_image.
30232
30233 2009-05-14 Christian Franke <franke@computer.org>
30234
30235 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30236 This fixes build on Cygwin.
30237
30238 2009-05-14 Pavel Roskin <proski@gnu.org>
30239
30240 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30241 jump. This saves two bytes, so the typical case of 2 swapped
30242 drives would fit 32 bytes.
30243
30244 2009-05-13 Pavel Roskin <proski@gnu.org>
30245
30246 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30247 grub_uint32_t to avoid a warning.
30248
30249 * loader/i386/linux.c (allocate_pages): When assigning
30250 real_mode_mem, cast through grub_size_t to fix a warning. The
30251 code already makes sure that the value would fit a pointer.
30252 (grub_linux_setup_video): Cast render_target->data to
30253 grub_size_t to fix a warning.
30254
30255 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30256
30257 * commands/i386/pc/drivemap.c: New file - implement drivemap
30258 command.
30259 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30260 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30261
30262 2009-05-13 Pavel Roskin <proski@gnu.org>
30263
30264 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30265 embedding_area_exists.
30266
30267 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30268
30269 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30270 it easier to understand / work with.
30271 Improve warning messages for cases where there's no embedding area,
30272 or when it is too small (or core.img too large).
30273
30274 2009-05-13 Pavel Roskin <proski@gnu.org>
30275
30276 * loader/i386/pc/multiboot2.c: Add necessary includes for
30277 grub_multiboot2_real_boot().
30278
30279 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30280 PX record is always little-endian. We only need the lower 2
30281 bytes of the mode.
30282
30283 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30284 facilitate code reuse.
30285 (grub_cpio_mount): Use "struct head", not a char buffer. This
30286 fixes a warning reported by gcc 4.4.
30287
30288 * kernel/disk.c (grub_disk_read): Use void pointer for the
30289 buffer.
30290 (grub_disk_write): Use const void pointer for the buffer.
30291 Adjust all callers. Remove unnecessary casts.
30292
30293 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30294
30295 * util/i386/pc/grub-install.in: Update copyright year.
30296
30297 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30298
30299 gptsync
30300
30301 * commands/gptsync.c: new file
30302 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30303 (gptsync_mod_SOURCES): new variable
30304 (gptsync_mod_CFLAGS): likewise
30305 (gptsync_mod_LDFLAGS): likewise
30306 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30307 new definition
30308 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30309 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30310 * conf/i386-ieee1275.rmk: likewise
30311 * conf/i386-pc.rmk: likewise
30312 * conf/powerpc-ieee1275.rmk: likewise
30313
30314 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30315
30316 Fixed grub-emu
30317
30318 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30319 (grub_dl_ref): likewise
30320
30321 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30322
30323 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30324 split in two functions (one for msdos and one for gpt).
30325
30326 2009-05-08 Pavel Roskin <proski@gnu.org>
30327
30328 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30329 not modified.
30330
30331 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30332 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30333 Initialize them with -1. Add sanity check for bad1. Eliminate
30334 nerr variable.
30335
30336 2009-05-08 David S. Miller <davem@davemloft.net>
30337
30338 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30339
30340 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30341
30342 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30343 existence.
30344
30345 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30346
30347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30348 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30349
30350 2009-05-05 David S. Miller <davem@davemloft.net>
30351
30352 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30353
30354 2009-05-05 Pavel Roskin <proski@gnu.org>
30355
30356 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30357 of grub_dl_ref() and grub_dl_unref().
30358 * commands/parttool.c: Remove preprocessor conditionals around
30359 grub_dl_ref() and grub_dl_unref().
30360 * fs/affs.c: Likewise.
30361 * fs/afs.c: Likewise.
30362 * fs/cpio.c: Likewise.
30363 * fs/ext2.c: Likewise.
30364 * fs/fat.c: Likewise.
30365 * fs/hfs.c: Likewise.
30366 * fs/hfsplus.c: Likewise.
30367 * fs/iso9660.c: Likewise.
30368 * fs/jfs.c: Likewise.
30369 * fs/minix.c: Likewise.
30370 * fs/ntfs.c: Likewise.
30371 * fs/reiserfs.c: Likewise.
30372 * fs/sfs.c: Likewise.
30373 * fs/udf.c: Likewise.
30374 * fs/ufs.c: Likewise.
30375 * fs/xfs.c: Likewise.
30376 * include/grub/dl.h: Likewise.
30377 * loader/xnu.c: Likewise.
30378
30379 2009-05-04 Pavel Roskin <proski@gnu.org>
30380
30381 * commands/acpi.c: Remove unused variable my_mod.
30382 * partmap/amiga.c: Likewise.
30383 * partmap/apple.c: Likewise.
30384 * partmap/gpt.c: Likewise.
30385 * partmap/pc.c: Likewise.
30386 * partmap/sun.c: Likewise.
30387 * term/gfxterm.c: Likewise.
30388 * term/i386/pc/vesafb.c: Likewise.
30389 * term/i386/pc/vga.c: Likewise.
30390
30391 2009-05-04 David S. Miller <davem@davemloft.net>
30392
30393 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30394 pointer args to grub_ieee1275_get_property().
30395
30396 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30397
30398 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30399 devices, and do not traverse down under controller nodes.
30400
30401 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30402 (grub_ofdisk_open): Use it to un-escape "," characters.
30403 * kern/disk.c (find_part_sep): New.
30404 (grub_disk_open): Use it to find the first non-escaped ','
30405 character in the disk name.
30406 * util/ieee1275/devicemap.c (escape_of_path): New.
30407 (grub_util_emit_devicemap_entry): Use it.
30408 * util/sparc64/ieee1275/grub-install.in: Update script to
30409 strip partition specifiers properly by not triggering on
30410 '\' escaped ',' characters.
30411
30412 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30413
30414 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30415 to 0x300.
30416 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30417 resolutions.
30418 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30419 on documentation from Wikipedia).
30420
30421 2009-05-04 Pavel Roskin <proski@gnu.org>
30422
30423 * disk/ata.c: Spelling fixes.
30424 * disk/raid.c: Likewise.
30425 * disk/usbms.c: Likewise.
30426 * disk/dmraid_nvidia.c: Likewise.
30427 * kern/ieee1275/openfw.c: Likewise.
30428 * kern/ieee1275/init.c: Likewise.
30429 * kern/ieee1275/cmain.c: Likewise.
30430 * boot/i386/pc/cdboot.S: Likewise.
30431 * video/readers/png.c: Likewise.
30432 * video/i386/pc/vbe.c: Likewise.
30433 * fs/udf.c: Likewise.
30434 * fs/hfs.c: Likewise.
30435 * fs/reiserfs.c: Likewise.
30436 * efiemu/runtime/efiemu.c: Likewise.
30437 * efiemu/main.c: Likewise.
30438 * efiemu/mm.c: Likewise.
30439 * include/grub/elf.h: Likewise.
30440 * include/grub/xnu.h: Likewise.
30441 * include/grub/usbdesc.h: Likewise.
30442 * include/grub/usb.h: Likewise.
30443 * include/grub/script_sh.h: Likewise.
30444 * include/grub/lib/LzmaEnc.h: Likewise.
30445 * include/grub/efiemu/efiemu.h: Likewise.
30446 * include/grub/command.h: Likewise.
30447 * normal/menu.c: Likewise.
30448 * normal/main.c: Likewise.
30449 * normal/datetime.c: Likewise.
30450 * bus/usb/uhci.c: Likewise.
30451 * mmap/i386/uppermem.c: Likewise.
30452 * mmap/mmap.c: Likewise.
30453 * commands/acpi.c: Likewise.
30454 * commands/test.c: Likewise.
30455 * partmap/apple.c: Likewise.
30456 * font/font.c: Likewise.
30457 * loader/sparc64/ieee1275/linux.c: Likewise.
30458 * loader/macho.c: Likewise.
30459 * loader/i386/bsd_trampoline.S: Likewise.
30460 * loader/i386/bsd.c: Likewise.
30461 * loader/xnu.c: Likewise.
30462 * term/i386/pc/vesafb.c: Likewise.
30463 * term/usb_keyboard.c: Likewise.
30464 * util/resolve.c: Likewise.
30465 * util/getroot.c: Likewise.
30466
30467 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30468
30469 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30470
30471 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30472
30473 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30474 build error.
30475
30476 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30477
30478 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30479 parameter only available on BIOS.
30480
30481 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30482
30483 Removed wrong semicolon in declaration
30484
30485 * grub/misc.h (grub_dprintf): remove semicolon
30486
30487 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30488
30489 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30490 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30491 is done by grub_cmd_linux() now).
30492 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30493 restore video to text mode.
30494 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30495 indicates lack of "vga=" parameter. "vga=0" is mapped to
30496 `GRUB_LINUX_VID_MODE_NORMAL'.
30497
30498 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30499
30500 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30501 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30502 and `normal/script.c'. Add `kern/rescue_reader.c',
30503 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
30504 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30505 `grub_script.tab.c'.
30506
30507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30508 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30510 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30511 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30512
30513 * Makefile.in: Remove duplicated 2008 in Copyright line.
30514
30515 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30516
30517 * util/misc.c (grub_util_warn): New function. Emits a warning
30518 unconditionally.
30519 * include/grub/util/misc.h (grub_util_warn): New declaration.
30520
30521 * util/i386/pc/grub-install.in: Understand --force and pass it down
30522 to grub-setup.
30523
30524 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30525 down to setup().
30526 (setup): Improve error messages and add warnings when requested to
30527 install in odd layouts. Refuse to install using blocklists unless
30528 --force was set.
30529
30530 2009-05-04 martin f. krafft <madduck@madduck.net>
30531
30532 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30533
30534 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30535
30536 Updated copyright year
30537
30538 * fs/hfsplus.c: updated copyright year
30539
30540 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30541
30542 HFS+ UUID
30543
30544 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
30545 in the space previously used by unused3
30546 (grub_hfsplus_uuid): new function
30547 (grub_hfsplus_fs): added uuid field
30548
30549 2009-05-03 Pavel Roskin <proski@gnu.org>
30550
30551 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30552 suppress warnings. It's no longer needed.
30553 * disk/host.c: Likewise.
30554 * disk/ata_pthru.c: Likewise.
30555 * disk/loopback.c: Likewise.
30556 * hook/datehook.c: Likewise.
30557 * parttool/pcpart.c: Likewise.
30558 * fs/i386/pc/pxe.c: Likewise.
30559 * fs/ntfscomp.c: Likewise.
30560 * efiemu/main.c: Likewise.
30561 * mmap/mmap.c: Likewise.
30562 * commands/crc.c: Likewise.
30563 * commands/hexdump.c: Likewise.
30564 * commands/hdparm.c: Likewise.
30565 * commands/acpi.c: Likewise.
30566 * commands/echo.c: Likewise.
30567 * commands/minicmd.c: Likewise.
30568 * commands/blocklist.c: Likewise.
30569 * commands/memrw.c: Likewise.
30570 * commands/loadenv.c: Likewise.
30571 * commands/usbtest.c: Likewise.
30572 * commands/lsmmap.c: Likewise.
30573 * commands/boot.c: Likewise.
30574 * commands/parttool.c: Likewise.
30575 * commands/configfile.c: Likewise.
30576 * commands/search.c: Likewise.
30577 * commands/ieee1275/suspend.c: Likewise.
30578 * commands/cat.c: Likewise.
30579 * commands/i386/pc/pxecmd.c: Likewise.
30580 * commands/i386/pc/play.c: Likewise.
30581 * commands/i386/pc/halt.c: Likewise.
30582 * commands/i386/pc/vbeinfo.c: Likewise.
30583 * commands/i386/pc/vbetest.c: Likewise.
30584 * commands/lspci.c: Likewise.
30585 * commands/date.c: Likewise.
30586 * commands/handler.c: Likewise.
30587 * commands/ls.c: Likewise.
30588 * commands/test.c: Likewise.
30589 * commands/cmp.c: Likewise.
30590 * commands/efi/loadbios.c: Likewise.
30591 * commands/efi/fixvideo.c: Likewise.
30592 * commands/halt.c: Likewise.
30593 * commands/help.c: Likewise.
30594 * commands/reboot.c: Likewise.
30595 * hello/hello.c: Likewise.
30596 * script/sh/main.c: Likewise.
30597 * loader/xnu.c: Likewise.
30598 * term/terminfo.c: Likewise.
30599 * term/i386/pc/serial.c: Likewise.
30600 * term/usb_keyboard.c: Likewise.
30601
30602 2009-05-03 David S. Miller <davem@davemloft.net>
30603
30604 * normal/menu.c: Include grub/parser.h
30605
30606 2009-05-03 Pavel Roskin <proski@gnu.org>
30607
30608 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30609 not char*.
30610 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30611 Suggested by Javier Martín <lordhabbit@gmail.com>
30612
30613 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30614 efiemu??.o doesn't exist.
30615 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30616 copying.
30617
30618 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
30619
30620 FreeBSD 64-bit support
30621
30622 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
30623 and loader/i386/bsd_trampoline.S
30624 (bsd_mod_ASFLAGS): new variable
30625 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30626 (FREEBSD_MODTYPE_KERNEL64): likewise
30627 (grub_bsd64_trampoline_start): likewise
30628 (grub_bsd64_trampoline_end): likewise
30629 (grub_bsd64_trampoline_selfjump): likewise
30630 (grub_bsd64_trampoline_gdt): likewise
30631 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30632 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30633 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30634 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
30635 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30636 of "attrib" member
30637 * loader/i386/bsd_pagetable.c: new file
30638 * loader/i386/bsd_trampoline.S: likewise
30639 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30640 (ALIGN_VAR): likewise
30641 (entry_hi): new variable
30642 (kern_end_mdofs): likewise
30643 (is_64bit): likewise
30644 (grub_freebsd_add_meta): use ALIGN_VAR
30645 (grub_e820_mmap): new declaration
30646 (grub_freebsd_add_mmap): new function
30647 (grub_freebsd_add_meta_module): support 64 bit kernels
30648 (grub_freebsd_list_modules): use ALIGN_VAR
30649 (gdt_descriptor): new declaration
30650 (grub_freebsd_boot): support 64 bit kernels
30651 (grub_bsd_elf64_hook): new function
30652 (grub_bsd_load_elf): support elf64
30653
30654 2009-05-03 Bean <bean123ch@gmail.com>
30655
30656 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30657 after we get the result of if statement.
30658
30659 2009-05-03 Bean <bean123ch@gmail.com>
30660
30661 * Makefile.in (enable_efiemu): New variable.
30662
30663 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30664 set.
30665 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30666 path.
30667 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30668 path, add -mno-red-zone option.
30669 (efiemu64_s.o): Likewise.
30670 (efiemu64.o): Use macro $^ for source file.
30671
30672 * configure.ac (--enable-efiemu): New option.
30673
30674 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30675
30676 xnu support
30677
30678 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30679 (pkglib_MODULES): add xnu.mod
30680 (xnu_mod_SOURCES): new variable
30681 (xnu_mod_CFLAGS): likewise
30682 (xnu_mod_LDFLAGS): likewise
30683 (xnu_mod_ASFLAGS): likewise
30684 * conf/i386-pc.rmk: likewise
30685 * conf/x86_64-efi.rmk: likewise
30686 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
30687 new declaration
30688 * include/grub/i386/macho.h: new file
30689 * include/grub/i386/xnu.h: likewise
30690 * include/grub/macho.h: likewise
30691 * include/grub/machoload.h: likewise
30692 * include/grub/x86_64/macho.h: likewise
30693 * include/grub/x86_64/xnu.h: likewise
30694 * include/grub/xnu.h: likewise
30695 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30696 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30697 * loader/i386/efi/xnu.c: new file
30698 * loader/i386/pc/xnu.c: likewise
30699 * loader/i386/xnu.c: likewise
30700 * loader/i386/xnu_helper.S: likewise
30701 * loader/macho.c: likewise
30702 * loader/xnu.c: likewise
30703 * loader/xnu_resume.c: likewise
30704 * util/grub-dumpdevtree: likewise
30705 * include/grub/i386/pit.h: include grub/err.h
30706 (grub_pit_wait): export
30707 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
30708
30709 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30710
30711 Efiemu
30712
30713 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
30714 _linux_efi, linux_efi.
30715 new files in grub-emu
30716 new targets efiemu32.o and efiemu64.o
30717 * loader/linux_normal_efiemu.c: likewise
30718 * loader/i386/efi/linux.c: added preliminary efiemu support
30719 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
30720 files to copy
30721 * include/grub/autoefi.h: new file
30722 * include/grub/i386/efiemu.h: likewise
30723 * include/grub/i386/pc/efiemu.h: likewise
30724 * include/grub/efi/api.h: add LL suffix when necessary
30725 new definitions relating to tables
30726 * include/grub/efiemu/efiemu.h: new file
30727 * include/grub/efiemu/runtime.h: likewise
30728 * efiemu/prepare.c: likewise
30729 * efiemu/loadcore_common.c: likewise
30730 * efiemu/loadcore64.c: likewise
30731 * efiemu/runtime/efiemu.sh: likewise
30732 * efiemu/runtime/efiemu.S: likewise
30733 * efiemu/runtime/efiemu.c: likewise
30734 * efiemu/runtime/config.h: likewise
30735 * efiemu/prepare32.c: likewise
30736 * efiemu/main.c: likewise
30737 * efiemu/modules/pnvram.c: likewise
30738 * efiemu/modules/i386: likewise
30739 * efiemu/modules/i386/pc: likewise
30740 * efiemu/modules/acpi.c: likewise
30741 * efiemu/i386/pc/cfgtables.c: likewise
30742 * efiemu/i386/loadcore64.c: likewise
30743 * efiemu/i386/loadcore32.c: likewise
30744 * efiemu/prepare64.c: likewise
30745 * efiemu/loadcore.c: likewise
30746 * efiemu/symbols.c: likewise
30747 * efiemu/mm.c: likewise
30748 * efiemu/loadcore32.c: likewise
30749
30750 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30751
30752 ACPI spoofing
30753
30754 * commands/acpi.c: new file
30755 * commands/i386/pc/acpi.c: likewise
30756 * commands/efi/acpi.c: likewise
30757 * include/grub/acpi.h: likewise
30758 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30759 (acpi_mod_SOURCES): new variable
30760 (acpi_mod_CFLAGS): likewise
30761 (acpi_mod_LDFLAGS): likewise
30762 * conf/i386-efi.rmk: likewise
30763 * conf/x86_64-efi.rmk: likewise
30764
30765 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30766
30767 Missing part from mmap patch
30768
30769 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30770 (grub_mmap_unregister)
30771 (grub_mmap_free_and_unregister): use grub_mmap_register
30772
30773 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30774
30775 Mmap services
30776
30777 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30778 * loader/i386/linux.c (find_mmap_size): likewise
30779 (allocate_pages): likewise
30780 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30781 (grub_fill_multiboot_mmap): likewise
30782 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30783 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30784 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30785 (OPENBSD_MMAP_RESERVED): likewise
30786 * include/grub/i386/pc/memory.h: include grub/memory.h
30787 (grub_lower_mem): removed
30788 (grub_upper_mem): likewise
30789 (GRUB_MACHINE_MEMORY_ACPI): new definition
30790 (GRUB_MACHINE_MEMORY_NVS): likewise
30791 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30792 (GRUB_MACHINE_MEMORY_HOLE): likewise
30793 (grub_machine_mmap_register): likewise
30794 (grub_machine_mmap_unregister): likewise
30795 (grub_machine_get_upper): likewise
30796 (grub_machine_get_lower): likewise
30797 (grub_machine_get_post64): likewise
30798 * include/grub/i386/efi/memory.h: new file
30799 * include/grub/x86_64/efi/memory.h: likewise
30800 * include/grub/efi/memory.h: likewise
30801 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30802 (mmap_mod_SOURCES): new variable
30803 (mmap_mod_LDFLAGS): likewise
30804 (mmap_mod_ASFLAGS): likewise
30805 * conf/i386-coreboot.rmk: likewise
30806 * conf/i386-ieee1275.rmk: likewise
30807 * conf/i386-efi.rmk: likewise
30808 * conf/x86_64-efi.rmk: likewise
30809 * include/grub/types.h (UINT_TO_PTR): new macro
30810 (PTR_TO_UINT32): likewise
30811 (PTR_TO_UINT64): likewise
30812 * include/grub/memory.h: new file
30813 * mmap/i386/pc/mmap.c: likewise
30814 * mmap/i386/pc/mmap_helper.S: likewise
30815 * mmap/i386/uppermem.c: likewise
30816 * mmap/mmap.c: likewise
30817 * mmap/efi/mmap.c: likewise
30818 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30819 grub_upper_mem
30820 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30821 (grub_upper_mem): likewise
30822 (grub_machine_init): don't use grub_upper_mem,
30823 make grub_lower_mem local
30824 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30825 grub_mmap_iterate and grub_mmap_get_upper
30826 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30827
30828 2009-05-02 Bean <bean123ch@gmail.com>
30829
30830 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30831 script/sh/parser.y.
30832 (pkglib_MODULES): Add normal.mod and sh.mod.
30833 (normal_SOURCES): New variable.
30834 (normal_mod_CFLAGS): Likewise.
30835 (normal_mod_LDFLAGS): Likewise.
30836 (sh_mod_SOURCES): Likewise.
30837 (sh_mod_CFLAGS): Likewise.
30838 (sh_mod_LDFLAGS): Likewise.
30839
30840 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30841 script/sh/lexer.c_DEPENDENCIES.
30842 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30843 kern/rescue_reader.c and kern/rescue_parser.c.
30844 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30845 (grub_emu_SOURCES): Change source files.
30846 (pkglib_MODULES): Remove normal.mod.
30847 (normal_SOURCES): Removed.
30848 (normal_mod_CFLAGS): Likewise.
30849 (normal_mod_LDFLAGS): Likewise.
30850 * conf/i386-coreboot.rmk: Likewise.
30851 * conf/i386-efi.rmk: Likewise.
30852 * conf/i386-ieee1276.rmk: Likewise.
30853 * conf/powerpc-ieee1275.rmk: Likewise.
30854 * conf/sparc64-ieee1275.rmk: Likewise.
30855 * conf/x86_64-efi.rmk: Likewise.
30856
30857 * include/grub/command.h (grub_command_execute): New inline function.
30858
30859 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30860
30861 * include/grub/normal.h: Remove <grub/setjmp.h>.
30862 (grub_fs_module_list): Moved to normal/autofs.c.
30863 (grub_exit_env): Removed.
30864 (grub_command_execute): Likewise.
30865 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30866 parameter script.
30867 (read_command_list): New function declaration.
30868 (read_fs_list): Likewise.
30869
30870 * include/parser.h: Include <grub/reader.h>.
30871 (grub_parser_split_cmdline): Change type of getline parameter.
30872 (grub_parser): New structure.
30873 (grub_parser_class): New variable.
30874 (grub_parser_execute): New function declaration.
30875 (grub_register_rescue_parser): Likewise.
30876 (grub_parser_register): New inline function.
30877 (grub_parser_unregister): Likewise.
30878 (grub_parser_get_current): Likewise.
30879 (grub_parser_set_current): Likewise.
30880
30881 * include/grub/reader.h: New file.
30882 * kern/reader.c: Likewise.
30883 * kern/rescue_parser.c: Likewise.
30884 * kern/rescue_reader.c: Likewise.
30885 * normal/autofs.c: Likewise.
30886 * normal/dyncmd.c: Likewise.
30887
30888 * include/grub/rescue.h: Removed.
30889 * normal/command.h: Likewise.
30890
30891 * include/grub/script.h: Moved to ...
30892 * include/grub/script_sh.h: ... Moved here.
30893 * normal/execute.c: Moved to ...
30894 * script/sh/execute.c: ... Moved here.
30895 * normal/function.c: Moved to ...
30896 * script/sh/function.c: ... Moved here.
30897 * normal/lexer.c: Moved to ...
30898 * script/sh/lexer.c: ... Moved here.
30899 * normal/parser.y: Moved to ...
30900 * script/sh/parser.y: ... Moved here.
30901 * normal/script.c: Moved to ...
30902 * script/sh/script.c: ... Moved here.
30903
30904 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30905 <grub/reader.h>.
30906 (grub_exit_env): Removed.
30907 (fs_module_list): Moved to normal/autofs.c.
30908 (grub_file_getline): Don't handle comment here.
30909 (free_menu): Skip removed field entry->commands.
30910 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30911 script parameter.
30912 (read_config_file): Removed nested parameter, change getline function.
30913 (grub_enter_normal_mode): Removed.
30914 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30915 (read_command_list): Likewise.
30916 (autoload_fs_module): Moved to normal/autofs.c.
30917 (read_fs_list): Likewise.
30918 (reader_nested): New variable.
30919 (grub_normal_execute): Run parser.sh to switch to sh parser.
30920 (grub_cmd_rescue): Removed.
30921 (cmd_normal): Removed.
30922 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30923 rescue command.
30924 (grub_cmdline_run): New function.
30925 (grub_normal_reader_init): Likewise.
30926 (grub_normal_read_line): Likewise.
30927 (grub_env_write_pager): Likewise.
30928 (cmdline): New variable.
30929 (grub_normal_reader): Likewise.
30930 (GRUB_MOD_INIT): Register normal reader and set as current, register
30931 pager hook, register normal command with grub_register_command_prio,
30932 so that it won't show up in command.lst.
30933 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30934 grub_fs_autoload_hook.
30935
30936 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30937 (grub_menu_execute_entry): Replace grub_script_execute with
30938 grub_parser_execute, change parameter to grub_command_execute.
30939
30940 * normal/menu_text.c: Remove <grub/script.h>.
30941
30942 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30943 and <grub/parser.h>.
30944 (run): Change editor_getline to use new parser interface. Change
30945 parameter to grub_command_execute.
30946
30947 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30948 <grub/reader.h> and <grub/parser.h>.
30949 (grub_load_normal_mode): Execute normal command.
30950 (grub_main): Call grub_register_core_commands,
30951 grub_register_rescue_parser and grub_register_rescue_reader, use
30952 grub_reader_loop to enter input loop.
30953
30954 * kern/parser.c (grub_parser_split_cmdline): Change type of
30955 getline parameter.
30956 (grub_parser_class): New variable.
30957 (grub_parser_execute): New function.
30958
30959 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30960 * loader/multiboot2.c: Likewise.
30961 * loader/sparc64/ieee1275/linux.c: Likewise.
30962
30963 * util/grub-emu.c (read_command_list): New dummy function.
30964
30965 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30966
30967 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30968 count to 16 for CCISS and IDA.
30969
30970 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30971
30972 * normal/menu_text.c (grub_wait_after_message): Print a newline
30973 after waiting for user input.
30974
30975 * loader/i386/linux.c: Include `<grub/normal.h>'.
30976 (grub_cmd_linux): Improve the error message about `ask' mode, by
30977 waiting for user input so it's not missed (we can do this, since
30978 user requested interaction).
30979
30980 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30981
30982 Added missing lst to grub-mkrescue
30983
30984 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30985 and ${input_dir}/parttool.lst
30986
30987 2009-04-30 David S. Miller <davem@davemloft.net>
30988
30989 * util/hostdisk.c (device_is_wholedisk): New function.
30990 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30991 zero only if device_is_wholedisk() returns true.
30992
30993 * util/hostdisk.c (convert_system_partition_to_system_disk):
30994 Handle virtual disk devices named /dev/vdiskX as found on sparc
30995 and powerpc.
30996
30997 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30998 lettered partition specifier is found, convert to numbered.
30999
31000 2009-04-29 David S. Miller <davem@davemloft.net>
31001
31002 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31003 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31004
31005 * normal/command.c: Add missing newline at end of file.
31006
31007 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31008 warnings.
31009 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31010 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31011 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31012 ihandles have a 32-bit type but need to be stored in a "void *".
31013
31014 2009-04-28 Pavel Roskin <proski@gnu.org>
31015
31016 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31017 not disk. Adjust all dependencies.
31018 (grub_fs_uuid_close): Use grub_device_close(), not
31019 grub_disk_close().
31020
31021 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31022 parent's partition, don't copy it by reference, as it gets freed
31023 on close.
31024
31025 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31026
31027 Preboot hooks support
31028
31029 * commands/boot.c (struct grub_preboot_t): new declaration
31030 (preboots_head): new variable
31031 (preboots_tail): likewise
31032 (grub_loader_register_preboot_hook): new function
31033 (grub_loader_unregister_preboot_hook): likewise
31034 (grub_loader_set): launch preboot hooks
31035 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31036 (grub_loader_register_preboot_hook): new declaration
31037 (grub_loader_unregister_preboot_hook): likewise
31038
31039 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31040
31041 Warning fix
31042
31043 * disk/scsi.c (grub_scsi_open): added missing cast when
31044 calling grub_dprintf
31045
31046 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31047
31048 Bug and warning fixes
31049
31050 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
31051 declaration
31052 * commands/test.c (test_parse): fixed bug with file tests and corrected
31053 declaration of find_file
31054
31055 2009-04-26 Pavel Roskin <proski@gnu.org>
31056
31057 * Makefile.in: Don't install empty manual pages if help2man is
31058 missing. Use help2man option for output, not shell redirection.
31059
31060 2009-04-26 David S. Miller <davem@davemloft.net>
31061
31062 * util/grub-mkdevicemap.c (make_device_map): Add missing
31063 NESTED_FUNC_ATTR to process_device().
31064
31065 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31066
31067 Test command
31068
31069 * commands/test.c: rewritten to use bash-like test
31070
31071 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31072
31073 Parttool autoloading and improvements
31074
31075 * Makefile.in (pkglib_DATA): add parttool.lst
31076 (parttool.lst): new target
31077 * genmk.rb: generate parttool-*
31078 (CLEANFILES): add #{parttool}
31079 (PARTTOOLFILES): new variable
31080 * genparttoollist.sh: new file
31081 * parttool/pcpart.c (grub_pcpart_boot): more feedback
31082 (grub_pcpart_type): likewise
31083 * commands/parttool.c (helpmsg): new variable
31084 (grub_cmd_parttool): output help if not enough arguments are supplied
31085 autoload modules
31086 (GRUB_MOD_INIT(parttool)): use helpmsg
31087
31088 2009-04-24 David S. Miller <davem@davemloft.net>
31089
31090 Avoiding opening same device multiple times in device iterator.
31091
31092 * kern/device.c: (grub_device_iterate): Define struct part_ent,
31093 and use it to build a list of partitions in iterate_disk() and
31094 iterate_partition().
31095
31096 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31097 on disk->data.
31098
31099 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31100 grub_devalias_iterate() result instead of unconditional 0.
31101 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31102 Also, capture hook return value, either directly or via
31103 grub_children_iterate(), and propagate to caller.
31104 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31105 grub_children_iterate): Return value is now 'int' instead of
31106 'grub_err_t'.
31107 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31108 like a proper iterator, stopping when hooks return non-zero.
31109 (grub_devalias_iterate): Likewise.
31110
31111 2009-04-23 David S. Miller <davem@davemloft.net>
31112
31113 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31114
31115 2009-04-22 David S. Miller <davem@davemloft.net>
31116
31117 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31118 is larger than address_cells, use that value for address_cells too.
31119
31120 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31121 IEEE1275_MAX_PATH_LEN): Define.
31122 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31123 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31124 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31125 'devtype'. Explicitly NULL terminate devalias expansion.
31126
31127 * util/sparc64/ieee1275/misc.c: New file.
31128 * util/sparc64/ieee1275/grub-setup.c: New file.
31129 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31130 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31131 * util/sparc64/ieee1275/grub-install.in: New file.
31132 * util/ieee1275/ofpath.c: New file.
31133 * util/ieee1275/devicemap.c: New file.
31134 * util/devicemap.c: New file.
31135 * util/deviceiter.c: New file.
31136 * kern/sparc64/ieee1275/init.c: New file.
31137 * include/grub/util/ofpath.h: New file.
31138 * include/grub/util/deviceiter.h: New file.
31139 * util/grub-mkdevicemap.c: Include deviceiter.h.
31140 Implement using grub_util_emit_devicemap_entry and
31141 grub_util_iterate_devices.
31142 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31143 util/devicemap.c into grub-mkdevicemap
31144 * conf/i386-efi.rmk: Likewise.
31145 * conf/i386-ieee1275.rmk: Likewise.
31146 * conf/i386-pc.rmk: Likewise.
31147 * conf/powerpc-ieee1275.rmk: Likewise.
31148 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31149 images and installation utilities. Build kernel as image
31150 instead of as elf binary. Use common rules as much as possible.
31151
31152 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
31153
31154 Correct GPT definition
31155
31156 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31157 of "attrib" member
31158
31159 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
31160
31161 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31162
31163 2009-04-19 David S. Miller <davem@davemloft.net>
31164
31165 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31166 (grub_rescue_cmd_linux): Rename to...
31167 (grub_cmd_linux): and fix prototype.
31168 (grub_rescue_cmd_initrd): Rename to...
31169 (grub_cmd_initrd): and fix prototype.
31170 (cmd_linux, cmd_initrd): New.
31171 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31172 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31173
31174 2009-04-17 Pavel Roskin <proski@gnu.org>
31175
31176 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31177 format.
31178 (grub_ohci_transfer): Likewise.
31179
31180 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31181
31182 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31183 return without a value. Fix inconsistent indentation.
31184
31185 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31186 match struct grub_fs.
31187
31188 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31189 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31190 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31191 * commands/lspci.c (grub_lspci_iter): Likewise.
31192
31193 2009-04-16 Bean <bean123ch@gmail.com>
31194
31195 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31196 value.
31197
31198 2009-04-15 Pavel Roskin <proski@gnu.org>
31199
31200 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31201 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31202 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31203 definitions.
31204
31205 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31206
31207 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
31208 that no multiple data or metadata areas are supported and `Unknown
31209 metadata header'.
31210
31211 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31212
31213 Move loader out of the kernel
31214
31215 * kern/loader.c: moved to ...
31216 * commands/boot.c: ... moved here
31217 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31218 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31219 * include/grub/kernel.h (grub_machine_fini): export
31220 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31221 (grub_loader_set): likewise
31222 (grub_loader_unset): likewise
31223 (grub_loader_boot): likewise
31224 * conf/common.rmk: new module boot.mod
31225 (pkglib_MODULES): add boot.mod
31226 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31227 (grub_emu_SOURCES): likewise
31228 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31229 (grub_emu_SOURCES): likewise
31230 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31231 (grub_emu_SOURCES): likewise
31232 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31233 (grub_emu_SOURCES): likewise
31234 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31235 (grub_emu_SOURCES): likewise
31236 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31237 (grub_emu_SOURCES): likewise
31238 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
31239 (grub_emu_SOURCES): likewise
31240
31241 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31242
31243 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31244
31245 * kern/misc.c (grub_itoa): Removed function
31246 (grub_ltoa): likewise
31247 (grub_vsprintf): use grub_lltoa
31248
31249 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31250
31251 Restore grub-emu
31252
31253 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31254 * conf/i386-coreboot.rmk: likewise
31255 * conf/i386-ieee1275.rmk: likewise
31256 * conf/powerpc-ieee1275.rmk: likewise
31257
31258 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31259
31260 * INSTALL: Add that `./autogen.sh' needs to be run before
31261 `./configure.'.
31262
31263 2009-04-14 Bean <bean123ch@gmail.com>
31264
31265 * Makefile.in (pkglib_DATA): Add handler.lst.
31266 (handler.lst): New rule.
31267
31268 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31269 * conf/i386-coreboot.rmk: Likewise.
31270 * conf/i386-ieee1275.rmk: Likewise.
31271 * conf/i386-efi.rmk: Likewise.
31272 * conf/x86_64-efi.rmk: Likewise.
31273 * conf/powerpc-ieee1275.rmk: Likewise.
31274 * conf/sparc64-ieee1275.rmk: Likewise.
31275
31276 * genhandlerlist.sh: New file.
31277
31278 * genmk.rb: Add rules to generate handler.lst.
31279
31280 * include/grub/normal.h (grub_file_getline): New function definition.
31281 (read_handler_list): Likewise.
31282 (free_handler_list): Likewise.
31283
31284 * include/grub/term.h (grub_term_register_input): Add name parameter
31285 for auto generation of handler.lst.
31286 (grub_term_register_output): Likewise.
31287
31288 * normal/handler.c: New file.
31289
31290 * normal/main.c (get_line): Renamed to grub_file_getline.
31291 (read_config_file): Use the newly renamed grub_file_getline.
31292 (read_command_list): Likewise.
31293 (read_fs_list): Likewise.
31294 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31295 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31296
31297 * term/efi/console.c (grub_console_init): Add name parameter for auto
31298 generation of handler.lst.
31299 * term/gfxterm.c: Likewise.
31300 * term/i386/pc/at_keyboard.c: Likewise.
31301 * term/i386/pc/console.c: Likewise.
31302 * term/i386/pc/serial.c: Likewise.
31303 * term/i386/pc/vesafb.c: Likewise.
31304 * term/i386/pc/vga.c: Likewise.
31305 * term/i386/pc/vga_text.c: Likewise.
31306 * term/ieee1275/ofconsole.c: Likewise.
31307 * term/usb_keyboard.c: Likewise.
31308
31309 2009-04-14 Bean <bean123ch@gmail.com>
31310
31311 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31312 properly with null character.
31313
31314 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31315
31316 * configure: Remove.
31317 * config.h.in: Likewise.
31318 * stamp-h.in: Likewise.
31319 * DISTLIST: Likewise.
31320 * conf/common.mk: Likewise.
31321 * conf/i386-coreboot.mk: Likewise.
31322 * conf/i386-efi.mk: Likewise.
31323 * conf/i386-ieee1275.mk: Likewise.
31324 * conf/i386.mk: Likewise.
31325 * conf/i386-pc.mk: Likewise.
31326 * conf/powerpc-ieee1275.mk: Likewise.
31327 * conf/sparc64-ieee1275.mk: Likewise.
31328 * conf/x86_64-efi.mk: Likewise.
31329
31330 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31331 develop on GRUB.
31332
31333 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31334 David S. Miller <davem@davemloft.net>
31335
31336 * util/hostdisk.c (make_device_name): Fix buffer length
31337 calculations.
31338
31339 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31340
31341 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31342 <sys/param.h> and <sys/sysctl.h>.
31343 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31344 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31345 opening the device and reset them afterwards.
31346
31347 2009-04-13 Pavel Roskin <proski@gnu.org>
31348
31349 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31350 Reported by John Stanley <jpsinthemix@verizon.net>
31351
31352 2009-04-13 Robert Millan <rmh@aybabtu.com>
31353
31354 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31355 that name for menuentries when appropriate.
31356
31357 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31358
31359 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31360
31361 2009-04-13 Robert Millan <rmh@aybabtu.com>
31362
31363 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31364 to Linux, simply abort telling the user it's no longer supported.
31365
31366 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31367
31368 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31369 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31370 `freebsd_loadenv' only when devices.hints exist.
31371
31372 2009-04-13 Pavel Roskin <proski@gnu.org>
31373
31374 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31375
31376 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31377
31378 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31379 partition number.
31380 (grub_drive): Likewise.
31381
31382 2009-04-13 David S. Miller <davem@davemloft.net>
31383
31384 * kern/sparc64/ieee1275/ieee1275.c: New file.
31385 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31386 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31387 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31388 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31389 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31390 grub_ieee1275_alloc_physmem): Declare new exported functions.
31391
31392 * include/grub/sparc64/ieee1275/loader.h: New file.
31393 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31394 * include/grub/sparc64/kernel.h: Likewise.
31395 * loader/sparc64/ieee1275/linux.c: Likewise.
31396
31397 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31398 (grub_fstest_SOURCES): Likewise.
31399
31400 * util/hostdisk.c (make_device_name): Do not make any assumptions
31401 about the length of drive names.
31402
31403 * kern/dl.c (grub_dl_load_file): Close file immediately when
31404 we are done using it.
31405
31406 2009-04-12 David S. Miller <davem@davemloft.net>
31407
31408 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31409 values. Noticed by Pavel Roskin.
31410
31411 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31412 target compiler.
31413
31414 * genmk.rb: Add more flexible image type specification, also
31415 pass --strip-unneeded to objcopy.
31416 * conf/i386-pc.rmk: Use *_FORMAT.
31417 * conf/i386-pc.mk: Rebuilt.
31418
31419 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31420 (OFDISK_HASH_SZ): Define.
31421 (ofdisk_hash): New hash table.
31422 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31423 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31424 instead of device phandle which is not unique.
31425
31426 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31427 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31428 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31429 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31430 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31431 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31432 GRUB_KERNEL_MACHINE_DATA_END): Define.
31433 (grub_kernel_image_size, grub_total_module_size): Declare.
31434
31435 2009-04-12 Pavel Roskin <proski@gnu.org>
31436
31437 * configure.ac: Change the logic when we check for target tools.
31438 Do it when the target is specified and it's different from the
31439 specified value of the host.
31440
31441 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31442
31443 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31444 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31445 GNU/kFreeBSD. Check if a device is a character device. Use
31446 DIOCGMEDIASIZE to get the size.
31447 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31448 support for GNU/kFreeBSD.
31449 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31450 is a character device instead of a block device. Add support for
31451 FreeBSD device names.
31452
31453 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31454 is a character device instead of a block device.
31455
31456 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31457 is a character device instead of a block device.
31458
31459 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31460
31461 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31462 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31463 FreeBSD. Check if a device is a character device. Use
31464 DIOCGMEDIASIZE to get the size.
31465 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31466 support for FreeBSD.
31467 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31468 is a character device instead of a block device. Add support for
31469 FreeBSD device names.
31470
31471 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31472 a character device instead of a block device.
31473 (grub_util_check_char_device): New function.
31474
31475 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31476 a character device instead of a block device.
31477
31478 * include/grub/util/getroot.h (grub_util_check_char_device): New
31479 prototype.
31480
31481 2009-04-11 David S. Miller <davem@davemloft.net>
31482
31483 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31484 static libgcc.
31485 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31486 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31487 function, if present.
31488 (__bswapdi2): Likewise.
31489
31490 * include/grub/sparc64/ieee1275/boot.h: New file.
31491 * boot/sparc64/ieee1275/boot.S: Likewise.
31492 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31493
31494 * kern/misc.c (grub_ltoa): New function.
31495 (grub_vsprintf): Use it to format 'long' integers.
31496
31497 2009-04-10 David S. Miller <davem@davemloft.net>
31498
31499 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31500 slots are of type grub_ieee1275_cell_t.
31501 (grub_nand_read): Likewise.
31502 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31503 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31504 macros are used to compare values in arg/ret block of the call.
31505 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31506 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31507 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31508 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31509 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31510 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31511 grub_ieee1275_close, grub_ieee1275_set_property,
31512 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31513 grub_ieee1275_cell_t.
31514 * kern/ieee1275/openfw.c (grub_map): Likewise.
31515 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31516 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31517
31518 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31519 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31520 (grub_devalias_iterate): Likewise.
31521
31522 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
31523
31524 UFS improvements
31525
31526 * fs/ufs.c (INODE_NBLOCKS): new definition
31527 (struct grub_ufs_dirent): added fields for non-BSD dirents
31528 (grub_ufs_get_file_block): fixed double indirect handling
31529 (grub_ufs_lookup_symlink): use more robust way to determine whether
31530 symlink is inline
31531 (grub_ufs_find_file): support for non-BSD dirents
31532 (grub_ufs_dir): support for non-BSD dirents
31533
31534 2009-04-10 Bean <bean123ch@gnail.com>
31535
31536 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31537 attribute, otherwise the size would be wrong for i386 platform.
31538
31539 * include/grub/pci.h (grub_pci_read_word): New inline function.
31540 (grub_pci_read_byte): Likewise.
31541 (grub_pci_write): Likewise.
31542 (grub_pci_write_word): Likewise.
31543 (grub_pci_write_byte): Likewise.
31544
31545 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31546
31547 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31548 (find_framebuf): Scan pci to locate the frame buffer address.
31549
31550 * commands/efi/fixvideo.c: New file.
31551
31552 * commands/efi/loadbios.c: Likewise.
31553
31554 * commands/memrw.c: Likewise.
31555
31556 * util/grub-dumpbios.in: Likewise.
31557
31558 * conf/common.rmk (grub-dumpbios): New utility.
31559 (pkglib_MODULES): New module memrw.mod.
31560 (memrw_mod_SOURCE): New macro.
31561 (memrw_mod_CFLAGS): Likewise.
31562 (memrw_mod_LDFLAGS): Likewise.
31563
31564 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
31565 fixvideo.mod.
31566 (loadbios_mod_SOURCE): New macro.
31567 (loadbios_mod_CFLAGS): Likewise.
31568 (loadbios_mod_LDFLAGS): Likewise.
31569 (fixvideo_mod_SOURCE): Likewise.
31570 (fixvideo_mod_CFLAGS): Likewise.
31571 (fixvideo_mod_LDFLAGS): Likewise.
31572
31573 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
31574 fixvideo.mod.
31575 (loadbios_mod_SOURCE): New macro.
31576 (loadbios_mod_CFLAGS): Likewise.
31577 (loadbios_mod_LDFLAGS): Likewise.
31578 (fixvideo_mod_SOURCE): Likewise.
31579 (fixvideo_mod_CFLAGS): Likewise.
31580 (fixvideo_mod_LDFLAGS): Likewise.
31581
31582 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
31583
31584 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31585
31586 2009-04-07 David S. Miller <davem@davemloft.net>
31587
31588 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31589 support for R_SPARC_OLO10 relocations. Fix compile warning for
31590 R_SPARC_WDISP30 case.
31591 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
31592
31593 2009-04-06 Pavel Roskin <proski@gnu.org>
31594
31595 * include/grub/misc.h (ARRAY_SIZE): New macro.
31596 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31597 New macro.
31598 * loader/i386/linux.c (allocate_pages): Use free_pages().
31599 (grub_linux_unload): Don't use free_pages().
31600 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31601 wrong index. Treat all other modes as text modes.
31602 (grub_cmd_linux): Initialize vid_mode unconditionally to
31603 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31604
31605 * commands/help.c (print_command_help): Use cmd->prio, not
31606 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31607
31608 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
31609
31610 Parttool
31611
31612 * parttool/pcpart.c: new file
31613 * commands/parttool.c: likewise
31614 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31615 (parttool_mod_SOURCES): new variable
31616 (parttool_mod_CFLAGS): likewise
31617 (parttool_mod_LDFLAGS): likewise
31618 (pcpart_mod_SOURCES): likewise
31619 (pcpart_mod_CFLAGS): likewise
31620 (pcpart_mod_LDFLAGS): likewise
31621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
31622 and parttool/pcpart.c
31623 * conf/i386-efi.rmk: likewise
31624 * conf/i386-ieee1275.rmk: likewise
31625 * conf/i386-pc.rmk: likewise
31626 * conf/powerpc-ieee1275.rmk: likewise
31627 * conf/sparc64-ieee1275.rmk: likewise
31628 * conf/x86_64-ieee1275.rmk: likewise
31629
31630 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31631
31632 Support for mtime and further expandability of dir command
31633
31634 * include/grub/lib/datetime.h: moved to ...
31635 * include/grub/datetime.h: ... moved here and added
31636 declaration of grub_unixtime2datetime. All users updated
31637 * include/grub/fs.h: new syntax for dir and mtime functions in
31638 struct grub_fs
31639 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31640 and GRUB_FSHELP_FLAGS_MASK
31641 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31642 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31643 (grub_ext2_mtime): new function
31644 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31645 (grub_hfsplus_mtime): new function
31646 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31647 (GRUB_UFS_ATTR_FILE): likewise
31648 (GRUB_UFS_ATTR_LNK): likewise
31649 (struct grub_ufs_sblock): new fields mtime
31650 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31651 all users updated
31652 (grub_ufs_dir): mtime support
31653 (grub_ufs_mtime): new function
31654 * fs/affs.c (grub_affs_dir): use new dir syntax
31655 * fs/afs.c (grub_afs_dir): likewise
31656 * fs/cpio.c (grub_cpio_dir): likewise
31657 * fs/fat.c (grub_fat_find_dir): likewise
31658 * fs/hfs.c (grub_hfs_dir): likewise
31659 * fs/iso9660.c (grub_iso9660_dir): likewise
31660 * fs/jfs.c (grub_jfs_dir): likewise
31661 * fs/minix.c (grub_minix_dir): likewise
31662 * fs/ntfs.c (grub_ntfs_dir): likewise
31663 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31664 * fs/sfs.c (grub_sfs_dir): likewise
31665 * fs/xfs.c (grub_xfs_dir): likewise
31666 * util/hostfs.c (grub_hostfs_dir): likewise
31667 * lib/datetime.c: moved to ...
31668 * normal/datetime.c: ... moved here
31669 (grub_unixtime2datetime): new function
31670 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
31671 * normal/completion.c (iterate_dir): use new dir syntax
31672 * normal/misc.c (grub_normal_print_device_info): tell the
31673 last modification time of a volume
31674 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
31675 * conf/common.rmk: added lib/datetime.c to ls.mod
31676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
31677 (normal_mod_SOURCES): likewise
31678 (datetime_mod_SOURCES): Removed lib/datetime.c
31679 * conf/i386-efi.rmk: likewise
31680 * conf/i386-ieee1275.rmk: likewise
31681 * conf/i386-pc.rmk: likewise
31682 * conf/powerpc-ieee1275.rmk: likewise
31683 * conf/sparc64-ieee1275.rmk: likewise
31684 * conf/x86_64-efi.rmk: likewise
31685
31686 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31687
31688 Trim trailing spaces in FAT label and support mtools-like labels
31689
31690 * fs/fat.c (grub_fat_iterate_dir): New function based
31691 on grub_fat_find_dir
31692 (grub_fat_find_dir): use grub_fat_iterate_dir
31693 (grub_fat_label): likewise
31694
31695 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31696
31697 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
31698 and command.h
31699 remove extraneous kernel_elf_HEADERS
31700
31701 2009-04-04 Bean <bean123ch@gnail.com>
31702
31703 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31704
31705 * util/misc.c: Likewise.
31706
31707 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31708
31709 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31710 instead of grub_printf.
31711
31712 2009-04-03 Robert Millan <rmh@aybabtu.com>
31713
31714 * loader/i386/linux.c (grub_linux_setup_video): Fill
31715 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31716 values from `mode info' structure instead of hardcoded
31717 values.
31718
31719 2009-04-01 Pavel Roskin <proski@gnu.org>
31720
31721 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31722 unused now.
31723 * genmk.rb: Likewise.
31724 * configure.ac: Likewise.
31725
31726 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31727
31728 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31729 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31730
31731 2009-04-01 David S. Miller <davem@davemloft.net>
31732
31733 * normal/sparc64/setjmp.S: Fix setjmp implementation.
31734 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
31735 (grub_setjmp): Mark with 'returns_twice' attribute.
31736 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31737 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31738 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31739
31740 2009-04-01 Robert Millan <rmh@aybabtu.com>
31741
31742 Reapply fix from 2008-07-28 which was accidentally reverted; also
31743 perform the same fix to a similar check in same function.
31744
31745 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31746 with the same number are found, just use issue a warning with
31747 grub_dprintf(), as this error has been reported to be non-fatal.
31748
31749 2009-03-31 Pavel Roskin <proski@gnu.org>
31750
31751 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31752 for cross-compilation.
31753
31754 2009-03-30 Robert Millan <rmh@aybabtu.com>
31755
31756 Fix i386-ieee1275 build.
31757
31758 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31759 Remove declaration.
31760
31761 2009-03-30 Pavel Roskin <proski@gnu.org>
31762
31763 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31764 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31765 zero-terminated, rely only on the strlen value. Fix comparison
31766 of strings differing in length.
31767
31768 2009-03-30 Robert Millan <rmh@aybabtu.com>
31769
31770 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31771 checking for abi version. Improve error messages on BIOS to notify
31772 user about `linux16' command.
31773
31774 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31775
31776 Leak fixes
31777
31778 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31779 in case of collision
31780 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31781
31782 2009-03-29 Robert Millan <rmh@aybabtu.com>
31783
31784 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31785 set `vid_mode' accordingly.
31786 (grub_linux_boot): Process `vid_mode' and set video mode.
31787
31788 2009-03-29 Robert Millan <rmh@aybabtu.com>
31789
31790 * util/grub.d/10_linux.in (linux_entry): New function.
31791 Factorize generation of Linux boot entries.
31792
31793 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31794
31795 Make the format of Environment Block plain text. The boot loader
31796 part is not tested well yet.
31797
31798 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31799 (buffer): Removed.
31800 (envblk): Likewise.
31801 (usage): Remove "info" and "clear". Add "unset". Update the
31802 description of "set", as this does not delete variables any
31803 longer.
31804 (create_envblk_file): Complete rewrite.
31805 (open_envblk_file): Likewise.
31806 (cmd_info): Removed.
31807 (cmd_list): Likewise.
31808 (cmd_set): Likewise.
31809 (cmd_clear): Likewise.
31810 (list_variables): New function.
31811 (write_envblk): Likewise.
31812 (set_variables): Likewise.
31813 (unset_variables): Likewise.
31814 (main): Complete rewrite.
31815
31816 * commands/loadenv.c (buffer): Removed.
31817 (envblk): Likewise.
31818 (open_envblk_file): New function.
31819 (read_envblk_file): Complete rewrite.
31820 (grub_cmd_load_env): Likewise.
31821 (grub_cmd_list_env): Likewise.
31822 (struct blocklist): New struct.
31823 (free_blocklists): New function.
31824 (check_blocklists): Likewise.
31825 (write_blocklists): Likewise.
31826 (grub_cmd_save_env): Complete rewrite.
31827
31828 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31829 a plain text signature.
31830 (GRUB_ENVBLK_MAXLEN): Removed.
31831 (struct grub_envblk): Complete rewrite.
31832 (grub_envblk_find): Removed.
31833 (grub_envblk_insert): Likewise.
31834 (grub_envblk_open): New prototype.
31835 (grub_envblk_set): Likewise.
31836 (grub_envblk_delete): Put const to VALUE.
31837 (grub_envblk_iterate): Put const to NAME and VALUE.
31838 (grub_envblk_close): New prototype.
31839 (grub_envblk_buffer): New inline function.
31840 (grub_envblk_size): Likewise.
31841
31842 * lib/envblk.c: Include grub/mm.h.
31843 (grub_env_find): Removed.
31844 (grub_envblk_open): New function.
31845 (grub_envblk_close): Likewise.
31846 (escaped_value_len): Likewise.
31847 (find_next_line): Likewise.
31848 (grub_envblk_insert): Removed.
31849 (grub_envblk_set): New function.
31850 (grub_envblk_delete): Complete rewrite.
31851 (grub_envblk_iterate): Likewise.
31852
31853 2009-03-28 Robert Millan <rmh@aybabtu.com>
31854
31855 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31856 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31857 variables. Use 16-bit loader.
31858 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31859 loader.
31860 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31861 (grub_linux16_boot): ... this. Update all users.
31862 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31863 (grub_linux_boot): ... this. Update all users.
31864
31865 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31866 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31867 commands to `linux16' and `initrd16'.
31868 (GRUB_MOD_FINI(linux)): Rename to ...
31869 (GRUB_MOD_FINI(linux16)): ... this.
31870
31871 2009-03-24 Pavel Roskin <proski@gnu.org>
31872
31873 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31874 not just for compilation.
31875
31876 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31877
31878 Move multiboot helper out of kernel
31879
31880 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31881 `loader/i386/multiboot_helper.S'.
31882 * conf/i386-coreboot.rmk: Likewise
31883 * conf/i386-ieee1275.rmk: Likewise
31884
31885 * kern/i386/loader.S: Move multiboot helpers from here...
31886 * loader/i386/multiboot_helper.S: ...moved here
31887 * include/grub/i386/loader.h: Move declarations of multiboot
31888 helpers from here...
31889 * include/grub/i386/multiboot.h: ...moved here
31890 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31891
31892 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31893
31894 * kern/env.c (grub_env_context_open): Added an argument to specify
31895 whether a new context inherits exported variables from current
31896 one. This is useful when making a sandbox to interpret a config
31897 file.
31898 All callers updated.
31899
31900 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31901
31902 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31903
31904 * kern/env.c (grub_env_context_close): Fix memory leaks.
31905
31906 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31907
31908 * normal/main.c (grub_normal_execute): Added an argument
31909 BATCH to specify if an interactive interface should be provided
31910 after reading a config file.
31911 All callers updated.
31912 (read_command_list): Prevent being executed twice.
31913 (read_fs_list): Likewise.
31914
31915 * include/grub/normal.h (grub_normal_execute): Updated the
31916 prototype.
31917
31918 2009-03-22 Pavel Roskin <proski@gno.org>
31919
31920 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31921 _start.
31922 * kern/i386/pc/startup.S: Likewise.
31923 * kern/i386/efi/startup.S: Likewise.
31924 * kern/i386/ieee1275/startup.S: Likewise.
31925 * kern/i386/coreboot/startup.S: Likewise.
31926 * kern/x86_64/efi/startup.S: Likewise.
31927
31928 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31929 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31930 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31931
31932 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31933
31934 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31935
31936 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31937 limit detection.
31938 Use vaddr of correct segment for entry_point.
31939
31940 2009-03-21 Bean <bean123ch@gmail.com>
31941
31942 * commands/blocklist.c: Add include file <grub/command.h>, remove
31943 <grub/normal.h> and <grub/arg.h>.
31944 (grub_cmd_blocklist): Use the new command interface.
31945 (GRUB_MOD_INIT): Likewise.
31946 (GRUB_MOD_FINI): Likewise.
31947 * commands/boot.c: Likewise.
31948 * commands/cat.c: Likewise.
31949 * commands/cmp.c: Likewise.
31950 * commands/configfile.c: Likewise.
31951 * commands/crc.c: Likewise.
31952 * commands/echo.c: Likewise.
31953 * commands/halt.c: Likewise.
31954 * commands/handler.c: Likewise.
31955 * commands/hdparm.c: Likewise.
31956 * commands/help.c: Likewise.
31957 * commands/hexdump.c: Likewise.
31958 * commands/loadenv.c: Likewise.
31959 * commands/ls.c: Likewise.
31960 * commands/lsmmap.c: Likewise.
31961 * commands/lspci.c: Likewise.
31962 * commands/loadenv.c: Likewise.
31963 * commands/read.c: Likewise.
31964 * commands/reboot.c: Likewise.
31965 * commands/search.c: Likewise.
31966 * commands/sleep.c: Likewise.
31967 * commands/test.c: Likewise.
31968 * commands/usbtest.c: Likewise.
31969 * commands/videotest.c: Likewise.
31970 * commands/i386/cpuid.c: Likewise.
31971 * commands/i386/pc/halt.c: Likewise.
31972 * commands/i386/pc/play.c: Likewise.
31973 * commands/i386/pc/pxecmd.c: Likewise.
31974 * commands/i386/pc/vbeinfo.c: Likewise.
31975 * commands/i386/pc/vbetest.c: Likewise.
31976 * commands/ieee1275/suspend.c: Likewise.
31977 * disk/loopback.c: Likewise.
31978 * font/font_cmd.c: Likewise.
31979 * hello/hello.c: Likewise.
31980 * loader/efi/appleloader.c: Likewise.
31981 * loader/efi/chainloader.c: Likewise.
31982 * loader/i386/bsd.c: Likewise.
31983 * loader/i386/efi/linux.c: Likewise.
31984 * loader/i386/ieee1275/linux.c: Likewise.
31985 * loader/i386/linux.c: Likewise.
31986 * loader/i386/pc/chainloader.c: Likewise.
31987 * loader/i386/pc/linux.c: Likewise.
31988 * loader/powerpc/ieee1275/linux.c: Likewise.
31989 * loader/multiboot_loader.c: Likewise.
31990 * term/gfxterm.c: Likewise.
31991 * term/i386/pc/serial.c: Likewise.
31992 * term/terminfo.c: Likewise.
31993
31994 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31995 * term/i386/pc/vga.c: Likewise.
31996 * video/readers/jpeg.c: Likewise.
31997 * video/readers/png.c: Likewise.
31998 * video/readers/tga.c: Likewise.
31999
32000 * util/grub-fstest (cmd_loopback): Removed.
32001 (cmd_blocklist): Likewise.
32002 (cmd_ls): Likewise.
32003 (grub_register_command): Likewise.
32004 (grub_unregister_command): Likewise.
32005 (execute_command): Use grub_command_find to locate command and execute
32006 it.
32007
32008 * include/grub/efi/chainloader.h: Removed.
32009 * loader/efi/chainloader_normal.c: Likewise.
32010 * loader/i386/bsd_normal.c: Likewise.
32011 * loader/i386/pc/chainloader_normal.c: Likewise.
32012 * loader/i386/pc/multiboot_normal.c: Likewise.
32013 * loader/linux_normal.c: Likewise.
32014 * loader/multiboot_loader_normal.c: Likewise.
32015 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32016
32017 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32018 and grub_register_command_p1.
32019
32020 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32021 kern/command.c, lib/arg.c and commands/extcmd.c.
32022 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32023 (minicmd_mod_SOURCES): New variable.
32024 (minicmd_mod_CFLAGS): Likewise.
32025 (minicmd_mod_LDFLAGS): Likewise.
32026 (extcmd_mod_SOURCES): Likewise.
32027 (extcmd_mod_CFLAGS): Likewise.
32028 (extcmd_mod_LDFLAGS): Likewise.
32029 (boot_mod_SOURCES): Removed.
32030 (boot_mod_CFLAGS): Likewise.
32031 (boot_mod_LDFLAGS): Likewise.
32032
32033 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32034 kern/corecmd.c.
32035 (kernel_img_HEADERS): Add command.h.
32036 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32037 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32038 and lib/arg.c.
32039 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32040 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32041 remove the corresponding normal mode command.
32042 (normal_mod_SOURCES): Remove normal/arg.c.
32043 * conf/i386-coreboot.rmk: Likewise.
32044 * conf/i386-efi.rmk: Likewise.
32045 * conf/i386-ieee1275.rmk: Likewise.
32046 * conf/powerpc-ieee1275.rmk: Likewise.
32047 * conf/x86_64-efi.rmk: Likewise.
32048
32049 * include/grub/arg.h: Move from here ...
32050 * include/grub/lib/arg.h: ... to here.
32051
32052 * normal/arg.c: Move from here ...
32053 * lib/arg.c: ... to here.
32054
32055 * commands/extcmd.c: New file.
32056 * commands/minicmd.c: Likewise.
32057 * include/grub/command.h: Likewise.
32058 * include/grub/extcmd.h: Likewise.
32059 * kern/command.c: Likewise.
32060 * kern/corecmd.c: Likewise.
32061
32062 * kern/list.c (grub_list_iterate): Return int instead of void.
32063 (grub_list_insert): New function.
32064 (grub_prio_list_insert): Likewise.
32065
32066 * kern/rescue.c (grub_rescue_command): Removed.
32067 (grub_rescue_command_list): Likewise.
32068 (grub_rescue_register_command): Likewise.
32069 (grub_rescue_unregister_command): Likewise.
32070 (grub_rescue_cmd_boot): Move to minicmd.c
32071 (grub_rescue_cmd_help): Likewise.
32072 (grub_rescue_cmd_info): Likewise.
32073 (grub_rescue_cmd_boot): Likewise.
32074 (grub_rescue_cmd_testload): Likewise.
32075 (grub_rescue_cmd_dump): Likewise.
32076 (grub_rescue_cmd_rmmod): Likewise.
32077 (grub_rescue_cmd_lsmod): Likewise.
32078 (grub_rescue_cmd_exit): Likewise.
32079 (grub_rescue_print_devices): Moved to corecmd.c.
32080 (grub_rescue_print_files): Likewise.
32081 (grub_rescue_cmd_ls): Likewise.
32082 (grub_rescue_cmd_insmod): Likewise.
32083 (grub_rescue_cmd_set): Likewise.
32084 (grub_rescue_cmd_unset): Likewise.
32085 (attempt_normal_mode): Use grub_command_find to get normal module.
32086 (grub_enter_rescue_mode): Use grub_register_core_commands to register
32087 commands, remove grub_rescue_register_command calls.
32088
32089 * normal/command.c (grub_register_command): Removed.
32090 (grub_unregister_command): Likewise.
32091 (grub_command_find): Likewise.
32092 (grub_iterate_commands): Likewise.
32093 (rescue_command): Likewise.
32094 (export_command): Moved to corecmd.c.
32095 (set_command): Removed.
32096 (unset_command): Likewise.
32097 (insmod_command): Likewise.
32098 (rmmod_command): Likewise.
32099 (lsmod_command): Likewise.
32100 (grub_command_init): Likewise.
32101
32102 * normal/completion.c (iterate_command): Use cmd->prio to check for
32103 active command.
32104 (complete_arguments): Use grub_extcmd_t structure to find options.
32105 (grub_normal_do_completion): Change function grub_iterate_commands to
32106 grub_command_iterate.
32107
32108 * normal/execute.c (grub_script_execute_cmd): No need to parse
32109 argument here.
32110
32111 * normal/main.c (grub_dyncmd_dispatcher): New function.
32112 (read_command_list): Register unload commands as dyncmd.
32113 (grub_cmd_normal): Use new command interface, register rescue,
32114 unregister normal at entry, register normal, unregister rescue at exit.
32115
32116 * include/grub/list.h (grub_list_test_t): New type.
32117 (grub_list_iterate): Return int instead of void.
32118 (grub_list_insert): New function.
32119 (GRUB_AS_NAMED_LIST_P): New macro.
32120 (GRUB_AS_PRIO_LIST): Likewise.
32121 (GRUB_AS_PRIO_LIST_P): Likewise.
32122 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32123 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32124 (grub_prio_list): New structure.
32125 (grub_prio_list_insert): New function.
32126 (grub_prio_list_remove): New inline function.
32127
32128 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32129 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32130 (GRUB_COMMAND_FLAG_MENU): Likewise.
32131 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32132 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32133 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32134 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32135 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32136 (grub_command): Likewise.
32137 (grub_register_command): Likewise.
32138 (grub_command_find): Likewise.
32139 (grub_iterate_commands): Likewise.
32140 (grub_command_init): Likewise.
32141 (grub_arg_parse): Likewise.
32142 (grub_arg_show_help): Likewise.
32143
32144 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32145 (grub_rescue_unregister_command): Likewise.
32146
32147 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32148 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32149 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32150
32151 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32152 grub_rescue_cmd_initrd.
32153 * include/grub/i386/loader.h: Likewise.
32154 * include/grub/x86_64/loader.h: Likewise.
32155
32156 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32157
32158 2009-03-21 Bean <bean123ch@gmail.com>
32159
32160 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32161 instead of stat in mingw environment.
32162
32163 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32164
32165 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32166
32167 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32168 AC_CONFIG_LINKS.
32169
32170 2009-03-21 Bean <bean123ch@gmail.com>
32171
32172 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32173 out of range error.
32174
32175 2009-03-18 Michel Dänzer <michel@daenzer.net>
32176
32177 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32178 checking inode flags for EXT4_EXTENTS_FLAG.
32179
32180 2009-03-18 Robert Millan <rmh@aybabtu.com>
32181
32182 * loader/i386/linux.c: Include `<grub/video.h>' and
32183 `<grub/i386/pc/vbe.h>'..
32184 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32185 (grub_linux32_boot): Attempt to configure video settings with
32186 grub_linux_setup_video().
32187 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32188 to avoid grub_console_fini() which would step out of graphical mode
32189 unconditionally.
32190
32191 2009-03-14 Robert Millan <rmh@aybabtu.com>
32192
32193 Fix build on powerpc.
32194 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32195
32196 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32197
32198 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32199 background image command.
32200
32201 2009-03-12 Colin D Bennett <colin@gibibit.com>
32202
32203 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32204 (grub_gfxterm_putchar): Extract pairs of identical calls to
32205 draw_cursor out of conditional blocks.
32206
32207 2009-03-11 Pavel Roskin <proski@gnu.org>
32208
32209 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32210 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32211
32212 2009-03-11 Robert Millan <rmh@aybabtu.com>
32213
32214 * loader/i386/multiboot_elfxx.c
32215 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32216
32217 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
32218
32219 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32220 `kern/handler.c'.
32221
32222 2009-03-11 Robert Millan <rmh@aybabtu.com>
32223
32224 * loader/i386/multiboot.c (code_size): New variable.
32225 (grub_multiboot): Define offsets by adding to `code_size' rather
32226 than subtracting from `grub_multiboot_payload_size'. Provide
32227 4-byte alignment to MBI and others by increasing
32228 `boot_loader_name_length' appropriately.
32229
32230 * loader/i386/multiboot_elfxx.c
32231 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32232
32233 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
32234
32235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32236 `fs/ext2.c'.
32237
32238 2009-03-08 Robert Millan <rmh@aybabtu.com>
32239
32240 Make loader/i386/linux.c usable on i386-pc again.
32241
32242 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32243 memory to heap.
32244 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32245 `#error' stanza.
32246
32247 2009-03-07 Bean <bean123ch@gmail.com>
32248
32249 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32250 allocation.
32251
32252 2009-03-06 Robert Millan <rmh@aybabtu.com>
32253
32254 Fix display issue on terminals with screen size other than 80x25
32255 (e.g. gfxterm with resolution higher than 640x480).
32256
32257 * normal/main.c (grub_normal_init_page): Display title text in a
32258 position relative to the center of the terminal instead of relying
32259 on a hardcoded offset.
32260
32261 2009-03-04 Robert Millan <rmh@aybabtu.com>
32262
32263 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32264 installed.
32265
32266 * Makefile.in (host_kernel): New variable.
32267 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32268 scripts instead of just the windows one.
32269 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32270
32271 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32272
32273 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32274 `kern/handler.c'.
32275 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32276 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32277 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32279 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32281
32282 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32283
32284 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32285 or if there's no space for the disk label and print the partition number on a
32286 invalid magic.
32287
32288 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32289
32290 * util/misc.c: Include <time.h>.
32291 (grub_millisleep): New function.
32292
32293 2009-03-04 Bean <bean123ch@gmail.com>
32294
32295 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32296 another option -mno-red-zone.
32297
32298 * commands/handler.c: Change module description.
32299
32300 * kern/handler.c: Add missing space at the end of description line.
32301
32302 * kern/list.c: Likewise.
32303
32304 2009-03-03 Robert Millan <rmh@aybabtu.com>
32305
32306 Move more components to the relocation area, and fix mbi pointer
32307 handling to use the destination rather than the origin (thanks to
32308 Vladimir Serbinenko for spotting).
32309
32310 * loader/i386/multiboot.c (mbi_dest): New variable.
32311 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32312 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32313 relocation area.
32314
32315 2009-03-01 Bean <bean123ch@gmail.com>
32316
32317 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32318 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32319 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32320 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32321
32322 * loader/i386/efi/linux.c (acpi_guid): New variable.
32323 (acpi_guid): Likewise.
32324 (EBDA_SEG_ADDR): New constant.
32325 (LOW_MEM_ADDR): Likewise.
32326 (FAKE_EBDA_SEG): Likewise.
32327 (fake_bios_data): New function.
32328 (grub_linux_boot): Call fake_bios_data.
32329
32330 2009-03-01 Bean <bean123ch@gmail.com>
32331
32332 * commands/terminal.c: Removed.
32333
32334 * commands/handler.c: New file.
32335
32336 * include/grub/list.h: Likewise.
32337
32338 * include/grub/handler.h: Likewise.
32339
32340 * kern/list.c: Likewise.
32341
32342 * kern/handler.c: Likewise.
32343
32344 * kern/term.h: Include header file <grub/handler.h>.
32345 (grub_term_input): Move next field to the beginning.
32346 (grub_term_output): Likewise.
32347 (grub_term_input_class): New variable.
32348 (grub_term_output_class): Likewise.
32349 (grub_term_register_input): Changed to inline function.
32350 (grub_term_register_output): Likewise.
32351 (grub_term_unregister_input): Likewise.
32352 (grub_term_unregister_output): Likewise.
32353 (grub_term_set_current_input): Likewise.
32354 (grub_term_set_current_output): Likewise.
32355 (grub_term_get_current_input): Likewise.
32356 (grub_term_get_current_output): Likewise.
32357 (grub_term_iterate_input): Removed.
32358 (grub_term_iterate_output): Likewise.
32359
32360 * kern/term.c (grub_term_list_input): Removed.
32361 (grub_term_list_output): Likewise.
32362 (grub_term_input_class): New variable.
32363 (grub_term_output_class): Likewise.
32364 (grub_cur_term_input): Change variable as macro.
32365 (grub_cur_term_output): Likewise.
32366 (grub_term_register_input): Removed.
32367 (grub_term_register_output): Likewise.
32368 (grub_term_unregister_input): Likewise.
32369 (grub_term_unregister_output): Likewise.
32370 (grub_term_set_current_input): Likewise.
32371 (grub_term_set_current_output): Likewise.
32372 (grub_term_iterate_input): Likewise.
32373 (grub_term_iterate_output): Likewise.
32374 (grub_term_get_current_input): Likewise.
32375 (grub_term_get_current_output): Likewise.
32376
32377 * util/grub-editenv.c: Include header file <grub/handler.h>.
32378 (grub_term_get_current_input): Removed.
32379 (grub_term_get_current_output): Likewise.
32380 (grub_term_input_class): New variable.
32381 (grub_term_output_class): Likewise.
32382
32383 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32384 (grub_term_get_current_output): Likewise.
32385 (grub_term_input_class): New variable.
32386 (grub_term_output_class): Likewise.
32387
32388 * util/grub-probe.c (grub_term_get_current_input): Removed.
32389 (grub_term_get_current_output): Likewise.
32390 (grub_term_input_class): New variable.
32391 (grub_term_output_class): Likewise.
32392
32393 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32394 (grub_term_get_current_output): Likewise.
32395 (grub_term_input_class): New variable.
32396 (grub_term_output_class): Likewise.
32397
32398 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32399 (terminal_mod_SOURCES): Likewise.
32400 (terminal_mod_CFLAGS): Likewise.
32401 (terminal_mod_LDFLAGS): Likewise.
32402
32403 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32404 handler.c.
32405 (kernel_img_SOURCES): Add list.c and handler.c.
32406 (kernel_img_HEADERS): Add list.h and handler.h.
32407
32408 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32409 handler.c.
32410 (kernel_mod_SOURCES): Add list.c and handler.c.
32411 (kernel_mod_HEADERS): Add list.h and handler.h.
32412
32413 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32414 handler.c.
32415 (kernel_elf_SOURCES): Add list.c and handler.c.
32416 (kernel_elf_HEADERS): Add list.h and handler.h.
32417
32418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32419 handler.c.
32420 (kernel_elf_SOURCES): Add list.c and handler.c.
32421 (kernel_elf_HEADERS): Add list.h and handler.h.
32422
32423 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32424 handler.c.
32425 (kernel_mod_SOURCES): Add list.c and handler.c.
32426 (kernel_mod_HEADERS): Add list.h and handler.h.
32427
32428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32429 handler.c.
32430 (kernel_elf_SOURCES): Add list.c and handler.c.
32431 (kernel_elf_HEADERS): Add list.h and handler.h.
32432
32433 2009-02-27 Robert Millan <rmh@aybabtu.com>
32434
32435 Factorize elf32 / elf64 code in Multiboot loader. This will
32436 prevent it from getting out of sync again.
32437
32438 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32439 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32440 grub_multiboot_load_elf64): Move from here ...
32441 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32442 grub_multiboot_load_elf): ... to here (new file).
32443
32444 2009-02-27 Robert Millan <rmh@aybabtu.com>
32445
32446 * util/grub.d/10_linux.in: Rename "single-user mode" to
32447 "recovery mode".
32448
32449 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32450
32451 Don't leak in SCSI code.
32452 * disk/scsi.c (grub_scsi_close): free `scsi'.
32453
32454 2009-02-27 Robert Millan <rmh@aybabtu.com>
32455
32456 * loader/i386/pc/multiboot.c: Move from here ...
32457 * loader/i386/multiboot.c: ... to here. Update all users.
32458
32459 2009-02-27 Robert Millan <rmh@aybabtu.com>
32460
32461 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32462 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32463
32464 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32465
32466 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32467 b-tree.
32468
32469 2009-02-27 Robert Millan <rmh@aybabtu.com>
32470
32471 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32472 `0x' qualifier as 0 when base is specified as parameter).
32473
32474 2009-02-24 Bean <bean123ch@gmail.com>
32475
32476 * configure.ac: Check for -mcmodel=large in x86_64 target.
32477
32478 * include/grub/efi/api.h (efi_call_10): New macro.
32479 (efi_wrap_10): New function.
32480
32481 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32482 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32483 (GRUB_PE32_REL_BASED_LOW): Likewise.
32484 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32485 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32486 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32487 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32488 (GRUB_PE32_REL_BASED_REL): Likewise.
32489 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32490 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32491 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32492
32493 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32494 issue.
32495
32496 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32497 (efi_wrap_10): New function.
32498
32499 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32500
32501 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32502 MB/MBP model (NV chipset).
32503 (devdata_devs): Add devpath_5 to the list.
32504
32505 * load/i386/efi/linux.c (video_base): Remove variable.
32506 (RGB_MASK): New macro.
32507 (RGB_MAGIC): Likewise.
32508 (LINE_MIN): Likewise.
32509 (LINE_MAX): Likewise.
32510 (FBTEST_STEP): Likewise.
32511 (FBTEST_COUNT): Likewise.
32512 (fb_list): New variable.
32513 (grub_find_video_card): Remove function.
32514 (find_framebuf): New function.
32515 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32516 line length.
32517
32518 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32519 problem for x86_64.
32520
32521 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32522
32523 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32524
32525 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32526 coding tool name.
32527
32528 2009-02-22 Robert Millan <rmh@aybabtu.com>
32529
32530 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32531 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32532 in our relocation, instead of using it directly from heap. Also
32533 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32534
32535 2009-02-21 Robert Millan <rmh@aybabtu.com>
32536
32537 Implement USB keyboard support (based on patch by Marco Gerards)
32538
32539 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32540 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32541 (usb_keyboard_mod_LDFLAGS): New variables.
32542
32543 * term/usb_keyboard.c: New file.
32544
32545 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32546
32547 Corrected wrong declaration
32548
32549 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32550
32551 2009-02-14 Christian Franke <franke@computer.org>
32552
32553 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32554 (grub_lspci_iter): Print class code and programming interface byte.
32555
32556 2009-02-14 Christian Franke <franke@computer.org>
32557
32558 * gendistlist.sh: Ignore `.svn' directories.
32559
32560 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
32561
32562 * fs/fat.c: Add 2009 to Copyright line.
32563
32564 2009-02-14 Christian Franke <franke@computer.org>
32565
32566 * commands/hdparm.c: New file. Provides `hdparm' command
32567 which sends ATA commands via grub_disk_ata_pass_through ().
32568
32569 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32570
32571 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32572 and <grub/cpu/io.h> to include/grub/ata.h.
32573 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32574 (GRUB_CDROM_SECTOR_SIZE): Remove.
32575 (GRUB_ATA_*): Move to include/grub/ata.h.
32576 (GRUB_ATAPI_*): Likewise.
32577 (enum grub_ata_commands): Likewise.
32578 (enum grub_ata_timeout_milliseconds): Likewise.
32579 (struct grub_ata_device): Likewise.
32580 (grub_ata_regset): Likewise.
32581 (grub_ata_regget): Likewise.
32582 (grub_ata_regset2): Likewise.
32583 (grub_ata_regget2): Likewise.
32584 (grub_ata_check_ready): Likewise.
32585 (grub_ata_wait_not_busy): Remove static, exported in
32586 include/grub/ata.h.
32587 (grub_ata_wait_drq): Likewise.
32588 (grub_ata_pio_read): Likewise.
32589
32590 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32591 function for hdparm.mod.
32592
32593 * include/grub/ata.h: New file, contains declarations from
32594 disk/ata.c.
32595 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32596
32597 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32598 (grub_disk_ata_pass_through): New exported variable.
32599
32600 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32601
32602 2009-02-13 Colin D Bennett <colin@gibibit.com>
32603
32604 Support multiple fallback entries, and provide an API to support
32605 executing default+fallback menu entries. Renamed the `terminal' menu
32606 viewer to `text'.
32607
32608 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32609 variable declaration.
32610 (grub_menu_execute_callback): New structure declaration.
32611 (grub_menu_execute_callback_t): New typedef.
32612 (grub_menu_execute_with_fallback): New function declaration.
32613 (grub_menu_get_entry): Likewise.
32614 (grub_menu_get_timeout): Likewise.
32615 (grub_menu_set_timeout): Likewise.
32616
32617 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32618
32619 * normal/menu.c (grub_wait_after_message): Moved to
32620 `normal/menu_text.c'.
32621 (draw_border): Likewise.
32622 (print_message): Likewise.
32623 (print_entry): Likewise.
32624 (print_entries): Likewise.
32625 (grub_menu_init_page): Likewise.
32626 (get_entry_number): Likewise.
32627 (print_timeout): Likewise.
32628 (run_menu): Likewise.
32629 (grub_menu_execute_entry): Likewise.
32630 (show_text_menu): Likewise.
32631 (get_and_remove_first_entry_number): New function.
32632 (grub_menu_execute_with_fallback): Likewise.
32633 (get_entry): Renamed to ...
32634 (grub_menu_get_entry): .. this and made it global.
32635 (get_timeout): Renamed to ...
32636 (grub_menu_get_timeout): ... this and made it global.
32637 (set_timeout): Renamed to ...
32638 (grub_menu_set_timeout): ... this and made it global.
32639 (grub_normal_terminal_menu_viewer): Renamed to ...
32640 (grub_normal_text_menu_viewer): ... this.
32641
32642 * normal/menu_text.c: New file. Extracted text-menu-specific code
32643 from normal/menu.c.
32644
32645 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32646 (normal_mod_SOURCES): Likewise.
32647
32648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32649 (normal_mod_SOURCES): Likewise.
32650
32651 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32652 (normal_mod_SOURCES): Likewise.
32653
32654 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32655 (normal_mod_SOURCES): Likewise.
32656
32657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32658 (normal_mod_SOURCES): Likewise.
32659
32660 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32661 (normal_mod_SOURCES): Likewise.
32662
32663 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32664 (normal_mod_SOURCES): Likewise.
32665
32666 2009-02-11 Robert Millan <rmh@aybabtu.com>
32667
32668 * util/grub.d/00_header.in: Update old reference to `font' command.
32669
32670 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
32671
32672 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32673
32674 Based on patch from Javier Martín.
32675
32676 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32677
32678 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
32679 to avoid false positives with FAT.
32680 (grub_fstest_SOURCES): Likewise.
32681 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32682 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32684 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32686 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32687
32688 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32689
32690 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
32691 bpb.version_specific.fat12_or_fat16.fstype and
32692 bpb.version_specific.fat32.fstype.
32693
32694 2009-02-08 Robert Millan <rmh@aybabtu.com>
32695
32696 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
32697
32698 2009-02-08 Robert Millan <rmh@aybabtu.com>
32699
32700 * Makefile.in (host_os, host_cpu): New variables.
32701 (target_os): Remove. Update all users.
32702
32703 2009-02-08 Marco Gerards <marco@gnu.org>
32704
32705 * Makefile.in (enable_grub_emu_usb): New variable.
32706 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32707 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32708 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32709 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32710 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32711 `usbtest.mod' and `usbms.mod'.
32712 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32713 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32714 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32715 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32716 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32717 variables.
32718
32719 * disk/usbms.c: New file.
32720
32721 * include/grub/usb.h: Likewise.
32722
32723 * include/grub/usbtrans.h: Likewise.
32724
32725 * include/grub/usbdesc.h: Likewise.
32726
32727 * bus/usb/usbtrans.c: Likewise.
32728
32729 * bus/usb/ohci.c: Likewise.
32730
32731 * bus/usb/uhci.c: Likewise.
32732
32733 * bus/usb/usbhub.c: Likewise.
32734
32735 * bus/usb/usb.c: Likewise.
32736
32737 * commands/usbtest.c: Likewise.
32738
32739 * util/usb.c: Likewise.
32740
32741 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32742
32743 * configure.ac: Test for libusb presence.
32744
32745 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32746
32747 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32748
32749 * kern/mm.c: Add more comments.
32750
32751 2009-02-08 Robert Millan <rmh@aybabtu.com>
32752
32753 Patch from Javier Martín.
32754 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32755 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32756
32757 2009-02-08 Robert Millan <rmh@aybabtu.com>
32758
32759 * fs/cpio.c: Split tar functionality to ...
32760 * fs/tar.c: ... here (new file). Update all users.
32761
32762 2009-02-07 Robert Millan <rmh@aybabtu.com>
32763
32764 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32765 backward-incompatible features.
32766
32767 Based on patch from Javier Martín, with some adjustments.
32768
32769 2009-02-07 Michael Scherer <misc@mandriva.org>
32770
32771 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32772
32773 2009-02-07 Robert Millan <rmh@aybabtu.com>
32774
32775 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32776 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32777 after the RAID stuff.
32778
32779 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32780
32781 Fixes problem when running vbetest command as reported by
32782 Vladimir Serbinenko <phcoder@gmail.com>.
32783
32784 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32785
32786 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32787
32788 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32789 /dev/md/NpN style mdraid devices.
32790
32791 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32792
32793 * util/unifont2pff.rb: Remove.
32794
32795 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32796
32797 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32798 `#'.
32799
32800 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32801
32802 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32803 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32804 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32805 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32807 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32808 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32809
32810 2009-02-02 Christian Franke <franke@computer.org>
32811
32812 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32813
32814 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32815
32816 * INSTALL: Note that we now require at least autoconf 2.59 and
32817 that LZO is optional.
32818
32819 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32820
32821 Base on patch on bug #24154 created by Tomas Tintera
32822 <trosos@seznam.cz>.
32823
32824 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32825
32826 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32827
32828 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32829 <bero@arklinux.org>.
32830
32831 * normal/parser.y (script_init): Add missing semicolon.
32832
32833 2009-01-31 Colin D Bennett <colin@gibibit.com>
32834
32835 * normal/main.c: Add include to grub/menu_viewer.h.
32836 (free_menu_entry_classes): Added.
32837 (grub_normal_menu_addentry): Added class property handling.
32838 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32839 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32840
32841 * normal/menu_viewer.c: New file.
32842
32843 * normal/menu.c (run_menu_entry): Renamed to ...
32844 (grub_menu_execute_entry): ... this and made it as global.
32845 (grub_menu_run): Renamed to ...
32846 (show_text_menu): ... this and made it local.
32847 (show_text_menu): Adapt to new function names.
32848 (grub_normal_terminal_menu_viewer): New global variable.
32849
32850 * include/grub/menu.h: New file.
32851
32852 * include/grub/menu_viewer.h: New file.
32853
32854 * include/grub/normal.h: Added include to grub/menu.h.
32855 (grub_menu_entry): Moved to include/grub/menu.h.
32856 (grub_menu_entry_t): Likewise.
32857 (grub_menu): Likewise.
32858 (grub_menu_t): Likewise.
32859 (grub_normal_terminal_menu_viewer): Added.
32860 (grub_menu_execute_entry): Likewise.
32861 (grub_menu_run): Removed.
32862
32863 * DISTLIST: Added include/grub/menu.h.
32864 Added include/grub/menu_viewer.h.
32865 Added normal/menu_viewer.c.
32866
32867 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32868
32869 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32870 arglist for menutitle arguments.
32871
32872 * normal/main.c (grub_normal_menu_addentry): Likewise.
32873
32874 * normal/parser.y (menuentry): Likewise.
32875
32876 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32877
32878 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32879 (grub_script_create_cmdmenu): Likewise.
32880
32881 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32882
32883 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32884 changes.
32885
32886 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32887
32888 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32889
32890 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32891
32892 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32893
32894 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32895
32896 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32897
32898 2009-01-30 Christian Franke <franke@computer.org>
32899
32900 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32901 in option help text.
32902
32903 2009-01-27 Pavel Roskin <proski@gnu.org>
32904
32905 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32906
32907 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32908
32909 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32910
32911 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32912
32913 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32914 unregister function.
32915
32916 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32917
32918 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32919
32920 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32921
32922 * util/grub-mkfont.c (usage): Fix typo.
32923
32924 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32925
32926 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32927
32928 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32929
32930 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32931
32932 * kern/misc.c (grub_strcasecmp): New function.
32933 (grub_strcasecmp): Use grub_size_t instead of int for length.
32934 Fix return value.
32935 * include/grub/misc.h: Update function prototypes.
32936
32937 2009-01-26 Robert Millan <rmh@aybabtu.com>
32938
32939 * configure.ac: Fix cross-compilation check.
32940
32941 2009-01-22 Christian Franke <franke@computer.org>
32942
32943 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32944 (precision) digit string. Allow `.format2' without `format1' (width).
32945 Limit input chars for `%s' output to `format2' if specified. This is
32946 compatible with standard printf ().
32947
32948 2009-01-22 Christian Franke <franke@computer.org>
32949
32950 * disk/ata.c (grub_ata_wait_status): Replace by ...
32951 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32952 other status bits may be invalid while BSY is asserted.
32953 (grub_ata_check_ready): New function.
32954 (grub_ata_cmd): Removed.
32955 (grub_ata_wait_drq): New function.
32956 (grub_ata_strncpy): Remove inline.
32957 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32958 and error check now done by grub_ata_wait_drq ().
32959 (grub_ata_pio_write): Likewise.
32960 (grub_atapi_identify): Set DEV before check for !BSY. Use
32961 grub_ata_wait_drq () to wait for data.
32962 (grub_ata_device_initialize): Add status register check to
32963 detect missing SATA slave devices. Add debug messages.
32964 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32965 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32966 transfer loop by grub_ata_pio_write ().
32967 (grub_ata_identify): Set DEV before check for !BSY. Use
32968 grub_ata_wait_drq () to wait for data.
32969 (grub_ata_setaddress): Set DEV before check for !BSY.
32970 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32971 read/write in one loop. Fix invalid command on write. Fix incomplete
32972 command on (size % batch) == 0. Add missing error check after write of
32973 last block. Add debug messages.
32974 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32975
32976 2009-01-19 Christian Franke <franke@computer.org>
32977
32978 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32979 (GRUB_ATAPI_IREASON_*): Likewise.
32980 (grub_ata_pio_write): Fix timeout error return.
32981 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32982 (grub_atapi_wait_drq): New function.
32983 (grub_atapi_packet): New parameter `size'.
32984 Use grub_atapi_wait_drq () and direct write instead of
32985 grub_ata_pio_write ().
32986 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32987 reads the number of bytes requested by the device for each DRQ
32988 assertion.
32989 (grub_atapi_write): Remove old implementation, return not
32990 implemented instead.
32991
32992 2009-01-19 Christian Franke <franke@computer.org>
32993
32994 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32995 of 512 to calculate data size.
32996 (grub_scsi_read12): Likewise.
32997 (grub_scsi_write10): Likewise.
32998 (grub_scsi_write12): Likewise.
32999 (grub_scsi_read): Adjust size according to blocksize.
33000 Add checks for invalid blocksize and unaligned transfer.
33001
33002 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33003
33004 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33005
33006 * term/gfxterm.c (write_char): Fix background rendering for wide
33007 width glyphs.
33008
33009 2009-01-19 Robert Millan <rmh@aybabtu.com>
33010
33011 * config.guess: Update to latest version from config git.
33012 * config.sub: Likewise.
33013
33014 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
33015
33016 * Makefile.in: Change font compilation to use new grub-mkfont instead
33017 of java version.
33018
33019 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33020 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33021 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33022 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33023 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33024 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33025 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33026 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33027 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33028
33029 2009-01-16 Christian Franke <franke@computer.org>
33030
33031 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33032 (enum grub_ata_timeout_milliseconds): New enum.
33033 (grub_ata_wait_status): Add parameter milliseconds.
33034 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33035 recovery from timed-out commands.
33036 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33037 return grub_errno instead of REG_ERROR.
33038 (grub_ata_pio_write): Add parameter milliseconds.
33039 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33040 Pass milliseconds to grub_ata_wait_status () and
33041 grub_ata_pio_read ().
33042 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33043 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33044 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33045 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33046 It is not suitable for device detection, because DEV bit is ignored,
33047 the command may run too long, and not all devices set the signature
33048 properly.
33049 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33050 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33051 Fix device selection, DEV bit must be set first to address the registers
33052 of the correct device.
33053 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33054 grub_ata_pio_read/write ().
33055 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33056 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33057
33058 2009-01-13 Carles Pina i Estany <carles@pina.cat>
33059
33060 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33061
33062 2009-01-13 Bean <bean123ch@gmail.com>
33063
33064 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33065
33066 2009-01-13 Bean <bean123ch@gmail.com>
33067
33068 * Makefile.in: (enable_grub_mkfont): New variable.
33069 (freetype_cflags): Likewise.
33070 (freetype_libs): Likewise.
33071
33072 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33073 (grub_mkfont_SOURCES): New variable.
33074 (grub_mkfont_CFLAGS): Likewise.
33075 (grub_mkfont_LDFLAGS): Likewise.
33076
33077 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33078 library if `--enable-grub-mkfont' is requested.
33079 (enable_grub_mkfont): New variable.
33080 (freetype_cflags): Likewise.
33081 (freetype_libs): Likewise.
33082
33083 * util/grub-mkfont.c: New file.
33084
33085 2009-01-12 Christian Franke <franke@computer.org>
33086
33087 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33088 mode check. Fix setting of compat_use[].
33089
33090 2009-01-10 Robert Millan <rmh@aybabtu.com>
33091
33092 Update a few copyright years which we forgot to do in 2008 (only for
33093 files whose changes made in 2008 were copyright-significant)
33094
33095 * Makefile.in: Add 2008 to Copyright line.
33096 * disk/ieee1275/ofdisk.c: Likewise.
33097 * disk/efi/efidisk.c: Likewise.
33098 * kern/dl.c: Likewise.
33099 * kern/sparc64/ieee1275/init.c: Likewise.
33100 * kern/mm.c: Likewise.
33101 * kern/efi/mm.c: Likewise.
33102 * boot/i386/pc/boot.S: Likewise.
33103 * genfslist.sh: Likewise.
33104 * fs/iso9660.c: Likewise.
33105 * fs/hfs.c: Likewise.
33106 * fs/jfs.c: Likewise.
33107 * fs/minix.c: Likewise.
33108 * fs/ufs.c: Likewise.
33109 * gensymlist.sh.in: Likewise.
33110 * genkernsyms.sh.in: Likewise.
33111 * include/grub/misc.h: Likewise.
33112 * include/grub/types.h: Likewise.
33113 * include/grub/symbol.h: Likewise.
33114 * include/grub/elf.h: Likewise.
33115 * include/grub/kernel.h: Likewise.
33116 * include/grub/disk.h: Likewise.
33117 * include/grub/dl.h: Likewise.
33118 * include/grub/i386/linux.h: Likewise.
33119 * include/grub/i386/pc/biosdisk.h: Likewise.
33120 * include/grub/efi/api.h: Likewise.
33121 * include/grub/efi/pe32.h: Likewise.
33122 * include/grub/util/misc.h: Likewise.
33123 * normal/execute.c: Likewise.
33124 * normal/arg.c: Likewise.
33125 * normal/completion.c: Likewise.
33126 * normal/lexer.c: Likewise.
33127 * normal/parser.y: Likewise.
33128 * normal/misc.c: Likewise.
33129 * commands/i386/pc/vbeinfo.c: Likewise.
33130 * commands/hexdump.c: Likewise.
33131 * commands/terminal.c: Likewise.
33132 * commands/ls.c: Likewise.
33133 * commands/help.c: Likewise.
33134 * partmap/pc.c: Likewise.
33135 * loader/efi/chainloader.c: Likewise.
33136 * loader/multiboot_loader.c: Likewise.
33137 * loader/i386/pc/multiboot2.c: Likewise.
33138 * term/efi/console.c: Likewise.
33139 * term/i386/pc/serial.c: Likewise.
33140 * util/lvm.c: Likewise.
33141 * util/console.c: Likewise.
33142 * util/i386/efi/grub-mkimage.c: Likewise.
33143 * util/raid.c: Likewise.
33144
33145 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33146
33147 * commands/videotest.c: Removed include to grub/machine/memory.h.
33148
33149 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33150 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33151 (video_mod_SOURCES): Removed.
33152 (video_mod_CFLAGS): Likewise.
33153 (video_mod_LDFLAGS): Likewise.
33154 (gfxterm_mod_SOURCES): Likewise.
33155 (gfxterm_mod_CFLAGS): Likewise.
33156 (gfxterm_mod_LDFLAGS): Likewise.
33157 (videotest_mod_SOURCES): Likewise.
33158 (videotest_mod_CFLAGS): Likewise.
33159 (videotest_mod_LDFLAGS): Likewise.
33160 (bitmap_mod_SOURCES): Likewise.
33161 (bitmap_mod_CFLAGS): Likewise.
33162 (bitmap_mod_LDFLAGS): Likewise.
33163 (tga_mod_SOURCES): Likewise.
33164 (tga_mod_CFLAGS): Likewise.
33165 (tga_mod_LDFLAGS): Likewise.
33166 (jpeg_mod_SOURCES): Likewise.
33167 (jpeg_mod_CFLAGS): Likewise.
33168 (jpeg_mod_LDFLAGS): Likewise.
33169 (png_mod_SOURCES): Likewise.
33170 (png_mod_CFLAGS): Likewise.
33171 (png_mod_LDFLAGS): Likewise.
33172
33173 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33174 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33175 (video_mod_SOURCES): Added.
33176 (video_mod_CFLAGS): Likewise.
33177 (video_mod_LDFLAGS): Likewise.
33178 (videotest_mod_SOURCES): Likewise.
33179 (videotest_mod_CFLAGS): Likewise.
33180 (videotest_mod_LDFLAGS): Likewise.
33181 (bitmap_mod_SOURCES): Likewise.
33182 (bitmap_mod_CFLAGS): Likewise.
33183 (bitmap_mod_LDFLAGS): Likewise.
33184 (tga_mod_SOURCES): Likewise.
33185 (tga_mod_CFLAGS): Likewise.
33186 (tga_mod_LDFLAGS): Likewise.
33187 (jpeg_mod_SOURCES): Likewise.
33188 (jpeg_mod_CFLAGS): Likewise.
33189 (jpeg_mod_LDFLAGS): Likewise.
33190 (png_mod_SOURCES): Likewise.
33191 (png_mod_CFLAGS): Likewise.
33192 (png_mod_LDFLAGS): Likewise.
33193 (gfxterm_mod_SOURCES): Likewise.
33194 (gfxterm_mod_CFLAGS): Likewise.
33195 (gfxterm_mod_LDFLAGS): Likewise.
33196
33197 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33198 grub/machine/console.h.
33199
33200 2009-01-04 Jerone Young <jerone@gmail.com>
33201
33202 Make on screen instructions clearer
33203
33204 Based on patch created by Jidanni <jidanni@jidanni.org>
33205
33206 * normal/menu.c: print clearer instructions on the screen
33207
33208 2009-01-02 Colin D Bennett <colin@gibibit.com>
33209
33210 New font engine.
33211
33212 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33213 build system and fixed gfxterm.c to work with different sized fonts.
33214
33215 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
33216
33217 * configure: Re-generated.
33218
33219 * DISTLIST: Removed font/manager.c.
33220 Added font/font.c.
33221 Added font/font_cmd.c.
33222
33223 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33224 compilation.
33225
33226 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
33227
33228 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
33229
33230 * kern/term.c: Changed users of grub_utf8_to_ucs4.
33231
33232 * normal/menu.c: Likewise.
33233
33234 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33235 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
33236
33237 * include/grub/font.h: Replaced with new file.
33238
33239 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33240 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33241 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33242 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33243 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33244 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33245 fg_red, fg_green, fg_blue, fg_alpha.
33246 (grub_video_adapter): Removed blit_glyph.
33247 (grub_video_blit_glyph): Removed.
33248
33249 * font/manager.c: Removed file.
33250
33251 * font/font.c: New file.
33252
33253 * font/font_cmd.c: Likewise.
33254
33255 * video/video.c (grub_video_blit_glyph): Removed.
33256
33257 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33258 (grub_video_vbe_map_rgba): Likewise.
33259 (grub_video_vbe_unmap_color_int): Likewise.
33260 (grub_video_vbe_blit_glyph): Removed.
33261 (grub_video_vbe_adapter): Removed blit_glyph.
33262
33263 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33264 (get_pixel): Likewise.
33265 (set_pixel): Likewise.
33266
33267 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33268
33269 * term/gfxterm.c: Adapted to new font engine.
33270
33271 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33272
33273 * term/i386/pc/vga.c: Likewise.
33274
33275 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33276
33277 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33278
33279 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33280
33281 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33282
33283 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33284
33285 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33286
33287 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33288
33289 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33290
33291 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33292
33293 * util/grub.d/00_header.in: Changed to use new loadfont command.
33294
33295 * util/grub-mkconfig_lib.in: Changed font extension.
33296
33297 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33298
33299 * util/getroot.c (grub_util_get_grub_dev): Add support for
33300 /dev/md/dNNpNN style partitionable mdraid devices.
33301
33302 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33303
33304 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33305 at a time limit of the PXE TFTP API correctly.
33306 (grub_pxefs_close): Likewise.
33307
33308 2008-11-29 Robert Millan <rmh@aybabtu.com>
33309
33310 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33311 grub_ata_device_initialize() calls.
33312
33313 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33314
33315 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33316 iteration failed.
33317 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33318
33319 2008-11-28 Robert Millan <rmh@aybabtu.com>
33320
33321 Fix build on powerpc-ieee1275. Based on patch created by
33322 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33323 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33324 `kern/ieee1275/mmap.c'.
33325 * include/grub/powerpc/ieee1275/memory.h: New file.
33326
33327 Provide grub-install on coreboot.
33328 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33329 (grub_install_SOURCES): New variable.
33330 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33331 usable on coreboot.
33332
33333 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33334
33335 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33336 to `grub_term_input_t'.
33337 (grub_term_get_current_output): Change return type to
33338 `grub_term_output_t'.
33339
33340 2008-11-22 Robert Millan <rmh@aybabtu.com>
33341
33342 Fix breakage on coreboot due to declaration mismatch.
33343 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33344 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33345 grub_vga_text_cls().
33346
33347 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33348 comments. Avoid copying one more byte than necessary (just in case).
33349
33350 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33351 to 0x200000 (avoids trouble with some OFW implementations, and matches
33352 with the one in Yaboot).
33353 Reported by Manoel Abranches
33354
33355 2008-11-20 Robert Millan <rmh@aybabtu.com>
33356
33357 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33358 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33359
33360 * util/grub-mkconfig_lib.in (grub_warn): New function.
33361 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33362 warnings, to obtain consistent formatting.
33363 * util/grub.d/00_header.in: Likewise.
33364 * util/update-grub_lib.in: Likewise.
33365
33366 * loader/i386/linux.c (allocate_pages): Fix a warning.
33367 Move comment text to `#error' stanza.
33368
33369 Harmonize ieee1275's grub_available_iterate() with the generic
33370 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33371 build problem on i386-ieee1275):
33372 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33373 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33374 parameter `type'. Update all users of this function.
33375 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33376 `kern/ieee1275/mmap.c'.
33377 * kern/ieee1275/init.c
33378 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33379 with ...
33380 (grub_machine_mmap_iterate): ... this.
33381 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33382 return type to `grub_err_t'. Update all implementations of this
33383 function prototype.
33384 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33385 Likewise.
33386
33387 Add `lsmmap' command (lists firmware-provided memory map):
33388 * commands/lsmmap.c: New file.
33389 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33390 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33391 variables.
33392 * conf/powerpc-ieee1275.rmk: Likewise.
33393 * conf/i386-coreboot.rmk: Likewise.
33394 * conf/i386-ieee1275.rmk: Likewise.
33395
33396 2008-11-19 Robert Millan <rmh@aybabtu.com>
33397
33398 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33399 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33400 constraints to initrd allocation (based on code from
33401 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33402 for Linux to find it.
33403
33404 2008-11-14 Robert Millan <rmh@aybabtu.com>
33405
33406 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33407 order to cope with duplicate slashes.
33408
33409 2008-11-14 Robert Millan <rmh@aybabtu.com>
33410
33411 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33412 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33413 don't want to mess with lower memory, because it is used in the Linux
33414 loader.
33415
33416 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33417 an appropriate place in lower memory, between 0x10000 and 0x90000,
33418 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33419 is in our heap (probably as a result of it being corrupted during
33420 decompression). Add #error instance with comment to explain why this
33421 loader isn't currently usable on PC/BIOS.
33422
33423 2008-11-14 Robert Millan <rmh@aybabtu.com>
33424
33425 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33426 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33427
33428 2008-11-12 Robert Millan <rmh@aybabtu.com>
33429
33430 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33431
33432 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33433 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33434 from here ...
33435 * include/grub/i386/pc/memory.h: ... to here.
33436
33437 2008-11-12 Robert Millan <rmh@aybabtu.com>
33438
33439 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33440 split).
33441
33442 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33443 (grub_console_cur_color, grub_console_real_putchar)
33444 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33445 (grub_console_setcolorstate, grub_console_setcolor)
33446 (grub_console_getcolor): Move from here ...
33447 * include/grub/i386/vga_common.h: ... to here (new file).
33448
33449 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33450 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33451 `<grub/i386/io.h>'.
33452 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33453 `<grub/i386/vga_common.h>'.
33454
33455 2008-11-12 Robert Millan <rmh@aybabtu.com>
33456
33457 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33458 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33459 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33460 variables.
33461 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33462 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33463
33464 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33465 grub_console_init() with call to grub_vga_text_init().
33466 (grub_machine_fini): Replace call to
33467 grub_console_fini() with call to grub_vga_text_fini() and
33468 grub_at_keyboard_fini().
33469
33470 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33471 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33472 (grub_console_setcolorstate, grub_console_setcolor)
33473 (grub_console_getcolor): New function prototypes.
33474
33475 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33476 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33477 (grub_vga_text_setcursor): Static-ize.
33478 (grub_vga_text_term): New structure.
33479 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33480
33481 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33482 (grub_console_cur_color, grub_console_standard_color)
33483 (grub_console_normal_color, grub_console_highlight_color)
33484 (map_char, grub_console_putchar, grub_console_getcharwidth)
33485 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33486 (grub_console_getcolor): Move from here ...
33487 * term/i386/vga_common.c: ... to here (same function names).
33488
33489 2008-11-12 Robert Millan <rmh@aybabtu.com>
33490
33491 Use newly-added Multiboot support in coreboot.
33492
33493 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33494 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33495
33496 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33497 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33498 (codestart): Store the MBI in `startup_multiboot_info' when we're
33499 being loaded using Multiboot.
33500
33501 * kern/i386/coreboot/init.c (grub_machine_init): Move
33502 grub_at_keyboard_init() call to beginning of function (useful for
33503 debugging). Call grub_machine_mmap_init() before attempting to use
33504 grub_machine_mmap_iterate().
33505 (grub_lower_mem, grub_upper_mem): Move from here ...
33506 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33507 here (new file).
33508
33509 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33510 function prototype.
33511
33512 2008-11-12 Robert Millan <rmh@aybabtu.com>
33513
33514 Fix a regression introduced by the at_keyboard.mod split. Because
33515 some terminals are default on some platforms and non-default on
33516 others, the first terminal being registered determines which is
33517 going to be default.
33518
33519 * kern/term.c (grub_term_register_input): If this is the first
33520 terminal being registered, set it as the current one.
33521 (grub_term_register_output): Likewise.
33522
33523 * term/efi/console.c (grub_console_init): Do not call
33524 grub_term_set_current_output() or grub_term_set_current_input().
33525 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33526 * term/i386/pc/console.c (grub_console_init): Likewise.
33527 (grub_console_fini): Do not call grub_term_set_current_input()
33528 (but leave grub_term_set_current_output() to restore text mode).
33529
33530 2008-11-10 Robert Millan <rmh@aybabtu.com>
33531
33532 * util/grub.d/00_header.in: Add backward compatibility check for
33533 versions of terminal.mod that don't understand `terminal_input' or
33534 `terminal_output'.
33535
33536 2008-11-09 Robert Millan <rmh@aybabtu.com>
33537
33538 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33539 `terminal_input' / `terminal_output', not `terminal'.
33540
33541 2008-11-08 Robert Millan <rmh@aybabtu.com>
33542
33543 * Makefile.in (include_DATA): Fix srcdir=. assumption.
33544 (DISTCLEANFILES): Add `build_env.mk'.
33545
33546 2008-11-08 Robert Millan <rmh@aybabtu.com>
33547
33548 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
33549 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33550 members. Update all users.
33551 * util/console.c (grub_ncurses_term): Split in ...
33552 (grub_ncurses_term_input): ... this, and ...
33553 (grub_ncurses_term_output): ... this. Update all users.
33554 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
33555
33556 2008-11-08 Robert Millan <rmh@aybabtu.com>
33557
33558 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33559 (PKGDATA): Add $(pkgdata_SRCDIR).
33560 (pkglib_BUILDDIR): New variable.
33561 (pkgdata_SRCDIR): New variable.
33562 (build_env.mk): New target.
33563 (include_DATA): New variable.
33564 (install-local): Install $(include_DATA) files in $(includedir).
33565
33566 2008-11-07 Pavel Roskin <proski@gnu.org>
33567
33568 * gendistlist.sh: Use C locale for sorting to ensure consistent
33569 output on all systems.
33570
33571 * util/grub.d/00_header.in: Remove incorrect space before
33572 "serial".
33573
33574 2008-11-07 Robert Millan <rmh@aybabtu.com>
33575
33576 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33577 per specification.
33578 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33579 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33580 (based on find_multi_boot1_header).
33581 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33582 using find_multi_boot2_header(), and abort if neither Multiboot or
33583 Multiboot headers were found.
33584
33585 2008-11-07 Robert Millan <rmh@aybabtu.com>
33586
33587 Modularize at_keyboard.mod:
33588
33589 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33590 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33591 (at_keyboard_mod_LDFLAGS): New variables.
33592
33593 Actual terminal split:
33594
33595 * include/grub/term.h (struct grub_term): Split in ...
33596 (struct grub_term_input): ... this, and ...
33597 (struct grub_term_output): ... this. Update all users.
33598 (grub_term_set_current): Split in ...
33599 (grub_term_set_current_input): ... this, and ...
33600 (grub_term_set_current_output): ... this.
33601 (grub_term_get_current): Split in ...
33602 (grub_term_get_current_input): ... this, and ...
33603 (grub_term_get_current_output): ... this.
33604 (grub_term_register): Split in ...
33605 (grub_term_register_input): ... this, and ...
33606 (grub_term_register_output): ... this.
33607 (grub_term_unregister): Split in ...
33608 (grub_term_unregister_input): ... this, and ...
33609 (grub_term_unregister_output): ... this.
33610 (grub_term_iterate): Split in ...
33611 (grub_term_iterate_input): ... this, and ...
33612 (grub_term_iterate_output): ... this.
33613
33614 * kern/term.c (grub_term_list): Split in ...
33615 (grub_term_list_input): ... this, and ...
33616 (grub_term_list_output): ... this. Update all users.
33617 (grub_cur_term): Split in ...
33618 (grub_cur_term_input): ... this, and ...
33619 (grub_cur_term_output): ... this. Update all users.
33620 (grub_term_set_current): Split in ...
33621 (grub_term_set_current_input): ... this, and ...
33622 (grub_term_set_current_output): ... this.
33623 (grub_term_get_current): Split in ...
33624 (grub_term_get_current_input): ... this, and ...
33625 (grub_term_get_current_output): ... this.
33626 (grub_term_register): Split in ...
33627 (grub_term_register_input): ... this, and ...
33628 (grub_term_register_output): ... this.
33629 (grub_term_unregister): Split in ...
33630 (grub_term_unregister_input): ... this, and ...
33631 (grub_term_unregister_output): ... this.
33632 (grub_term_iterate): Split in ...
33633 (grub_term_iterate_input): ... this, and ...
33634 (grub_term_iterate_output): ... this.
33635
33636 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33637 a check for input and one for output (and only attempt to get keys
33638 from user when input works).
33639
33640 * util/grub-probe.c (grub_term_get_current): Split in ...
33641 (grub_term_get_current_input): ... this, and ...
33642 (grub_term_get_current_output): ... this.
33643 * util/grub-fstest.c: Likewise.
33644 * util/i386/pc/grub-setup.c: Likewise.
33645 * util/grub-editenv.c: Likewise.
33646
33647 Portability adjustments:
33648
33649 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33650 `term/i386/pc/at_keyboard.c'.
33651 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33652 grub_keyboard_controller_init() (now handled by terminal .init).
33653 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33654 grub_at_keyboard_init().
33655 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33656 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33657 at_keyboard.mod via input terminal interface).
33658 * include/grub/i386/coreboot/console.h: Convert into a stub for
33659 `<grub/i386/pc/console.h>'.
33660
33661 Migrate full terminals to new API:
33662
33663 * term/efi/console.c (grub_console_term): Split into ...
33664 (grub_console_term_input): ... this, and ...
33665 (grub_console_term_output): ... this. Update all users.
33666 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33667 (grub_ofconsole_init): Split into ...
33668 (grub_ofconsole_init_input): ... this, and ...
33669 (grub_ofconsole_init_output): ... this.
33670 (grub_ofconsole_term): Split into ...
33671 (grub_ofconsole_term_input): ... this, and ...
33672 (grub_ofconsole_term_output): ... this. Update all users.
33673 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33674 (grub_serial_term_input): ... this, and ...
33675 (grub_serial_term_output): ... this. Update all users.
33676 * term/i386/pc/console.c (grub_console_term): Split into ...
33677 (grub_console_term_input): ... this, and ...
33678 (grub_console_term_output): ... this. Update all users.
33679 (grub_console_term_input): Only enable it on PC/BIOS platform.
33680 (grub_console_init): Remove grub_keyboard_controller_init() call.
33681
33682 Migrate input terminals to new API:
33683
33684 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33685 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33686 i386-specific anyway).
33687 (grub_console_checkkey): Rename to ...
33688 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33689 users.
33690 (grub_keyboard_controller_orig): New variable.
33691 (grub_console_getkey): Rename to ...
33692 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33693 users.
33694 (grub_keyboard_controller_init): Static-ize. Save original
33695 controller value so that it can be restored ...
33696 (grub_keyboard_controller_fini): ... here (new function).
33697 (grub_at_keyboard_term): New structure.
33698 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33699 functions.
33700
33701 Migrate output terminals to new API:
33702
33703 * term/i386/pc/vga.c (grub_vga_term): Change type to
33704 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33705 members. Update all users.
33706 * term/gfxterm.c (grub_video_term): Change type to
33707 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33708 members. Update all users.
33709 * include/grub/i386/pc/console.h (grub_console_checkkey)
33710 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33711 etc).
33712
33713 Migrate `terminal' command and userland tools to new API:
33714
33715 * commands/terminal.c (grub_cmd_terminal): Split into ...
33716 (grub_cmd_terminal_input): ... this, and ...
33717 (grub_cmd_terminal_output): ... this.
33718 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33719 `terminal_input' and `terminal_output'.
33720 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33721 `terminal_input' / `terminal_output' API.
33722 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33723 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33724 provided ${GRUB_TERMINAL}, convert it).
33725
33726 2008-11-04 Robert Millan <rmh@aybabtu.com>
33727
33728 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33729 for FreeBSD.
33730 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33731
33732 2008-11-03 Bean <bean123ch@gmail.com>
33733
33734 * kern/elf.c (grub_elf32_load): Revert to previous code.
33735 (grub_elf64_load): Likewise.
33736
33737 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33738
33739 2008-11-01 Robert Millan <rmh@aybabtu.com>
33740
33741 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33742 (TARGET_CPPFLAGS): Likewise.
33743 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33744
33745 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33746
33747 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33748
33749 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33750
33751 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33752 addition of objects until the code is not going to be able to fail.
33753
33754 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33755
33756 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33757 (add a missing NULL check, and correct them by moving the pointer
33758 operations after the actual check).
33759
33760 2008-10-29 Robert Millan <rmh@aybabtu.com>
33761
33762 * util/i386/pc/grub-install.in: Handle empty string as output from
33763 make_system_path_relative_to_its_root().
33764
33765 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33766
33767 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33768 circular metadata worst case scenario. If the metadata is circular
33769 then copy the wrap in place.
33770 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33771 project lib/format_text/layout.h
33772 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33773
33774 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33775
33776 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33777
33778 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33779
33780 * util/update-grub_lib.in: Mention filename in warning message.
33781
33782 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33783
33784 * NEWS: Update for rename of update-grub to grub-mkconfig.
33785
33786 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33787
33788 * util/update-grub_lib.in: Copy to ...
33789 * util/grub-mkconfig_lib.in: ... this. Update all users.
33790 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33791 * util/update-grub.in: Rename to ...
33792 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33793 option. Add `--output' option to allow users to specify the generated
33794 configuration file. Default to stdout.
33795 (update_grub_dir): Rename to ...
33796 (grub_mkconfig_dir): ... this.
33797 (grub_cfg): Default to an empty string.
33798 * conf/common.rmk (update-grub): Rename to ...
33799 (grub-mkconfig): ... this.
33800 (update-grub_lib): Copy to ...
33801 (grub-mkconfig_lib): ... this.
33802 (update-grub_SCRIPTS): Copy to ...
33803 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33804 (update-grub_DATA): Rename to ...
33805 (grub-mkconfig_DATA): ... this.
33806
33807 2008-09-28 Robert Millan <rmh@aybabtu.com>
33808
33809 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33810 to `modified'. Add the real `created' field.
33811 (grub_iso9660_uuid): Use `modified' rather than `created' for
33812 constructing the UUID.
33813
33814 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33815
33816 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33817 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33818
33819 2008-09-28 Bean <bean123ch@gmail.com>
33820
33821 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33822 Thanks to Christian Franke for finding this bug.
33823
33824 2008-09-25 Robert Millan <rmh@aybabtu.com>
33825
33826 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33827 instances of grub_util_get_disk_name() (see previous commit).
33828
33829 2008-09-25 Robert Millan <rmh@aybabtu.com>
33830
33831 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33832 `util/i386/get_disk_name.c'.
33833 * conf/i386-efi.rmk: Likewise.
33834 * conf/x86_64-efi.rmk: Likewise.
33835 * conf/i386-coreboot.rmk: Likewise.
33836 * conf/i386-ieee1275.rmk: Likewise.
33837 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33838 `util/ieee1275/get_disk_name.c'.
33839 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33840 * util/ieee1275/get_disk_name.c: Remove file.
33841 * util/i386/get_disk_name.c: Remove file.
33842 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33843 "hd%d" for device.map entries, rather than using
33844 grub_util_get_disk_name().
33845
33846 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33847
33848 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33849 warning.
33850 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33851
33852 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33853
33854 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33855 Changed to 0x5100.
33856 (GRUB_TERM_PPAGE): Changed to 0x4900.
33857
33858 2008-09-24 Robert Millan <rmh@aybabtu.com>
33859
33860 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33861 macros (they were i386-pc specific).
33862 * include/grub/sparc64/ieee1275/console.h: Likewise.
33863 * include/grub/efi/console.h: Likewise.
33864
33865 2008-09-22 Bean <bean123ch@gmail.com>
33866
33867 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33868 resident and in attribute list.
33869
33870 * include/grub/ntfs.h (BMP_LEN): Removed.
33871
33872 2008-09-22 Bean <bean123ch@gmail.com>
33873
33874 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33875 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33876
33877 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33878 error occurs, as grub_disk_open will call grub_disk_close, which will
33879 call p->close (scsi).
33880
33881 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33882
33883 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33884 (AC_PREREQ): Bumped to 2.59.
33885 (AC_TRY_COMPILE): Replace obsolete macro with ...
33886 (AC_COMPILE_IFELSE): ... this.
33887 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33888 (AC_LINK_IFELSE): ... this.
33889
33890 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33891
33892 * autogen.sh: Add a call to `gendistlist.sh'.
33893
33894 2008-09-19 Christian Franke <franke@computer.org>
33895
33896 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33897 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33898 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33899 Export __enable_execute_stack() to modules.
33900 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33901 New function.
33902
33903 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33904
33905 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33906 Sort the list.
33907
33908 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33909
33910 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33911 #include <grub/util/hostdisk.h>.
33912
33913 2008-09-08 Robert Millan <rmh@aybabtu.com>
33914
33915 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33916 segments when their filesz is zero (grub_file_read() interprets
33917 zero-size as "read until EOF", which results in memory corruption).
33918 Use `lowest_segment' rather than 0 for calculating the current
33919 segment load address.
33920
33921 2008-09-08 Robert Millan <rmh@aybabtu.com>
33922
33923 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33924 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33925 clobbered useful information.
33926
33927 2008-09-08 Robert Millan <rmh@aybabtu.com>
33928
33929 * include/grub/util/biosdisk.h: Move to ...
33930 * include/grub/util/hostdisk.h: ... here. Update all users.
33931 * util/biosdisk.c: Move to ...
33932 * util/hostdisk.c: ... here. Update all users.
33933
33934 2008-09-07 Robert Millan <rmh@aybabtu.com>
33935
33936 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33937 variables.
33938 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33939 and length can be stored directly in the `mbi->mmap_addr' and
33940 `mbi->mmap_length' struct fields.
33941
33942 2008-09-07 Robert Millan <rmh@aybabtu.com>
33943
33944 * conf/i386.rmk: New file. Provides declaration for building
33945 `cpuid.mod'.
33946 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33947 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33948 variables.
33949 Include `conf/i386.mk'.
33950 * conf/i386-efi.rmk: Likewise.
33951 * conf/x86_64-efi.rmk: Likewise.
33952 * conf/i386-coreboot.rmk: Likewise.
33953 * conf/i386-ieee1275.rmk: Likewise.
33954
33955 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33956
33957 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33958 Adds optimization support for BGR based modes.
33959
33960 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33961 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33962 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33963 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33964 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33965 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33966 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33967 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33968 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33969 (grub_video_i386_vbeblit_index_index): Likewise.
33970 (grub_video_i386_vbeblit_replace_directN): Added.
33971 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33972 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33973 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33974 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33975 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33976 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33977 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33978 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33979 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33980 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33981 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33982 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33983 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33984
33985 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33986 (grub_video_i386_vbefill_R8G8B8): Likewise.
33987 (grub_video_i386_vbefill_index): Likewise.
33988 (grub_video_i386_vbefill_direct32): Added.
33989 (grub_video_i386_vbefill_direct24): Likewise.
33990 (grub_video_i386_vbefill_direct16): Likewise.
33991 (grub_video_i386_vbefill_direct8): Likewise.
33992
33993 * include/grub/video.h (grub_video_blit_format): Removed
33994 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33995 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33996 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33997 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33998 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33999
34000 * video/video.c (grub_video_get_blit_format): Updated to use new
34001 blit formats. Added handling for 16 bit color modes.
34002
34003 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
34004 fillers.
34005 (common_blitter): Updated to use new blitters.
34006
34007 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34008 Removed.
34009 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34010 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34011 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34012 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34013 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34014 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34015 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34016 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34017 (grub_video_i386_vbeblit_index_index): Likewise.
34018 (grub_video_i386_vbeblit_replace_directN): Added.
34019 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34020 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34021 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34022 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34023 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34024 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34025 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34026 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34027 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34028 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34029 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34030 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34031 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34032
34033 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34034 (grub_video_i386_vbefill_R8G8B8): Likewise.
34035 (grub_video_i386_vbefill_index): Likewise.
34036 (grub_video_i386_vbefill_direct32): Added.
34037 (grub_video_i386_vbefill_direct24): Likewise.
34038 (grub_video_i386_vbefill_direct16): Likewise.
34039 (grub_video_i386_vbefill_direct8): Likewise.
34040
34041 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34042 types.
34043
34044 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34045 types.
34046
34047 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34048 blitter types.
34049
34050 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34051 types.
34052
34053 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34054
34055 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34056 RAID level 1.
34057
34058 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34059
34060 * fs/iso9660.c (grub_iso9660_date): New structure.
34061 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34062 (grub_iso9660_uuid): New function.
34063
34064 2008-09-05 Bean <bean123ch@gmail.com>
34065
34066 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34067
34068 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34069 insensitive bit for names in Win32 and Win32 & DOS namespace.
34070
34071 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34072
34073 * include/grub/types.h (LONG_MAX): Likewise.
34074
34075 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34076
34077 * util/getroot.c: Include <config.h>.
34078 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34079 add support for /dev/md/N devices and handle LVM double dash escaping.
34080
34081 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34082
34083 * config.guess: Update to latest version from config git.
34084 * config.sub: Likewise.
34085
34086 2008-09-03 Robert Millan <rmh@aybabtu.com>
34087
34088 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34089 `disk->total_sectors'.
34090
34091 2008-09-01 Colin D Bennett <colin@gibibit.com>
34092
34093 * include/grub/normal.h: Fixed incorrect comment for
34094 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34095
34096 2008-09-01 Colin D Bennett <colin@gibibit.com>
34097
34098 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34099 values with defines.
34100
34101 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34102 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34103 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34104 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34105 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34106 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34107 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34108 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34109 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34110 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34111 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34112 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34113 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34114 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34115 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34116 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34117 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34118 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34119 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34120
34121 2008-08-31 Robert Millan <rmh@aybabtu.com>
34122
34123 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34124 declaration.
34125 (grub_multiboot): Fix a few warnings.
34126
34127 2008-08-31 Robert Millan <rmh@aybabtu.com>
34128
34129 * loader/i386/pc/multiboot.c: Update comment not to say that
34130 boot_device support is unimplemented.
34131
34132 2008-08-31 Robert Millan <rmh@aybabtu.com>
34133
34134 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34135 or memory map support are unimplemented.
34136
34137 2008-08-31 Colin D Bennett <colin@gibibit.com>
34138
34139 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34140
34141 2008-08-31 Colin D Bennett <colin@gibibit.com>
34142
34143 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34144 total video memory in 'vbeinfo' output; show color format details for
34145 each video mode.
34146
34147 2008-08-30 Pavel Roskin <proski@gnu.org>
34148
34149 * util/genmoddep.c: Remove for real this time.
34150 * DISTLIST: Remove util/genmoddep.c.
34151
34152 2008-08-30 Robert Millan <rmh@aybabtu.com>
34153
34154 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34155 as required by Multiboot spec (it was already 4-byte aligned, but
34156 only by chance).
34157
34158 2008-08-29 Pavel Roskin <proski@gnu.org>
34159
34160 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34161 * kern/powerpc/ieee1275/startup.S: ... this.
34162 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34163 * DISTLIST: Likewise.
34164
34165 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34166 grub/cpu/kernel.h. Add start label for consistency with other
34167 platforms. Add grub_prefix immediately after start. Add jump
34168 to the code after grub_prefix.
34169 * include/grub/powerpc/kernel.h: Provide valid values for
34170 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34171
34172 2008-08-29 Bean <bean123ch@gmail.com>
34173
34174 * configure.ac: Change host_os to cygwin for mingw.
34175 (asprintf): New check for function.
34176
34177 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34178 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34179
34180 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
34181 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
34182 sync, sleep and grub_util_get_disk_size for mingw.
34183
34184 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34185 to get size in mingw.
34186 (open_device): Use flag O_BINARY if it's defined.
34187 (find_root_device): Add dummy code for mingw.
34188
34189 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34190 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34191 (get_scsi_disk_name): Return 0 for mingw.
34192
34193 * util/hostfs.c: #include <grub/util/misc.h>.
34194 (grub_hostfs_open): Use "rb" flag to open file, use
34195 grub_util_get_disk_size to get disk size for mingw.
34196
34197 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34198 (asprintf): New function if HAVE_ASPRINTF is not set.
34199 (sync): New function for mingw.
34200 (sleep): Likewise.
34201 (grub_util_get_disk_size): Likewise.
34202
34203 2008-08-28 Pavel Roskin <proski@gnu.org>
34204
34205 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34206 kern/time.c.
34207
34208 2008-08-28 Robert Millan <rmh@aybabtu.com>
34209
34210 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34211
34212 2008-08-28 Robert Millan <rmh@aybabtu.com>
34213
34214 Change find_grub_drive() syntax so it doesn't prevent it from
34215 detecting NULL names as errors.
34216
34217 * util/biosdisk.c (find_grub_drive): Move free slot search code
34218 from here ...
34219 (find_free_slot): ... to here.
34220 (read_device_map): Use find_free_slot() to search for free slots.
34221
34222 2008-08-27 Marco Gerards <marco@gnu.org>
34223
34224 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34225 (scsi_mod_SOURCES): New variable.
34226 (scsi_mod_CFLAGS): Likewise
34227 (scsi_mod_LDFLAGS): Likewise.
34228
34229 * disk/scsi.c: New file.
34230
34231 * include/grub/scsi.h: Likewise.
34232
34233 * include/grub/scsicmd.h: Likewise.
34234
34235 * disk/ata.c: Include <grub/scsi.h>.
34236 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34237 instead.
34238 (grub_ata_iterate): Skip ATAPI devices.
34239 (grub_ata_open): Only handle ATAPI devices.
34240 (struct grub_atapi_read): Removed.
34241 (grub_atapi_readsector): Likewise.
34242 (grub_ata_read): No longer handle ATAPI devices.
34243 (grub_ata_write): Likewise.
34244 (grub_atapi_iterate): New function.
34245 (grub_atapi_read): Likewise.
34246 (grub_atapi_write): Likewise.
34247 (grub_atapi_open): Likewise.
34248 (grub_atapi_close): Likewise.
34249 (grub_atapi_dev): New variable.
34250 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34251 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34252
34253 * include/grub/disk.h (enum grub_disk_dev_id): Add
34254 `GRUB_DISK_DEVICE_SCSI_ID'.
34255
34256 2008-08-26 Robert Millan <rmh@aybabtu.com>
34257
34258 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34259 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34260 descriptive.
34261
34262 2008-08-23 Bean <bean123ch@gmail.com>
34263
34264 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34265 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34266 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34267 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34268 dm_nv.mod.
34269 (raid5rec_mod_SOURCES): New macro.
34270 (raid5rec_mod_CFLAGS): Likewise.
34271 (raid5rec_mod_LDFLAGS): Likewise.
34272 (raid6rec_mod_SOURCES): Likewise.
34273 (raid6rec_mod_CFLAGS): Likewise.
34274 (raid6rec_mod_LDFLAGS): Likewise.
34275 (mdraid_mod_SOURCES): Likewise.
34276 (mdraid_mod_CFLAGS): Likewise.
34277 (mdraid_mod_LDFLAGS): Likewise.
34278 (dm_nv_mod_SOURCES): Likewise.
34279 (dm_nv_mod_CFLAGS): Likewise.
34280 (dm_nv_mod_LDFLAGS): Likewise.
34281
34282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34283 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34284 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34285
34286 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34287 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34288
34289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34290
34291 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34292
34293 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34294
34295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34296
34297 * disk/raid5_recover.c: New file.
34298
34299 * disk/raid6_recover.c: Likewise.
34300
34301 * disk/mdraid_linux.c: Likewise.
34302
34303 * disk/dmraid_nvidia.c: Likewise.
34304
34305 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34306 ULONG_MAX.
34307
34308 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34309 calculate the size of raid device.
34310 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34311 different layout of raid5.
34312 (grub_raid_scan_device): Remove code specific to mdraid.
34313 (grub_raid_list): New variable.
34314 (free_array): New function.
34315 (grub_raid_register): Likewise.
34316 (grub_raid_unregister): Likewise.
34317 (grub_raid_rescan): Likewise.
34318 (GRUB_MOD_INIT): Don't iterate device here.
34319 (GRUB_MOD_FINI): Use free_array to release resource.
34320
34321 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34322 (grub_raid5_recover_func_t): New function variable type.
34323 (grub_raid6_recover_func_t): Likewise.
34324 (grub_raid5_recover_func): New variable.
34325 (grub_raid6_recover_func): Likewise.
34326 (grub_raid_register): New function.
34327 (grub_raid_unregister): Likewise.
34328 (grub_raid_rescan): Likewise.
34329 (grub_raid_block_xor): Likewise.
34330
34331 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34332 (CMD_CRC): New macro.
34333 (part): Removed.
34334 (read_file): Handle device as well as file.
34335 (cmd_crc): New function.
34336 (fstest): Handle multiple disks.
34337 (options): Remove part, raw and long, add root and diskcount.
34338 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34339 (main): Find the first non option entry and ignore subsequent options,
34340 add handling for the new options, support multiple disks.
34341
34342 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34343
34344 2008-08-23 Bean <bean123ch@gmail.com>
34345
34346 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34347
34348 * genfslist.sh: Ignore kernel.mod.
34349
34350 * genpartmaplist.sh: Likewise.
34351
34352 2008-08-23 Robert Millan <rmh@aybabtu.com>
34353
34354 * util/getroot.c (find_root_device): Skip anything that starts with
34355 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34356
34357 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34358
34359 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34360 * util/grub.d/00_header.in: Allow the administrator to change default
34361 gfxmode via ${GRUB_GFXMODE}.
34362
34363 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34364
34365 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34366
34367 2008-08-21 Robert Millan <rmh@aybabtu.com>
34368
34369 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34370 loader.
34371 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34372 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34373
34374 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34375
34376 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34377 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34378
34379 2008-08-19 Robert Millan <rmh@aybabtu.com>
34380
34381 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34382 (struct grub_virtual_screen): Remove `cursor_color'.
34383 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34384 initialization.
34385 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34386
34387 2008-08-18 Robert Millan <rmh@aybabtu.com>
34388
34389 Unify (identical) linux_normal.c files.
34390 * loader/i386/efi/linux_normal.c: Move from here ...
34391 * loader/linux_normal.c: ... to here. Update all users.
34392 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34393 * loader/i386/ieee1275/linux_normal.c: Likewise.
34394
34395 2008-08-18 Robert Millan <rmh@aybabtu.com>
34396
34397 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34398 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34399 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34400 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34401 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34402 New macros.
34403 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34404 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34405 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34406 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34407 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34408 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34409 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34410 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34411 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34412 portably using grub_getxy().
34413 Replace `-EFI' with `-bzImage' in boot message.
34414
34415 2008-08-17 Robert Millan <rmh@aybabtu.com>
34416
34417 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34418
34419 2008-08-17 Robert Millan <rmh@aybabtu.com>
34420
34421 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34422
34423 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34424 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34425 (grub_machine_mmap_iterate): New function declaration.
34426 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34427 structure.
34428 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34429 macros.
34430
34431 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34432 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34433 Move e820 parsing from here ...
34434 * kern/i386/pc/mmap.c: New file.
34435 (grub_machine_mmap_iterate): ... to here.
34436
34437 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34438 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34439 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34440 (grub_available_iterate): Redeclare to return `void', and redeclare
34441 its hook to use grub_uint64_t as addr and size parameters, and rename
34442 to ...
34443 (grub_machine_mmap_iterate): ... this. Update all users.
34444
34445 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34446 to make it more readable. Rename to ...
34447 (grub_machine_mmap_iterate): ... this.
34448
34449 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34450 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34451 (grub_multiboot): Allocate an extra region after the payload, and fill
34452 it with a Multiboot memory map. Adjust a.out loader to calculate size
34453 with the extra space.
34454 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34455 with the extra space.
34456
34457 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34458
34459 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34460
34461 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34462
34463 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34464 mdate-sh to the list `find' searches for.
34465 * DISTLIST: Regenerated.
34466
34467 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34468
34469 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34470 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34471 genmoddep.awk, gensymlist.sh.in.
34472 (DISTDIRS): Add bus, docs, hook, lib.
34473 * DISTLIST: Regenerated.
34474 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34475
34476 2008-08-16 Robert Millan <rmh@aybabtu.com>
34477
34478 * disk/raid.c (grub_raid_init): Handle/report errors set by
34479 grub_device_iterate().
34480 * disk/lvm.c (grub_lvm_init): Likewise.
34481
34482 2008-08-15 Bean <bean123ch@gmail.com>
34483
34484 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34485 and datehook.mod.
34486 (datetime_mod_SOURCES): New macro.
34487 (datetime_mod_CFLAGS): Likewise.
34488 (datetime_mod_LDFLAGS): Likewise.
34489 (date_mod_SOURCES): Likewise.
34490 (date_mod_CFLAGS): Likewise.
34491 (date_mod_LDFLAGS): Likewise.
34492 (datehook_mod_SOURCES): Likewise.
34493 (datehook_mod_CFLAGS): Likewise.
34494 (datehook_mod_LDFLAGS): Likewise.
34495
34496 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34497 and datehook.mod.
34498 (datetime_mod_SOURCES): New macro.
34499 (datetime_mod_CFLAGS): Likewise.
34500 (datetime_mod_LDFLAGS): Likewise.
34501 (date_mod_SOURCES): Likewise.
34502 (date_mod_CFLAGS): Likewise.
34503 (date_mod_LDFLAGS): Likewise.
34504 (datehook_mod_SOURCES): Likewise.
34505 (datehook_mod_CFLAGS): Likewise.
34506 (datehook_mod_LDFLAGS): Likewise.
34507
34508 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34509 and datehook.mod.
34510 (datetime_mod_SOURCES): New macro.
34511 (datetime_mod_CFLAGS): Likewise.
34512 (datetime_mod_LDFLAGS): Likewise.
34513 (date_mod_SOURCES): Likewise.
34514 (date_mod_CFLAGS): Likewise.
34515 (date_mod_LDFLAGS): Likewise.
34516 (datehook_mod_SOURCES): Likewise.
34517 (datehook_mod_CFLAGS): Likewise.
34518 (datehook_mod_LDFLAGS): Likewise.
34519
34520 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34521 and datehook.mod.
34522 (datetime_mod_SOURCES): New macro.
34523 (datetime_mod_CFLAGS): Likewise.
34524 (datetime_mod_LDFLAGS): Likewise.
34525 (date_mod_SOURCES): Likewise.
34526 (date_mod_CFLAGS): Likewise.
34527 (date_mod_LDFLAGS): Likewise.
34528 (datehook_mod_SOURCES): Likewise.
34529 (datehook_mod_CFLAGS): Likewise.
34530 (datehook_mod_LDFLAGS): Likewise.
34531
34532 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34533 and datehook.mod.
34534 (datetime_mod_SOURCES): New macro.
34535 (datetime_mod_CFLAGS): Likewise.
34536 (datetime_mod_LDFLAGS): Likewise.
34537 (date_mod_SOURCES): Likewise.
34538 (date_mod_CFLAGS): Likewise.
34539 (date_mod_LDFLAGS): Likewise.
34540 (datehook_mod_SOURCES): Likewise.
34541 (datehook_mod_CFLAGS): Likewise.
34542 (datehook_mod_LDFLAGS): Likewise.
34543
34544 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34545
34546 * commands/date.c: New file.
34547
34548 * hook/datehook.c: Likewise.
34549
34550 * include/grub/lib/datetime.h: Likewise.
34551
34552 * include/grub/i386/cmos.h: Likewise.
34553
34554 * lib/datetime.c: Likewise.
34555
34556 * lib/i386/datetime.c: Likewise.
34557
34558 * lib/efi/datetime.c: Likewise.
34559
34560 2008-08-14 Robert Millan <rmh@aybabtu.com>
34561
34562 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34563 (grub_mkelfimage_SOURCES): New variable.
34564 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34565
34566 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34567 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34568 * conf/powerpc-ieee1275.rmk: Likewise.
34569 * conf/i386-ieee1275.rmk: Likewise.
34570
34571 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34572 * kern/i386/coreboot/init.c: Likewise.
34573
34574 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34575 with `<grub/cpu/kernel.h>'.
34576 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34577 to ...
34578 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34579 * kern/i386/coreboot/startup.S: Likewise.
34580
34581 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34582 (GRUB_MOD_GAP): Remove.
34583 * include/grub/powerpc/kernel.h: New file.
34584 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34585 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34586 * include/grub/i386/kernel.h: New file.
34587 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34588 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34589 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34590
34591 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34592 `grub-mkelfimage'.
34593 Use --directory when invoking grub_mkimage.
34594
34595 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34596 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34597 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34598 and GRUB_KERNEL_CPU_PREFIX.
34599
34600 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
34601
34602 * include/grub/err.h (grub_err_printf): New function prototype.
34603 * util/misc.c (grub_err_printf): New function.
34604 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34605 grub_printf.
34606 * kern/err.c (grub_print_error): Use grub_err_printf.
34607
34608 2008-08-13 Robert Millan <rmh@aybabtu.com>
34609
34610 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34611
34612 2008-08-13 Robert Millan <rmh@aybabtu.com>
34613
34614 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34615 boot entry.
34616
34617 2008-08-12 Robert Millan <rmh@aybabtu.com>
34618
34619 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34620 of the relocation code from here ...
34621 (grub_multiboot): ... to here.
34622 (forward_relocator, backward_relocator): Move from here ...
34623 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34624 (grub_multiboot_backward_relocator): ... to here.
34625 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34626 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34627 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34628 (grub_multiboot_forward_relocator_end)
34629 (grub_multiboot_backward_relocator)
34630 (grub_multiboot_backward_relocator_end): New variables.
34631
34632 2008-08-12 Bean <bean123ch@gmail.com>
34633
34634 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34635
34636 2008-08-11 Robert Millan <rmh@aybabtu.com>
34637
34638 * kern/i386/linuxbios/startup.S: Move from here ...
34639 * kern/i386/coreboot/startup.S: ... to here.
34640
34641 * kern/i386/linuxbios/init.c: Move from here ...
34642 * kern/i386/coreboot/init.c: ... to here.
34643
34644 * kern/i386/linuxbios/table.c: Move from here ...
34645 * kern/i386/coreboot/mmap.c: ... to here.
34646
34647 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34648
34649 2008-08-11 Robert Millan <rmh@aybabtu.com>
34650
34651 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34652 errors. Leave it to the upper layer to handle them.
34653
34654 2008-08-09 Christian Franke <franke@computer.org>
34655
34656 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34657 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34658 Install `grub.d/10_windows' only on Cygwin.
34659 * configure.ac: Add subst of `target_os'.
34660 Check `target_os' also before setting TARGET_OBJ2ELF.
34661 Add `--enable-grub-pe2elf'.
34662
34663 2008-08-08 Robert Millan <rmh@aybabtu.com>
34664
34665 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34666 (grub_last_time): Change type to grub_uint64_t.
34667 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34668 (grub_disk_close): Likewise.
34669
34670 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34671 (run_menu): Migrate code from to using grub_get_time_ms().
34672
34673 * util/misc.c (grub_get_time_ms): New function.
34674
34675 2008-08-08 Marco Gerards <marco@gnu.org>
34676
34677 * disk/ata.c (grub_ata_regget): Change return type to
34678 `grub_uint8_t'.
34679 (grub_ata_regget2): Likewise.
34680 (grub_ata_wait_status): New function.
34681 (grub_ata_wait_busy): Removed function, updated all users to use
34682 `grub_ata_wait_status'.
34683 (grub_ata_wait_drq): Likewise.
34684 (grub_ata_cmd): New function.
34685 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34686 error handling.
34687 (grub_ata_pio_write): Add error handling.
34688 (grub_atapi_identify): Likewise.
34689 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34690 handling.
34691 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34692 handling. Actually use the detected registers. Reorder the
34693 detection logic such that it is easier to read.
34694 (grub_ata_pciinit): Do not assign the same ID to each controller.
34695 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34696 handling.
34697 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34698
34699 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34700
34701 2008-08-08 Marco Gerards <marco@gnu.org>
34702
34703 * NEWS: Update.
34704
34705 2008-08-07 Bean <bean123ch@gmail.com>
34706
34707 * include/grub/x86_64/pci.h: New file.
34708
34709 2008-08-07 Christian Franke <franke@computer.org>
34710
34711 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34712 (TIMER2_GATE): Likewise.
34713 (grub_pit_wait): Add enable/disable of the timer2 gate
34714 bit of port 0x61. This fixes a possible infinite loop.
34715
34716 2008-08-07 Bean <bean123ch@gmail.com>
34717
34718 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34719 kern/i386/tsc.c and kern/i386/pit.c.
34720
34721 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34722 x86_64 platform.
34723
34724 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34725 <grub/i386/tsc.h>.
34726
34727 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34728
34729 2008-08-07 Bean <bean123ch@gmail.com>
34730
34731 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34732
34733 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34734
34735 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34736 multiple inclusion. Add #include <grub/types.h>.
34737
34738 2008-08-06 Christian Franke <franke@computer.org>
34739
34740 * conf/common.rmk: Build and install `10_windows'.
34741 * util/grub.d/10_windows.in: New script.
34742
34743 2008-08-06 Pavel Roskin <proski@gnu.org>
34744
34745 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34746
34747 2008-08-06 Robert Millan <rmh@aybabtu.com>
34748
34749 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34750 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34751
34752 2008-08-06 Bean <bean123ch@gmail.com>
34753
34754 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34755 (grub_pxefs_fs_int): Remove dummy definition.
34756 (grub_pxefs_open): Use data->block_size to store the current block
34757 size setting.
34758 (grub_pxefs_read): Use block size stored in data->block_size. As the
34759 value of grub_pxe_blksize can be changed after the file is opened.
34760
34761 2008-08-06 Bean <bean123ch@gmail.com>
34762
34763 * fs/i386/pc/pxe.c (curr_file): new variable.
34764 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34765 require the dummy internal file system anymore.
34766 (grub_pxefs_read): Removed.
34767 (grub_pxefs_close): Likewise.
34768 (grub_pxefs_fs_int): Likewise.
34769 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34770 connection when we switch file.
34771 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34772
34773 2008-08-06 Robert Millan <rmh@aybabtu.com>
34774
34775 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34776 `halt.mod'.
34777 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34778 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34779
34780 * kern/i386/halt.c: New file.
34781 * kern/i386/reboot.c: Likewise.
34782 * include/grub/i386/reboot.h: Likewise.
34783 * include/grub/i386/halt.h: Likewise.
34784
34785 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34786 Include `<grub/cpu/halt.h>'.
34787 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34788 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34789
34790 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34791 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34792 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34793 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34794 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34795 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34796 from here ...
34797 * include/grub/i386/at_keyboard.h: ... to here.
34798
34799 2008-08-05 Robert Millan <rmh@aybabtu.com>
34800
34801 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34802 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34803 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34804 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34805 `kern/generic/millisleep.c'.
34806
34807 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34808 instead of grub_get_rtc().
34809 (grub_tsc_init): Initialize `tsc_boot_time'.
34810
34811 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34812 (grub_machine_init): Use grub_tsc_init() rather than
34813 installing an RTC-based handler via grub_install_get_time_ms().
34814
34815 * kern/i386/pit.c: New file.
34816 * include/grub/i386/pit.h: Likewise.
34817
34818 2008-08-05 Bean <bean123ch@gmail.com>
34819
34820 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34821
34822 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34823 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34824 (pxe_mod_SOURCES): New macro.
34825 (pxe_mod_CFLAGS): Likewise.
34826 (pxe_mod_LDFLAGS): Likewise.
34827 (pxecmd_mod_SOURCES): Likewise.
34828 (pxecmd_mod_CFLAGS): Likewise.
34829 (pxecmd_mod_LDFLAGS): Likewise.
34830
34831 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34832 (grub_pxe_call): Likewise.
34833
34834 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34835
34836 * commands/i386/pc/pxecmd.c: New file.
34837
34838 * fs/i386/pc/pxe.c: Likewise.
34839
34840 * include/grub/i386/pc/pxe.h: Likewise.
34841
34842 2008-08-05 Bean <bean123ch@gmail.com>
34843
34844 * util/console.c (grub_console_cur_color): New variable.
34845 (grub_console_standard_color): Likewise.
34846 (grub_console_normal_color): Likewise.
34847 (grub_console_highlight_color): Likewise.
34848 (color_map): Likewise.
34849 (use_color): Likewise.
34850 (NUM_COLORS): New macro.
34851 (grub_ncurses_setcolorstate): Handle color properly.
34852 (grub_ncurses_setcolor): Don't change color here, just remember the
34853 settings, color will be set in grub_ncurses_setcolorstate.
34854 (grub_ncurses_getcolor): New function.
34855 (grub_ncurses_init): Initialize color pairs.
34856 (grub_ncurses_term): New member grub_ncurses_getcolor.
34857
34858 2008-08-05 Colin D Bennett <colin@gibibit.com>
34859
34860 High resolution timer support. Implemented for x86 CPUs using TSC.
34861 Extracted generic grub_millisleep() so it's linked in only as needed.
34862 This requires a Pentium compatible CPU; if the RDTSC instruction is
34863 not supported, then it falls back on the generic grub_get_time_ms()
34864 implementation that uses the machine's RTC.
34865
34866 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34867 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34868 `kern/generic/millisleep.c'.
34869
34870 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34871 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34872
34873 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34874 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34875
34876 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34877
34878 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34879 `kern/generic/millisleep.c'.
34880
34881 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34882
34883 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34884
34885 * kern/generic/rtc_get_time_ms.c: New file.
34886
34887 * kern/generic/millisleep.c: New file.
34888
34889 * kern/misc.c: Don't include
34890 <kern/time.h> anymore.
34891 (grub_millisleep_generic): Removed.
34892
34893 * commands/sleep.c (grub_interruptible_millisleep): Uses
34894 grub_get_time_ms() instead of grub_get_rtc().
34895
34896 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34897 function.
34898 (grub_cpu_is_cpuid_supported): New inline function.
34899 (grub_cpu_is_tsc_supported): New inline function.
34900 (grub_tsc_init): New function prototype.
34901 (grub_tsc_get_time_ms): New function prototype.
34902
34903 * kern/i386/tsc.c (grub_get_time_ms): New file.
34904
34905 * include/grub/time.h: Include <grub/types.h.
34906 (grub_millisleep_generic): Removed.
34907 (grub_get_time_ms): New prototype.
34908 (grub_install_get_time_ms): New prototype.
34909 (grub_rtc_get_time_ms): New prototype.
34910
34911 * kern/time.c (grub_get_time_ms): New function.
34912 (grub_install_get_time_ms): New function.
34913
34914 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34915 <grub/time.h> anymore.
34916 (grub_millisleep): Removed.
34917 (grub_machine_init): Call grub_tsc_init.
34918
34919 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34920 get_time_ms() implementation.
34921
34922 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34923 (ieee1275_get_time_ms): New function.
34924 (grub_machine_init): Install get_time_ms() implementation.
34925
34926 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34927 (grub_machine_init): Call grub_tsc_init().
34928 (grub_millisleep): Removed.
34929
34930 * kern/ieee1275/init.c (grub_millisleep): Removed.
34931 (grub_machine_init): Install ieee1275_get_time_ms()
34932 implementation.
34933 (ieee1275_get_time_ms): New function.
34934 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34935 real work.
34936
34937 2008-08-05 Marco Gerards <marco@gnu.org>
34938
34939 * disk/ata.c: Include <grub/pci.h>.
34940 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34941 (grub_ata_initialize): Rewritten.
34942 (grub_ata_device_initialize): New function.
34943
34944 2008-08-04 Pavel Roskin <proski@gnu.org>
34945
34946 * kern/main.c: Include grub/mm.h.
34947
34948 2008-08-04 Robert Millan <rmh@aybabtu.com>
34949
34950 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34951 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34952 corruption problem).
34953
34954 2008-08-04 Robert Millan <rmh@aybabtu.com>
34955
34956 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34957 warnings introduced in my last commit.
34958
34959 2008-08-03 Robert Millan <rmh@aybabtu.com>
34960
34961 Make PCI available on all i386 architectures.
34962
34963 * include/grub/i386/pc/pci.h: Move from here ...
34964 * include/grub/i386/pci.h: ... to here.
34965
34966 * include/grub/i386/pc/pci.h: Remove.
34967 * include/grub/i386/efi/pci.h: Remove.
34968 * include/grub/x86_64/efi/pci.h: Remove.
34969
34970 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34971 `<grub/cpu/pci.h>'.
34972
34973 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34974 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34975 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34976
34977 * conf/i386-ieee1275.rmk: Likewise.
34978
34979 2008-08-03 Robert Millan <rmh@aybabtu.com>
34980
34981 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34982 (grub_console_setcursor): Make it possible to set cursor off.
34983
34984 2008-08-03 Robert Millan <rmh@aybabtu.com>
34985
34986 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34987 of modules instead of assuming which platform provides what.
34988 * util/update-grub.in: Likewise.
34989
34990 2008-08-03 Robert Millan <rmh@aybabtu.com>
34991
34992 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34993 instead of `grub_install_dos_part' to determine whether a drive needs
34994 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34995 because it can be overridden when loading GRUB via Multiboot).
34996
34997 2008-08-02 Robert Millan <rmh@aybabtu.com>
34998
34999 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35000
35001 2008-08-02 Robert Millan <rmh@aybabtu.com>
35002
35003 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35004 of informational grub_dprintf() calls.
35005
35006 2008-08-02 Robert Millan <rmh@aybabtu.com>
35007
35008 * disk/memdisk.c (memdisk_size): Don't initialize.
35009 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35010
35011 * include/grub/i386/pc/kernel.h
35012 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35013 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35014 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35015 (grub_arch_memdisk_size): Remove.
35016
35017 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35018 field (was only used to transfer a constant). Add `type' field to
35019 support multiple module types.
35020 (grub_module_iterate): New function.
35021
35022 * kern/device.c (grub_device_open): Do not hide error messages
35023 when grub_disk_open() fails. Use grub_print_error() instead.
35024
35025 * kern/i386/pc/init.c (grub_arch_modules_addr)
35026 (grub_arch_memdisk_size): Remove functions.
35027 (grub_arch_modules_addr): Return the module address in high memory
35028 (now that it isn't copied anymore).
35029
35030 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35031 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35032 decompression routine (grub_total_module_size already includes that
35033 now). Don't copy modules back to low memory.
35034
35035 * kern/main.c: Include `<grub/mm.h>'.
35036 (grub_load_modules): Split out (and use) ...
35037 (grub_module_iterate): ... this function, which iterates through
35038 module objects and runs a hook.
35039 Comment out grub_mm_init_region() call, as it would cause non-ELF
35040 modules to be overwritten.
35041
35042 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35043 the memdisk image in its own region, make it part of the module list.
35044 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35045 (main): Parse --memdisk|-m option, and pass user-provided path as
35046 parameter to generate_image().
35047 (add_segments): Pass `memdisk_path' down to load_modules().
35048 (load_modules): Embed memdisk image in module section when requested.
35049 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35050 `header.type' instead of `header.offset'.
35051
35052 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35053 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35054 (memdisk_mod_LDFLAGS): New variables.
35055 * conf/i386-coreboot.rmk: Likewise.
35056 * conf/i386-ieee1275.rmk: Likewise.
35057
35058 2008-08-02 Robert Millan <rmh@aybabtu.com>
35059
35060 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35061 (backward_relocator): New variables. Used to allocate and relocate
35062 the payload, respectively.
35063 (grub_multiboot_load_elf32): Load into heap instead of requested
35064 address, install the appropriate relocator code in each bound of
35065 the payload, and set the entry point such that
35066 grub_multiboot_real_boot() will jump to one of them.
35067
35068 * kern/i386/loader.S (grub_multiboot_payload_size)
35069 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35070 (grub_multiboot_payload_entry_offset): New variables.
35071 (grub_multiboot_real_boot): Set cpu context to what the relocator
35072 expects, and jump to the relocator instead of the payload.
35073
35074 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35075 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35076 (grub_multiboot_payload_entry_offset): Export.
35077
35078 2008-08-01 Bean <bean123ch@gmail.com>
35079
35080 * normal/menu_entry.c (editor_getline): Don't return the original
35081 string as result, as it will be released by lexer once it has done
35082 using it.
35083
35084 2008-08-01 Robert Millan <rmh@aybabtu.com>
35085
35086 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35087 within menuentries, not before them.
35088 util/grub.d/10_hurd.in: Likewise.
35089
35090 2008-08-01 Bean <bean123ch@gmail.com>
35091
35092 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35093 (bufio_mod_SOURCES): New macro.
35094 (bufio_mod_CFLAGS): Likewise.
35095 (bufio_mod_LDFLAGS): Likewise.
35096
35097 * include/grub/bufio.h: New file.
35098
35099 * io/bufio.c: Likewise.
35100
35101 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35102 (grub_video_reader_png): Use grub_buffile_open to open file.
35103
35104 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35105 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35106
35107 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35108 (grub_video_reader_tga): Use grub_buffile_open to open file.
35109
35110 * font/manager.c: Include <grub/bufio.h>.
35111 (add_font): Use grub_buffile_open to open file.
35112
35113 2008-07-31 Robert Millan <rmh@aybabtu.com>
35114
35115 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35116 ELF segments, use a macro for arbitrarily accessing any of them instead
35117 of preparing a pointer that allows access to one at a time.
35118 (grub_multiboot_load_elf64): Likewise.
35119
35120 2008-07-31 Bean <bean123ch@gmail.com>
35121
35122 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35123 GRUB_KERNEL_MACHINE_DATA_END.
35124
35125 2008-07-30 Robert Millan <rmh@aybabtu.com>
35126
35127 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35128 Increase from 0x50 to 0x60.
35129 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35130 use UUIDs to identify the root drive for them. If that's not
35131 possible, abort.
35132 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35133 check, for cross-disk installs.
35134
35135 2008-07-30 Robert Millan <rmh@aybabtu.com>
35136
35137 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35138 is non-empty, use it to set the `prefix' environment variable instead
35139 of the usual approach.
35140 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35141 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35142 environment variable instead of dummy make_install_device().
35143
35144 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35145 (start): Insert a data section, with `grub_prefix' variable.
35146 * kern/i386/linuxbios/startup.S: Likewise.
35147
35148 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35149 New variable reference.
35150 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35151 New macro. Defines offset of `grub_prefix' within startup.S (relative
35152 to `start').
35153 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35154 section within startup.S (relative to `start').
35155 * include/grub/i386/coreboot/kernel.h: Likewise.
35156
35157 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35158 Overwrite grub_prefix with its contents, at the beginning of the
35159 first segment.
35160 (main): Understand -p|--prefix.
35161
35162 2008-07-30 Robert Millan <rmh@aybabtu.com>
35163
35164 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35165
35166 2008-07-30 Robert Millan <rmh@aybabtu.com>
35167
35168 * term/i386/pc/vga_text.c (grub_console_cls): Use
35169 grub_console_gotoxy() to go back to beginning of the screen.
35170 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35171
35172 2008-07-29 Christian Franke <franke@computer.org>
35173
35174 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35175 Add conversion of emulated mount points on Cygwin.
35176
35177 2008-07-29 Christian Franke <franke@computer.org>
35178
35179 * util/update-grub.in: Add a check for admin
35180 group on Cygwin.
35181 Remove old `grub.cfg.new' before creation.
35182 Add `-f' to `mv' to handle the different filesystem
35183 semantics of Windows.
35184
35185 2008-07-29 Bean <bean123ch@gmail.com>
35186
35187 * normal/main.c (get_line): Fix buffer overflow bug.
35188
35189 2008-07-28 Robert Millan <rmh@aybabtu.com>
35190
35191 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35192 (struct grub_apple_header): New struct. Describes the layout of
35193 the partmap header.
35194 (apple_partition_map_iterate): Check the header magic as well as the
35195 partition magic (which was already being checked).
35196
35197 2008-07-28 Pavel Roskin <proski@gnu.org>
35198
35199 * genmk.rb: Add a warning to the beginning of the output that
35200 it's a generated file and should not be edited.
35201
35202 2008-07-28 Robert Millan <rmh@aybabtu.com>
35203
35204 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35205 with the same number are found, just use issue a warning with
35206 grub_dprintf(), as this error has been reported to be non-fatal.
35207
35208 2008-07-27 Robert Millan <rmh@aybabtu.com>
35209
35210 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35211 information.
35212
35213 2008-07-27 Bean <bean123ch@gmail.com>
35214
35215 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35216 (grub_fat_find_dir): Ignore case when comparing filename.
35217
35218 2008-07-27 Bean <bean123ch@gmail.com>
35219
35220 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35221 smallino, as it's more descriptive, and i8count can be confused with
35222 the other field count.
35223 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35224 inode type.
35225
35226 2008-07-27 Bean <bean123ch@gmail.com>
35227
35228 * commands/crc.c: New file.
35229
35230 * lib/crc.c: Likewise.
35231
35232 * include/grub/lib/crc.h: Likewise.
35233
35234 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35235
35236 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35237 (hexdump): Move this function to ...
35238
35239 * lib/hexdump.c: ... here.
35240
35241 * include/grub/hexdump.h: Renamed to ...
35242
35243 * include/grub/lib/hexdump.h: ... this.
35244
35245 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35246
35247 * util/grub-editenv.c: Likewise.
35248
35249 * include/envblk.h: Renamed to ...
35250
35251 * include/lib/envblk.h: ... this.
35252
35253 * util/envblk.c: Renamed to ...
35254
35255 * lib/envblk.c: ... this.
35256
35257 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35258 lib/hexdump.c.
35259 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35260 (pkglib_MODULES): Add crc.mod.
35261 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35262 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35263 (crc_mod_SOURCES): New macro.
35264 (crc_mod_CFLAGS): Likewise.
35265 (crc_mod_LDFLAGS): Likewise.
35266
35267 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35268
35269 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35270
35271 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35272
35273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35274
35275 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35276
35277 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35278
35279 * commands/help.c: Include <grub/term.h>.
35280 (TERM_WIDTH): Removed. Updated all users.
35281
35282 2008-07-27 Pavel Roskin <proski@gnu.org>
35283
35284 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35285 spurious warnings about a comment within a comment.
35286
35287 2008-07-25 Robert Millan <rmh@aybabtu.com>
35288
35289 * util/getroot.c (find_root_device): Skip devices that match
35290 /dev/dm-[0-9]. This lets the real device be found for any type of
35291 abstraction (LVM, EVMS, RAID..).
35292 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35293 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35294 device is found first, find_root_device() will now skip it.
35295
35296 2008-07-24 Pavel Roskin <proski@gnu.org>
35297
35298 * include/grub/types.h: Use __builtin_bswap32() and
35299 __builtin_bswap64() with gcc 4.3 and newer.
35300
35301 2008-07-24 Christian Franke <franke@computer.org>
35302
35303 * util/i386/pc/grub-install.in: If `--debug' is specified,
35304 pass `--verbose' to grub-setup.
35305 Abort script if make_system_path_relative_to_its_root() fails.
35306
35307 2008-07-24 Bean <bean123ch@gmail.com>
35308
35309 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35310 variable `target_platform' should be `platform'.
35311
35312 2008-07-24 Bean <bean123ch@gmail.com>
35313
35314 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35315 (grub_png_init_fixed_block): New function.
35316 (grub_png_decode_image_data): Handle fixed huffman code compression.
35317
35318 2008-07-24 Bean <bean123ch@gmail.com>
35319
35320 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35321 (grub_pe2elf_SOURCES): New macro.
35322 (CLEANFILES): Add grub-pe2elf.
35323
35324 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35325 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35326 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35327 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35328 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35329 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35330 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35331 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35332 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35333 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35334 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35335 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35336 (GRUB_PE32_DT_FUNCTION): Likewise.
35337 (GRUB_PE32_REL_I386_DIR32): Likewise.
35338 (GRUB_PE32_REL_I386_REL32): Likewise.
35339 (grub_pe32_symbol): New structure.
35340 (grub_pe32_reloc): Likewise.
35341
35342 * util/grub-pe2elf.c: New file.
35343
35344 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35345 start symbol in non pc platform.
35346
35347 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35348
35349 The following patches are from Christian Franke.
35350
35351 * include/grub/dl.h: Remove .previous, gas supports this only
35352 for ELF format.
35353
35354 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35355 Remove .type, gas supports this only for ELF format.
35356
35357 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35358 nullbytes in symbol table. This fixes an infinite loop if table is
35359 zero filled.
35360
35361 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35362 TARGET_IMG_LDFLAGS and EXEEXT.
35363
35364 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35365 TARGET_IMG_LDFLAGS_AC.
35366 (grub_CHECK_STACK_ARG_PROBE): New function.
35367
35368 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35369
35370 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35371
35372 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35373 to set TARGET_IMG_LD* accordingly.
35374 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35375 Add call to grub_CHECK_STACK_ARG_PROBE.
35376 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35377
35378 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35379
35380 * genmk.rb: Add EXEEXT to CLEANFILES.
35381
35382 2008-07-23 Robert Millan <rmh@aybabtu.com>
35383
35384 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35385 define the codes for arrows and lines used for the menu).
35386 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35387 as well.
35388
35389 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35390 fonts, because the latter are too slow.
35391
35392 2008-07-21 Bean <bean123ch@gmail.com>
35393
35394 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35395 a20. Run keyboard test last, as it will cause macbook to halt.
35396
35397 2008-07-18 Pavel Roskin <proski@gnu.org>
35398
35399 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35400 load foreign architecture modules correctly anyway. Keep
35401 support for loading host architecture modules, whether we
35402 compile them or not.
35403
35404 2008-07-17 Pavel Roskin <proski@gnu.org>
35405
35406 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35407 change target_cpu. The compiler default can mismatch target_cpu
35408 in any case.
35409
35410 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35411 * kern/efi/efi.c: Likewise.
35412
35413 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35414 target compiler is functional.
35415 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35416 are set up.
35417
35418 * configure.ac: Default to efi platform for x86_64-apple. Allow
35419 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35420 adjustments from the rest, only do them if target is not
35421 explicitly given. Merge other adjustments with the final sanity
35422 check. Remove an extraneous check for supported CPU. Be
35423 specific which CPU and which platform is not supported.
35424
35425 * configure.ac: Default to pc platform for x86_64.
35426
35427 2008-07-17 Robert Millan <rmh@aybabtu.com>
35428
35429 Partial LinuxBIOS -> Coreboot rename.
35430
35431 * conf/i386-linuxbios.rmk: Renamed to ...
35432 * conf/i386-coreboot.rmk: ... this.
35433 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35434 * configure.ac: Accept "coreboot" as input platform (but maintain
35435 compatibility with "linuxbios").
35436 * include/grub/i386/linuxbios: Renamed to ...
35437 * include/grub/i386/coreboot: ... this.
35438
35439 2008-07-17 Bean <bean123ch@gmail.com>
35440
35441 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35442 (appleldr_mod_SOURCE): New variable.
35443 (appleldr_mod_CFLAGS): Likewise.
35444 (appleldr_mod_LDFLAGS): Likewise.
35445 (pci_mod_SOURCES): Likewise.
35446 (pci_mod_CFLAGS): Likewise.
35447 (pci_mod_LDFLAGS): Likewise.
35448 (lspci_mod_SOURCES): Likewise.
35449 (lspci_mod_CFLAGS): Likewise.
35450 (lspci_mod_LDFLAGS): Likewise.
35451
35452 * conf/x86_64-efi.rmk: New file.
35453
35454 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35455 macro.
35456 (grub_efidisk_write): Likewise.
35457
35458 * include/efi/api.h (efi_call_0): New macro.
35459 (efi_call_1): Likewise.
35460 (efi_call_2): Likewise.
35461 (efi_call_3): Likewise.
35462 (efi_call_4): Likewise.
35463 (efi_call_5): Likewise.
35464 (efi_call_6): Likewise.
35465
35466 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35467 grub_rescue_cmd_chainloader.
35468
35469 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35470 (grub_pe32_optional_header): Change some fields based on i386 or
35471 x86_64 platform.
35472 (GRUB_PE32_PE32_MAGIC): Likewise.
35473
35474 * include/grub/efi/uga_draw.h: New file.
35475
35476 * include/grub/elf.h (STN_ABS): New constant.
35477 (R_X86_64_NONE): Relocation constant for x86_64.
35478 (R_X86_64_64): Likewise.
35479 (R_X86_64_PC32): Likewise.
35480 (R_X86_64_GOT32): Likewise.
35481 (R_X86_64_PLT32): Likewise.
35482 (R_X86_64_COPY): Likewise.
35483 (R_X86_64_GLOB_DAT): Likewise.
35484 (R_X86_64_JUMP_SLOT): Likewise.
35485 (R_X86_64_RELATIVE): Likewise.
35486 (R_X86_64_GOTPCREL): Likewise.
35487 (R_X86_64_32): Likewise.
35488 (R_X86_64_32S): Likewise.
35489 (R_X86_64_16): Likewise.
35490 (R_X86_64_PC16): Likewise.
35491 (R_X86_64_8): Likewise.
35492 (R_X86_64_PC8): Likewise.
35493
35494 * include/grub/i386/efi/pci.h: New file.
35495
35496 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35497 Change it value based on platform.
35498 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35499 (GRUB_E820_RAM): Likewise.
35500 (GRUB_E820_RESERVED): Likewise.
35501 (GRUB_E820_ACPI): Likewise.
35502 (GRUB_E820_NVS): Likewise.
35503 (GRUB_E820_EXEC_CODE): Likewise.
35504 (GRUB_E820_MAX_ENTRY): Likewise.
35505 (grub_e820_mmap): New structure.
35506 (linux_kernel_header): Change the efi field according to different
35507 kernel version, also field from linux_kernel_header.
35508
35509 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35510
35511 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35512 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35513 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35514 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35515 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35516 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35517 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35518 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35519 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35520 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35521
35522 * include/grub/x86_64/efi/kernel.h: New file.
35523
35524 * include/grub/x86_64/efi/loader.h: Likewise.
35525
35526 * include/grub/x86_64/efi/machine.h: Likewise.
35527
35528 * include/grub/x86_64/efi/pci.h: Likewise.
35529
35530 * include/grub/x86_64/efi/time.h: Likewise.
35531
35532 * include/grub/x86_64/linux.h: Likewise.
35533
35534 * include/grub/x86_64/setjmp.h: Likewise.
35535
35536 * include/grub/x86_64/time.h: Likewise.
35537
35538 * include/grub/x86_64/types.h: Likewise.
35539
35540 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35541 GRUB_TARGET_SIZEOF_VOID_P.
35542
35543 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35544 (grub_efi_locate_handle): Likewise.
35545 (grub_efi_open_protocol): Likewise.
35546 (grub_efi_set_text_mode): Likewise.
35547 (grub_efi_stall): Likewise.
35548 (grub_exit): Likewise.
35549 (grub_reboot): Likewise.
35550 (grub_halt): Likewise.
35551 (grub_efi_exit_boot_services): Likewise.
35552 (grub_get_rtc): Likewise.
35553
35554 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35555 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35556 (grub_efi_allocate_pages): Wrap efi calls.
35557 (grub_efi_free_pages): Wrap efi calls.
35558 (grub_efi_get_memory_map): Wrap efi calls.
35559
35560 * kern/x86_64/dl.c: New file.
35561
35562 * kern/x86_64/efi/callwrap.S: Likewise.
35563
35564 * kern/x86_64/efi/startup.S: Likewise.
35565
35566 * loader/efi/appleloader.c: Likewise.
35567
35568 * loader/efi/chainloader.c (cmdline): New variable.
35569 (grub_chainloader_unload): Wrap efi calls.
35570 (grub_chainloader_boot): Likewise.
35571 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35572 command line.
35573
35574 * loader/efi/chainloader_normal.c (chainloader_command):
35575 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35576 command line.
35577
35578 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35579 method.
35580 (grub_e820_add_region): New function.
35581 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35582 booting.
35583 (grub_find_video_card): New function.
35584 (grub_linux_setup_video): New function.
35585 (grub_rescue_cmd_linux): Probe for video information.
35586
35587 * normal/x86_64/setjmp.S: New file.
35588
35589 * term/efi/console.c (map_char): New function.
35590 (grub_console_putchar): Map unicode char.
35591 (grub_console_checkkey): Wrap efi calls.
35592 (grub_console_getkey): Likewise.
35593 (grub_console_getwh): Likewise.
35594 (grub_console_gotoxy): Likewise.
35595 (grub_console_cls): Likewise.
35596 (grub_console_setcolorstate): Likewise.
35597 (grub_console_setcursor): Likewise.
35598
35599 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35600
35601 2008-07-16 Pavel Roskin <proski@gnu.org>
35602
35603 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35604 format strings.
35605
35606 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35607 pointer, not an integer. This fixes a warning and prevents
35608 precision loss on 64-bit systems.
35609 (relocate_addresses): Remove unneeded cast.
35610
35611 2008-07-15 Pavel Roskin <proski@gnu.org>
35612
35613 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35614
35615 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35616
35617 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35618 Fix comparison between signed and unsigned.
35619
35620 * include/grub/i386/ieee1275/console.h: Declare
35621 grub_console_init() and grub_console_fini().
35622
35623 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35624 It's empty and unused.
35625
35626 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35627 beginning to avoid warnings with some compilers.
35628
35629 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35630 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35631
35632 2008-07-14 Pavel Roskin <proski@gnu.org>
35633
35634 * kern/env.c (grub_register_variable_hook): Don't copy empty
35635 string, it leaks memory. Pass "" to grub_env_set(), it should
35636 handle constant strings.
35637
35638 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35639 * commands/cmp.c (grub_cmd_cmp): Likewise.
35640 * kern/dl.c (grub_dl_flush_cache): Likewise.
35641 (grub_dl_load_core): Likewise.
35642 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35643 (grub_elf64_load_phdrs): Likewise.
35644
35645 2008-07-13 Pavel Roskin <proski@gnu.org>
35646
35647 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35648 between signed and unsigned.
35649 (LzmaEnc_Finish): Fix warning about an unused parameter.
35650
35651 2008-07-13 Bean <bean123ch@gmail.com>
35652
35653 * Makefile.in (enable_lzo): New rule.
35654
35655 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35656
35657 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35658
35659 * boot/i386/pc/lnxboot.S: #include <config.h>.
35660
35661 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
35662 its value according to the compression algorithm used, lzo or lzma.
35663
35664 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35665 compression algorithm according to configure macro.
35666
35667 * kern/i386/pc/startup.S (codestart): Likewise.
35668
35669 * kern/i386/pc/lzma_decode.S: New file.
35670
35671 * include/grub/lib/LzFind.h: Likewise.
35672
35673 * include/grub/lib/LzHash.h: Likewise.
35674
35675 * include/grub/lib/LzmaDec.h: Likewise.
35676
35677 * include/grub/lib/LzmaEnc.h: Likewise.
35678
35679 * include/grub/lib/LzmaTypes.h: Likewise.
35680
35681 * lib/LzFind.c: Likewise.
35682
35683 * lib/LzmaDec.c: Likewise.
35684
35685 * lib/LzmaEnc.c: Likewise.
35686
35687 2008-07-13 Bean <bean123ch@gmail.com>
35688
35689 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35690 (grub_ext4_extent_header): New structure.
35691 (grub_ext4_extent): Likewise.
35692 (grub_ext4_extent_idx): Likewise.
35693 (grub_ext4_find_leaf): New function.
35694 (grub_ext2_read_block): Handle extents.
35695
35696 2008-07-12 Robert Millan <rmh@aybabtu.com>
35697
35698 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35699
35700 2008-07-11 Robert Millan <rmh@aybabtu.com>
35701
35702 * util/grub.d/40_custom.in: New file. Example on how to add custom
35703 entries to /etc/grub.d.
35704 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35705 40_custom (implicitly, by merging all the grub.d rules).
35706
35707 2008-07-11 Pavel Roskin <proski@gnu.org>
35708
35709 * commands/read.c (grub_getline): Fix invalid memory access.
35710 Don't add newline to the variable value.
35711
35712 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35713 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35714 (serial_hw_get_port): Check validity of the port number.
35715 (grub_cmd_serial): Check return value of serial_hw_get_port().
35716
35717 2008-07-07 Pavel Roskin <proski@gnu.org>
35718
35719 * boot/i386/pc/diskboot.S (notification_string): Replace
35720 "Loading kernel" with just "loading". This is shorter, less
35721 confusing and saves a few bytes for possible future changes.
35722
35723 2008-07-05 Pavel Roskin <proski@gnu.org>
35724
35725 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35726 size for ATAPI devices, they are undefined. Output sector
35727 number in decimal form.
35728
35729 * disk/ata.c: Use named constants for status bits.
35730
35731 2008-07-04 Pavel Roskin <proski@gnu.org>
35732
35733 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35734 grub_addr_t before casting it to the void pointer to fix a
35735 warning. Non-addressable regions are discarded earlier.
35736 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35737 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35738 (check_signature): Don't shadow table_header.
35739 (grub_linuxbios_table_iterate): Cast numeric constants to
35740 grub_linuxbios_table_header_t.
35741 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35742 grub_stop().
35743
35744 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35745 prevent warnings.
35746
35747 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35748 pointer, which can cause warnings. Support 64-bit addresses.
35749
35750 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35751 of sizeof(long). This fixes PowerPC image generation on x86_64.
35752
35753 2008-07-04 Robert Millan <rmh@aybabtu.com>
35754
35755 This fixes a performance issue when pc & gpt partmap iterators
35756 didn't abort iteration even after our hook found what it was
35757 looking for (often causing expensive probes of non-existent drives).
35758
35759 Some callers relied on previous buggy behaviour, since they would
35760 raise an error when their own hooks caused early abortion of its
35761 iteration.
35762
35763 * kern/device.c (grub_device_open): Improve error message.
35764 * disk/lvm.c (grub_lvm_open): Likewise.
35765 * disk/raid.c (grub_raid_open): Likewise.
35766
35767 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35768 when hook requests it, independently of grub_errno.
35769 (pc_partition_map_probe): Do not fail when find_func() caused
35770 early abortion of pc_partition_map_iterate().
35771
35772 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35773 when hook requests it, independently of grub_errno.
35774 (gpt_partition_map_probe): Do not fail when find_func() caused
35775 early abortion of gpt_partition_map_iterate().
35776
35777 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35778 when hook requests it, independently of grub_errno. Do not fail when
35779 part_map_iterate_hook() caused early abortion of p->iterate().
35780
35781 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35782 when grub_partition_iterate() returned with non-zero.
35783
35784 2008-07-03 Pavel Roskin <proski@gnu.org>
35785
35786 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35787 like we do in grub_ata_pio_read().
35788 (grub_ata_readwrite): Always write individual sectors. Fix the
35789 sector count for the remainder.
35790 (grub_ata_write): Enable writing to ATA devices. Correctly
35791 report error for ATAPI devices.
35792
35793 2008-07-02 Pavel Roskin <proski@gnu.org>
35794
35795 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35796 warning.
35797
35798 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35799 for every read sector, we already increment it for the whole
35800 batch. This fixes reading more than 256 sectors at once.
35801
35802 * util/grub-editenv.c (cmd_info): Cast argument to long
35803 explicitly. ptrdiff_t reduces to int on i386.
35804
35805 * util/grub-editenv.c (main): Be specific which parameter is
35806 missing.
35807
35808 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35809 (memdisk): Make memdisk_orig_addr a pointer.
35810
35811 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35812 for file offsets, use grub_off_t instead. Fix printf format
35813 warnings.
35814
35815 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35816 there. Real unexpected warnings should not drown in the noise
35817 about known problems.
35818
35819 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35820 grub_disk_addr_t for memory addresses.
35821
35822 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35823 explicitly to fix a warning.
35824
35825 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35826
35827 * Makefile.in (MODULE_LDFLAGS): New variable.
35828 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35829 the linker accepts --build-id=none.
35830 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35831 MODULE_LDFLAGS.
35832 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35833
35834 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35835 those in Linux XFS code. Provide a way to access 64-bit parent
35836 inode.
35837 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35838 the end of struct grub_xfs_dir_header.
35839
35840 2008-07-02 Bean <bean123ch@gmail.com>
35841
35842 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35843 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35844 and GRUB_IEEE1275_FLAG_NO_ANSI.
35845
35846 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35847 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35848 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35849
35850 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35851 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35852
35853 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35854 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35855
35856 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35857 esc sequence on non ANSI terminal.
35858 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35859
35860 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35861 beginning of file.
35862
35863 2008-07-02 Bean <bean123ch@gmail.com>
35864
35865 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35866 (grub_editenv_SOURCES): New variable.
35867 (pkglib_MODULES): Add loadenv.mod.
35868 (loadenv_mod_SOURCES): New variable.
35869 (loadenv_mod_CFLAGS): Likewise.
35870 (loadenv_mod_LDFLAGS): Likewise.
35871
35872 * include/grub/envblk.h: New file.
35873
35874 * util/envblk.c: New file.
35875
35876 * util/grub-editenv.c: New file.
35877
35878 * commands/loadenv.c: New file.
35879
35880 2008-07-01 Pavel Roskin <proski@gnu.org>
35881
35882 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35883 not unsigned char. This fixes warnings and is consistent with
35884 other tags.
35885
35886 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35887
35888 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35889
35890 * term/tparm.c (analyze): Always set *popcount.
35891
35892 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35893 cast to fix a warning.
35894
35895 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35896 cast to suppress a warning.
35897
35898 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35899 grub_fshelp_read_file() expects.
35900
35901 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35902 write uuid as a 32-bit value in CPU byte order, so declare and
35903 use it as such.
35904
35905 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35906 long if the format specifier expects it.
35907 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35908 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35909 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35910 long to fix a warning.
35911 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35912 grub_dprintf() arguments to fix warnings.
35913
35914 2008-06-30 Pavel Roskin <proski@gnu.org>
35915
35916 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35917 install_bsd_part immediately before core.img is embedded or
35918 modified on disk. This fixes core.img verification if core.img
35919 cannot be embedded.
35920
35921 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35922 core_path to calculate the blocklist.
35923 Patch from Javier Martín <lordhabbit@gmail.com>
35924
35925 2008-06-29 Robert Millan <rmh@aybabtu.com>
35926
35927 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35928 block to disk block.
35929 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35930 Patch from Niels Böhm <bitbucket@arcor.de>
35931
35932 2008-06-29 Robert Millan <rmh@aybabtu.com>
35933
35934 * util/update-grub_lib.in (font_path): Search for fonts in
35935 /boot/grub first, which is more likely to be readable (we aren't
35936 deciding where fonts live, just looking for them).
35937
35938 2008-06-26 Pavel Roskin <proski@gnu.org>
35939
35940 * util/biosdisk.c (read_device_map): Don't leave dead map
35941 entries for devices failing stat() check.
35942
35943 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35944 core_path_dev for the core.img path on the target device.
35945
35946 2008-06-26 Robert Millan <rmh@aybabtu.com>
35947
35948 * disk/fs_uuid.c: New file.
35949 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35950 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35951 (fs_uuid_mod_LDFLAGS): New variables.
35952 * include/grub/disk.h (grub_disk_dev_id): Add
35953 `GRUB_DISK_DEVICE_UUID_ID'.
35954 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35955 implement iterate().
35956
35957 2008-06-26 Robert Millan <rmh@aybabtu.com>
35958
35959 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35960 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35961 Linux image includes no initrd.
35962
35963 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35964
35965 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35966 call to resolve the core image location that effectively appended the
35967 name twice.
35968
35969 2008-06-21 Robert Millan <rmh@aybabtu.com>
35970
35971 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35972 call from here ...
35973
35974 * util/grub.d/10_hurd.in: ... to here ...
35975 * util/grub.d/10_linux.in: ... and here.
35976
35977 2008-06-19 Robert Millan <rmh@aybabtu.com>
35978
35979 * kern/main.c (grub_main): Export `prefix' variable immediately
35980 after it has been set by grub_machine_set_prefix().
35981
35982 2008-06-19 Robert Millan <rmh@aybabtu.com>
35983
35984 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35985 search result when not saving to variable, not the other way around.
35986 When saving to variable, abort iteration as soon as a match is found.
35987
35988 2008-06-19 Robert Millan <rmh@aybabtu.com>
35989
35990 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35991 check for partition that provides /boot/grub. Its logic is flawed,
35992 as it prevents prepare_grub_to_access_device() from being called
35993 multiple times.
35994
35995 2008-06-19 Robert Millan <rmh@aybabtu.com>
35996
35997 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35998 "insmod" command directly when abstraction modules are needed,
35999 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
36000 since it had already been processed).
36001
36002 2008-06-19 Pavel Roskin <proski@gnu.org>
36003
36004 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36005 changed. This is needed in case GRUB_LIBDIR changes.
36006 * conf/i386-ieee1275.rmk: Likewise.
36007 * conf/i386-linuxbios.rmk: Likewise.
36008 * conf/i386-pc.rmk: Likewise.
36009 * conf/powerpc-ieee1275.rmk: Likewise.
36010
36011 2008-06-18 Pavel Roskin <proski@gnu.org>
36012
36013 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36014 kernel_elf_symlist.c to symlist.c for consistency with other
36015 architectures. Update all users.
36016 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36017
36018 2008-06-18 Robert Millan <rmh@aybabtu.com>
36019
36020 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36021 it in prefix.
36022
36023 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36024 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36025 a RAID device, run setup() for all members independently on whether
36026 LVM abstraction is being used.
36027 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36028 If grub-mkimage has set `*install_dos_part == -2', don't override this
36029 value.
36030 Perform *install_dos_part adjustments independently on whether
36031 we're embedding or not.
36032 Clarify error message when image is too big for embedding.
36033 Remove duplicate *install_dos_part stanza.
36034
36035 2008-06-17 Robert Millan <rmh@aybabtu.com>
36036
36037 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36038 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36039 variables.
36040 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36041 values in grub_ofconsole_normal_color and
36042 grub_ofconsole_highlight_color (they're not directly related to
36043 background and foreground).
36044 (grub_ofconsole_setcolorstate): Extract background and foreground
36045 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36046
36047 2008-06-17 Robert Millan <rmh@aybabtu.com>
36048
36049 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36050 /boot/grub for the check in last commit, not /boot (they could be
36051 different partitions).
36052
36053 2008-06-16 Robert Millan <rmh@aybabtu.com>
36054
36055 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36056 asked to setup access for the same partition that provides /boot,
36057 don't bother using UUIDs since our root already has the value we
36058 want.
36059
36060 2008-06-16 Robert Millan <rmh@aybabtu.com>
36061
36062 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36063 I2O devices.
36064 Patch from Sven Mueller <sven@debian.org>.
36065
36066 2008-06-16 Robert Millan <rmh@aybabtu.com>
36067
36068 * util/update-grub.in: Check for $EUID instead of $UID.
36069 Reported by Vincent Zweije.
36070
36071 2008-06-16 Bean <bean123ch@gmail.com>
36072
36073 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
36074 (grub_ext2_read_block): Likewise.
36075 (grub_ext2_read_inode): Likewise.
36076 (grub_ext2_mount): Likewise.
36077 (grub_ext2_close): Likewise.
36078 (grub_ext3_get_journal): Removed.
36079
36080 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
36081 (grub_reiserfs_read_symlink): Likewise.
36082 (grub_reiserfs_mount): Likewise.
36083 (grub_reiserfs_open): Likewise.
36084 (grub_reiserfs_read): Likewise.
36085 (grub_reiserfs_close): Likewise.
36086 (grub_reiserfs_get_journal): Removed.
36087
36088 * fs/fshelp.c (grub_fshelp_read): Removed.
36089 (grub_fshelp_map_block): Likewise.
36090
36091 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36092 (grub_fshelp_journal): Likewise.
36093 (grub_fshelp_read): Likewise.
36094 (grub_fshelp_map_block): Likewise.
36095
36096 2008-06-16 Pavel Roskin <proski@gnu.org>
36097
36098 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36099 floating point anymore.
36100 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36101
36102 2008-06-15 Pavel Roskin <proski@gnu.org>
36103
36104 * commands/ls.c (grub_ls_list_files): Use integer calculations
36105 for human readable format, avoid floating point use.
36106 * kern/misc.c (grub_ftoa): Remove.
36107 (grub_vsprintf): Remove floating point support.
36108
36109 2008-06-15 Robert Millan <rmh@aybabtu.com>
36110
36111 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
36112 devices.
36113 Reported by Max Vozeler.
36114
36115 2008-06-15 Robert Millan <rmh@aybabtu.com>
36116
36117 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36118 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36119 skipped later.
36120 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36121 the beginning of the prefix.
36122
36123 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36124 It is assumed that if we have a memdisk, grub-mkimage has set
36125 grub_prefix to include the "(memdisk)" drive in it.
36126
36127 2008-06-15 Robert Millan <rmh@aybabtu.com>
36128
36129 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36130 Initialize keyboard controller after registering the terminal, so that
36131 grub_printf() can be called from grub_keyboard_controller_init().
36132
36133 2008-06-15 Robert Millan <rmh@aybabtu.com>
36134
36135 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36136 extent-btree which is written as big endian on disk.
36137 Reported by Alain Greppin <al@chilibi.org>.
36138
36139 2008-06-14 Robert Millan <rmh@aybabtu.com>
36140
36141 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36142 * util/i386/pc/grub-install.in (modules): Likewise.
36143
36144 2008-06-13 Pavel Roskin <proski@gnu.org>
36145
36146 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36147
36148 2008-06-13 Bean <bean123ch@gmail.com>
36149
36150 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36151
36152 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36153
36154 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36155 to indicate sparse block.
36156
36157 2008-06-12 Pavel Roskin <proski@gnu.org>
36158
36159 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36160 number, grub_fshelp_read() does it for us.
36161
36162 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36163 linear disk read with journal translation.
36164 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36165 * include/grub/fshelp.h: Declare grub_fshelp_read().
36166
36167 2008-06-09 Pavel Roskin <proski@gnu.org>
36168
36169 * fs/minix.c (grub_minix_mount): Handle error reading
36170 superblock.
36171
36172 2008-06-08 Robert Millan <rmh@aybabtu.com>
36173
36174 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36175 don't append the RAID prefix afterwards.
36176 Reported by Clint Adams.
36177
36178 2008-06-08 Robert Millan <rmh@aybabtu.com>
36179
36180 Based on description from Pavel:
36181 * kern/disk.c (grub_disk_check_range): Rename to ...
36182 (grub_disk_adjust_range): ... this. Add a comment explaining the
36183 tasks performed by this function.
36184
36185 2008-06-08 Robert Millan <rmh@aybabtu.com>
36186
36187 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36188 `num_serial' (for consistency with other variables).
36189 (struct grub_ntfs_data): Add `uuid' member.
36190 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36191 (grub_ntfs_uuid): New function.
36192 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36193
36194 2008-06-07 Pavel Roskin <proski@gnu.org>
36195
36196 * util/biosdisk.c (open_device): Revert last change to the
36197 function, it broke installation. The sector needs to be
36198 different dependent on which device is opened.
36199
36200 2008-06-06 Robert Millan <rmh@aybabtu.com>
36201
36202 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36203 rest of GRUB, and breakage doesn't happen if its value were modified.
36204
36205 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36206 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36207 a constant (same value).
36208 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36209 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36210
36211 2008-06-06 Robert Millan <rmh@aybabtu.com>
36212
36213 * util/biosdisk.c (open_device): Do not modify sector offset when
36214 accessing a partition. kern/disk.c already handles this for us.
36215
36216 2008-06-06 Robert Millan <rmh@aybabtu.com>
36217
36218 * util/grub-emu.c (grub_machine_init): Move code in this function from
36219 here ...
36220 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36221 segfault in case grub_printf() is called).
36222
36223 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36224 grub_probe. Update all users not to explicitly add it again.
36225 (grub_device): New variable; contains corresponding device for grubdir.
36226 (fs_module, partmap_module, devabstraction_module): Pass
36227 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36228 every time.
36229
36230 2008-06-05 Robert Millan <rmh@aybabtu.com>
36231
36232 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36233 is found, print it (same layout as with labels).
36234
36235 2008-06-04 Robert Millan <rmh@aybabtu.com>
36236
36237 * util/biosdisk.c (get_drive): Rename to ...
36238 (find_grub_drive): ... this. Update all users.
36239
36240 (get_os_disk): Rename to ...
36241 (convert_system_partition_to_system_disk): ... this. Update all users.
36242
36243 (find_drive): Rename to ...
36244 (find_system_device): ... this. Update all users.
36245
36246 2008-06-04 Robert Millan <rmh@aybabtu.com>
36247
36248 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36249 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36250 (make_device_map): Likewise.
36251
36252 2008-06-01 Robert Millan <rmh@aybabtu.com>
36253
36254 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36255 before dereferencing it.
36256
36257 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36258 union with fat12/fat16-specific ones. Add some new fields, including
36259 `num_serial' for both versions.
36260 (struct grub_fat_data): Add `uuid' member.
36261 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36262 names. Initialize `data->uuid' using `num_serial'.
36263 (grub_fat_uuid): New function.
36264 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36265
36266 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36267 (grub_reiserfs_uuid): New function.
36268 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36269 member.
36270
36271 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36272 (grub_xfs_uuid): New function.
36273 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36274
36275 2008-06-01 Robert Millan <rmh@aybabtu.com>
36276
36277 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36278 code that is backward compatible with pre-uuid search command.
36279
36280 2008-05-31 Robert Millan <rmh@aybabtu.com>
36281
36282 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36283 floppies after everything else, to ensure floppy drive isn't accessed
36284 unnecessarily (patch from Bean).
36285
36286 2008-05-31 Robert Millan <rmh@aybabtu.com>
36287
36288 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36289 not print device names when we were asked to set a variable.
36290
36291 2008-05-31 Robert Millan <rmh@aybabtu.com>
36292
36293 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36294 using "cursor-on" and "cursor-off" commands (understood at least by
36295 the Open Firmware flavour on OLPC).
36296
36297 2008-05-31 Michael Gorven <michael@gorven.za.net>
36298
36299 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36300 on and off sequences.
36301
36302 2008-05-31 Robert Millan <rmh@aybabtu.com>
36303
36304 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36305 * util/update-grub.in: Likewise.
36306
36307 2008-05-30 Pavel Roskin <proski@gnu.org>
36308
36309 * util/biosdisk.c (linux_find_partition): Simplify logic and
36310 make the code more universal. Keep special processing for
36311 devfs, but use a simple rule for all other devices. If the
36312 device ends with a number, append 'p' and the partition number.
36313 Otherwise, append only the partition number.
36314
36315 2008-05-30 Robert Millan <rmh@aybabtu.com>
36316
36317 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36318 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36319 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36320 the `root' parameter to Linux.
36321
36322 2008-05-30 Robert Millan <rmh@aybabtu.com>
36323
36324 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36325 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36326 --fs_uuid with --fs-uuid.
36327 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36328 all filesystems support them).
36329
36330 2008-05-30 Robert Millan <rmh@aybabtu.com>
36331
36332 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36333 grub_printf() flags, since we're printing in units of 2 bytes.
36334
36335 2008-05-30 Robert Millan <rmh@aybabtu.com>
36336
36337 * util/grub.d/00_header.in: Remove obsolete comment referencing
36338 convert_system_path_to_grub_path().
36339 * util/update-grub.in: Likewise.
36340 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36341 (convert_system_path_to_grub_path): Add a warning message explaining
36342 that this function is deprecated. Rely on is_path_readable_by_grub()
36343 for the readability checks.
36344 (font_path): Use is_path_readable_by_grub() for the readability
36345 check rather than convert_system_path_to_grub_path().
36346
36347 2008-05-30 Robert Millan <rmh@aybabtu.com>
36348
36349 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36350 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36351 converting it first.
36352 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36353 grub.cfg for access to font file, and afterwards call it again to set
36354 the root device.
36355
36356 2008-05-30 Robert Millan <rmh@aybabtu.com>
36357
36358 * commands/search.c (options): Add --fs_uuid option.
36359 (search_fs_uuid): New function.
36360 (grub_cmd_search): Fix --set argument passing.
36361 Use search_fs_uuid() when requested via --fs_uuid.
36362 (grub_search_init): Update help message.
36363 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36364 and redeclare it as an array of 16-bit words.
36365 (grub_ext2_uuid): New function.
36366 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36367 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36368 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36369 (GRUB_DEVICE_BOOT_UUID): New variables.
36370 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36371 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36372 whenever possible.
36373 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36374 just assume `root' variable has the right value.
36375 * util/grub.d/10_linux.in: Likewise.
36376 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36377 via PRINT_FS_UUID.
36378 (main): Recognise `-t fs_uuid' argument.
36379
36380 2008-05-30 Robert Millan <rmh@aybabtu.com>
36381
36382 * util/biosdisk.c (map): Redefine structure to hold information
36383 about GRUB drive name.
36384 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36385 drive names.
36386 (call_hook): Remove.
36387 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36388 member. Assume drive has partitions.
36389 (grub_util_biosdisk_open): Access device names via `.device' struct
36390 member.
36391 (open_device): Likewise.
36392 (find_drive): Likewise.
36393 (read_device_map): Adjust map[] usage to match the new struct
36394 definition. Don't check for duplicates (still possible, but not cheap
36395 anymore).
36396 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36397 (make_device_name): Remove assumption of BIOS-like drive names.
36398
36399 2008-05-30 Pavel Roskin <proski@gnu.org>
36400
36401 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36402 compiling execute.c doesn't need grub_script.tab.h anymore.
36403 (normal/command.c_DEPENDENCIES): Likewise.
36404 (normal/function.c_DEPENDENCIES): Likewise.
36405 * conf/i386-ieee1275.rmk: Likewise.
36406 * conf/i386-linuxbios.rmk: Likewise.
36407 * conf/i386-pc.rmk: Likewise.
36408 * conf/powerpc-ieee1275.rmk: Likewise.
36409 * conf/sparc64-ieee1275.rmk: Likewise.
36410
36411 2008-05-29 Pavel Roskin <proski@gnu.org>
36412
36413 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36414 when scanning metadata for volume group name.
36415
36416 * include/grub/script.h: Don't include grub_script.tab.h. It's
36417 a generated file, which may only be included from the files with
36418 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36419 use union YYSTYPE, as the later allows forward declaration.
36420 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36421
36422 2008-05-29 Robert Millan <rmh@aybabtu.com>
36423
36424 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36425 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36426 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36427 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36428 scan codes.
36429
36430 2008-05-29 Robert Millan <rmh@aybabtu.com>
36431
36432 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36433 control key combinations.
36434
36435 2008-05-29 Robert Millan <rmh@aybabtu.com>
36436
36437 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36438 * util/ieee1275/grub-install.in: ... to here.
36439 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36440 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36441 (grub_install_SOURCES): Likewise.
36442
36443 2008-05-29 Robert Millan <rmh@aybabtu.com>
36444
36445 * fs/affs.c: Update copyright year.
36446 * fs/ext2.c: Likewise.
36447 * fs/fshelp.c: Likewise.
36448 * fs/hfsplus.c: Likewise.
36449 * fs/ntfs.c: Likewise.
36450 * fs/xfs.c: Likewise.
36451 * include/grub/fshelp.h: Likewise.
36452 * util/grub-mkdevicemap.c: Likewise.
36453
36454 2008-05-28 Robert Millan <rmh@aybabtu.com>
36455
36456 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36457 might need to be fatfs to support some firmware implementations
36458 (e.g. OFW or EFI).
36459
36460 2008-05-28 Robert Millan <rmh@aybabtu.com>
36461
36462 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36463 devices.
36464 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36465 (make_device_map): Likewise.
36466
36467 2008-05-20 Bean <bean123ch@gmail.com>
36468
36469 * fs/fshelp.c (grub_fshelp_map_block): New function.
36470 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36471 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36472
36473 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36474 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36475 (grub_fshelp_journal): New structure.
36476 (grub_fshelp_map_block): New function prototype.
36477 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36478 (grub_fshelp_map_block): Likewise.
36479
36480 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36481 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36482 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36483 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36484 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36485 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36486 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36487 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36488 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36489 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36490 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36491 (grub_ext2_sblock): New members for journal support.
36492 (grub_ext3_journal_header): New structure.
36493 (grub_ext3_journal_revoke_header): Likewise.
36494 (grub_ext3_journal_block_tag): Likewise.
36495 (grub_ext3_journal_sblock): Likewise.
36496 (grub_fshelp_node): New members logfile and journal.
36497 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36498 grub_fshelp_map_block to get real block number.
36499 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36500 number.
36501 (grub_ext2_read_inode): Likewise.
36502 (grub_ext3_get_journal): New function.
36503 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36504 (grub_ext2_close): Release memory used by journal.
36505
36506 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36507 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36508 (grub_reiserfs_transaction_header): Renamed to
36509 grub_reiserfs_description_block, replace field data with real_blocks.
36510 (grub_reiserfs_commit_block): New structure.
36511 (grub_reiserfs_data): New member journal.
36512 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36513 number.
36514 (grub_reiserfs_read_symlink): Likewise.
36515 (grub_reiserfs_iterate_dir): Likewise.
36516 (grub_reiserfs_open): Likewise.
36517 (grub_reiserfs_read): Likewise.
36518 (grub_reiserfs_get_journal): New function.
36519 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36520 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36521 using grub_reiserfs_get_journal.
36522 (grub_reiserfs_close): Release memory used by journal.
36523
36524 * fs/affs.c (grub_affs_read_block): Change block type to
36525 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36526
36527 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36528
36529 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36530
36531 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36532
36533 * fs/udf.c (grub_udf_read_block): Change block type to
36534 grub_disk_addr_t. Use type cast to avoid warning.
36535
36536 * fs/xfs.c (grub_xfs_read_block): Likewise.
36537
36538 2008-05-16 Christian Franke <franke@computer.org>
36539
36540 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36541 to ensure that break with ESC will always work.
36542 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36543 Remove ESC from keyboard queue.
36544
36545 2008-05-16 Christian Franke <franke@computer.org>
36546
36547 * util/biosdisk.c: [__CYGWIN__] Add includes.
36548 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36549 (get_os_disk): Move variable declarations to OS specific
36550 parts to avoid warning.
36551 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36552 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36553 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36554 Cygwin.
36555 * util/getroot.c: [__CYGWIN__] Add includes.
36556 (strip_extra_slashes): Fix "/" case.
36557 [__CYGWIN__] (get_win32_path): New function.
36558 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36559 [__CYGWIN__] (find_root_device): Disable.
36560 [__CYGWIN__] (get_bootsec_serial): New function.
36561 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36562 [__linux__] (grub_guess_root_device): Add early returns to simplify
36563 structure.
36564 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36565 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36566 check for Linux only.
36567
36568 2008-05-15 Bean <bean123ch@gmail.com>
36569
36570 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36571 keyboard hang problem in apple's intel mac.
36572
36573 2008-05-09 Robert Millan <rmh@aybabtu.com>
36574
36575 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36576 devices.
36577 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36578 (make_device_map): Likewise.
36579 Reported by Aurelien Jarno <aurel32@debian.org>
36580
36581 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
36582
36583 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36584 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36585 (make_device_map): Output entries for xvd type disks.
36586
36587 2008-05-07 Robert Millan <rmh@aybabtu.com>
36588
36589 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36590 devices.
36591 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36592 (make_device_map): Likewise.
36593 Reported by Roland Dreier <rdreier@cisco.com>
36594
36595 2008-05-07 Robert Millan <rmh@aybabtu.com>
36596
36597 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36598 grub_strstr() call. Correct a few mistakes in failure path handling.
36599
36600 2008-05-06 Robert Millan <rmh@aybabtu.com>
36601
36602 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36603 Do not print a trailing slash (therefore, the root directory is an
36604 empty string).
36605 (convert_system_path_to_grub_path): Do not remove trailing slash
36606 from make_system_path_relative_to_its_root() output.
36607
36608 * util/i386/pc/grub-install.in: Add trailing slash to output from
36609 make_system_path_relative_to_its_root().
36610
36611 2008-05-06 Robert Millan <rmh@aybabtu.com>
36612
36613 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36614 ensures that output lines aren't intermangled with those sent to
36615 stderr (via grub_util_info()).
36616 * util/grub-probe.c (grub_refresh): Likewise.
36617 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36618
36619 2008-05-05 Christian Franke <franke@computer.org>
36620
36621 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36622 Add Cygwin device names.
36623 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36624 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36625 (check_device): Return error instead of success on empty name.
36626 (make_device_map): Move label inside linux specific code to
36627 prevent compiler warning.
36628
36629 2008-04-30 Robert Millan <rmh@aybabtu.com>
36630
36631 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36632 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36633 first boot option.
36634 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36635
36636 2008-04-29 Robert Millan <rmh@aybabtu.com>
36637
36638 * docs/grub.cfg: New file (example GRUB configuration).
36639
36640 2008-04-26 Robert Millan <rmh@aybabtu.com>
36641
36642 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36643 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36644 and `disk/ieee1275/nand.c'.
36645
36646 2008-04-25 Bean <bean123ch@gmail.com>
36647
36648 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36649 i386-linuxbios.
36650
36651 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36652 change the buffer size to 4096 for cdrom device.
36653
36654 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36655 and nand.mod.
36656 (_linux_mod_SOURCES): New variable.
36657 (_linux_mod_CFLAGS): Likewise.
36658 (_linux_mod_LDFLAGS): Likewise.
36659 (linux_mod_SOURCES): Likewise.
36660 (linux_mod_CFLAGS): Likewise.
36661 (linux_mod_LDFLAGS): Likewise.
36662 (nand_mod_SOURCES): Likewise.
36663 (nand_mod_CFLAGS): Likewise.
36664 (nand_mod_LDFLAGS): Likewise.
36665
36666 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36667 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36668 type property. (nand device in olpc don't have this property)
36669
36670 * include/grub/disk.h (grub_disk_dev_id): New macro
36671 GRUB_DISK_DEVICE_NAND_ID.
36672
36673 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36674 function prototype.
36675 (grub_rescue_cmd_initrd): Likewise.
36676
36677 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36678 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36679 ofw_cif_handler and ofw_idt, adjust padding number.
36680
36681 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36682 GRUB_MACHINE_IEEE1275 is defined.
36683
36684 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36685 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36686
36687 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36688 on nested function heap_init.
36689 (grub_upper_mem): New variable for i386-ieee1275.
36690 (grub_get_extended_memory): New function for i386-ieee1275.
36691 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36692
36693 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36694 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36695 property.
36696
36697 * loader/i386/ieee1275/linux.c: New file.
36698
36699 * loader/i386/ieee1275/linux_normal.c: New file.
36700
36701 * disk/ieee1275/nand.c: New file.
36702
36703 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36704
36705 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36706 value.
36707 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36708
36709 2008-04-18 Robert Millan <rmh@aybabtu.com>
36710
36711 Restructures early code path on ieee1275 to unify grub_main() as
36712 the first C function that is executed in every platform.
36713
36714 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36715 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36716 cmain().
36717 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36718 * kern/ieee1275/cmain.c (cmain): Rename to ...
36719 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36720 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36721 at the beginning.
36722
36723 2008-04-18 Robert Millan <rmh@aybabtu.com>
36724
36725 * util/update-grub.in: Fix syntax error when setting
36726 `GRUB_PRELOAD_MODULES'.
36727 Reported by Stephane Chazelas <stephane@artesyncp.com>
36728
36729 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36730
36731 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36732 section into account, newer toolchains generate unique build ids
36733 * configure.ac: remove the test for --build-id=none acceptance,
36734 we want build ids to be preserved
36735 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36736 far from other sections don't cause the raw binary images grow
36737 size
36738
36739 2008-04-15 Robert Millan <rmh@aybabtu.com>
36740
36741 * disk/lvm.c: Update copyright year.
36742 * kern/misc.c: Likewise.
36743
36744 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36745
36746 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36747 there is no memory left for physical volume name.
36748
36749 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36750
36751 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36752 volume name mapping to support bigger than 9 character names properly.
36753
36754 2008-04-13 Robert Millan <rmh@aybabtu.com>
36755
36756 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36757 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36758
36759 2008-04-13 Christian Franke <franke@computer.org>
36760
36761 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36762 to create a floppy emulation boot CD when non emulation mode
36763 does not work.
36764 Enable Joliet CD filesystem extension.
36765
36766 2008-04-13 Robert Millan <rmh@aybabtu.com>
36767
36768 * kern/misc.c (grub_strncat): Fix off-by-one error.
36769 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36770
36771 * kern/env.c (grub_env_context_close): Clear current context, not
36772 previous one.
36773 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36774
36775 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36776
36777 2008-04-13 Robert Millan <rmh@aybabtu.com>
36778
36779 Improve robustness when handling LVM.
36780
36781 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36782 (and leave `*p' unmodified).
36783 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36784 through it.
36785 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36786 iterating through it.
36787 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36788 through it.
36789 (grub_lvm_scan_device): Check the return value (and fail gracefully
36790 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36791 Don't assume `vg->pvs != NULL' when iterating through it.
36792
36793 2008-04-13 Robert Millan <rmh@aybabtu.com>
36794
36795 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36796 * genmk.rb (partmap): New variable.
36797 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36798 (#{partmap}): New target rule.
36799 * genpartmaplist.sh: New file.
36800 * Makefile.in (pkglib_DATA): Add partmap.lst.
36801 (partmap.lst): New target rule.
36802 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36803 modules (including all partition maps), instead of preloading them.
36804
36805 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36806
36807 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36808 `linux-boot-prober' (if installed) to detect other operating
36809 systems which are installed on the computer and add them to
36810 the boot menu.
36811 * conf/common.rmk: Build and install 30_os-prober.
36812
36813 2008-04-12 Robert Millan <rmh@aybabtu.com>
36814
36815 * kern/powerpc/ieee1275/init.c: Move from here ...
36816 * kern/ieee1275/init.c: ... to here. Update all users.
36817
36818 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36819 * kern/ieee1275/cmain.c: ... to here. Update all users.
36820
36821 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36822 * kern/ieee1275/openfw.c: ... to here. Update all users.
36823
36824 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36825 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36826
36827 2008-04-10 Pavel Roskin <proski@gnu.org>
36828
36829 * configure.ac: Always use "_cv_" in cache variables for
36830 compatibility with Autoconf 2.62.
36831
36832 2008-04-07 Robert Millan <rmh@aybabtu.com>
36833
36834 Revert grub/machine/init.h addition by Pavel (since it breaks on
36835 i386-ieee1275 and others):
36836 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36837 * util/powerpc/ieee1275/misc.c: Likewise.
36838
36839 2008-04-07 Robert Millan <rmh@aybabtu.com>
36840
36841 * util/grub-probe.c (probe): Improve error message.
36842
36843 2008-04-07 Robert Millan <rmh@aybabtu.com>
36844
36845 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36846 (this prevents the presence of a bogus entry from ruining the whole
36847 thing).
36848
36849 2008-04-06 Pavel Roskin <proski@gnu.org>
36850
36851 * util/biosdisk.c: Include grub/util/biosdisk.h.
36852 * util/grub-fstest.c (execute_command): Make static.
36853 * util/grub-mkdevicemap.c (check_device): Likewise.
36854 * util/i386/pc/misc.c: Include grub/machine/init.h.
36855 * util/powerpc/ieee1275/misc.c: Likewise.
36856 * util/lvm.c: Include grub/util/lvm.h.
36857 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36858 grub/cache.h.
36859 * util/raid.c: Include grub/util/raid.h.
36860 (grub_util_getdiskname): Make static.
36861
36862 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36863 grub_hostfs_fini(), as they are called from grub_init_all() and
36864 grub_fini_all() respectively. This fixes an infinite loop in
36865 grub-fstest due to double registration of hostfs.
36866 Reported by Christian Franke <Christian.Franke@t-online.de>
36867
36868 2008-04-05 Pavel Roskin <proski@gnu.org>
36869
36870 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36871 all 8 functions. Otherwise, probe function 0 only.
36872
36873 2008-04-04 Pavel Roskin <proski@gnu.org>
36874
36875 * commands/lspci.c (grub_lspci_iter): Print the bus number
36876 correctly.
36877
36878 * commands/lspci.c (grub_pci_classes): Fix typos.
36879 (grub_lspci_iter): Don't print func twice. Print vendor ID
36880 before device ID, as it's normally done.
36881
36882 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36883 Fix signedness warnings.
36884 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36885 Likewise.
36886 * util/ieee1275/get_disk_name.c: Include config.h so that
36887 _GNU_SOURCE is defined and getline() is declared. Mark an
36888 unused argument as such. Fix a signedness warning.
36889
36890 2008-04-02 Pavel Roskin <proski@gnu.org>
36891
36892 * genkernsyms.sh.in: Use more robust assignments for CC and
36893 srcdir. Quote srcdir.
36894 * gensymlist.sh.in: Likewise. Assert at the compile time that
36895 the symbol table is not empty.
36896
36897 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36898 * fs/cpio.c (grub_cpio_read): Likewise.
36899
36900 2008-04-01 Pavel Roskin <proski@gnu.org>
36901
36902 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36903 * disk/host.c (grub_host_open): Likewise.
36904 * disk/loopback.c (grub_loopback_open): Likewise.
36905 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36906 disk->id as in disk/host.c, not a multi-character constant.
36907
36908 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36909 later is obsolete, potentially dangerous and sets a bad example.
36910 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36911 * util/misc.c (grub_util_get_image_size): Likewise.
36912
36913 * disk/loopback.c (options): Improve help for "--partitions".
36914
36915 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36916 options to align them with the short options, e.g. "echo -e".
36917
36918 2008-03-31 Bean <bean123ch@gmail.com>
36919
36920 * video/reader/png.c (grub_png_data): New member is_16bit and
36921 image_data.
36922 (grub_png_decode_image_header): Detect 16 bit png image.
36923 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36924 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36925 (grub_video_reader_png): Release memory occupied by image_data.
36926
36927 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36928 4096 bytes.
36929 (grub_nfs_mount): Skip the test for sector per cluster.
36930
36931 * include/grub/ntfs.h (MAX_SPC): Removed.
36932
36933 2008-03-31 Bean <bean123ch@gmail.com>
36934
36935 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36936 (grub_probe_SOURCES): Add fs/afs.c.
36937 (grub_fstest_SOURCES): Likewise.
36938 (afs_mod_SOURCES): New variable.
36939 (afs_mod_CFLAGS): Likewise.
36940 (afs_mod_LDFLAGS): Likewise.
36941
36942 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36943 (grub_emu_SOURCES): Likewise.
36944
36945 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36946
36947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36948
36949 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36950
36951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36952
36953 * fs/afs.c: New file.
36954
36955 2008-03-30 Pavel Roskin <proski@gnu.org>
36956
36957 * disk/host.c: Include grub/misc.h to fix a warning.
36958 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36959 warnings about implicit declarations.
36960
36961 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36962 variable.
36963 * include/grub/i386/loader.h: Change declaration of
36964 grub_linux_boot() to match what grub_loader_set() expects.
36965 * util/getroot.c (grub_guess_root_device): Return const char* to
36966 fix a warning.
36967 * util/grub-probe.c (probe): Fix a warning about uninitialized
36968 abstraction_name variable.
36969 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36970 second argument as unused to fix a warning.
36971
36972 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36973 missing grub_error() call.
36974
36975 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36976 2.60 and newer uses it to define datadir.
36977
36978 * commands/sleep.c: Fix warning about implicit declaration.
36979 * disk/memdisk.c: Likewise.
36980 * loader/aout.c: Likewise.
36981 * loader/i386/bsd_normal.c: Likewise.
36982 * util/grub-probe.c: Likewise.
36983
36984 * commands/i386/cpuid.c (has_longmode): Make static.
36985 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36986 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36987
36988 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36989 GDT. This is more robust, as %ds can change.
36990 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36991 calling real_to_prot().
36992 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36993
36994 2008-03-28 Pavel Roskin <proski@gnu.org>
36995
36996 * kern/i386/pc/startup.S: Assert that uncompressed functions
36997 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36998 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36999 code, as they push parts of the code (error handlers) beyond
37000 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37001 code as correctness and size.
37002
37003 2008-03-28 Pavel Roskin <proski@gnu.org>
37004
37005 * kern/i386/pc/startup.S
37006 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37007 data block address to the real mode, keep offset minimal. This
37008 works around a bug in AWARD BIOS on old Athlon systems, which
37009 makes CD detection hang.
37010
37011 2008-03-26 Pavel Roskin <proski@gnu.org>
37012
37013 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37014 const.
37015 * include/grub/normal.h: Add grub_parse_color_name_pair()
37016 declaration.
37017
37018 2008-03-24 Bean <bean123ch@gmail.com>
37019
37020 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37021 (cd_count): Removed.
37022 (cd_drive): New variable.
37023 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37024 (grub_biosdisk_call_hook): Likewise.
37025 (grub_biosdisk_iterate): Change cdrom detection method.
37026 (grub_biosdisk_open): Replace cd_start with cd_drive.
37027 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37028 detect cdrom device.
37029
37030 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37031 Removed.
37032 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37033 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37034 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37035 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37036 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37037 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37038 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37039 (grub_biosdisk_cdrp): New structure.
37040 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37041
37042 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37043
37044 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37045 device.
37046
37047 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37048 New function.
37049
37050 2008-03-20 Robert Millan <rmh@aybabtu.com>
37051
37052 Remove 2 TiB limit in ata.mod.
37053 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37054 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37055 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37056 grub_uint64_t instead of grub_uint32_t.
37057
37058 2008-03-05 Bean <bean123ch@gmail.com>
37059
37060 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37061 (grub_multiboot): Set boot device.
37062
37063 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37064
37065 2008-03-02 Bean <bean123ch@gmail.com>
37066
37067 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37068 symlink_buffer.
37069
37070 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37071
37072 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37073 texinfo.tex.
37074
37075 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37076 modified.
37077
37078 * docs/fdl.texi: New file.
37079
37080 * docs/mdate-sh: New file. Copied from gnulib.
37081 * docs/texinfo.tex: Likewise.
37082
37083 * config.guess: Updated from gnulib.
37084 * install-sh: Likewise.
37085
37086 2008-02-28 Robert Millan <rmh@aybabtu.com>
37087
37088 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37089 (aout_mod_SOURCES): New variable.
37090 (aout_mod_CFLAGS): Likewise.
37091 (aout_mod_LDFLAGS): Likewise.
37092
37093 * conf/i386-ieee1275.rmk: Likewise.
37094
37095 2008-02-28 Robert Millan <rmh@aybabtu.com>
37096
37097 * util/update-grub.in: Reorganise terminal validity check. Accept
37098 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37099 Based on suggestion by Franklin PIAT.
37100
37101 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37102
37103 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37104 function.
37105 * util/getroot.c (grub_util_check_block_device): New function that
37106 returns the given argument if it is a block device and returns NULL else.
37107 * util/grub-probe.c (argument_is_device): New variable.
37108 (probe): Promote device_name from a variable to an argument. Receive
37109 device_name from grub_util_check_block_device() if path is NULL and from
37110 grub_guess_root_device() else. Do not free() device_name anymore.
37111 (options): Introduce new parameter '-d, --device'.
37112 (main): Add description of the new parameter to the help screen.
37113 Rename path variable to argument. Set argument_is_device if the '-d'
37114 option is given. Pass argument to probe() depending on
37115 argument_is_device.
37116
37117 2008-02-24 Bean <bean123ch@gmail.com>
37118
37119 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37120 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37121 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37122 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37123 (GRUB_ISO9660_VOLDESC_END): Likewise.
37124 (grub_iso9660_primary_voldesc): New member escape.
37125 (grub_iso9660_data): New member joliet.
37126 (grub_iso9660_convert_string): New function.
37127 (grub_iso9660_mount): Detect joliet extension.
37128 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37129 (grub_iso9660_iso9660_label): Likewise.
37130
37131 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37132 (grub_setup_SOURCES): Add fs/udf.c.
37133 (grub_fstest_SOURCES): Likewise.
37134 (udf_mod_SOURCES): New variable.
37135 (udf_mod_CFLAGS): Likewise.
37136 (udf_mod_LDFLAGS): Likewise.
37137
37138 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37139 (grub_emu_SOURCES): Likewise.
37140
37141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37142
37143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37144
37145 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37146
37147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37148
37149 * fs/udf.c: New file.
37150
37151 2008-02-24 Robert Millan <rmh@aybabtu.com>
37152
37153 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37154 (normal/lexer.c_DEPENDENCIES): New variables.
37155 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37156 (normal/lexer.c_DEPENDENCIES): Likewise.
37157 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37158 (normal/lexer.c_DEPENDENCIES): Likewise.
37159 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37160 (normal/lexer.c_DEPENDENCIES): Likewise.
37161 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37162 (normal/lexer.c_DEPENDENCIES): Likewise.
37163 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37164 (normal/lexer.c_DEPENDENCIES): Likewise.
37165
37166 2008-02-23 Robert Millan <rmh@aybabtu.com>
37167
37168 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37169 since they were intended to be in hex. This didn't break previously
37170 because of a bug in gpt_partition_map_iterate() (see below).
37171
37172 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37173 when checking the validity of GPT header.
37174 Remove `partno', since it always provides the same information as `i'.
37175
37176 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37177
37178 * include/grub/efi/time.h: Fix a wrong comment.
37179
37180 2008-02-19 Pavel Roskin <proski@gnu.org>
37181
37182 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37183 message.
37184
37185 2008-02-19 Bean <bean123ch@gmail.com>
37186
37187 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37188 (aout_mod_SOURCES): New variable.
37189 (aout_mod_CFLAGS): Likewise.
37190 (aout_mod_LDFLAGS): Likewise.
37191 (_bsd_mod_SOURCES): New variable.
37192 (_bsd_mod_CFLAGS): Likewise.
37193 (_bsd_mod_LDFLAGS): Likewise.
37194 (bsd_mod_SOURCES): New variable.
37195 (bsd_mod_CFLAGS): Likewise.
37196 (bsd_mod_LDFLAGS): Likewise.
37197
37198 * include/grub/aout.h: New file.
37199
37200 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37201
37202 * include/grub/i386/bsd.h: New file.
37203
37204 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37205 to make it public.
37206
37207 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37208 function is called, so that it's possible to change it inside the hook.
37209 (grub_elf64_load): Likewise.
37210 (grub_elf_file): Don't close the file if elf header is not found.
37211 (grub_elf_close): Close the file if grub_elf_file fails (The new
37212 grub_elf_file won't close it).
37213 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37214 (grub_elf64_size): Likewise.
37215
37216 * kern/i386/loader.S (grub_unix_real_boot): New function.
37217
37218 * loader/aout.c: New file.
37219
37220 * loader/i386/bsd.c: New file.
37221
37222 * loader/i386/bsd_normal.c: New file.
37223
37224 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37225
37226 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
37227 can test other formats.
37228
37229 2008-02-19 Robert Millan <rmh@aybabtu.com>
37230
37231 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37232 (grub_gpt_partition_type_empty): Redefine with macro from
37233 `<grub/gpt_partition.h>'.
37234 (gpt_partition_map_iterate): Adjust partition type comparison.
37235
37236 Export `entry' as partmap-specific `part.data' struct.
37237 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37238
37239 * include/grub/gpt_partition.h (grub_gpt_header)
37240 (grub_gpt_partentry): ... to here (new file).
37241
37242 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37243
37244 (grub_gpt_partition_type_bios_boot): New const variable, defined
37245 with macro from `<grub/gpt_partition.h>'.
37246
37247 (setup): Replace `first_start' with `embed_region', which keeps
37248 track of the embed region (and is partmap-agnostic).
37249
37250 Replace find_first_partition_start() with find_usable_region(),
37251 which finds a usable region for embedding using partmap-specific
37252 knowledge (supports PC/MSDOS and GPT).
37253
37254 Fix all assumptions that the embed region start at sector 1, using
37255 `embed_region.start' from now on. Similarly, use `embed_region.end'
37256 rather than `first_start' to calculate available size.
37257
37258 In grub_util_info() message, replace "into after the MBR" with an
37259 indication of the specific sector our embed region starts at.
37260
37261 2008-02-19 Robert Millan <rmh@aybabtu.com>
37262
37263 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37264 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37265 `commands/reboot.c'.
37266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37267 (halt_mod_SOURCES): Likewise.
37268 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37269 (halt_mod_SOURCES): Likewise.
37270
37271 2008-02-17 Christian Franke <franke@computer.org>
37272
37273 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37274
37275 2008-02-17 Robert Millan <rmh@aybabtu.com>
37276
37277 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37278 set `first_start' to 0 for non-PC/MSDOS partition maps.
37279
37280 2008-02-16 Robert Millan <rmh@aybabtu.com>
37281
37282 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37283 do not assume partition map is PC/MSDOS before performing checks that
37284 are specific to that layout.
37285
37286 2008-02-13 Robert Millan <rmh@aybabtu.com>
37287
37288 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37289 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37290 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37291
37292 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37293
37294 * configure.ac: Only a cosmetic change on the handling of
37295 -fno-stack-protector.
37296
37297 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37298
37299 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37300 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37301 reboot.c.
37302 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37303 (halt_mod_SOURCES): New variable.
37304 (halt_mod_CFLAGS): Likewise.
37305 (halt_mod_LDFLAGS): Likewise.
37306 (reboot_mod_SOURCES): Likewise.
37307 (reboot_mod_CFLAGS): Likewise.
37308 (reboot_mod_LDFLAGS): Likewise.
37309
37310 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37311 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37312 reboot.c.
37313 (halt_mod_SOURCES): Likewise.
37314 (reboot_mod_SOURCES): Likewise.
37315
37316 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37317 commands/i386/pc/reboot.c by commands/reboot.c.
37318 (reboot_mod_SOURCES): Likewise.
37319
37320 * commands/i386/pc/reboot.c: merge this file ...
37321
37322 * commands/ieee1275/reboot.c: ... and this file ...
37323
37324 * commands/reboot.c: ... to this file.
37325 Add some precompiler directive to include the correct header for
37326 each machine.
37327
37328 * commands/ieee1275/halt.c: move this file ...
37329
37330 * commands/halt.c: ... to here.
37331 Add some precompiler directive to include the correct header for
37332 each machine.
37333
37334 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37335 (grub_halt): Likewise.
37336
37337 * kern/efi/efi.c (grub_reboot): New function.
37338 (grub_halt): Likewise.
37339
37340 2008-02-12 Robert Millan <rmh@aybabtu.com>
37341
37342 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37343 /dev (like it is done for /dev/mapper). This doesn't provide support
37344 for EVMS, but at least it is now easy to identify the problem when it
37345 arises.
37346
37347 2008-02-11 Robert Millan <rmh@aybabtu.com>
37348
37349 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37350 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37351 comparing it with -1, not 0.
37352
37353 2008-02-10 Robert Millan <rmh@aybabtu.com>
37354
37355 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37356 `disk/lvm.c'.
37357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37358 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37359
37360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37361 `disk/lvm.c' to the end of the list.
37362 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37363 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37364
37365 2008-02-10 Robert Millan <rmh@aybabtu.com>
37366
37367 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37368 grub_print_error() instead. This will let user know why we're entering
37369 rescue mode.
37370 Based on suggestions from Sam Morris.
37371
37372 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37373
37374 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37375 on remaining N args, instead of "--" arg N times.
37376
37377 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37378
37379 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37380 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37381 pattern for unknown glyphs.
37382
37383 2008-02-09 Robert Millan <rmh@aybabtu.com>
37384
37385 * configure.ac: Probe for `help2man'.
37386 * Makefile.in (builddir): New variable.
37387 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37388 or otherwise add a few flags/options to it.
37389 (install-local): For every executable utility or script that is
37390 installed, invoke $(HELP2MAN) to install a manpage based on --help
37391 output.
37392
37393 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37394 that it doesn't prevent --help from working in build tree.
37395
37396 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37397 with `bug-grub@gnu.org'.
37398 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37399 * util/update-grub.in (usage): New function.
37400 Implement proper argument check, with support for --help and --version
37401 (as well as existing -y).
37402
37403 2008-02-09 Christian Franke <franke@computer.org>
37404
37405 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37406 avoid overwriting previous output.
37407 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37408
37409 2008-02-09 Robert Millan <rmh@aybabtu.com>
37410
37411 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37412 drawing the menu.
37413
37414 2008-02-09 Robert Millan <rmh@aybabtu.com>
37415
37416 * commands/sleep.c: New file.
37417 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37418 (sleep_mod_SOURCES): New variable.
37419 (sleep_mod_CFLAGS): Likewise.
37420 (sleep_mod_LDFLAGS): Likewise.
37421
37422 2008-02-09 Robert Millan <rmh@aybabtu.com>
37423
37424 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37425 situations in which we can deduce the RAID size and the superblock
37426 doesn't match it.
37427
37428 2008-02-09 Robert Millan <rmh@aybabtu.com>
37429
37430 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37431 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37432 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37433
37434 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37435 and return a grub_diskmemberlist_t composed of physical array members.
37436 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37437
37438 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37439 prototype.
37440 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37441 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37442 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37443
37444 * util/grub-probe.c (probe): Move partmap probing code from here ...
37445 (probe_partmap): ... to here.
37446 (probe): Use probe_partmap() once for the disk we're probing, and
37447 additionally, when such disk contains a memberlist() struct member,
37448 once for each disk that is contained in the structure returned by
37449 memberlist().
37450
37451 2008-02-09 Robert Millan <rmh@aybabtu.com>
37452
37453 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37454 environment variable to 'all' in order to obtain debug output from
37455 non-util/ code.
37456 * util/i386/pc/grub-setup.c (main): Likewise.
37457
37458 2008-02-08 Robert Millan <rmh@aybabtu.com>
37459
37460 * disk/raid.c (grub_raid_scan_device): Check for
37461 `array->device[sb.this_disk.number]' rather than for
37462 `array->device[sb.this_disk.number]->name', since the latter is not
37463 guaranteed to be accessible.
37464
37465 2008-02-08 Robert Millan <rmh@aybabtu.com>
37466
37467 * disk/raid.c: Update copyright.
37468 * fs/cpio.c: Likewise.
37469 * include/grub/raid.h: Likewise.
37470 * loader/i386/pc/multiboot.c: Likewise.
37471 * util/hostfs.c: Likewise.
37472
37473 2008-02-08 Robert Millan <rmh@aybabtu.com>
37474
37475 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37476 to a grub_disk_t array.
37477 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37478 `device[x]'.
37479 (grub_raid_scan_device): Replace `device[x].name' accesses with
37480 `device[x]->name'. Simplify initialization of `array->device[x]'.
37481
37482 2008-02-08 Robert Millan <rmh@aybabtu.com>
37483
37484 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37485 grub_dprintf() calls.
37486 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37487 error message.
37488
37489 2008-02-07 Christian Franke <franke@computer.org>
37490
37491 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37492 instead of fseek and ftell to support large files.
37493 (grub_hostfs_read): Likewise.
37494
37495 2008-02-07 Robert Millan <rmh@aybabtu.com>
37496
37497 Patch from Jeroen Dekkers.
37498 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
37499 failure, since successfully reading all array members might not be
37500 required.
37501
37502 2008-02-06 Robert Millan <rmh@aybabtu.com>
37503
37504 * util/grub-probe.c (probe): Simplify partmap probing (with the
37505 assumption that the first word up to the underscore equals to
37506 the module name).
37507
37508 2008-02-06 Christian Franke <franke@computer.org>
37509
37510 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37511 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37512 last block of a cpio or tar stream.
37513 Check for "TRAILER!!!" instead of any empty data
37514 block to detect last block of a cpio stream.
37515 (grub_cpio_dir): Fix constness of variable np.
37516 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37517 cpio or tar trailer is detected. This fixes a crash
37518 on open of a non existing file.
37519
37520 2008-02-05 Bean <bean123ch@gmail.com>
37521
37522 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37523 address of entry.
37524 (grub_multiboot_load_elf64): Likewise.
37525 (grub_multiboot): Initialize mbi structure.
37526
37527 * util/grub-fstest.c: Don't include unused header file script.h.
37528
37529 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
37530 of file.
37531 (grub_fstest_SOURCES): Likewise.
37532
37533 2008-02-05 Robert Millan <rmh@aybabtu.com>
37534
37535 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37536 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37537 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37538 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37539
37540 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37541 (translation_table): Replace hardcoded values with macros
37542 provided by `<grub/term.h>'.
37543
37544 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37545 (keyboard_map): Correct/add a few values, with macros provided
37546 by `<grub/term.h>'.
37547 (keyboard_map_shift): Zero values that don't differ from their
37548 `keyboard_map' equivalents.
37549 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37550 Discard the second scan code that is always sent by Caps lock.
37551 Only use `keyboard_map_shift' when it provides a non-zero value,
37552 otherwise fallback to `keyboard_map'.
37553
37554 2008-02-04 Bean <bean123ch@gmail.com>
37555
37556 * Makefile.in (enable_grub_fstest): New variable.
37557
37558 * conf/common.rmk (grub_fstest_init.lst): New rule.
37559 (grub_fstest_init.h): Likewise.
37560 (grub_fstest_init.c): Likewise.
37561 (util/grub-fstest.c_DEPENDENCIES): New variable.
37562 (grub_fstest_SOURCES): Likewise.
37563
37564 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37565
37566 * util/grub-fstest.c: New file.
37567
37568 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37569
37570 Make grub-setup handle a separate root device.
37571
37572 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37573 so that the root device can be compared with the destination
37574 device.
37575 When embedding the core image, if the root and destination devices
37576 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37577 0xFF.
37578 When not embedding, set ROOT_DRIVE to 0xFF.
37579
37580 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37581
37582 Add support for having a grub directory in a different drive. This
37583 is still only the data handling part.
37584
37585 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37586 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37587 (grub_root_drive): New variable.
37588
37589 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37590 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37591 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37592 as it was.
37593
37594 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37595
37596 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37597 macro.
37598 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37599
37600 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37601 is bogus, because PXE booting does not specify any drive
37602 correctly.
37603
37604 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37605 am not sure if this is really correct.
37606
37607 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37608 is always identical to the boot drive when booting from a CD.
37609
37610 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37611 longer.
37612 (root_drive): New variable.
37613 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37614 (setup_sectors): Push %dx right after popping it, because %dh will
37615 be modified later.
37616 (copy_buffer): Restore %dx.
37617
37618 2008-02-03 Robert Millan <rmh@aybabtu.com>
37619
37620 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37621 use `cdboot.img' for cdrom images.
37622
37623 2008-02-03 Robert Millan <rmh@aybabtu.com>
37624
37625 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37626 only setup gfxterm when `font' command has succeeded.
37627
37628 2008-02-03 Robert Millan <rmh@aybabtu.com>
37629
37630 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37631 (grub_rescue_cmd_multiboot_loader)
37632 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37633
37634 2008-02-03 Pavel Roskin <proski@gnu.org>
37635
37636 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
37637 %edx and %esi from stack only after grub_gate_a20() is called.
37638 grub_gate_a20() clobbers %edx.
37639
37640 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37641
37642 * configure.ac (AC_INIT): Bumped to 1.96.
37643
37644 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37645 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37646 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37647 video/readers/png.c.
37648
37649 2008-02-03 Bean <bean123ch@gmail.com>
37650
37651 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37652 (cdboot_img_SOURCES): New variable.
37653 (cdboot_img_ASFLAGS): New variable.
37654 (cdboot_img_LDFLAGS): New variable.
37655
37656 * boot/i386/pc/cdboot.S: New file.
37657
37658 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37659 (cd_count): Likewise.
37660 (grub_biosdisk_get_drive): Add support for cd device.
37661 (grub_biosdisk_call_hook): Likewise.
37662 (grub_biosdisk_iterate): Likewise.
37663 (grub_biosdisk_open): Likewise.
37664 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37665 (grub_biosdisk_rw): Support reading from cd device.
37666 (GRUB_MOD_INIT): Iterate cd devices.
37667
37668 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37669 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37670 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37671
37672 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37673
37674 2008-02-02 Robert Millan <rmh@aybabtu.com>
37675
37676 * commands/read.c: New file.
37677 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37678 (read_mod_SOURCES): New variable.
37679 (read_mod_CFLAGS): Likewise.
37680 (read_mod_LDFLAGS): Likewise.
37681
37682 2008-02-02 Robert Millan <rmh@aybabtu.com>
37683
37684 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37685 determining whether menu has to be displayed.
37686
37687 2008-02-02 Marco Gerards <marco@gnu.org>
37688
37689 * bus/pci.c: New file.
37690
37691 * include/grub/pci.h: Likewise.
37692
37693 * include/grub/i386/pc/pci.h: Likewise.
37694
37695 * commands/lspci.c: Likewise.
37696
37697 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37698 `lspci.mod'.
37699 (pci_mod_SOURCES): New variable.
37700 (pci_mod_CFLAGS): Likewise.
37701 (pci_mod_LDFLAGS): Likewise.
37702 (lspci_mod_SOURCES): Likewise.
37703 (lspci_mod_CFLAGS): Likewise.
37704 (lspci_mod_LDFLAGS): Likewise.
37705
37706 2008-02-02 Bean <bean123ch@gmail.com>
37707
37708 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37709 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37710
37711 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37712 (grub_xfs_btree_node): New structure.
37713 (grub_xfs_btree_root): New structure.
37714 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37715 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37716 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37717 (GRUB_XFS_EXTENT_SIZE): Likewise.
37718 (grub_xfs_read_block): Support btree format type.
37719 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37720 Use directory block as basic unit.
37721
37722 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37723
37724 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37725 __attribute__ ((__regparm__ (1))).
37726
37727 2008-02-01 Robert Millan <rmh@aybabtu.com>
37728
37729 Correct a mistake in previous commit.
37730
37731 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37732 top.
37733 (normal/command.c_DEPENDENCIES): New variable.
37734
37735 2008-02-01 Robert Millan <rmh@aybabtu.com>
37736
37737 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37738 top.
37739 (normal/command.c_DEPENDENCIES): New variable.
37740 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37741 * conf/i386-ieee1275.rmk: Likewise.
37742 * conf/i386-linuxbios.rmk: Likewise.
37743 * conf/i386-pc.rmk: Likewise.
37744 * conf/sparc64-ieee1275.rmk: Likewise.
37745 * conf/powerpc-ieee1275.rmk: Likewise.
37746 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37747
37748 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37749
37750 2008-02-01 Robert Millan <rmh@aybabtu.com>
37751
37752 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37753 call at beginning of function.
37754
37755 2008-01-31 Pavel Roskin <proski@gnu.org>
37756
37757 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37758 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37759 (grub_mkrescue_SOURCES): Likewise.
37760 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37761
37762 2008-01-30 Robert Millan <rmh@aybabtu.com>
37763
37764 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37765 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37766 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37767 (grub_probe_SOURCES): ... to here.
37768
37769 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37770 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37771 * conf/i386-ieee1275.rmk: Likewise.
37772 * conf/i386-linuxbios.rmk: Likewise.
37773 * conf/powerpc-ieee1275.rmk: Likewise.
37774
37775 2008-01-30 Tristan Gingold <gingold@free.fr>
37776
37777 * kern/rescue.c: Silently accept empty lines.
37778
37779 2008-01-29 Bean <bean123ch@gmail.com>
37780
37781 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37782 (real_code_2): Code cleanup and change comment style.
37783 (move_memory): Avoid using 32-bit address mode.
37784
37785 2008-01-29 Bean <bean123ch@gmail.com>
37786
37787 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37788 (png_mod_SOURCES): New variable.
37789 (png_mod_CFLAGS): Likewise.
37790 (png_mod_LDFLAGS): Likewise.
37791
37792 * video/readers/png.c: New file.
37793
37794 2008-01-28 Robert Millan <rmh@aybabtu.com>
37795
37796 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37797 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37798 `ifndef GRUB_MOD_GAP' hack.
37799 * util/elf/grub-mkimage.c (add_segments): Likewise.
37800
37801 2008-01-27 Robert Millan <rmh@aybabtu.com>
37802
37803 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37804 `GRUB_MOD_GAP' for platforms in which it's not defined.
37805 * util/elf/grub-mkimage.c (add_segments): Likewise.
37806
37807 2008-01-27 Robert Millan <rmh@aybabtu.com>
37808
37809 Get grub-emu to build again (including parallel builds).
37810
37811 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37812 Split into ...
37813 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37814 (normal/execute.c_DEPENDENCIES): ... this, ...
37815 (grub-emu_DEPENDENCIES): ... and this.
37816
37817 * conf/i386-efi.rmk: Likewise.
37818 * conf/i386-linuxbios.rmk: Likewise.
37819 * conf/i386-ieee1275.rmk: Likewise.
37820 * conf/powerpc-ieee1275.rmk: Likewise.
37821 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37822
37823 2008-01-27 Robert Millan <rmh@aybabtu.com>
37824
37825 * NEWS: Add a few items.
37826
37827 2008-01-27 Robert Millan <rmh@aybabtu.com>
37828
37829 Fix parallel builds with grub-emu. Based on earlier commit for
37830 grub-probe and grub-setup.
37831
37832 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37833 (util/grub-emu.c_DEPENDENCIES): ... this.
37834 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37835 (util/grub-emu.c_DEPENDENCIES): ... this.
37836 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37837 (util/grub-emu.c_DEPENDENCIES): ... this.
37838 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37839 (util/grub-emu.c_DEPENDENCIES): ... this.
37840 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37841 (util/grub-emu.c_DEPENDENCIES): ... this.
37842
37843 2008-01-27 Pavel Roskin <proski@gnu.org>
37844
37845 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37846 to create a gap between _end and the modules added to the image
37847 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37848 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37849 * util/elf/grub-mkimage.c (add_segments): Likewise.
37850
37851 2008-01-26 Pavel Roskin <proski@gnu.org>
37852
37853 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37854 just return an error.
37855
37856 2008-01-26 Bean <bean123ch@gmail.com>
37857
37858 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37859 (grub_reiserfs_get_item): Save offset of the next item.
37860 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37861
37862 2008-01-25 Robert Millan <rmh@aybabtu.com>
37863
37864 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37865 make all filesystem sources appear together (possibly fixing omissions
37866 while at it).
37867 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37868 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37869 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37871
37872 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37873 add `kern/file.c'.
37874 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37875 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37876 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37877 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37878
37879 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37880 (probe): Add a sanity check to make sure of our ability to read
37881 requested files when probing for filesystem type.
37882
37883 * genmk.rb: Update copyright year (2007).
37884
37885 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37886 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37887 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37888 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37889 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37890 : Remove function prototypes.
37891
37892 2008-01-25 Robert Millan <rmh@aybabtu.com>
37893
37894 Revert my previous commits (based on wrong assumption of how grub_errno
37895 works).
37896
37897 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37898 * kern/file.c (grub_file_open): Likewise.
37899
37900 2008-01-24 Pavel Roskin <proski@gnu.org>
37901
37902 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37903 that hang if GRUB tries to setup colors.
37904 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37905 colors for firmwares that don't support it.
37906 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37907 Recognize Open Hack'Ware, set flags to work around its
37908 limitations.
37909
37910 2008-01-24 Robert Millan <rmh@aybabtu.com>
37911
37912 * kern/file.c (grub_file_open): Do not account previous failures of
37913 unrelated functions when grub_errno is checked for.
37914 Reported by Oleg Strikov.
37915
37916 2008-01-24 Bean <bean123ch@gmail.com>
37917
37918 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37919 (grub_ufs_sblock): New member volume name.
37920 (grub_ufs_find_file): Fix string copy bug.
37921 (grub_ufs_label): Implement this function properly.
37922
37923 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37924 (grub_hfs_iterate_records): Use the correct file number for extents
37925 and catalog file. Fix problem in next index calculation.
37926 (grub_hfs_find_node): Replace recursive function call with loop.
37927 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37928
37929 2008-01-23 Robert Millan <rmh@aybabtu.com>
37930
37931 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37932 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37933 (grub_multiboot2_real_boot): New function prototype.
37934
37935 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37936 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37937
37938 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37939 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37940
37941 2008-01-23 Robert Millan <rmh@aybabtu.com>
37942
37943 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37944 #ifdef'ed out grub_printf().
37945
37946 2008-01-23 Robert Millan <rmh@aybabtu.com>
37947
37948 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37949 grub_dprintf calls, since they make "debug=all" mode unusable.
37950 (grub_console_checkkey): Likewise.
37951
37952 2008-01-23 Robert Millan <rmh@aybabtu.com>
37953
37954 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37955 `term/i386/pc/at_keyboard.c'.
37956 (pkglib_MODULES): Add `serial.mod'.
37957 (serial_mod_SOURCES): New variable.
37958 (serial_mod_CFLAGS): Likewise.
37959 (serial_mod_LDFLAGS): Likewise.
37960
37961 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37962 `<grub/powerpc/ieee1275/console.h>'.
37963 (grub_keyboard_controller_init): New function prototype.
37964 (grub_console_checkkey): Likewise.
37965 (grub_console_getkey): Likewise.
37966
37967 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37968 keyboard on i386.
37969
37970 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37971 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37972
37973 2008-01-23 Robert Millan <rmh@aybabtu.com>
37974
37975 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37976 present, "(memdisk)/boot/grub" becomes the default prefix.
37977
37978 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37979 a memdisk tarball with all the modules. Add --overlay=DIR option that
37980 allows users to overlay additional files into the image.
37981
37982 2008-01-23 Robert Millan <rmh@aybabtu.com>
37983
37984 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37985 and `machine/memory.h'.
37986 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37987 (_multiboot_mod_SOURCES): New variable.
37988 (_multiboot_mod_CFLAGS): Likewise.
37989 (_multiboot_mod_LDFLAGS): Likewise.
37990 (multiboot_mod_SOURCES): Likewise.
37991 (multiboot_mod_CFLAGS): Likewise.
37992 (multiboot_mod_LDFLAGS): Likewise.
37993
37994 * include/grub/i386/ieee1275/loader.h: New file.
37995
37996 * include/grub/i386/ieee1275/machine.h: Likewise.
37997
37998 * include/grub/i386/ieee1275/memory.h: Likewise.
37999
38000 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38001 variable declaration.
38002 (grub_os_area_size): Likewise.
38003
38004 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38005 (grub_lower_mem, grub_upper_mem): New variables.
38006 (grub_stop_floppy): New function (just to make
38007 grub_multiboot2_real_boot() happy).
38008
38009 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38010 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38011 (grub_stop): New function.
38012 Include `"../realmode.S"' and `"../loader.S"'.
38013
38014 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38015 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38016
38017 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38018 rely on grub_multiboot2_real_boot() for final boot.
38019
38020 2008-01-22 Robert Millan <rmh@aybabtu.com>
38021
38022 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38023 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38024 device that doesn't look like an SD card.
38025 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38026 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38027 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38028 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38029 found.
38030
38031 2008-01-22 Robert Millan <rmh@aybabtu.com>
38032
38033 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38034 avoid claiming over our own code.
38035
38036 2008-01-22 Bean <bean123ch@gmail.com>
38037
38038 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38039 (jpeg_mod_SOURCES): New variable.
38040 (jpeg_mod_CFLAGS): Likewise.
38041 (jpeg_mod_LDFLAGS): Likewise.
38042
38043 * video/readers/jpeg.c : New file.
38044
38045 2008-01-22 Bean <bean123ch@gmail.com>
38046
38047 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38048 there are no more items.
38049
38050 2008-01-21 Robert Millan <rmh@aybabtu.com>
38051
38052 * kern/mm.c (grub_mm_init_region): Improve debug message.
38053
38054 2008-01-21 Robert Millan <rmh@aybabtu.com>
38055
38056 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38057 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38058 address.
38059 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38060 a C macro.
38061 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38062 Indicates start of upper memory.
38063 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38064 (generate_image): Abort when image size is big enough to corrupt
38065 upper memory.
38066
38067 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38068 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38069 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38070 instead of hardcoding 0xA0000.
38071 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38072 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38073 instead of hardcoding 0xA0000.
38074
38075 2008-01-21 Robert Millan <rmh@aybabtu.com>
38076
38077 * disk/memdisk.c (memdisk_size): New variable.
38078 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38079 `memdisk_size'.
38080 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38081 image to dynamic memory.
38082 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38083 `memdisk_size'. Free memdisk block.
38084
38085 2008-01-21 Robert Millan <rmh@aybabtu.com>
38086
38087 Fix detection of very small filesystems (like tar).
38088
38089 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38090 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38091 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38092 a problem with this disk).
38093
38094 2008-01-21 Robert Millan <rmh@aybabtu.com>
38095
38096 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38097 on grub_biosdisk_rw_standard() error.
38098
38099 2008-01-21 Robert Millan <rmh@aybabtu.com>
38100
38101 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38102 recent changes.
38103 * kern/elf.c: Likewise.
38104 * kern/ieee1275/ieee1275.c: Likewise.
38105 * kern/powerpc/ieee1275/openfw.c: Likewise.
38106 * term/ieee1275/ofconsole.c: Likewise.
38107
38108 2008-01-21 Robert Millan <rmh@aybabtu.com>
38109
38110 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38111
38112 * include/grub/kernel.h (grub_arch_memdisk_addr)
38113 (grub_arch_memdisk_size): Moved from here ...
38114
38115 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38116 (grub_arch_memdisk_size): ... to here.
38117
38118 2008-01-21 Robert Millan <rmh@aybabtu.com>
38119
38120 Mostly based on bugfix from Bean.
38121
38122 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38123 attribute with hook() parameter.
38124 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38125 declaration.
38126 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38127 attribute with hook() parameter.
38128 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38129 declaration.
38130
38131 2008-01-21 Robert Millan <rmh@aybabtu.com>
38132
38133 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38134 (pkglib_MODULES): Add `memdisk.mod'.
38135 (memdisk_mod_SOURCES): New variable.
38136 (memdisk_mod_CFLAGS): Likewise.
38137 (memdisk_mod_LDFLAGS): Likewise.
38138
38139 * disk/memdisk.c: New file.
38140
38141 * include/grub/disk.h (grub_disk_dev_id): Add
38142 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38143
38144 * include/grub/i386/pc/kernel.h
38145 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38146 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38147 (grub_kernel_image_size): New variable declaration.
38148 (grub_total_module_size): Likewise.
38149 (grub_memdisk_image_size): Likewise.
38150
38151 * include/grub/i386/pc/memory.h
38152 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38153
38154 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38155 (grub_arch_memdisk_addr): New variable declaration.
38156 (grub_arch_memdisk_size): Likewise.
38157
38158 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38159 (grub_arch_memdisk_size): Likewise.
38160
38161 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38162 (codestart): Replace hardcoded `0x100000' with
38163 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38164
38165 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38166 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38167 not NULL, append the contents of the file it refers to, at the end of
38168 the compressed kernel image. Initialize `grub_memdisk_image_size'
38169 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38170 (options): Add "memdisk"|'m' option.
38171 (main): Parse --memdisk|-m option, and pass user-provided path as
38172 parameter to generate_image().
38173
38174 2008-01-20 Robert Millan <rmh@aybabtu.com>
38175
38176 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38177 grub_dprintf() calls from here ...
38178 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38179
38180 2008-01-20 Robert Millan <rmh@aybabtu.com>
38181
38182 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38183
38184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38185 declaration.
38186 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38187 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38188 `GRUB_IEEE1275_FLAG_REAL_MODE'.
38189 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
38190 property).
38191 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38192 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38193
38194 2008-01-19 Robert Millan <rmh@aybabtu.com>
38195
38196 Get rid of confusing function (superseded by
38197 `grub_ieee1275_get_integer_property')
38198 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38199 prototype.
38200 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38201 function.
38202 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38203 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
38204 in native endianness from grub_ieee1275_get_integer_property().
38205
38206 2008-01-19 Robert Millan <rmh@aybabtu.com>
38207
38208 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38209 command after "shut-down", since implementations differ on which
38210 the command for halt is.
38211
38212 2008-01-19 Robert Millan <rmh@aybabtu.com>
38213
38214 * include/grub/i386/linuxbios/console.h: Add header protection.
38215 (grub_keyboard_controller_init): New function prototype.
38216 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38217 (KEYBOARD_COMMAND_READ): Likewise.
38218 (KEYBOARD_COMMAND_WRITE): Likewise.
38219 (KEYBOARD_SCANCODE_SET1): Likewise.
38220 (grub_keyboard_controller_write): New function.
38221 (grub_keyboard_controller_read): Likewise.
38222 (grub_keyboard_controller_init): Likewise.
38223
38224 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38225 (grub_console_init): On coreboot/LinuxBIOS, call
38226 grub_keyboard_controller_init().
38227
38228 2008-01-19 Robert Millan <rmh@aybabtu.com>
38229
38230 PowerPC changes provided by Pavel Roskin.
38231
38232 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38233 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38234 don't rely on cmain() doing it.
38235 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38236 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38237
38238 2008-01-16 Robert Millan <rmh@aybabtu.com>
38239
38240 * include/grub/i386/linuxbios/memory.h
38241 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38242 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38243 receive `table_header' as argument. Instead, probe for it in the
38244 known memory ranges where it can be present.
38245 (grub_available_iterate): Do not pass a fixed `table_header' address
38246 to grub_linuxbios_table_iterate().
38247
38248 2008-01-15 Robert Millan <rmh@aybabtu.com>
38249
38250 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38251 * conf/i386-ieee1275.rmk: New file.
38252 * include/grub/i386/ieee1275/console.h: Likewise.
38253 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38254 * include/grub/i386/ieee1275/kernel.h: Likewise.
38255 * include/grub/i386/ieee1275/time.h: Likewise.
38256 * kern/i386/ieee1275/init.c: Likewise.
38257 * kern/i386/ieee1275/startup.S: Likewise.
38258
38259 2008-01-15 Robert Millan <rmh@aybabtu.com>
38260
38261 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38262 when pointers are 32-bit (but still do set it to one when they are
38263 64-bit).
38264
38265 2008-01-15 Robert Millan <rmh@aybabtu.com>
38266
38267 * include/grub/ieee1275/ieee1275.h
38268 (grub_ieee1275_get_integer_property): New function prototype.
38269
38270 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38271 (grub_ieee1275_get_integer_property): New function. Wraps around
38272 grub_ieee1275_get_property() to handle endianness.
38273
38274 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38275 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38276 where appropriate.
38277 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38278 (grub_map): Likewise.
38279 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38280
38281 2008-01-15 Bean <bean123ch@gmail.com>
38282
38283 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38284 (grub_script_execute_cmdline): Reset grub_errno.
38285
38286 * normal/main.c (read_config_file): Reset grub_errno.
38287
38288 * normal/parse.y (script_init): New.
38289 (script): Move function and menuentry here.
38290 (delimiter): New.
38291 (command): Add delimiter at the end of command.
38292 (commands): Adjust to match the new command.
38293 (commandblock): Remove grub_script_lexer_record_start.
38294 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38295 (if): Use the new commands.
38296
38297 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38298
38299 2008-01-15 Robert Millan <rmh@aybabtu.com>
38300
38301 * normal/menu.c (run_menu): Move timeout message from here ...
38302 (print_timeout): ... to here.
38303 (run_menu): Use print_timeout() once during initial draw to print
38304 the whole message, and again in every clock tick to update only
38305 the number of seconds.
38306
38307 2008-01-15 Robert Millan <rmh@aybabtu.com>
38308
38309 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38310 actual size of `available' from grub_ieee1275_get_property(), and
38311 restrict parsing to that bound.
38312
38313 2008-01-15 Christian Franke <franke@computer.org>
38314
38315 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38316 (argp_program_version): Remove variable.
38317 (argp_program_bug_address): Likewise.
38318 (options): Convert from struct argp_option to struct option.
38319 (struct arguments): Remove.
38320 (parse_opt): Remove.
38321 (usage): New function.
38322 (main): Replace struct args members by simple variables.
38323 Replace argp_parse() by getopt_long().
38324 Add switch to evaluate options.
38325 Add missing "(...)" around root_dev in prefix string.
38326
38327 2008-01-14 Robert Millan <rmh@aybabtu.com>
38328
38329 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38330 for grub_ieee1275_exit(), in order to improve portability.
38331
38332 2008-01-14 Robert Millan <rmh@aybabtu.com>
38333
38334 * util/grub.d/10_linux.in (prefix): Define.
38335 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38336
38337 2008-01-13 Pavel Roskin <proski@gnu.org>
38338
38339 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38340 grub_errno if no errors have been detected.
38341
38342 2008-01-12 Robert Millan <rmh@aybabtu.com>
38343
38344 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38345 (grub_util_get_dev_abstraction): New function prototype.
38346
38347 * util/getroot.c: Include `<grub/util/getroot.h>'
38348 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38349 (grub_util_get_dev_abstraction): ... here (new function).
38350
38351 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38352 `PRINT_ABSTRACTION'.
38353 (probe): Probe for abstraction type when requested.
38354 (main): Understand `--target=abstraction'.
38355
38356 * util/i386/efi/grub-install.in: Add abstraction module to core
38357 image when it is found to be necessary.
38358 * util/i386/pc/grub-install.in: Likewise.
38359 * util/powerpc/ieee1275/grub-install.in: Likewise.
38360
38361 * util/update-grub_lib.in (font_path): Return system path without
38362 converting to GRUB path.
38363 * util/update-grub.in: Convert system path returned by font_path()
38364 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38365 abstraction module is needed for loading fonts (if any). Export
38366 that as `GRUB_PRELOAD_MODULES'.
38367 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38368 insmod commands).
38369
38370 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38371
38372 Remove some unused code from reiserfs.
38373
38374 * fs/reiserfs.c (struct grub_reiserfs_key)
38375 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38376 (struct grub_reiserfs_node_body): Removed.
38377 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38378 Likewise.
38379 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38380 Likewise.
38381 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38382 Likewise.
38383 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38384 Likewise.
38385 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38386 Likewise.
38387 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38388 Likewise.
38389 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38390 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38391 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38392
38393 2008-01-10 Robert Millan <rmh@aybabtu.com>
38394
38395 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38396 Determines if a file is garbage left by packaging systems, etc.
38397 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38398 for processing /etc/grub.d scripts.
38399 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38400 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38401 as a condition for processing Linux images.
38402
38403 2008-01-10 Pavel Roskin <proski@gnu.org>
38404
38405 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38406 to compile reiserfs.c on PowerPC.
38407
38408 2008-01-10 Robert Millan <rmh@aybabtu.com>
38409
38410 * kern/device.c (grub_device_iterate): Do not abort device iteration
38411 when one of the devices cannot be opened.
38412 * kern/disk.c (grub_disk_open): Do not account previous failures of
38413 unrelated functions when grub_errno is checked for.
38414
38415 2008-01-08 Robert Millan <rmh@aybabtu.com>
38416
38417 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38418 `! grub_linux_is_bzimage', change order of address comparison to make
38419 it more intuitive, and improve "too big zImage" error message.
38420
38421 2008-01-08 Robert Millan <rmh@aybabtu.com>
38422
38423 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38424 `$(update-grub_DATA)'.
38425 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38426 targets.
38427
38428 2008-01-07 Robert Millan <rmh@aybabtu.com>
38429
38430 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38431 which instruction is modified by grub-setup during installation
38432 (since it wasn't obvious by only looking at this file).
38433
38434 2008-01-07 Robert Millan <rmh@aybabtu.com>
38435
38436 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38437 listing actual TODO items.
38438
38439 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38440
38441 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38442 correctly.
38443 (grub_reiserfs_get_key_offset): Likewise.
38444 (grub_reiserfs_set_key_offset): Likewise.
38445 (grub_reiserfs_set_key_type): Likewise.
38446 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38447
38448 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38449 better to remove the bitfield version completely.
38450
38451 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38452
38453 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38454 allocated from the heap, due to the fshelp implementation.
38455 (grub_reiserfs_dir): Free NODE, due to the same reason.
38456
38457 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38458
38459 Mostly from Vincent Pelletier:
38460
38461 * fs/reiserfs.c: New file.
38462
38463 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38464 (reiserfs_mod_SOURCES): New variable.
38465 (reiserfs_mod_CFLAGS): Likewise.
38466 (reiserfs_mod_LDFLAGS): Likewise.
38467
38468 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38469 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38470 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38471 normal/color.c.
38472
38473 2008-01-06 Robert Millan <rmh@aybabtu.com>
38474
38475 * normal/color.c: Remove `<grub/env.h>'.
38476
38477 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38478
38479 * include/grub/normal.h: Include <grub/env.h>.
38480
38481 2008-01-05 Robert Millan <rmh@aybabtu.com>
38482
38483 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38484 usage example with `(hd0,1)'.
38485 Reported by Samuel Thibault.
38486
38487 2008-01-05 Robert Millan <rmh@aybabtu.com>
38488
38489 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38490 (grub_linux_boot_zimage): Rename to ...
38491 (grub_linux_boot): ... this.
38492 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38493 (grub_linux_boot_zimage): Conditionalize zImage copy.
38494
38495 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38496 (grub_linux_boot_bzimage): Remove prototype.
38497 (grub_linux_boot_zimage): Rename to ...
38498 (grub_linux_boot): ... this.
38499
38500 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38501 (grub_linux_boot): Remove function.
38502
38503 2008-01-05 Robert Millan <rmh@aybabtu.com>
38504
38505 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38506 (grub_env_write_color_highlight): Likewise.
38507 (grub_wait_after_message): Likewise.
38508
38509 * normal/color.c: New file.
38510
38511 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38512 (normal_mod_DEPENDENCIES): Likewise.
38513
38514 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38515 (normal_mod_DEPENDENCIES): Likewise.
38516
38517 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38518 (normal_mod_DEPENDENCIES): Likewise.
38519
38520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38521 (normal_mod_DEPENDENCIES): Likewise.
38522
38523 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38524 for waiting after a message is printed.
38525 * normal/main.c (read_config_file): Likewise.
38526 (grub_normal_init): Register grub_env_write_color_normal() and
38527 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38528 `color_highlight' variables as global.
38529
38530 * normal/menu.c (grub_wait_after_message): New function.
38531 (grub_color_menu_normal): New variable. Replaces ...
38532 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38533 (grub_color_menu_highlight): New variable. Replaces ...
38534 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38535 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38536 `GRUB_TERM_COLOR_STANDARD'.
38537 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38538 `normal_code' and `highlight_code' to `old_color_normal' and
38539 `old_color_highlight', respectively.
38540 (grub_menu_init_page): Update colors when drawing the menu, based on
38541 `menu_color_normal' and `menu_color_highlight' variables.
38542 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38543 a message is printed.
38544
38545 2008-01-05 Robert Millan <rmh@aybabtu.com>
38546
38547 * kern/env.c (grub_env_context_open): Propagate hooks for global
38548 variables to new context.
38549
38550 * kern/main.c (grub_set_root_dev): Export `root' variable.
38551
38552 2008-01-05 Robert Millan <rmh@aybabtu.com>
38553
38554 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
38555 discs unconditionally, since udev and others have options to provide
38556 them.
38557
38558 2008-01-05 Robert Millan <rmh@aybabtu.com>
38559
38560 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38561
38562 2008-01-04 Christian Franke <franke@computer.org>
38563
38564 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38565 of eisa_mmap.
38566
38567 2008-01-03 Pavel Roskin <proski@gnu.org>
38568
38569 * kern/i386/linuxbios/init.c: Put "void" to all function
38570 declarations with no arguments.
38571 * kern/powerpc/ieee1275/init.c: Likewise.
38572 * term/i386/pc/at_keyboard.c: Likewise.
38573 * term/i386/pc/vga_text.c: Likewise.
38574 * util/grub-mkdevicemap.c: Likewise.
38575
38576 2008-01-02 Robert Millan <rmh@aybabtu.com>
38577
38578 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38579 message when loaded image is out of bounds.
38580 (grub_multiboot_load_elf64): Likewise.
38581
38582 2008-01-02 Pavel Roskin <proski@gnu.org>
38583
38584 * util/grub.d/10_linux.in: Try version without ".old" when
38585 looking for initrd. It's better to use initrd from the newer
38586 kernel of the same version than no initrd at all.
38587
38588 2008-01-01 Robert Millan <rmh@aybabtu.com>
38589
38590 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38591
38592 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38593
38594 * include/grub/video.h: Added grub_video_unmap_color and
38595 grub_video_get_active_render_target.
38596 (grub_video_adapter): Added unmap_color and get_active_render_target.
38597
38598 * video/video.c: Added grub_video_unmap_color and
38599 grub_video_get_active_render_target.
38600 (grub_video_get_info): Changed method to accept NULL pointer as an
38601 argument to allow detection of active video adapter.
38602
38603 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38604 grub_video_vbe_unmap_color_int.
38605 Added grub_video_vbe_unmap_color and
38606 grub_video_vbe_get_active_render_target.
38607 (grub_video_vbe_adapter): Added unmap_color and
38608 get_active_render_target.
38609
38610 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
38611 with grub_video_vbe_unmap_color_int.
38612
38613 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38614 (DEFAULT_NORMAL_COLOR): Likewise.
38615 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38616 (DEFAULT_FG_COLOR): Removed.
38617 (DEFAULT_BG_COLOR): Likewise.
38618 (DEFAULT_CURSOR_COLOR): Changed value.
38619 (grub_virtual_screen): Added standard_color_setting,
38620 normal_color_setting, highlight_color_setting and term_color.
38621 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38622 (bitmap_width): Added.
38623 (bitmap_height): Likewise.
38624 (bitmap): Likewise.
38625 (set_term_color): Likewise.
38626 (grub_virtual_screen_setup): Changed to use new terminal coloring
38627 settings.
38628 (grub_gfxterm_init): Added init for bitmap.
38629 (grub_gfxterm_fini): Added destroy for bitmap.
38630 (redraw_screen_rect): Updated to use background bitmap and new
38631 terminal coloring.
38632 (scroll_up): Added optimization for case when there is no bitmap.
38633 (grub_gfxterm_cls): Fixed to use correct background color.
38634 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38635 coloring.
38636 (grub_virtual_screen_setcolor): Likewise.
38637 (grub_virtual_screen_getcolor): Added.
38638 (grub_gfxterm_background_image_cmd): Likewise.
38639 (grub_video_term): Added setcolor and getcolor.
38640 (MOD_INIT): Added registration of background_image command.
38641 (MOD_TERM): Added unregistration for background_image command.
38642
38643 2007-12-30 Pavel Roskin <proski@gnu.org>
38644
38645 * loader/multiboot_loader.c: Fix multiboot command
38646 unregistration. Fix all typos in the word "multiboot".
38647
38648 2007-12-29 Pavel Roskin <proski@gnu.org>
38649
38650 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38651 support for initrd names used in Fedora.
38652
38653 2007-12-26 Bean <bean123ch@gmail.com>
38654
38655 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38656 (cpio_mod_SOURCES): New variable.
38657 (cpio_mod_CFLAGS): Likewise.
38658 (cpio_mod_LDFLAGS): Likewise.
38659
38660 * fs/cpio.c: New file.
38661
38662 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38663
38664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38665
38666 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38667
38668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38669
38670 2007-12-25 Robert Millan <rmh@aybabtu.com>
38671
38672 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38673 (grub_getcolor): New function.
38674
38675 * kern/term.c (grub_getcolor): New function.
38676 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38677 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38678 (print_entry): Set normal and highlight colors to
38679 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38680 respectively, before printing and restore them to old
38681 values afterwards.
38682 (grub_menu_init_page): Likewise. Fill an additional colored space
38683 that would otherwise be left blank.
38684
38685 * term/efi/console.c (grub_console_getcolor): New function.
38686 (struct grub_console_term.getcolor): New variable.
38687 * term/i386/pc/console.c (grub_console_getcolor): New function.
38688 (struct grub_console_term.getcolor): New variable.
38689 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38690 (struct grub_console_term.getcolor): New variable.
38691
38692 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38693 (struct grub_console_term.setcolor): Remove variable.
38694 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38695 (struct grub_console_term.setcolor): Remove variable.
38696 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38697 (struct grub_console_term.setcolor): Remove variable.
38698 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38699 (struct grub_console_term.setcolor): Remove variable.
38700
38701 2007-12-25 Robert Millan <rmh@aybabtu.com>
38702
38703 * configure.ac: Search for possible unifont.hex locations, and
38704 define UNIFONT_HEX if found.
38705
38706 * Makefile.in (UNIFONT_HEX): Define variable.
38707 (DATA): Rename to ...
38708 (PKGLIB): ... this. Update all users.
38709 (PKGDATA): New variable.
38710 (pkgdata_IMAGES): Rename to ...
38711 (pkglib_IMAGES): ... this. Update all users.
38712 (pkgdata_MODULES): Rename to ...
38713 (pkglib_MODULES): ... this. Update all users.
38714 (pkgdata_PROGRAMS): Rename to ...
38715 (pkglib_PROGRAMS): ... this. Update all users.
38716 (pkgdata_DATA): Rename to ...
38717 (pkglib_DATA): ... this. Update all users.
38718 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38719 (unicode.pff, ascii.pff): New rules.
38720 (all-local): Add `$(PKGDATA)' dependency.
38721 (install-local): Process `$(PKGDATA)'.
38722
38723 * util/update-grub_lib.in (font_path): Search for *.pff files in
38724 a few more locations, including `${pkgdata}'.
38725
38726 2007-12-23 Robert Millan <rmh@aybabtu.com>
38727
38728 Patch from Bean <bean123ch@gmail.com>:
38729 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38730 `size'.
38731
38732 2007-12-21 Bean <bean123ch@gmail.com>
38733
38734 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38735 (ntfscomp_mod_SOURCES): New variable.
38736 (ntfscomp_mod_CFLAGS): Likewise.
38737 (ntfscomp_mod_LDFLAGS): Likewise.
38738
38739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38740 (grub_probe_SOURCES): Likewise.
38741 (grub_emu_SOURCES): Likewise.
38742
38743 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38744 (grub_emu_SOURCES): Likewise.
38745
38746 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38747 (grub_emu_SOURCES): Likewise.
38748
38749 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38750 (grub_emu_SOURCES): Likewise.
38751
38752 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38753 (read_run_list): Renamed to grub_ntfs_read_run_list.
38754 (decomp_nextvcn): Moved to ntfscomp.c.
38755 (decomp_getch): Likewise.
38756 (decomp_get16): Likewise.
38757 (decomp_block): Likewise.
38758 (read_block): Likewise.
38759 (read_data): Partially moved to ntfscomp.c.
38760 (fixup): Change unsigned to grub_uint16_t.
38761 (read_mft): Change unsigned long to grub_uint32_t.
38762 (read_attr): Likewise.
38763 (read_data): Likewise.
38764 (read_run_data): Likewise.
38765 (read_run_list): Likewise.
38766 (read_mft): Likewise.
38767
38768 * fs/ntfscomp.c: New file.
38769
38770 * include/grub/ntfs.h: New file.
38771
38772 2007-12-16 Robert Millan <rmh@aybabtu.com>
38773
38774 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38775 IDE disk check, since Linux is known to support 20 IDE disks.
38776 Reported by Colin Watson.
38777
38778 2007-12-15 Bean <bean123ch@gmail.com>
38779
38780 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38781 (lnxboot_img_SOURCES): New variable.
38782 (lnxboot_img_ASFLAGS): Likewise.
38783 (lnxboot_img_LDFLAGS): Likewise.
38784
38785 * boot/i386/pc/lnxboot.S: New file.
38786
38787 2007-11-24 Pavel Roskin <proski@gnu.org>
38788
38789 * configure.ac: Test if '--build-id=none' is supported by the
38790 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38791 objcopy to generate incorrect binary files (binutils
38792 2.17.50.0.18-1 as shipped by Fedora 8).
38793 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38794 linking, so that build ID doesn't break the test.
38795
38796 2007-11-24 Pavel Roskin <proski@gnu.org>
38797
38798 * include/grub/i386/time.h: use "void" in the argument list
38799 of grub_cpu_idle().
38800 * include/grub/powerpc/time.h: Likewise.
38801 * include/grub/sparc64/time.h: Likewise.
38802
38803 2007-11-18 Christian Franke <franke@computer.org>
38804
38805 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38806 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38807 This fixes the problem that function keys did not work in grub-emu.
38808
38809 2007-11-18 Christian Franke <franke@computer.org>
38810
38811 * disk/host.c (grub_host_open): Remove attribute unused from
38812 name parameter. Add check for "host". This fixes the problem
38813 that grub-emu does not find partitions.
38814
38815 2007-11-18 Christian Franke <franke@computer.org>
38816
38817 * util/hostfs.c (is_dir): New function.
38818 (grub_hostfs_dir): Handle missing dirent.d_type case.
38819 (grub_hostfs_read): Add missing fseek().
38820 (grub_hostfs_label): Clear label pointer. This fixes a crash
38821 of grub-emu on "ls (host)".
38822
38823 2007-11-18 Christian Franke <franke@computer.org>
38824
38825 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38826 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38827 to 64 bit boundary by default.
38828
38829 2007-11-18 Bean <bean123ch@gmail.com>
38830
38831 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38832 (hexdump_mod_SOURCES): New variable.
38833 (hexdump_mod_CFLAGS): Likewise.
38834 (hexdump_mod_LDFLAGS): Likewise.
38835
38836 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38837
38838 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38839
38840 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38841
38842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38843
38844 * include/grub/hexdump.h: New file.
38845
38846 * commands/hexdump.c: New file.
38847
38848 2007-11-10 Robert Millan <rmh@aybabtu.com>
38849
38850 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38851 in grub_outb() calls.
38852 (beep_on): Likewise.
38853
38854 2007-11-10 Christian Franke <franke@computer.org>
38855
38856 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38857 (grub_menu_run): Likewise.
38858
38859 2007-11-10 Robert Millan <rmh@aybabtu.com>
38860
38861 * include/grub/i386/efi/machine.h: New file.
38862 * include/grub/i386/linuxbios/machine.h: Likewise.
38863 * include/grub/i386/pc/machine.h: Likewise.
38864 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38865 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38866
38867 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38868 (serial_hw_io_addr): New variable.
38869 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38870 instead of `(unsigned short *) 0x400'.
38871
38872 2007-11-10 Bean <bean123ch@gmail.com>
38873
38874 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38875
38876 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38877
38878 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38879 (vga_mod_SOURCES): Added.
38880 (vga_mod_CFLAGS): Likewise.
38881 (vga_mod_LDFLAGS): Likewise.
38882
38883 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38884 grub_outb() calls.
38885 (set_map_mask): Likewise.
38886 (set_read_map): Likewise.
38887 (set_read_address): Likewise.
38888 (vga_font): Removed variable.
38889 (get_vga_glyph): Removed function.
38890 (invalidate_char): Likewise.
38891 (write_char): Changed to use grub_font_get_glyph() for font
38892 information.
38893 (grub_vga_putchar): Likewise.
38894 (grub_vga_getcharwidth): Likewise.
38895
38896 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38897
38898 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38899 flags.
38900 (pxeboot_img_LDFLAGS): Likewise.
38901 (diskboot_img_LDFLAGS): Likewise.
38902 (kernel_img_LDFLAGS): Likewise.
38903
38904 2007-11-06 Robert Millan <rmh@aybabtu.com>
38905
38906 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38907 in grub_outb() calls.
38908 (serial_hw_init): Likewise.
38909
38910 2007-11-05 Robert Millan <rmh@aybabtu.com>
38911
38912 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38913 spaces. Skip non-regular files.
38914
38915 2007-11-05 Robert Millan <rmh@aybabtu.com>
38916
38917 * kern/disk.c (grub_disk_firmware_fini)
38918 (grub_disk_firmware_is_tainted): New variables.
38919
38920 * include/grub/disk.h (grub_disk_firmware_fini)
38921 (grub_disk_firmware_is_tainted): Likewise.
38922
38923 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38924 (grub_disk_biosdisk_fini): ... to here.
38925 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38926 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38927 is set. Register grub_disk_biosdisk_fini() in
38928 `grub_disk_firmware_fini'.
38929
38930 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38931 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38932 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38933 to finish existing firmware disk interface.
38934
38935 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38936 (ata_mod_SOURCES): New variable.
38937 (ata_mod_CFLAGS): Likewise.
38938 (ata_mod_LDFLAGS): Likewise.
38939
38940 2007-11-05 Robert Millan <rmh@aybabtu.com>
38941
38942 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38943 (grub_ata_wait): Reimplement using grub_millisleep().
38944
38945 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38946 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38947
38948 2007-11-03 Marco Gerards <marco@gnu.org>
38949
38950 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38951 (CRTC_ADDR_PORT): New macro.
38952 (CRTC_DATA_PORT): Likewise.
38953 (CRTC_CURSOR): Likewise.
38954 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38955 (CRTC_CURSOR_ADDR_LOW): Likewise.
38956 (update_cursor): New function.
38957 (grub_console_real_putchar): Call `update_cursor'.
38958 (grub_console_gotoxy): Likewise.
38959 (grub_console_cls): Set the default color when clearing the
38960 screen.
38961 (grub_console_setcursor): Implemented.
38962
38963 2007-11-03 Marco Gerards <marco@gnu.org>
38964
38965 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38966 become activate.
38967 (grub_ata_pio_write): Likewise.
38968
38969 (grub_atapi_identify): Wait after issuing an ATA command.
38970 (grub_atapi_packet): Likewise.
38971 (grub_ata_identify): Likewise.
38972 (grub_ata_readwrite): Likewise.
38973
38974 2007-11-03 Marco Gerards <marco@gnu.org>
38975
38976 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38977 (grub_ata_pio_write): Likewise.
38978 (grub_ata_readwrite): Use `grub_error', instead of
38979 returning `grub_errno'.
38980
38981 2007-11-03 Marco Gerards <marco@gnu.org>
38982
38983 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38984 grub_ata_pio_write once for every single sector, instead of for
38985 multiple sectors.
38986
38987 2007-10-31 Robert Millan <rmh@aybabtu.com>
38988
38989 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38990
38991 * conf/i386-linuxbios.rmk: New file.
38992
38993 * kern/i386/pc/hardware.c: Likewise.
38994 * term/i386/pc/at_keyboard.c: Likewise.
38995 * term/i386/pc/vga_text.c: Likewise.
38996
38997 * include/grub/i386/linuxbios/boot.h: Likewise.
38998 * include/grub/i386/linuxbios/console.h: Likewise.
38999 * include/grub/i386/linuxbios/init.h: Likewise.
39000 * include/grub/i386/linuxbios/kernel.h: Likewise.
39001 * include/grub/i386/linuxbios/loader.h: Likewise.
39002 * include/grub/i386/linuxbios/memory.h: Likewise.
39003 * include/grub/i386/linuxbios/serial.h: Likewise.
39004 * include/grub/i386/linuxbios/time.h: Likewise.
39005
39006 * kern/i386/linuxbios/init.c: Likewise.
39007 * kern/i386/linuxbios/startup.S: Likewise.
39008 * kern/i386/linuxbios/table.c: Likewise.
39009
39010 2007-10-31 Marco Gerards <marco@gnu.org>
39011
39012 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39013 (ata_mod_SOURCES): New variable.
39014 (ata_mod_CFLAGS): Likewise.
39015 (ata_mod_LDFLAGS): Likewise.
39016
39017 * disk/ata.c: New file.
39018
39019 * include/grub/disk.h (grub_disk_dev_id): Add
39020 `GRUB_DISK_DEV_ATA_ID'.
39021
39022 2007-10-31 Robert Millan <rmh@aybabtu.com>
39023
39024 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39025 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39026
39027 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39028 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39029
39030 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39031 `<grub/types.h>'.
39032
39033 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39034
39035 2007-10-27 Robert Millan <rmh@aybabtu.com>
39036
39037 * include/grub/types.h (ULONG_MAX): Define macro.
39038
39039 2007-10-22 Robert Millan <rmh@aybabtu.com>
39040
39041 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39042 `"../realmode.S"'.
39043 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39044
39045 2007-10-22 Robert Millan <rmh@aybabtu.com>
39046
39047 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39048 (pkgdata_MODULES): Add `biosdisk.mod'.
39049 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39050 variables.
39051
39052 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39053 (grub_biosdisk_init): Replace with ...
39054 (GRUB_MOD_INIT(biosdisk)): ... this.
39055 (grub_biosdisk_fini): Replace with ...
39056 (GRUB_MOD_FINI(biosdisk)): ... this.
39057
39058 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39059 (grub_machine_init): Remove call to grub_biosdisk_init().
39060 (grub_machine_fini): Remove call to grub_machine_fini().
39061
39062 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39063
39064 2007-10-22 Robert Millan <rmh@aybabtu.com>
39065
39066 * include/grub/time.h: New file.
39067 * include/grub/i386/time.h: Likewise.
39068 * include/grub/powerpc/time.h: Likewise.
39069 * include/grub/sparc64/time.h: Likewise.
39070
39071 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39072 instances to ...
39073 (KERNEL_MACHINE_TIME_HEADER): ... this.
39074 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39075 instances to ...
39076 (KERNEL_MACHINE_TIME_HEADER): ... this.
39077 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39078 instances to ...
39079 (KERNEL_MACHINE_TIME_HEADER): ... this.
39080
39081 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39082 (grub_millisleep): New function.
39083 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39084 (grub_millisleep): New function.
39085 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39086 Remove `grub/machine/time.h' include.
39087 (grub_millisleep): New function.
39088 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39089 Remove `grub/machine/time.h' include.
39090 (grub_millisleep): New function.
39091
39092 * include/grub/misc.h (grub_div_roundup): New function.
39093
39094 * kern/misc.c: Include `<grub/time.h>'.
39095 (grub_millisleep_generic): New function.
39096
39097 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39098 Add `time.h'.
39099 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39100 Add `time.h'.
39101 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39102 `machine/time.h'. Add `time.h'.
39103 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39104
39105 2007-10-21 Robert Millan <rmh@aybabtu.com>
39106
39107 * include/grub/misc.h (grub_max): New function.
39108
39109 2007-10-21 Robert Millan <rmh@aybabtu.com>
39110
39111 * util/misc.c (grub_util_info): Call fflush() before returning.
39112
39113 2007-10-20 Robert Millan <rmh@aybabtu.com>
39114
39115 * genmk.rb (Image): Copy `extra_flags' from here ...
39116 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39117
39118 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39119 to `argc' and `args' arguments.
39120
39121 2007-10-17 Robert Millan <rmh@aybabtu.com>
39122
39123 * kern/i386/loader.S: New file.
39124
39125 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39126 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39127 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39128 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39129 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39130 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39131 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39132 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39133 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39134 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39135 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39136 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39137 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39138 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39139
39140 * kern/i386/realmode.S: New file.
39141
39142 * kern/i386/pc/startup.S (protstack): Moved from here ...
39143 * kern/i386/realmode.S (protstack)... to here.
39144 * kern/i386/pc/startup.S (gdt): Moved from here ...
39145 * kern/i386/realmode.S (gdt)... to here.
39146 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39147 * kern/i386/realmode.S (prot_to_real)... to here.
39148
39149 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39150 `kern/i386/realmode.S'.
39151
39152 2007-10-17 Robert Millan <rmh@aybabtu.com>
39153
39154 * include/grub/i386/loader.h: New file.
39155
39156 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39157 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39158 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39159 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39160 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39161 * include/grub/i386/loader.h (grub_linux_prot_size)
39162 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39163 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39164 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39165 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39166
39167 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39168
39169 2007-10-15 Robert Millan <rmh@aybabtu.com>
39170
39171 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39172 filesystem when dev->disk is unset.
39173 Do probe for filesystem even when dev->disk->has_partitions is set.
39174 In case a filesystem is found, always report it.
39175 In case it isn't, if dev->disk->has_partitions is set, report that
39176 a partition table was found instead of reporting that no filesystem
39177 could be identified.
39178
39179 2007-10-12 Robert Millan <rmh@aybabtu.com>
39180
39181 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39182 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39183
39184 * include/grub/types.h (grub_host_to_target16): New macro.
39185 (grub_host_to_target32): Likewise.
39186 (grub_host_to_target64): Likewise.
39187 (grub_target_to_host16): Likewise.
39188 (grub_target_to_host32): Likewise.
39189 (grub_target_to_host64): Likewise.
39190
39191 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39192 Renamed from to ...
39193 (GRUB_MOD_ALIGN): ...this. Update all users.
39194
39195 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39196 grub_host_to_target32.
39197 Replace grub_be_to_cpu32 with grub_target_to_host32.
39198 (load_modules): Likewise.
39199 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39200 Replace grub_be_to_cpu32 with grub_target_to_host32.
39201 Replace grub_cpu_to_be16 with grub_host_to_target16.
39202 Replace grub_cpu_to_be32 grub_host_to_target32.
39203
39204 2007-10-12 Robert Millan <rmh@aybabtu.com>
39205
39206 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39207 * util/elf/grub-mkimage.c: ... here.
39208
39209 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39210 `util/powerpc/ieee1275/grub-mkimage.c'.
39211
39212 2007-10-07 Robert Millan <rmh@aybabtu.com>
39213
39214 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39215 and make it easier to figure out.
39216 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39217 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39218 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39219 leave us with less than HEAP_MIN_SIZE total heap.
39220 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
39221
39222 2007-10-03 Robert Millan <rmh@aybabtu.com>
39223
39224 * include/grub/i386/io.h: New file.
39225 * commands/i386/pc/play.c (inb): Removed.
39226 (outb): Removed.
39227 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39228 with grub_outb().
39229 * term/i386/pc/serial.c (inb): Removed.
39230 (outb): Removed.
39231 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39232 with grub_outb().
39233 * term/i386/pc/vga.c (inb): Removed.
39234 (outb): Removed.
39235 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39236 with grub_outb().
39237
39238 2007-10-02 Robert Millan <rmh@aybabtu.com>
39239
39240 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39242 Reported by Marcin Kurek.
39243
39244 2007-09-07 Robert Millan <rmh@aybabtu.com>
39245
39246 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39247 SmartFirmware version updates (as released by Sven Luther), and avoid
39248 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39249 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39250 known broken.
39251
39252 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39253
39254 From Hitoshi Ozeki:
39255 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39256 when merging two regions.
39257
39258 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39259
39260 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39261 * normal/completion.c (grub_normal_do_completion): Likewise.
39262 Reported by Hitoshi Ozeki.
39263
39264 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39265
39266 Do not use devices at boot in chainloading.
39267
39268 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39269 (boot_part_addr): Likewise.
39270 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39271 with BOOT_DRIVE and BOOT_PART_ADDR.
39272 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39273 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39274
39275 2007-08-29 Robert Millan <rmh@aybabtu.com>
39276
39277 Patch from Simon Peter <dn.tlp@gmx.net>:
39278 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39279 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39280 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39281 util/i386/pc/grub-setup.c_DEPENDENCIES.
39282 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39283 util/grub-probe.c_DEPENDENCIES.
39284 * conf/powerpc-ieee1275.rmk: Likewise.
39285
39286 2007-08-28 Robert Millan <rmh@aybabtu.com>
39287
39288 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39289 to tell grub-mkdevicemap how to name devices.
39290 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39291 feature).
39292
39293 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39294 util/i386/get_disk_name.c.
39295 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39296 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39297 util/ieee1275/get_disk_name.c.
39298
39299 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39300
39301 * DISTLIST: Add util/i386/get_disk_name.c and
39302 util/ieee1275/get_disk_name.c.
39303
39304 * util/grub-mkdevicemap.c: Replace device naming logic with
39305 grub_util_get_disk_name() calls.
39306
39307 2007-08-20 Robert Millan <rmh@aybabtu.com>
39308
39309 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39310 (so that it works for both plural and singular quantities).
39311
39312 2007-08-05 Robert Millan <rmh@aybabtu.com>
39313
39314 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39315 so that [xz] isn't taken into account when determining order.
39316
39317 2007-08-02 Marco Gerards <marco@gnu.org>
39318
39319 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39320 `include/multiboot2.h', `include/grub/elfload.h',
39321 `include/multiboot.h', `include/grub/multiboot.h',
39322 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39323 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39324 `kern/elf.c', `loader/multiboot_loader.c',
39325 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39326 `loader/i386/pc/multiboot2.c',
39327 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39328 `util/i386/pc/grub-mkrescue.in'. Remove
39329 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39330 `include/grub/i386/pc/util/biosdisk.h' and
39331 `include/grub/powerpc/ieee1275/multiboot.h'.
39332
39333 2007-08-02 Bean <bean123ch@gmail.com>
39334
39335 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39336 (ntfs_mod_SOURCES): New variable.
39337 (ntfs_mod_CFLAGS): Likewise.
39338 (ntfs_mod_LDFLAGS): Likewise.
39339
39340 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39341 (grub_probe_SOURCES): Likewise.
39342 (grub_emu_SOURCES): Likewise.
39343
39344 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39345 (grub_emu_SOURCES): Likewise.
39346
39347 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39348 (grub_emu_SOURCES): Likewise.
39349
39350 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39351
39352 * fs/ntfs.c: New file.
39353
39354 2007-08-02 Bean <bean123ch@gmail.com>
39355
39356 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39357
39358 * file.h (grub_file): Likewise.
39359
39360 * fshelp.h (grub_fshelp_read_file): Likewise.
39361
39362 * util/i386/pc/grub-setup.c (setup): Likewise.
39363 (save_first_sector): Likewise.
39364 (save_blocklists): Likewise.
39365
39366 * fs/affs.c (grub_affs_read_file): Likewise.
39367
39368 * fs/ext2.c (grub_ext2_read_file): Likewise.
39369
39370 * fs/fat.c (grub_fat_read_data): Likewise.
39371
39372 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39373
39374 * fs/hfs.c (grub_hfs_read_file): Likewise.
39375
39376 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39377
39378 * fs/jfs.c (grub_jfs_read_file): Likewise.
39379
39380 * fs/minix.c (grub_minix_read_file): Likewise.
39381
39382 * fs/sfs.c (grub_sfs_read_file): Likewise.
39383
39384 * fs/ufs.c (grub_ufs_read_file): Likewise.
39385
39386 * fs/xfs.c (grub_xfs_read_file): Likewise.
39387
39388 * command/blocklist.c (read_blocklist): Likewise.
39389 (print_blocklist): Likewise.
39390
39391 2007-08-02 Marco Gerards <marco@gnu.org>
39392
39393 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39394 `util/hostfs.c'.
39395
39396 * disk/host.c: New file.
39397
39398 * util/hostfs.c: Likewise.
39399
39400 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39401 return `GRUB_ERR_BAD_FS'.
39402 * fs/sfs.c (grub_sfs_mount): Likewise.
39403 * fs/xfs.c (grub_xfs_mount): Likewise.
39404
39405 * include/grub/disk.h (enum grub_disk_dev_id): Add
39406 `GRUB_DISK_DEVICE_HOST_ID'.
39407
39408 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39409
39410 2007-07-24 Jerone Young <jerone@gmail.com>
39411
39412 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39413 modules for compilation.
39414 * conf/powerpc-ieee1275.rmk: Likewise.
39415
39416 * include/multiboot.h: Move multiboot definitions to one file. Rename
39417 many definitions to not get grub specific.
39418 * include/multiboot2.h: Create header with multiboot 2 definitions.
39419 * include/grub/multiboot.h: Header for grub specific function
39420 prototypes and definitions.
39421 * include/grub/multiboot2.h: Likewise.
39422 * include/grub/multiboot_loader.h: Likewise.
39423 * include/grub/i386/pc/multiboot.h: Removed.
39424 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39425
39426 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39427 and 2 to allow for one multiboot and module commands.
39428 * loader/multiboot2.c: Add multiboot2 functionality.
39429 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39430 and definition names.
39431 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39432 2 functions.
39433 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39434 ieee1275 specific multiboot2 code.
39435
39436 * kern/i386/pc/startup.S: Change headers and definition names for
39437 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39438
39439 2007-07-22 Robert Millan <rmh@aybabtu.com>
39440
39441 * geninitheader.sh: Process file specified in first parameter rather
39442 than hardcoding grub_modules_init.lst.
39443 * geninit.sh: Likewise. Also, construct header name dynamically rather
39444 than hardcoding grub_modules_init.h.
39445
39446 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39447 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39448 grub_probe_init.[ch] and grub_setup_init.[ch].
39449
39450 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39451 grub_modules_init.h with grub_emu_init.h.
39452 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39453 grub_probe_init.[ch] files.
39454 * conf/i386-efi.rmk: Likewise.
39455 * conf/i386-pc.rmk: Likewise.
39456 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39457 grub_setup_init.[ch] files.
39458
39459 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39460 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39461 to initialize modules rather than a list of hardcoded functions.
39462 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39463 grub_init_all() to initialize modules rather than a list of hardcoded
39464 functions.
39465
39466 2007-07-22 Robert Millan <rmh@aybabtu.com>
39467
39468 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39469 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39470
39471 2007-07-22 Robert Millan <rmh@aybabtu.com>
39472
39473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39474 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39475 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39476 flag when running on SmartFirmware.
39477 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39478 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39479 was set.
39480
39481 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39482 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39483 rather than decreasing it.
39484
39485 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39486 there's not enough space to do it, fail in the same way as when it
39487 can't be done because there are no partitions.
39488
39489 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39490 when nvsetenv failed.
39491
39492 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39493
39494 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39495 because this rule is automatically generated.
39496 (grub-mkrescue): Removed for the same reason as above.
39497
39498 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39499
39500 Migrate to GNU General Public License Version 3.
39501
39502 * COPYING: Replaced with the plain text version of GPLv3.
39503
39504 * config.guess: Updated from gnulib.
39505 * config.sub: Likewise.
39506
39507 * geninit.sh: Output a GPLv3 copyright notice.
39508 * geninitheader.sh: Likewise.
39509 * genmodsrc.sh: Likewise.
39510 * gensymlist.sh.in: Likewise.
39511
39512 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39513 * boot/i386/pc/diskboot.S: Likewise.
39514 * boot/i386/pc/pxeboot.S: Likewise.
39515 * commands/blocklist.c: Likewise.
39516 * commands/boot.c: Likewise.
39517 * commands/cat.c: Likewise.
39518 * commands/cmp.c: Likewise.
39519 * commands/configfile.c: Likewise.
39520 * commands/echo.c: Likewise.
39521 * commands/help.c: Likewise.
39522 * commands/ls.c: Likewise.
39523 * commands/search.c: Likewise.
39524 * commands/terminal.c: Likewise.
39525 * commands/test.c: Likewise.
39526 * commands/videotest.c: Likewise.
39527 * commands/i386/cpuid.c: Likewise.
39528 * commands/i386/pc/halt.c: Likewise.
39529 * commands/i386/pc/play.c: Likewise.
39530 * commands/i386/pc/reboot.c: Likewise.
39531 * commands/i386/pc/vbeinfo.c: Likewise.
39532 * commands/i386/pc/vbetest.c: Likewise.
39533 * commands/ieee1275/halt.c: Likewise.
39534 * commands/ieee1275/reboot.c: Likewise.
39535 * commands/ieee1275/suspend.c: Likewise.
39536 * disk/loopback.c: Likewise.
39537 * disk/lvm.c: Likewise.
39538 * disk/raid.c: Likewise.
39539 * disk/efi/efidisk.c: Likewise.
39540 * disk/i386/pc/biosdisk.c: Likewise.
39541 * disk/ieee1275/ofdisk.c: Likewise.
39542 * font/manager.c: Likewise.
39543 * fs/affs.c: Likewise.
39544 * fs/ext2.c: Likewise.
39545 * fs/fat.c: Likewise.
39546 * fs/fshelp.c: Likewise.
39547 * fs/hfs.c: Likewise.
39548 * fs/hfsplus.c: Likewise.
39549 * fs/iso9660.c: Likewise.
39550 * fs/jfs.c: Likewise.
39551 * fs/minix.c: Likewise.
39552 * fs/sfs.c: Likewise.
39553 * fs/ufs.c: Likewise.
39554 * fs/xfs.c: Likewise.
39555 * hello/hello.c: Likewise.
39556 * include/grub/acorn_filecore.h: Likewise.
39557 * include/grub/arg.h: Likewise.
39558 * include/grub/bitmap.h: Likewise.
39559 * include/grub/boot.h: Likewise.
39560 * include/grub/cache.h: Likewise.
39561 * include/grub/device.h: Likewise.
39562 * include/grub/disk.h: Likewise.
39563 * include/grub/dl.h: Likewise.
39564 * include/grub/elfload.h: Likewise.
39565 * include/grub/env.h: Likewise.
39566 * include/grub/err.h: Likewise.
39567 * include/grub/file.h: Likewise.
39568 * include/grub/font.h: Likewise.
39569 * include/grub/fs.h: Likewise.
39570 * include/grub/fshelp.h: Likewise.
39571 * include/grub/gzio.h: Likewise.
39572 * include/grub/hfs.h: Likewise.
39573 * include/grub/kernel.h: Likewise.
39574 * include/grub/loader.h: Likewise.
39575 * include/grub/lvm.h: Likewise.
39576 * include/grub/misc.h: Likewise.
39577 * include/grub/mm.h: Likewise.
39578 * include/grub/net.h: Likewise.
39579 * include/grub/normal.h: Likewise.
39580 * include/grub/parser.h: Likewise.
39581 * include/grub/partition.h: Likewise.
39582 * include/grub/pc_partition.h: Likewise.
39583 * include/grub/raid.h: Likewise.
39584 * include/grub/rescue.h: Likewise.
39585 * include/grub/script.h: Likewise.
39586 * include/grub/setjmp.h: Likewise.
39587 * include/grub/symbol.h: Likewise.
39588 * include/grub/term.h: Likewise.
39589 * include/grub/terminfo.h: Likewise.
39590 * include/grub/tparm.h: Likewise.
39591 * include/grub/types.h: Likewise.
39592 * include/grub/video.h: Likewise.
39593 * include/grub/efi/api.h: Likewise.
39594 * include/grub/efi/chainloader.h: Likewise.
39595 * include/grub/efi/console.h: Likewise.
39596 * include/grub/efi/console_control.h: Likewise.
39597 * include/grub/efi/disk.h: Likewise.
39598 * include/grub/efi/efi.h: Likewise.
39599 * include/grub/efi/pe32.h: Likewise.
39600 * include/grub/efi/time.h: Likewise.
39601 * include/grub/i386/linux.h: Likewise.
39602 * include/grub/i386/setjmp.h: Likewise.
39603 * include/grub/i386/types.h: Likewise.
39604 * include/grub/i386/efi/kernel.h: Likewise.
39605 * include/grub/i386/efi/loader.h: Likewise.
39606 * include/grub/i386/efi/time.h: Likewise.
39607 * include/grub/i386/pc/biosdisk.h: Likewise.
39608 * include/grub/i386/pc/boot.h: Likewise.
39609 * include/grub/i386/pc/chainloader.h: Likewise.
39610 * include/grub/i386/pc/console.h: Likewise.
39611 * include/grub/i386/pc/init.h: Likewise.
39612 * include/grub/i386/pc/kernel.h: Likewise.
39613 * include/grub/i386/pc/loader.h: Likewise.
39614 * include/grub/i386/pc/memory.h: Likewise.
39615 * include/grub/i386/pc/multiboot.h: Likewise.
39616 * include/grub/i386/pc/serial.h: Likewise.
39617 * include/grub/i386/pc/time.h: Likewise.
39618 * include/grub/i386/pc/vbe.h: Likewise.
39619 * include/grub/i386/pc/vbeblit.h: Likewise.
39620 * include/grub/i386/pc/vbefill.h: Likewise.
39621 * include/grub/i386/pc/vbeutil.h: Likewise.
39622 * include/grub/i386/pc/vga.h: Likewise.
39623 * include/grub/ieee1275/ieee1275.h: Likewise.
39624 * include/grub/ieee1275/ofdisk.h: Likewise.
39625 * include/grub/powerpc/libgcc.h: Likewise.
39626 * include/grub/powerpc/setjmp.h: Likewise.
39627 * include/grub/powerpc/types.h: Likewise.
39628 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39629 * include/grub/powerpc/ieee1275/console.h: Likewise.
39630 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39631 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39632 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39633 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39634 * include/grub/powerpc/ieee1275/time.h: Likewise.
39635 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39636 * include/grub/sparc64/libgcc.h: Likewise.
39637 * include/grub/sparc64/setjmp.h: Likewise.
39638 * include/grub/sparc64/types.h: Likewise.
39639 * include/grub/sparc64/ieee1275/console.h: Likewise.
39640 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39641 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39642 * include/grub/sparc64/ieee1275/time.h: Likewise.
39643 * include/grub/util/biosdisk.h: Likewise.
39644 * include/grub/util/getroot.h: Likewise.
39645 * include/grub/util/lvm.h: Likewise.
39646 * include/grub/util/misc.h: Likewise.
39647 * include/grub/util/raid.h: Likewise.
39648 * include/grub/util/resolve.h: Likewise.
39649 * io/gzio.c: Likewise.
39650 * kern/device.c: Likewise.
39651 * kern/disk.c: Likewise.
39652 * kern/dl.c: Likewise.
39653 * kern/elf.c: Likewise.
39654 * kern/env.c: Likewise.
39655 * kern/err.c: Likewise.
39656 * kern/file.c: Likewise.
39657 * kern/fs.c: Likewise.
39658 * kern/loader.c: Likewise.
39659 * kern/main.c: Likewise.
39660 * kern/misc.c: Likewise.
39661 * kern/mm.c: Likewise.
39662 * kern/parser.c: Likewise.
39663 * kern/partition.c: Likewise.
39664 * kern/rescue.c: Likewise.
39665 * kern/term.c: Likewise.
39666 * kern/efi/efi.c: Likewise.
39667 * kern/efi/init.c: Likewise.
39668 * kern/efi/mm.c: Likewise.
39669 * kern/i386/dl.c: Likewise.
39670 * kern/i386/efi/init.c: Likewise.
39671 * kern/i386/efi/startup.S: Likewise.
39672 * kern/i386/pc/init.c: Likewise.
39673 * kern/i386/pc/lzo1x.S: Likewise.
39674 * kern/i386/pc/startup.S: Likewise.
39675 * kern/ieee1275/ieee1275.c: Likewise.
39676 * kern/powerpc/cache.S: Likewise.
39677 * kern/powerpc/dl.c: Likewise.
39678 * kern/powerpc/ieee1275/cmain.c: Likewise.
39679 * kern/powerpc/ieee1275/crt0.S: Likewise.
39680 * kern/powerpc/ieee1275/init.c: Likewise.
39681 * kern/powerpc/ieee1275/openfw.c: Likewise.
39682 * kern/sparc64/cache.S: Likewise.
39683 * kern/sparc64/dl.c: Likewise.
39684 * kern/sparc64/ieee1275/init.c: Likewise.
39685 * kern/sparc64/ieee1275/openfw.c: Likewise.
39686 * loader/efi/chainloader.c: Likewise.
39687 * loader/efi/chainloader_normal.c: Likewise.
39688 * loader/i386/efi/linux.c: Likewise.
39689 * loader/i386/efi/linux_normal.c: Likewise.
39690 * loader/i386/pc/chainloader.c: Likewise.
39691 * loader/i386/pc/chainloader_normal.c: Likewise.
39692 * loader/i386/pc/linux.c: Likewise.
39693 * loader/i386/pc/linux_normal.c: Likewise.
39694 * loader/i386/pc/multiboot.c: Likewise.
39695 * loader/i386/pc/multiboot_normal.c: Likewise.
39696 * loader/powerpc/ieee1275/linux.c: Likewise.
39697 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39698 * normal/arg.c: Likewise.
39699 * normal/cmdline.c: Likewise.
39700 * normal/command.c: Likewise.
39701 * normal/completion.c: Likewise.
39702 * normal/execute.c: Likewise.
39703 * normal/function.c: Likewise.
39704 * normal/lexer.c: Likewise.
39705 * normal/main.c: Likewise.
39706 * normal/menu.c: Likewise.
39707 * normal/menu_entry.c: Likewise.
39708 * normal/misc.c: Likewise.
39709 * normal/parser.y: Likewise.
39710 * normal/script.c: Likewise.
39711 * normal/i386/setjmp.S: Likewise.
39712 * normal/powerpc/setjmp.S: Likewise.
39713 * normal/sparc64/setjmp.S: Likewise.
39714 * partmap/acorn.c: Likewise.
39715 * partmap/amiga.c: Likewise.
39716 * partmap/apple.c: Likewise.
39717 * partmap/gpt.c: Likewise.
39718 * partmap/pc.c: Likewise.
39719 * partmap/sun.c: Likewise.
39720 * term/gfxterm.c: Likewise.
39721 * term/terminfo.c: Likewise.
39722 * term/efi/console.c: Likewise.
39723 * term/i386/pc/console.c: Likewise.
39724 * term/i386/pc/serial.c: Likewise.
39725 * term/i386/pc/vesafb.c: Likewise.
39726 * term/i386/pc/vga.c: Likewise.
39727 * term/ieee1275/ofconsole.c: Likewise.
39728 * util/biosdisk.c: Likewise.
39729 * util/console.c: Likewise.
39730 * util/genmoddep.c: Likewise.
39731 * util/getroot.c: Likewise.
39732 * util/grub-emu.c: Likewise.
39733 * util/grub-mkdevicemap.c: Likewise.
39734 * util/grub-probe.c: Likewise.
39735 * util/lvm.c: Likewise.
39736 * util/misc.c: Likewise.
39737 * util/raid.c: Likewise.
39738 * util/resolve.c: Likewise.
39739 * util/update-grub.in: Likewise.
39740 * util/update-grub_lib.in: Likewise.
39741 * util/grub.d/00_header.in: Likewise.
39742 * util/grub.d/10_hurd.in: Likewise.
39743 * util/grub.d/10_linux.in: Likewise.
39744 * util/i386/efi/grub-install.in: Likewise.
39745 * util/i386/efi/grub-mkimage.c: Likewise.
39746 * util/i386/pc/grub-install.in: Likewise.
39747 * util/i386/pc/grub-mkimage.c: Likewise.
39748 * util/i386/pc/grub-mkrescue.in: Likewise.
39749 * util/i386/pc/grub-setup.c: Likewise.
39750 * util/i386/pc/misc.c: Likewise.
39751 * util/powerpc/ieee1275/grub-install.in: Likewise.
39752 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39753 * util/powerpc/ieee1275/misc.c: Likewise.
39754 * video/bitmap.c: Likewise.
39755 * video/video.c: Likewise.
39756 * video/i386/pc/vbe.c: Likewise.
39757 * video/i386/pc/vbeblit.c: Likewise.
39758 * video/i386/pc/vbefill.c: Likewise.
39759 * video/i386/pc/vbeutil.c: Likewise.
39760 * video/readers/tga.c: Likewise.
39761
39762 2007-07-02 Robert Millan <rmh@aybabtu.com>
39763
39764 * conf/i386-efi.rmk: Replace obsolete reference to
39765 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39766 with util/getroot.c.
39767 * conf/powerpc-ieee1275.rmk: Likewise.
39768 * conf/sparc64-ieee1275.rmk: Likewise.
39769
39770 * util/grub-emu.c (main): Fix unchecked pointer handling.
39771
39772 2007-07-02 Robert Millan <rmh@aybabtu.com>
39773
39774 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39775 invocation to fail, in order to support partition-less media.
39776
39777 * util/i386/pc/grub-install.in: Likewise.
39778
39779 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39780 which fs or partmap modules are needed (akin to its sister scripts).
39781
39782 Also use grub-probe to get rid of unportable /proc/mounts check.
39783
39784 Print the same informational message that the other scripts do, before
39785 exiting.
39786
39787 2007-06-23 Robert Millan <rmh@aybabtu.com>
39788
39789 * util/update-grub_lib.in (font_path): New function. Determine whether
39790 a font file can be found and, if so, echo the GRUB path to it.
39791
39792 * util/update-grub.in: Handle multiple terminals depending on user
39793 input, platform availability and font file presence. Propagate
39794 variables of our findings to /etc/grub.d/ children.
39795
39796 * util/grub.d/00_header.in: Handle multiple terminals, based on
39797 environment setup by update-grub.
39798
39799 2007-06-23 Robert Millan <rmh@aybabtu.com>
39800
39801 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39802
39803 2007-06-21 Robert Millan <rmh@aybabtu.com>
39804
39805 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39806 indicate end of data section in kernel image.
39807 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39808 GRUB_KERNEL_MACHINE_DATA_END.
39809
39810 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39811 space for it.
39812 * kern/i386/efi/startup.S: Likewise.
39813
39814 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39815 during image generation. Implement --prefix option to override this
39816 patch.
39817 * util/i386/efi/grub-mkimage.c: Likewise.
39818
39819 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39820 code to make path relative to its root into a separate function.
39821
39822 * util/i386/pc/grub-install.in: Use newly provided
39823 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39824 pass the result to grub-install --prefix.
39825
39826 2007-06-13 Robert Millan <rmh@aybabtu.com>
39827
39828 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39829 DEFAULT_DEVICE_MAP.
39830 * util/grub-emu.c: Use above definitions from misc.h instead of
39831 defining them.
39832 * util/grub-mkdevicemap.c: Likewise.
39833 * util/i386/pc/grub-setup.c: Likewise.
39834 * util/grub-probe.c: Likewise.
39835 (probe): Abort with grub_util_error() when either
39836 grub_guess_root_device or grub_util_get_grub_dev fails.
39837
39838 2007-06-12 Robert Millan <rmh@aybabtu.com>
39839
39840 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39841 "pager" assignment.
39842 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39843 "pcdata".
39844 * util/grub-probe.c (probe): Likewise for "drive_name".
39845
39846 2007-06-11 Robert Millan <rmh@aybabtu.com>
39847
39848 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39849 not just the cdrom one.
39850
39851 2007-06-11 Robert Millan <rmh@aybabtu.com>
39852
39853 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39854 Add --pkglibdir=DIR option to override pkglibdir.
39855 Mention --image-type=TYPE in help output.
39856 Fix --grub-mkimage (it was a no-op).
39857 Abort gracefully when no parameter is given.
39858
39859 2007-06-11 Robert Millan <rmh@aybabtu.com>
39860
39861 * util/i386/pc/grub-mkrescue.in: New file.
39862 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39863 * Makefile.in: Handle bin_SCRIPTS.
39864
39865 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39866
39867 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39868 list of video modes.
39869
39870 2007-06-06 Robert Millan <rmh@aybabtu.com>
39871
39872 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39873 file doesn't exist, or if it is in a filesystem grub can't read.
39874
39875 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39876 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39877 header comment to fit in 80 columns when the variables are resolved.
39878
39879 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39880 could be identified by update-grub. Remove redundant check for
39881 unifont.pff existence (since convert_system_path_to_grub_path now
39882 handles that).
39883
39884 2007-06-04 Robert Millan <rmh@aybabtu.com>
39885
39886 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39887
39888 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39889
39890 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39891
39892 2007-06-04 Robert Millan <rmh@aybabtu.com>
39893
39894 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39895
39896 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39897 grub_apple_partition_map_fini.
39898
39899 * util/biosdisk.c
39900 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39901 to access >2 TiB disks).
39902
39903 Print disk->total_sectors with %llu instead of %lu, since this
39904 variable is always 64-bit (prevents wrong disk size from being displayed
39905 on either >2 TiB disk or big-endian CPU).
39906
39907 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39908 into a generic case that supports all (sane) partition maps.
39909
39910 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39911 breaks big-endian.
39912
39913 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39914 and grub_apple_partition_map_fini() after that.
39915
39916 2007-06-01 Robert Millan <rmh@aybabtu.com>
39917
39918 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39919
39920 * util/grub.d/00_header.in: Only enable gfxterm when
39921 convert_system_path_to_grub_path() succeeds.
39922
39923 2007-05-20 Robert Millan <rmh@aybabtu.com>
39924
39925 * util/update-grub_lib.in: New file.
39926 * DISTLIST: Add update-grub_lib.in.
39927 * conf/common.rmk: Generate update-grub_lib and install it in
39928 $(lib_DATA).
39929 * Makefile.in: Add install routine for $(lib_DATA).
39930
39931 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39932 function provided by update-grub_lib to support arbitrary paths of
39933 unifont.pff.
39934 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39935 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39936
39937 2007-05-19 Robert Millan <rmh@aybabtu.com>
39938
39939 * commands/i386/cpuid.c: New module.
39940 * DISTLIST: Add it.
39941 * conf/i386-efi.rmk: Enable cpuid.mod.
39942 * conf/i386-pc.rmk: Likewise.
39943
39944 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39945
39946 * kern/disk.c (grub_disk_read): Check return value of
39947 grub_realloc().
39948
39949 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39950
39951 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39952 arrays.
39953 * disk/raid.c (grub_raid_open): Likewise.
39954
39955 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39956
39957 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39958 stack instead of on the heap.
39959
39960 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39961 before doing a read on it.
39962
39963 * configure.ac: Only use -fno-stack-protector for the target
39964 environment.
39965
39966 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39967
39968 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39969 __attribute_ ((unused)) to mode_type argument.
39970
39971 * util/getroot.c (grub_guess_root_device): Fix #endif.
39972
39973 * kern/misc.c (memcmp): Fix prototype.
39974
39975 * include/grub/partition.h [GRUB_UTIL]
39976 (grub_gpt_partition_map_init): Add prototype.
39977 (grub_gpt_partition_map_fini): Likewise.
39978
39979 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39980 at the right place.
39981
39982 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39983 (grub_fat_read_data): Likewise.
39984 (grub_fat_find_dir): Likewise.
39985
39986 * font/manager.c (find_glyph): Make table a const.
39987 (grub_font_get_glyph): Remove bitmap from if statement.
39988
39989 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39990
39991 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39992 code, first search for device in /dev/mapper, then in /dev.
39993 (grub_util_get_grub_dev): New function.
39994 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39995 prototype.
39996 * util/grub-probe.c (probe): Remove check for RAID, call
39997 grub_util_get_grub_dev() instead of
39998 grub_util_biosdisk_get_grub_dev().
39999 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40000 grub_util_biosdisk_get_grub_dev().
40001 * util/i386/pc/grub-setup.c (main): Likewise.
40002
40003 2007-05-16 Robert Millan <rmh@aybabtu.com>
40004
40005 * DISTLIST: Update for the latest changes.
40006 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40007 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40008 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40009 grub/util/biosdisk.h.
40010 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40011 grub/util/biosdisk.h.
40012
40013 2007-05-16 Robert Millan <rmh@aybabtu.com>
40014
40015 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40016
40017 2007-05-16 Robert Millan <rmh@aybabtu.com>
40018
40019 * util/i386/efi/grub-install.in: New.
40020 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40021 newly added grub-install.
40022 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40023 include.
40024 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40025 grub/util/biosdisk.h.
40026 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40027 grub/util/biosdisk.h.
40028
40029 2007-05-16 Robert Millan <rmh@aybabtu.com>
40030
40031 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40032 * include/grub/util/biosdisk.h: ... here.
40033 * util/i386/pc/biosdisk.c: Moved to ...
40034 * util/biosdisk.c: ... here.
40035 * util/i386/pc/getroot.c: Moved to ...
40036 * util/getroot.c: ... here.
40037 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40038 * util/grub-mkdevicemap.c: ... here.
40039 * util/i386/pc/grub-probe.c: Moved to ...
40040 * util/grub-probe.c: ... here.
40041
40042 2007-05-15 Robert Millan <rmh@aybabtu.com>
40043
40044 * util/update-grub.in: Remove duplicated line in grub.cfg header
40045 message.
40046
40047 2007-05-13 Robert Millan <rmh@aybabtu.com>
40048
40049 * util/update-grub.in: Fix a few assumptions about the devices holding
40050 /, /boot and /boot/grub being the same.
40051 * util/grub.d/00_header.in: Likewise.
40052 * util/grub.d/10_hurd.in: Likewise.
40053 * util/grub.d/10_linux.in: Likewise.
40054
40055 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40056 patterns. Use that to define the `.old' suffix as older than `'.
40057
40058 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40059
40060 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40061 the grub.cfg header message.
40062
40063 2007-05-11 Robert Millan <rmh@aybabtu.com>
40064
40065 * util/update-grub.in: Create device.map if it doesn't already exist,
40066 before attempting to run grub-probe.
40067 Check for grub-probe and grub-mkdevicemap with the same code
40068 grub-install is using.
40069 Remove test mode.
40070
40071 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40072
40073 * Makefile.in: Add the datarootdir autoconf variable.
40074
40075 2007-05-09 Robert Millan <rmh@aybabtu.com>
40076
40077 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
40078 fail gracefully if dev->disk->partition == NULL.
40079
40080 2007-05-07 Robert Millan <rmh@aybabtu.com>
40081
40082 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40083 determine partition map module.
40084 * util/i386/pc/grub-install.in: Use this feature to decide which
40085 partition module to load, instead of hardcoding pc and gpt.
40086
40087 2007-05-07 Robert Millan <rmh@aybabtu.com>
40088
40089 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40090 source directory differs from build directory.
40091
40092 2007-05-05 Robert Millan <rmh@aybabtu.com>
40093
40094 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40095 initialisation.
40096
40097 2007-05-05 Robert Millan <rmh@aybabtu.com>
40098
40099 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40100
40101 2007-05-05 Robert Millan <rmh@aybabtu.com>
40102
40103 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40104 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40105
40106 2007-05-05 Robert Millan <rmh@aybabtu.com>
40107
40108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40109 (grub_probe_SOURCES): Likewise.
40110 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40111 GPT and initialize dos_part and bsd_part accordingly.
40112 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40113 install_bsd_part.
40114 (main): Activate gpt module for use during partition identification,
40115 and deactivate it afterwards.
40116 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40117 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40118 partition identification, and deactivate it afterwards.
40119
40120 2007-05-05 Robert Millan <rmh@aybabtu.com>
40121
40122 * term/i386/pc/console.c (grub_console_fini): Call
40123 grub_term_set_current() before grub_term_unregister().
40124
40125 2007-05-04 Robert Millan <rmh@aybabtu.com>
40126
40127 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40128 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40129 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40130 and update-grub_DATA.
40131 * conf/common.rmk: Build and install update-grub components.
40132 * conf/common.mk: Regenerate.
40133 * util/update-grub.in: New. Core of update-grub.
40134 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40135 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40136 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40137 * util/grub.d/README: New. Document grub.d directory layout.
40138
40139 2007-05-01 Robert Millan <rmh@aybabtu.com>
40140
40141 * util/grub-emu.c: Move initialization functions
40142 grub_util_biosdisk_init() and grub_init_all() before
40143 grub_util_biosdisk_get_grub_dev(), which relies on them.
40144
40145 2007-04-19 Robert Millan <rmh@aybabtu.com>
40146
40147 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40148 it is used later.
40149
40150 2007-04-18 Jerone Young <jerone@gmail.com>
40151
40152 * kernel/elf.c: Add missing parenthesis for conditional statement
40153 stanza.
40154
40155 2007-04-10 Jerone Young <jerone@gmail.com>
40156
40157 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40158 continue on and look for device node with real device name.
40159
40160 2007-04-10 Jerone Young <jerone@gmail.com>
40161
40162 * configure.ac: Add argument for autoconf to use transformation
40163 ability.
40164 * Makefile.in: Add autoconf package transformation code.
40165 * util/i386/pc/grub-install.in: Likewise.
40166 * util/powerpc/ieee1275/grub-install.in: Likewise.
40167
40168 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40169
40170 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40171 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40172 (EXT2_REVISION): Likewise.
40173 (EXT2_INODE_SIZE): Likewise.
40174 (struct grub_ext2_block_group): Added a missing member
40175 "used_dirs".
40176 (grub_ext2_read_inode): Divide by the inode size in a superblock
40177 instead of 128 to obtain INODES_PER_BLOCK.
40178 Use the macro EXT2_INODE_SIZE instead of directly using
40179 SBLOCK->INODE_SIZE.
40180
40181 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40182
40183 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40184 superblock instead of the structure size to compute an
40185 offset. This fixes the problem that GRUB could not read a
40186 filesystem when inode size is different from 128-byte.
40187
40188 2007-03-05 Marco Gerards <marco@gnu.org>
40189
40190 * normal/main.c (read_config_file): When "menu" is not set, create
40191 an initial context.
40192
40193 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40194
40195 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40196 (HEAP_LIMIT): New macro.
40197 (grub_claim_heap): Claim memory up to `heaplimit'.
40198
40199 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40200
40201 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40202 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40203 (_start): Likewise.
40204 (grub_arch_modules_addr): Return address after `_end'.
40205 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40206 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40207 (add_segments): Calculate `_end' from phdr size and location.
40208 (ALIGN_UP): Moved to ...
40209 * include/grub/misc.h: here.
40210 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40211 New macro.
40212 (GRUB_IEEE1275_MODULE_BASE): Removed.
40213
40214 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40215
40216 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40217 loop boundary.
40218
40219 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40220
40221 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40222 All users updated.
40223 (grub_elf64_load_hook_t): Likewise.
40224 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40225 debug output.
40226
40227 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40228
40229 * kern/mm.c: Update copyright.
40230 (grub_mm_debug): Correct syntax error.
40231 (grub_mm_dump_free): New function.
40232 (grub_debug_free): Call `grub_free'.
40233 * include/grub/mm.h: Update copyright.
40234 (grub_mm_dump_free): Add declaration.
40235
40236 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40237
40238 * include/grub/ieee1275/ieee1275.h: Update copyright.
40239 * kern/powerpc/ieee1275/init.c: Likewise.
40240 * kern/powerpc/ieee1275/openfw.c: Likewise.
40241
40242 * loader/powerpc/ieee1275/linux.c: Likewise.
40243 * include/grub/elfload.h: Likewise.
40244 * kern/elf.c: Likewise.
40245 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40246 callers.
40247 (grub_elf64_load): Likewise.
40248 (grub_elf32_load_segment): Move to a nested function.
40249 (grub_elf64_load_segment): Likewise.
40250
40251 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40252
40253 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40254 prototype.
40255 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40256 (grub_heap_len): Likewise.
40257 (HEAP_SIZE): New macro.
40258 (grub_claim_heap): New function.
40259 (grub_machine_init): Don't claim heap directly. Call
40260 `grub_claim_heap'.
40261 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40262 (grub_available_iterate): New function.
40263
40264 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40265
40266 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40267 * configure.ac: Use it for testing the HOST and TARGET compilers.
40268
40269 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40270
40271 * Makefile.in (enable_grub_emu): New variable.
40272 * configure.ac (--enable-grub-emu): New option.
40273 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40274 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40275 * conf/i386-pc.rmk: Likewise.
40276 * conf/powerpc-ieee1275.rmk: Likewise.
40277 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40278
40279 2006-12-12 Marco Gerards <marco@gnu.org>
40280
40281 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40282
40283 * kern/env.c (grub_env_unset): Don't free the member `value' when
40284 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40285 pointer.
40286
40287 * normal/main.c (current_menu): Removed.
40288 (free_menu): Unset the `menu' environment variable.
40289 (grub_normal_menu_addentry): Make use of the environment variable
40290 `menu', instead of using the global `current_menu'. Allocate
40291 memory for the sourcecode of this entry.
40292 (read_config_file): New argument `nested', changed all callers.
40293 Only in the case of a new context, initialize a new menu. Set the
40294 `menu' environment variable.
40295 (grub_normal_execute): Don't set and unset the environment
40296 variable `menu' here anymore. Only free the menu when leaving the
40297 context.
40298
40299 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40300 leak.
40301
40302 2006-12-11 Marco Gerards <marco@gnu.org>
40303
40304 * normal/menu_entry.c (run): Fix off by one bug so the last line
40305 is executed. Move the loader check to outside the loop.
40306
40307 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40308
40309 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40310
40311 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40312
40313 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40314 the number of sectors. Reported by Andrey Shuvikov
40315 <mr_hyro@yahoo.com>.
40316
40317 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40318
40319 * kern/disk.c (grub_disk_read): When there is a read error, always
40320 try to read only the necessary data.
40321
40322 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40323 disk/raid.c.
40324 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40325 prototype.
40326 [GRUB_UTIL] (grub_raid_fini): Likewise.
40327 [GRUB_UTIL] (grub_lvm_init): Likewise.
40328 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40329 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40330 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40331 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40332 and grub_raid_fini().
40333
40334 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40335
40336 * include/grub/types.h (__unused): Rename to UNUSED.
40337 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40338 (grub_elf64_size): Likewise.
40339
40340 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40341
40342 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40343 grub_error_push and grub_error_pop in the error-handling path.
40344 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40345 length.
40346
40347 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40348
40349 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40350 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40352 (kernel_elf_SOURCES): Likewise.
40353 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40354 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40355 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40356 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40357 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40358 (elf_mod_SOURCES): New variable.
40359 (elf_mod_CFLAGS): Likewise.
40360 (elf_mod_LDFLAGS): Likewise.
40361 * include/grub/types.h (__unused): New macro.
40362 * include/grub/elfload.h: New file.
40363 * kern/elf.c: Likewise.
40364 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40365 (ELF32_LOADMASK): New macro.
40366 (ELF64_LOADMASK): Likewise.
40367 (vmlinux): Removed.
40368 (grub_linux_load32): New function.
40369 (grub_linux_load64): Likewise.
40370 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40371 Use grub_elf_t instead of grub_file_t.
40372
40373 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40374
40375 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40376 `catch_result' to struct set_color_args.
40377
40378 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40379
40380 * normal/menu.c: Include grub/script.h.
40381 * normal/menu_entry.c: Likewise.
40382 * include/grub/normal.h: Do not include grub/script.h.
40383
40384 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40385
40386 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40387
40388 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40389
40390 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40391 disk.
40392 (grub_disk_close): Print debug messages when closing a disk.
40393 (grub_disk_read): Print debug messages when disk read fails.
40394 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40395 filesystem type.
40396 * kern/partition.c: Include misc.h.
40397 (grub_partition_iterate): Print debug messages when detecting
40398 partition type.
40399
40400 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40401
40402 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40403 is negative.
40404 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40405
40406 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40407
40408 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40409 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40410
40411 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40412
40413 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40414 instead of sizeof(lv). Patch by Michael Guntsche.
40415
40416 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40417
40418 * disk/lvm.c: Rename VGS to VG_LIST.
40419 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40420 (grub_lvm_open): Likewise.
40421 Thanks to Michael Guntsche for finding this bug.
40422
40423 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40424
40425 * configure.ac (AC_INIT): Bumped to 1.95.
40426
40427 2006-10-14 Robert Millan <rmh@aybabtu.com>
40428
40429 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40430 with "/dev/.static/dev/md".
40431
40432 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40433
40434 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40435 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40436 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40437 DRIVE_NAME are always freed.
40438
40439 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40440 DOS_PART, as a DOS partition is counted from one instead of zero
40441 now. Reported by Robert Millan.
40442
40443 2006-10-14 Robert Millan <rmh@aybabtu.com>
40444
40445 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40446 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40447 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40448 string returned by grub_guess_root_device.
40449 * util/i386/pc/grub-setup.c: Likewise.
40450 * util/i386/pc/grub-probefs.c: Likewise.
40451
40452 * util/i386/pc/grub-probefs.c: Rename to ...
40453 * util/i386/pc/grub-probe.c: ... this.
40454 * DISTLIST: Remove grub-probefs, add grub-probe.
40455 * conf/i386-efi.rmk: Likewise.
40456 * conf/i386-pc.rmk: Likewise.
40457 * util/i386/pc/grub-install.in: Likewise.
40458
40459 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40460 choose which information we want to print.
40461
40462 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40463
40464 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40465 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40466 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40467 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40468 video/readers/tga.c and video/i386/pc/vbeutil.c.
40469
40470 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40471
40472 Added support for RAID and LVM.
40473
40474 * disk/lvm.c: New file.
40475 * disk/raid.c: Likewise.
40476 * include/grub/lvm.h: Likewise.
40477 * include/grub/raid.h: Likewise.
40478 * include/grub/util/lvm.h: Likewise.
40479 * include/grub/util/raid.h: Likewise.
40480 * util/lvm.c: Likewise.
40481 * util/raid.c: Likewise.
40482
40483 * include/grub/disk.h (grub_disk_dev_id): Add
40484 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40485 (grub_disk_get_size): New prototype.
40486 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40487 returns a partition.
40488 (grub_disk_get_size): New function.
40489
40490 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40491 verbatim if grub_install_dos_part is -2.
40492
40493 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40494 and LVM devices.
40495
40496 * util/i386/pc/grub-setup.c (setup): New argument
40497 MUST_EMBED. Force embedding of GRUB when the argument is
40498 true. Close FILE before returning.
40499 (main): Add support for RAID and LVM.
40500
40501 * conf/common.rmk: Add RAID and LVM modules.
40502 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40503 util/lvm.c.
40504 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40505
40506 * kern/misc.c (grub_strstr): New function.
40507 * include/grub/misc.h (grub_strstr): New prototype.
40508
40509 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40510
40511 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40512
40513 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40514
40515 * kern/misc.c (grub_strtoull): Guess the base only if not
40516 specified.
40517
40518 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40519
40520 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40521 PowerMac support.
40522
40523 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40524
40525 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40526
40527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40528 Remove `flags' argument. All callers changed.
40529 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40530 (IEEE1275_IHANDLE_INVALID): New variable.
40531 (IEEE1275_CELL_INVALID): New variable.
40532 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40533 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40534 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40535 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40536 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40537 codes from Open Firmware. All callers updated.
40538 (grub_ieee1275_next_property): Directly return Open Firmware return
40539 code.
40540 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40541 Standardize error checking from `grub_ieee1275_get_property'.
40542 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40543 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40544
40545 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40546
40547 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40548 `instance_to_package_args' to `instance_to_path_args'.
40549
40550 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40551 `grub_ieee1275_chosen'.
40552
40553 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40554 `grub_ieee1275_interpret'.
40555
40556 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40557
40558 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40559
40560 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40561
40562 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40563 (__cmpdi): Likewise.
40564
40565 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40566 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40567 `grub_ssize_t'.
40568
40569 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
40570
40571 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40572 to type `grub_ssize_t'.
40573 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40574
40575 2006-09-22 Marco Gerards <marco@gnu.org>
40576
40577 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40578 newlines.
40579
40580 2006-09-22 Marco Gerards <marco@gnu.org>
40581
40582 * commands/echo.c: New file.
40583
40584 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40585
40586 * conf/common.rmk (echo_mod_SOURCES): New variable.
40587 (echo_mod_CFLAGS): Likewise.
40588 (echo_mod_LDFLAGS): Likewise.
40589
40590 2006-09-22 Marco Gerards <marco@gnu.org>
40591
40592 * normal/main.c (get_line): Malloc memory instead of using
40593 preallocated memory. Removed the arguments `cmdline' and
40594 `max_len'. Updated all callers.
40595
40596 2006-09-22 Marco Gerards <marco@gnu.org>
40597
40598 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40599 (normal_mod_DEPENDENCIES): Likewise.
40600
40601 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40602 (normal_mod_DEPENDENCIES): Likewise.
40603
40604 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40605
40606 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
40607
40608 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40609 programs.
40610 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40611 (normal_mod_DEPENDENCIES): Likewise.
40612 * conf/i386-pc.mk: Regenerate.
40613 * conf/i386-efi.mk: Likewise
40614 * conf/common.mk: Likewise.
40615 * conf/powerpc-ieee1275.mk: Likewise.
40616 * conf/sparc64-ieee1275.mk: Likewise.
40617
40618 2006-09-22 Robert Millan <rmh@aybabtu.com>
40619
40620 Sync with i386 version.
40621 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40622 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40623
40624 2006-09-21 Robert Millan <rmh@aybabtu.com>
40625
40626 Import from GRUB Legacy (lib/device.c):
40627 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40628 (init_device_map) [__linux__]: Add support for I2O devices.
40629
40630 2006-09-14 Marco Gerards <marco@gnu.org>
40631
40632 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40633 `-melf_i386'.
40634
40635 2006-09-14 Robert Millan <rmh@aybabtu.com>
40636
40637 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40638 /boot/grub/*.lst.
40639
40640 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
40641
40642 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40643 before adding it to device.map.
40644
40645 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
40646
40647 * genmk.rb: Let GCC generate dependencies the first time it
40648 compiles a file; using the -MD option.
40649 * conf/common.mk: Regenerate.
40650 * conf/i386-pc.mk: Likewise.
40651 * conf/i386-efi.mk: Likewise.
40652 * conf/powerpc-ieee1275.mk: Likewise.
40653 * conf/sparc64-ieee1275.mk: Likewise.
40654
40655 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40656
40657 Move the prototypes of grub_setjmp and grub_longjmp to
40658 cpu/setjmp.h, so that each architecture may specify different
40659 attributes.
40660
40661 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40662 (grub_longjmp): Likewise.
40663 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40664 (grub_longjmp): Likewise.
40665 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40666 (grub_longjmp): Likewise.
40667
40668 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40669 [!GRUB_UTIL] (grub_longjmp): Removed.
40670
40671 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40672
40673 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40674 "color!" method does not return any value.
40675
40676 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40677
40678 * include/grub/bitmap.h: New file.
40679
40680 * include/grub/i386/pc/vbeutil.h: Likewise.
40681
40682 * video/bitmap.c: Likewise.
40683
40684 * video/readers/tga.c: Likewise.
40685
40686 * video/i386/pc/vbeutil.c: Likewise.
40687
40688 * commands/videotest.c: Code cleanup and updated to reflect to new
40689 video API.
40690
40691 * term/gfxterm.c: Likewise.
40692
40693 * video/video.c: Likewise.
40694
40695 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40696 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40697 (bitmap_mod_SOURCES): New entry.
40698 (bitmap_mod_CFLAGS): Likewise.
40699 (bitmap_mod_LDFLAGS): Likewise.
40700 (tga_mod_SOURCES): Likewise.
40701 (tga_mod_CFLAGS): Likewise.
40702 (tga_mod_LDFLAGS): Likewise.
40703
40704 * include/grub/video.h (grub_video_blit_operators): New enum type.
40705 (grub_video_render_target): Changed as forward declaration and moved
40706 actual definition to be video driver specific.
40707 (grub_video_adapter.blit_bitmap): Added blitting operator.
40708 (grub_video_adapter.blit_render_target): Likewise.
40709 (grub_video_blit_bitmap): Likewise.
40710 (grub_video_blit_render_target): Likewise.
40711
40712 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40713 driver specific render target definition.
40714 (grub_video_vbe_map_rgba): Added driver internal helper.
40715 (grub_video_vbe_unmap_color): Updated to use
40716 grub_video_i386_vbeblit_info.
40717 (grub_video_vbe_get_video_ptr): Likewise.
40718
40719 * include/grub/i386/pc/vbeblit.h
40720 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40721 grub_video_i386_vbeblit_info.
40722 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40723 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40724 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40725 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40726 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40727 (grub_video_i386_vbeblit_index_index): Likewise.
40728 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40729 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40730 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40731 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40732 operator.
40733 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40734 operator.
40735
40736 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40737 include/grub/i386/pc/vbeblit.h.
40738
40739 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40740 Updated to use grub_video_i386_vbeblit_info.
40741 (grub_video_i386_vbefill_R8G8B8): Likewise.
40742 (grub_video_i386_vbefill_index): Likewise.
40743 (grub_video_i386_vbefill): Added generic filler.
40744
40745 * video/i386/pc/vbefill.c: Updated to reflect changes on
40746 include/grub/i386/pc/vbefill.h.
40747
40748 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40749 grub_video_i386_vbeblit_info.
40750 (grub_video_vbe_unmap_color): Likewise.
40751 (grub_video_vbe_blit_glyph): Likewise.
40752 (grub_video_vbe_scroll): Likewise.
40753 (grub_video_vbe_draw_pixel): Removed function.
40754 (grub_video_vbe_get_pixel): Likewise.
40755 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40756 updated code to use it.
40757 (common_blitter): Added common blitter for render target and bitmap.
40758 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40759 (grub_video_vbe_blit_render_target): Likewise.
40760
40761 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40762
40763 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40764 is in text mode if there is no console control protocol instance
40765 available.
40766
40767 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40768
40769 * include/grub/video.h: Code cleanup.
40770
40771 * include/grub/i386/pc/vbe.h: Likewise.
40772
40773 * video/i386/pc/vbe.c: Likewise.
40774
40775 * video/i386/pc/vbeblit.c: Likewise.
40776
40777 * video/i386/pc/vbefill.c: Likewise.
40778
40779 * video/video.c: Likewise. Also added more comments.
40780
40781 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40782
40783 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40784 (struct grub_biosdisk_dap): Likewise.
40785
40786 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40787 linkage settings for all functions.
40788
40789 2006-07-12 Marco Gerards <marco@gnu.org>
40790
40791 * configure.ac (--enable-mm-debug): Fix typo.
40792
40793 * genkernsyms.sh.in: Use proper quoting for `CC'.
40794
40795 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40796
40797 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40798 (normal_mod_ASFLAGS): Remove "-m32".
40799
40800 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40801
40802 * util/misc.c: Include config.h.
40803 [!HAVE_MEMALIGN]: Do not include malloc.h.
40804 (grub_memalign): Use posix_memalign, if present. Then, use
40805 memalign, if present. Otherwise, emit an error.
40806
40807 * util/grub-emu.c: Do not include malloc.h.
40808
40809 * include/grub/util/misc.h: Include unistd.h. This is required for
40810 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40811 D. Eades III <hde@foobar-qux.org>.
40812
40813 * configure.ac (AC_GNU_SOURCE): Added.
40814 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40815 type.
40816
40817 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40818
40819 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40820 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40821
40822 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40823
40824 * include/grub/types.h (grub_host_addr_t): Rename to
40825 grub_target_addr_t.
40826 (grub_host_off_t): Rename to grub_target_off_t.
40827 (grub_host_size_t): Rename to grub_target_size_t.
40828 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40829 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40830
40831 * include/grub/kernel.h (struct grub_module_header): Change type
40832 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40833 (grub_module_info): Likewise.
40834
40835 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40836
40837 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40838 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40839 Velazquez <jesus.velazquez@gmail.com>.
40840
40841 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40842
40843 Count partitions from 1 instead of 0 in the string representation
40844 of partitions. Still use 0-based internally.
40845
40846 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40847 (sun_partition_map_iterate): Use grub_partition_t instead of
40848 struct grub_partition *. Cast DESC->START_CYLINDER to
40849 grub_uint64_t after converting the endian.
40850 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40851 (sun_partition_map_get_name): Add 1 to P->INDEX.
40852
40853 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40854 PCDATA->DOS_PART.
40855 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40856
40857 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40858 zero instead of one.
40859 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40860 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40861
40862 * partmap/apple.c (apple_partition_map_iterate): Change the type
40863 of POS to unsigned.
40864 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40865 (apple_partition_map_get_name): Add 1 into P->INDEX.
40866
40867 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40868 of POS to unsigned.
40869 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40870 calculate the offset of a partition.
40871 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40872 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40873
40874 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40875 SECTOR to grub_disk_addr_t.
40876 (acorn_partition_map_iterate): Likewise.
40877 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40878 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40879 top.
40880 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40881
40882 * kern/i386/pc/init.c (make_install_device): Add 1 into
40883 GRUB_INSTALL_DOS_PART.
40884
40885 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40886 conditional.
40887
40888 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40889
40890 Clean up the code to support 64-bit addressing in disks and
40891 files. This change is not enough for filesystems yet.
40892
40893 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40894 type of "start" to grub_uint64_t.
40895 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40896 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40897 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40898 convert addresses.
40899
40900 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40901 to grub_disk_addr_t.
40902
40903 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40904 string.
40905
40906 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40907
40908 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40909 to char *.
40910
40911 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40912
40913 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40914
40915 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40916
40917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40918 to grub_off_t, to detect an error from grub_file_seek.
40919 (grub_multiboot_load_elf32): Likewise.
40920
40921 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40922 maximum unsigned long value when an overflow is detected.
40923 (grub_strtoull): New function.
40924 (grub_divmod64): Likewise.
40925 (grub_lltoa): use grub_divmod64.
40926
40927 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40928 grub_disk_addr_t.
40929 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40930 the pointer to next character. Use grub_strtoull instead of
40931 grub_strtoul.
40932 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40933 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40934 respectively.
40935
40936 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40937 return value is signed.
40938 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40939 test if OFFSET is less than zero, as OFFSET is unsigned now.
40940
40941 * kern/disk.c (struct grub_disk_cache): Change the type of
40942 "sector" to grub_disk_addr_t.
40943 (grub_disk_cache_get_index): Change the type of SECTOR to
40944 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40945 unsigned after shifting.
40946 (grub_disk_cache_invalidate): Change the type of SECTOR to
40947 grub_disk_addr_t.
40948 (grub_disk_cache_unlock): Likewise.
40949 (grub_disk_cache_store): Likewise.
40950 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40951 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40952 grub_disk_addr_t and grub_uint64_t, respectively.
40953 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40954 body, as the value of OFFSET is tweaked by
40955 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40956 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40957 respectively.
40958 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40959 body, as the value of OFFSET is tweaked by
40960 grub_disk_check_range. Change the types of LEN and N to
40961 grub_size_t.
40962
40963 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40964 and "saved_offset" to grub_off_t.
40965 (test_header): Cast BUF to char *.
40966 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40967 to char *.
40968 (grub_gzio_read): Change the types of OFFSET and SIZE to
40969 grub_off_t and grub_size_t, respectively.
40970
40971 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40972 Removed.
40973 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40974 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40975 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40976 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40977 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40978
40979 * include/grub/types.h (grub_off_t): Unconditionally set to
40980 grub_uint64_t.
40981 (grub_disk_addr_t): Changed to grub_uint64_t.
40982
40983 * include/grub/partition.h (struct grub_partition): Change the
40984 types of "start", "len" and "offset" to grub_disk_addr_t,
40985 grub_uint64_t and grub_disk_addr_t, respectively.
40986 (grub_partition_get_start): Return grub_disk_addr_t.
40987 (grub_partition_get_len): Return grub_uint64_t.
40988
40989 * include/grub/misc.h (grub_strtoull): New prototype.
40990 (grub_divmod64): Likewise.
40991
40992 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40993 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40994 grub_off_t, respectively.
40995 All callers and references changed.
40996
40997 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40998 grub_size_t in "read".
40999 All callers and references changed.
41000
41001 * include/grub/file.h (struct grub_file): Change the types of
41002 "offset" and "size" to grub_off_t and grub_off_t,
41003 respectively. Change the type of SECTOR to grub_disk_addr_t in
41004 "read_hook".
41005 (grub_file_read): Change the type of LEN to grub_size_t.
41006 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41007 grub_off_t.
41008 (grub_file_size): Return grub_off_t.
41009 (grub_file_tell): Likewise.
41010 All callers and references changed.
41011
41012 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41013 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41014 "write".
41015 (struct grub_disk): Change the type of "total_sectors" to
41016 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
41017 "read_hook".
41018 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41019 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41020 (grub_disk_write): Likewise.
41021 All callers and references changed.
41022
41023 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41024 char * for grub_strncmp to silence gcc.
41025 (grub_iso9660_mount): Likewise.
41026 (grub_iso9660_mount): Likewise.
41027 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41028 return statement.
41029 (grub_iso9660_iterate_dir): Likewise.
41030 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41031
41032 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41033 LEN to grub_disk_addr_t and grub_size_t, respectively.
41034
41035 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41036
41037 * fs/jfs.c (grub_jfs_read_file): Likewise.
41038
41039 * fs/minix.c (grub_jfs_read_file): Likewise.
41040
41041 * fs/sfs.c (grub_jfs_read_file): Likewise.
41042
41043 * fs/ufs.c (grub_jfs_read_file): Likewise.
41044
41045 * fs/xfs.c (grub_jfs_read_file): Likewise.
41046
41047 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41048 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41049 respectively.
41050
41051 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41052 BLKNR to -1 instead of returning GRUB_ERRNO.
41053 (grub_ext2_read_file): Change the types of SECTOR and
41054 LEN to grub_disk_addr_t and grub_size_t, respectively.
41055
41056 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41057 LEN to grub_disk_addr_t and grub_size_t, respectively.
41058
41059 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41060 grub_file_read.
41061
41062 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41063 string. Do not cast SECTOR explicitly.
41064
41065 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41066 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41067 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41068 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41069 over 2TB and LBA mode is not supported, raise an error.
41070 (get_safe_sectors): New function.
41071 (grub_biosdisk_read): Use get_safe_sectors.
41072 (grub_biosdisk_write): Likewise.
41073
41074 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41075 (grub_efidisk_write): Likewise.
41076
41077 * disk/loopback.c (delete_loopback): Cosmetic changes.
41078 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41079 correctly.
41080 (grub_loopback_open): Likewise.
41081 (grub_loopback_read): Likewise. Also, change the type of POS to
41082 grub_off_t, and fix the usage of grub_memset.
41083
41084 * commands/i386/pc/play.c: Include grub/machine/time.h.
41085
41086 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41087 print FILE->SIZE.
41088
41089 * commands/configfile.c: Include grub/env.h.
41090
41091 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41092 GRUB_ERRNO directly instead. Change the type of POS to
41093 grub_off_t. Follow the coding standard.
41094
41095 * commands/blocklist.c: Include grub/partition.h.
41096 (grub_cmd_blocklist): Return an error if the underlying device is
41097 not a disk. Take the starting sector of a partition into account,
41098 if a partition is used.
41099
41100 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41101 a length field.
41102 (lba_mode): Support 64-bit addresses.
41103 (chs_mode): Likewise.
41104 (copy_buffer): Adapted to the new offsets of a length field and a
41105 segment field.
41106 (blocklist_default_start): Allocate 64-bit space.
41107
41108 * boot/i386/pc/boot.S (force_lba): Removed.
41109 (boot_drive): Moved to under KERNEL_SECTOR.
41110 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
41111 space.
41112 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41113 is useless.
41114 (lba_mode): Refactored to support a 64-bit address. More size
41115 optimization.
41116 (setup_sectors): Likewise.
41117
41118 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41119
41120 * DISTLIST: Added include/grub/i386/linux.h. Removed
41121 include/grub/i386/pc/linux.h
41122
41123 * configure.ac (AC_INIT): Bumped to 1.94.
41124
41125 * config.guess: Updated from gnulib.
41126 * config.sub: Likewise.
41127 * install-sh: Likewise.
41128 * mkinstalldirs: Likewise.
41129
41130 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41131
41132 * conf/common.rmk (grub_modules_init.lst): Depended on
41133 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41134 MODSRCFILES.
41135
41136 * genmk.rb (PModule::rule): Reverted the previous change.
41137
41138 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41139
41140 * conf/common.rmk (grub_modules_init.lst): Depends on
41141 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41142 that the target does not exist before producing.
41143 (grub_modules_init.h): Remove the target before generating.
41144 (grub_emu_init.c): Likewise.
41145
41146 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41147
41148 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41149
41150 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41151 for the target-specific tests. Make sure that we also have the
41152 up-to-date target variables for those tests.
41153
41154 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41155
41156 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41157 (PModule::rule): Likewise.
41158
41159 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41160
41161 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41162 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41163 target-specific flags should be prefixed.
41164 (PModule::rule): Likewise.
41165
41166 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41167
41168 * configure.ac (CMP): Check if cmp is available explicitly.
41169
41170 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41171
41172 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41173 (target_cpu): New variable.
41174 (pkglibdir): Use target_cpu instead of host_cpu.
41175
41176 * util/i386/pc/grub-install.in (host_cpu): Removed.
41177 (target_cpu): New variable.
41178 (pkglibdir): Use target_cpu instead of host_cpu.
41179
41180 * util/genmoddep.c: Removed.
41181
41182 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41183 instead of GRUB_HOST_SIZEOF_VOID_P.
41184 * kern/dl.c: Likewise.
41185
41186 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41187 ...
41188 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41189 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41190 (GRUB_TARGET_SIZEOF_LONG): ... this.
41191 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41192 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41193 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41194 to ...
41195 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41196 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41197 (GRUB_TARGET_SIZEOF_LONG): ... this.
41198 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41199 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41200 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41201 to ...
41202 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41203 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41204 (GRUB_TARGET_SIZEOF_LONG): ... this.
41205 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41206 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41207
41208 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41209 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41210 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41211 instead of GRUB_HOST_SIZEOF_LONG.
41212 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41213 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41214 GRUB_CPU_WORDS_BIGENDIAN.
41215 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41216 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41217 grub_host_ssize_t.
41218
41219 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41220 (genmoddep_SOURCES): Likewise.
41221 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41222 (genmoddep_SOURCES): Likewise.
41223 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41224 (genmoddep_SOURCES): Likewise.
41225 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41226 Likewise.
41227 (genmoddep_SOURCES): Likewise.
41228
41229 * genmoddep.awk: New file.
41230
41231 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41232 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41233 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41234 (PModule::rule): Likewise.
41235 (Program::rule): Likewise.
41236 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41237 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41238 respectively.
41239
41240 * configure.ac: Rewritten intensively to use host and target
41241 instead of build and host, respectively.
41242
41243 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41244 (host_cpu): Removed.
41245 (target_cpu): New variable.
41246 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41247 (BUILD_CC): Removed.
41248 (BUILD_CFLAGS): Likewise.
41249 (BUILD_CPPFLAGS): Likewise.
41250 (TARGET_CC): New variable.
41251 (TARGET_CFLAGS): Likewise.
41252 (TARGET_CPPFLAGS): Likewise.
41253 (TARGET_LDFLAGS): Likewise.
41254 (AWK): Likewise.
41255 (include): Use target_cpu instead of host_cpu.
41256 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41257
41258 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41259
41260 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41261
41262 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41263 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41264 field 'false' to 'exec_on_false'.
41265 (grub_script_create_cmdif): Renamed argument names to reflect above
41266 changes.
41267
41268 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41269
41270 * normal/script.c (grub_script_create_cmdif): Likewise.
41271
41272 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41273
41274 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41275 top.
41276 (grub_hfsplus_btree_recptr): Likewise.
41277 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41278 FILEBLOCK both to pass a block number and store next block
41279 number.
41280 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41281 overflow file correctly. Specify errors appropriately, because
41282 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41283 grub_hfsplus_btree_recptr to get the pointer to a found key.
41284 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41285 is found.
41286
41287 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41288 linux.mod.
41289 (_linux_mod_SOURCES): New variable.
41290 (_linux_mod_CFLAGS): Likewise.
41291 (_linux_mod_LDFLAGS): Likewise.
41292 (linux_mod_SOURCES): Likewise.
41293 (linux_mod_CFLAGS): Likewise.
41294 (linux_mod_LDFLAGS): Likewise.
41295
41296 * DISTLIST: Added loader/i386/efi/linux.c,
41297 loader/i386/efi/linux_normal.c and
41298 include/grub/i386/efi/loader.h.
41299
41300 * loader/i386/efi/linux.c: New file.
41301 * loader/i386/efi/linux_normal.c: Likewise.
41302 * include/grub/i386/efi/loader.h: Likewise.
41303
41304 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41305
41306 * commands/blocklist.c: New file.
41307
41308 * DISTLIST: Added commands/blocklist.c.
41309
41310 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41311 color for the background, and a darker color for the foreground.
41312 (grub_console_checkkey): Return READ_KEY.
41313 (grub_console_cls): Set the background to
41314 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41315
41316 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41317
41318 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41319 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41320
41321 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41322 prototype.
41323
41324 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41325 BG. The spec is wrong again.
41326
41327 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41328 prototype.
41329 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41330
41331 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41332 commands/blocklist.c.
41333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41334
41335 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41336 (blocklist_mod_SOURCES): New variable.
41337 (blocklist_mod_CFLAGS): Likewise.
41338 (blocklist_mod_LDFLAGS): Likewise.
41339
41340 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41341
41342 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41343 duplication.
41344 (lba_mode): Use %eax more intensively to reduce the code size.
41345
41346 2006-05-20 Marco Gerards <marco@gnu.org>
41347
41348 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41349
41350 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41351 for `menuentry'.
41352 (script): Accept leading newlines.
41353 (newlines): New rule to describe 0 or more newlines.
41354 (commands): Accept `command' with trailing newline. Fixed the
41355 order in which arguments were passed to `grub_script_add_cmd'.
41356 Accept commands separated by newlines.
41357 (function): Changed to accept newlines.
41358 (menuentry) Rewritten.
41359
41360 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41361 front of the list, instead of to the end.
41362
41363 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41364
41365 * util/i386/pc/grub-install.in (bindir): New variable.
41366 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41367 Shaver <lbgwjl@gmail.com>.
41368
41369 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41370
41371 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41372 grub/machine/linux.h
41373 * loader/i386/pc/linux.c: Likewise.
41374
41375 * include/grub/i386/pc/linux.h: Moved to ...
41376 * include/grub/i386/linux.h: ... here.
41377
41378 * include/grub/i386/linux.h (struct linux_kernel_params): New
41379 struct.
41380
41381 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41382
41383 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41384 checking.
41385 (grub_video_vbe_blit_glyph): Likewise.
41386 (grub_video_vbe_blit_bitmap): Likewise.
41387 (grub_video_vbe_blit_render_target): Likewise.
41388
41389 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41390
41391 * configure.ac (--with-platform): Properly quote the square
41392 brackets.
41393
41394 2006-05-08 Marco Gerards <marco@gnu.org>
41395
41396 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41397 this...
41398 (kernel_elf_HEADERS): ...to this. Updated all users.
41399 (grubof_symlist.c): Renamed from this...
41400 (kernel_elf_symlist.c): ...to this. Updated all users.
41401 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41402 (grubof_SOURCES): Renamed from this...
41403 (kernel_elf_SOURCES): ...to this.
41404 (grubof_HEADERS): Renamed from this...
41405 (kernel_elf_HEADERS): ...to this.
41406 (grubof_CFLAGS): Renamed from this...
41407 (kernel_elf_CFLAGS): ...to this.
41408 (grubof_ASFLAGS): Renamed from this...
41409 (kernel_elf_ASFLAGS): ...to this.
41410 (grubof_LDFLAGS): Renamed from this...
41411 (kernel_elf_LDFLAGS): ...to this.
41412
41413 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41414 this...
41415 (kernel_elf_HEADERS): ...to this. Updated all users.
41416 (grubof_symlist.c): Renamed from this...
41417 (kernel_elf_symlist.c): ...to this. Updated all users.
41418 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41419 (grubof_SOURCES): Renamed from this...
41420 (kernel_elf_SOURCES): ...to this.
41421 (grubof_HEADERS): Renamed from this...
41422 (kernel_elf_HEADERS): ...to this.
41423 (grubof_CFLAGS): Renamed from this...
41424 (kernel_elf_CFLAGS): ...to this.
41425 (grubof_ASFLAGS): Renamed from this...
41426 (kernel_elf_ASFLAGS): ...to this.
41427 (grubof_LDFLAGS): Renamed from this...
41428 (kernel_elf_LDFLAGS): ...to this.
41429
41430 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41431 `kernel.elf' instead of `grubof'.
41432
41433 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41434
41435 Add --with-platform to configure. Use pkglibdir instead of
41436 pkgdatadir. This is reported by Roger Leigh.
41437
41438 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41439 (host_vendor): Likewise.
41440 (host_os): Likewise.
41441 (pkgdatadir): Likewise.
41442 (platform): New variable.
41443 (pkglibdir): Likewise.
41444 Use PKGLIBDIR instead of PKGDATADIR.
41445
41446 * util/i386/pc/grub-install.in (datadir): Removed.
41447 (host_vendor): Likewise.
41448 (host_os): Likewise.
41449 (pkgdatadir): Likewise.
41450 (platform): New variable.
41451 (pkglibdir): Likewise.
41452 Use PKGLIBDIR instead of PKGDATADIR.
41453
41454 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41455 instead of GRUB_DATADIR.
41456 (main): Likewise.
41457 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41458 (main): Likewise.
41459 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41460 (main): Likewise.
41461
41462 * configure.ac (--with-platform): New option.
41463 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41464
41465 * Makefile.in: Include a makefile based on PLATFORM instead of
41466 HOST_VENDOR.
41467 (pkgdatadir): Not appended by the machine type.
41468 (pkglibdir): Appended by the machine type.
41469 (host_vendor): Removed.
41470 (platform): New variable.
41471 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41472 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41473 (uninstall): Likewise.
41474
41475 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41476
41477 Use the environment context in the menu. Remove the commands
41478 "default" and "timeout", and use variables instead.
41479
41480 * normal/menu.c: Include grub/env.h.
41481 (print_entry): Cast TITLE to silence gcc.
41482 (get_timeout): New function.
41483 (set_timeout): Likewise.
41484 (get_entry_number): Likewise.
41485 (run_menu): Use a default entry, a fallback entry and a timeout
41486 in the environment variables "default", "fallback" and
41487 "timeout". Also, tweak the default entry if it is not within the
41488 current menu entries.
41489 (grub_menu_run): Use a fallback entry in the environment variable
41490 "fallback".
41491
41492 * normal/main.c (read_config_file): Do not initialize
41493 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41494 NEWMENU->TIMEOUT.
41495 (grub_normal_execute): Use a data slot to store the menu.
41496
41497 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41498 fallback_entry and timeout.
41499 (struct grub_menu_list): Removed.
41500 (grub_menu_list_t): Likewise.
41501 (struct grub_context): Likewise.
41502 (grub_context_t): Likewise.
41503 (grub_context_get): Likewise.
41504 (grub_context_get_current_menu): Likewise.
41505 (grub_context_push_menu): Likewise.
41506 (grub_context_pop_menu): Likewise.
41507 (grub_default_init): Likewise.
41508 (grub_default_fini): Likewise.
41509 (grub_timeout_init): Likewise.
41510 (grub_timeout_fini): Likewise.
41511
41512 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41513 and timeout.mod.
41514 (normal_mod_SOURCES): Removed normal/context.c.
41515
41516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41517 commands/default.c, commands/timeout.c and normal/context.c.
41518 (normal_mod_SOURCES): Removed normal/context.c.
41519
41520 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41521 commands/timeout.c and normal/context.c.
41522 (normal_mod_SOURCES): Removed normal/context.c.
41523
41524 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41525 commands/default.c, commands/timeout.c and normal/context.c.
41526 (normal_mod_SOURCES): Removed normal/context.c.
41527
41528 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41529 timeout.mod.
41530 (default_mod_SOURCES): Removed.
41531 (default_mod_CFLAGS): Likewise.
41532 (default_mod_LDFLAGS): Likewise.
41533 (timeout_mod_SOURCES): Removed.
41534 (timeout_mod_CFLAGS): Likewise.
41535 (timeout_mod_LDFLAGS): Likewise.
41536
41537 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41538 normal/context.c.
41539
41540 * commands/default.c: Removed.
41541 * commands/timeout.c: Likewise.
41542 * normal/context.c: Likewise.
41543
41544 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41545
41546 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41547
41548 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41549
41550 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41551 "next" to "prev" for readability.
41552 (struct grub_env_sorted_var): New struct.
41553 (grub_env_context): Renamed to ...
41554 (initial_context): ... this.
41555 (grub_env_var_context): Renamed to ...
41556 (current_context): ... this.
41557 (grub_env_find): Look only at CURRENT_CONTEXT.
41558 (grub_env_context_open): Rewritten to copy exported variables from
41559 previous context.
41560 (grub_env_context_close): Rewritten according to the new
41561 scheme. Also, add an assertion to prevent the initial context from
41562 removed.
41563 (grub_env_insert): Removed the code for the sorted list.
41564 (grub_env_remove): Likewise.
41565 (grub_env_export): Simply mark the variable with
41566 GRUB_ENV_VAR_GLOBAL.
41567 (grub_env_set): A cosmetic change for naming consistency.
41568 (grub_env_get): Likewise.
41569 (grub_env_unset): Likewise.
41570 (grub_env_iterate): Rewritten to sort variables within this
41571 function.
41572 (grub_register_variable_hook): Fixed for naming consistency. Call
41573 grub_env_find again, only if NAME is not found at the first time.
41574 (mangle_data_slot_name): New function.
41575 (grub_env_set_data_slot): Likewise.
41576 (grub_env_get_data_slot): Likewise.
41577 (grub_env_unset_data_slot): Likewise.
41578
41579 * include/grub/env.h (grub_env_var_type): New enum.
41580 (GRUB_ENV_VAR_LOCAL): New constant.
41581 (GRUB_ENV_VAR_GLOBAL): Likewise.
41582 (GRUB_ENV_VAR_DATA): Likewise.
41583 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41584 "type".
41585 (grub_env_set): Replace VAR with NAME for consistency.
41586 (grub_register_variable_hook): Likewise.
41587 (grub_env_export): Specify the name of the argument.
41588 (grub_env_set_data_slot): New prototype.
41589 (grub_env_get_data_slot): Likewise.
41590 (grub_env_unset_data_slot): Likewise.
41591
41592 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41593
41594 Extend the loader so that GRUB can accept a loader which comes
41595 back to GRUB when a loaded image exits. Also, this change adds
41596 support for a chainloader on EFI.
41597
41598 * term/efi/console.c: Include grub/misc.h.
41599 (grub_console_checkkey): Display a scan code on the top for
41600 debugging. This will be removed once the EFI port gets stable.
41601 Correct the scan code mapping.
41602
41603 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41604 allocate memory from larger regions, in order to reduce the number
41605 of allocated regions. Otherwise, the MacOSX loader panics.
41606 (filter_memory_map): Avoid less than 1MB for compatibility with
41607 other loaders.
41608 (add_memory_regions): Allocate from the tail of a region, if
41609 possible, to avoid allocating a region near to 1MB, for the MacOSX
41610 loader.
41611
41612 * kern/efi/init.c (grub_efi_set_prefix): Specify
41613 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41614
41615 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41616 argument IMAGE_HANDLE and specify it to get a loaded image.
41617 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41618 grub_efi_get_loaded_image.
41619 (grub_efi_get_filename): Divide the length by the size of
41620 grub_efi_char16_t.
41621 (grub_efi_get_device_path): New function.
41622 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41623 the length by the size of grub_efi_char16_t for a file path device
41624 path node.
41625
41626 * kern/loader.c (grub_loader_noreturn): New variable.
41627 (grub_loader_set): Accept a new argument NORETURN. Set
41628 GRUB_LOADER_NORETURN to NORETURN.
41629 All callers changed.
41630 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41631 grub_machine_fini.
41632
41633 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41634 prototype.
41635 (grub_efi_get_loaded_image): Take an argument to specify an image
41636 handle.
41637
41638 * include/grub/loader.h (grub_loader_set): Added one more argument
41639 NORETURN.
41640
41641 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41642 instead of grub_efi_open_protocol.
41643 (grub_efidisk_get_device_name): Likewise.
41644 (grub_efidisk_close): Print a newline.
41645 (grub_efidisk_get_device_handle): Fixed to use
41646 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41647 GRUB_EFI_DEVICE_PATH_TYPE.
41648
41649 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41650 * kern/efi/efi.c (device_path_guid): ... here.
41651
41652 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41653 chain.mod.
41654 (kernel_mod_HEADERS): Added efi/disk.h.
41655 (_chain_mod_SOURCES): New variable.
41656 (_chain_mod_CFLAGS): Likewise.
41657 (_chain_mod_LDFLAGS): Likewise.
41658 (chain_mod_SOURCES): Likewise.
41659 (chain_mod_CFLAGS): Likewise.
41660 (chain_mod_LDFLAGS): Likewise.
41661
41662 * DISTLIST: Added include/grub/efi/chainloader.h,
41663 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41664
41665 * include/grub/efi/chainloader.h: New file.
41666 * loader/efi/chainloader.c: Likewise.
41667 * loader/efi/chainloader_normal.c: Likewise.
41668
41669 2006-04-30 Marco Gerards <marco@gnu.org>
41670
41671 * commands/configfile.c (grub_cmd_source): New function.
41672 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41673 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41674
41675 2006-04-30 Marco Gerards <marco@gnu.org>
41676
41677 * normal/execute.c (grub_script_execute_cmd): Change the return
41678 type to `grub_err_t'. Correctly return the error.
41679 (grub_script_execute_cmdline): In case a command line is not a
41680 command or a function, try to interpret it as an assignment.
41681
41682 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41683
41684 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41685 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41686 skip a node whose name is obviously invalid as UTF-16,
41687 i.e. contains a NUL character. Stop the iteration when the last
41688 directory entry is found. Instead of using the return value of
41689 grub_hfsplus_btree_iterate_node, store the value in RET and use
41690 it, because the iterator can be stopped by the last directory
41691 entry.
41692
41693 2006-04-30 Marco Gerards <marco@gnu.org>
41694
41695 * include/grub/env.h (grub_env_export): New prototype. Reported
41696 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41697
41698 2006-04-30 Marco Gerards <marco@gnu.org>
41699
41700 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41701 size of the extents in a catalog file record.
41702
41703 2006-04-29 Marco Gerards <marco@gnu.org>
41704
41705 * commands/configfile.c (grub_cmd_configfile): Execute the
41706 configfile within its own context.
41707
41708 * include/grub/env.h (grub_env_context_open): New prototype.
41709 (grub_env_context_close): Likewise.
41710
41711 * kern/env.c (grub_env): Removed.
41712 (grub_env_sorted): Likewise.
41713 (grub_env_context): New variable.
41714 (grub_env_var_context): Likewise.
41715 (grub_env_find): Search both the active context and the global
41716 context.
41717 (grub_env_context_open): New function.
41718 (grub_env_context_close): Likewise.
41719 (grub_env_insert): Likewise.
41720 (grub_env_remove): Likewise.
41721 (grub_env_export): Likewise.
41722 (grub_env_set): Changed to use helper functions to avoid code
41723 duplication.
41724 (grub_env_iterate): Rewritten so both the current context and the
41725 global context are being used.
41726
41727 * normal/command.c (export_command): New function.
41728 (grub_command_init): Register the `export' function.
41729
41730 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41731
41732 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41733 explicitly to suppress gcc's warnings.
41734 * fs/fat.c (grub_fat_find_dir): Likewise.
41735 (grub_fat_label): Likewise.
41736 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41737 (grub_xfs_mount): Likewise.
41738 (grub_xfs_label): Likewise.
41739 * fs/affs.c (grub_affs_mount): Likewise.
41740 (grub_affs_label): Likewise.
41741 (grub_affs_iterate_dir): Likewise.
41742 * fs/sfs.c (grub_sfs_mount): Likewise.
41743 (grub_sfs_iterate_dir): Likewise.
41744 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41745 * fs/hfs.c (grub_hfs_mount): Likewise.
41746 (grub_hfs_cmp_catkeys): Likewise.
41747 (grub_hfs_find_dir): Likewise.
41748 (grub_hfs_dir): Likewise.
41749 (grub_hfs_label): Likewise.
41750 * fs/jfs.c (grub_jfs_mount): Likewise.
41751 (grub_jfs_opendir): Likewise.
41752 (grub_jfs_getent): Likewise.
41753 (grub_jfs_lookup_symlink): Likewise.
41754 (grub_jfs_label): Likewise.
41755 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41756 (grub_hfsplus_iterate_dir): Likewise.
41757 (grub_hfsplus_btree_iterate_node): Made static.
41758
41759 * util/grub-emu.c (prefix): New variable.
41760 (grub_machine_set_prefix): New function.
41761 (main): Do not set the environment variable "prefix" here. Only
41762 set PREFIX, which is used later by grub_machine_set_prefix.
41763
41764 * include/grub/video.h: Do not include grub/symbol.h.
41765 (grub_video_register): Not exported. This symbol is not defined in
41766 the kernel.
41767 (grub_video_unregister): Likewise.
41768 (grub_video_iterate): Likewise.
41769 (grub_video_setup): Likewise.
41770 (grub_video_restore): Likewise.
41771 (grub_video_get_info): Likewise.
41772 (grub_video_get_blit_format): Likewise.
41773 (grub_video_set_palette): Likewise.
41774 (grub_video_get_palette): Likewise.
41775 (grub_video_set_viewport): Likewise.
41776 (grub_video_get_viewport): Likewise.
41777 (grub_video_map_color): Likewise.
41778 (grub_video_map_rgb): Likewise.
41779 (grub_video_map_rgba): Likewise.
41780 (grub_video_fill_rect): Likewise.
41781 (grub_video_blit_glyph): Likewise.
41782 (grub_video_blit_bitmap): Likewise.
41783 (grub_video_blit_render_target): Likewise.
41784 (grub_video_scroll): Likewise.
41785 (grub_video_swap_buffers): Likewise.
41786 (grub_video_create_render_target): Likewise.
41787 (grub_video_delete_render_target): Likewise.
41788 (grub_video_set_active_render_target): Likewise.
41789
41790 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41791 Undefined.
41792 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41793
41794 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41795 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41796 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41797 instead of $(srcdir)/genkernsyms.sh.
41798
41799 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41800 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41801 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41802 instead of $(srcdir)/genkernsyms.sh.
41803
41804 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41805 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41806 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41807 instead of $(srcdir)/genkernsyms.sh.
41808
41809 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41810 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41811 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41812 instead of $(srcdir)/genkernsyms.sh.
41813
41814 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41815 genkernsyms.sh.
41816
41817 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41818 genkernsyms.sh.
41819 (gensymlist.sh): New target.
41820 (genkernsyms.sh): Likewise.
41821
41822 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41823 genkernsyms.sh.in and gensymlist.sh.in.
41824
41825 * genkernsyms.sh: Removed.
41826 * gensymlist.sh: Likewise.
41827
41828 * genkernsyms.sh.in: New file.
41829 * gensymlist.sh.in: Likewise.
41830
41831 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41832
41833 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41834 clobber "prefix", since we may have already set it manually.
41835
41836 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41837
41838 * kern/misc.c (abort): New alias for grub_abort.
41839
41840 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41841
41842 A new machine-specific function "grub_machine_set_prefix" is
41843 defined. This is called after loading modules, so that a prefix
41844 initialization can use modules. Also, this change adds an
41845 intensive debugging feature for the memory manager via the
41846 configure option "--enable-mm-debug".
41847
41848 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41849 PART.LEN.
41850
41851 * kern/sparc64/ieee1275/init.c (abort): Removed.
41852 (grub_stop): Likewise.
41853 (grub_exit): New function.
41854 (grub_set_prefix): Renamed to ...
41855 (grub_machine_set_prefix): ... this.
41856 (grub_machine_init): Do not call grub_set_prefix.
41857
41858 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41859 (grub_machine_set_prefix): ... this.
41860 (grub_machine_init): Do not call grub_set_prefix.
41861
41862 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41863 (grub_machine_init): Do not set the prefix here.
41864
41865 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41866
41867 * kern/efi/init.c: Include grub/mm.h.
41868 (grub_efi_set_prefix): New function.
41869
41870 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41871 (grub_efi_get_filename): New function.
41872 (grub_print_device_path): Renamed to ...
41873 (grub_efi_print_device_path): ... this.
41874
41875 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41876 [MM_DEBUG] (grub_realloc): Likewise.
41877 [MM_DEBUG] (grub_free): Likewise.
41878 [MM_DEBUG] (grub_memalign): Likewise.
41879 [MM_DEBUG] (grub_mm_debug): New variable.
41880 [MM_DEBUG] (grub_debug_malloc): New function.
41881 [MM_DEBUG] (grub_debug_free): New function.
41882 [MM_DEBUG] (grub_debug_realloc): New function.
41883 [MM_DEBUG] (grub_debug_memalign): New function.
41884
41885 * kern/misc.c (grub_abort): Print a newline to distinguish
41886 the message.
41887
41888 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41889 grub_set_root_dev after loading modules. This is necessary when
41890 setting a prefix depends on modules.
41891
41892 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41893 (grub_efi_print_device_path): ... this.
41894 (grub_efi_get_filename): New prototype.
41895 (grub_efi_set_prefix): Likewise.
41896
41897 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41898 and grub/disk.h.
41899 (grub_efidisk_get_device_handle): New prototype.
41900 (grub_efidisk_get_device_name): Likewise.
41901
41902 * include/grub/mm.h: Include config.h.
41903 (MM_DEBUG): Removed.
41904 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41905 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41906 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41907 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41908 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41909 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41910 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41911 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41912 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41913
41914 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41915
41916 * disk/efi/efidisk.c: Include grub/partition.h.
41917 (iterate_child_devices): New function.
41918 (add_device): First, compare only last device path nodes, so that
41919 devices are sorted by the types.
41920 (grub_efidisk_get_device_handle): New function.
41921 (grub_efidisk_get_device_name): Likewise.
41922
41923 * configure.ac (--enable-mm-debug): New option to enable the
41924 memory manager debugging feature. This makes the binary much
41925 bigger, so is disabled by default.
41926
41927 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41928
41929 Use grub_abort instead of grub_stop, and grub_exit must be
41930 define in each architecture now. Also, this change adds support
41931 for EFI disks.
41932
41933 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41934 (grub_getkey): New function.
41935 (grub_term_get_current): Likewise.
41936
41937 * util/i386/pc/grub-setup.c: Include grub/term.h.
41938 (grub_getkey): New function.
41939 (grub_term_get_current): Likewise.
41940
41941 * util/misc.c (grub_stop): Renamed to ...
41942 (grub_exit): ... this.
41943
41944 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41945 (grub_exit): ... this.
41946 (grub_machine_init): Use grub_abort instead of abort.
41947 (grub_stop): Removed.
41948
41949 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41950 abort.
41951
41952 * kern/i386/pc/startup.S (grub_exit): New function.
41953 (cold_reboot): New label.
41954
41955 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41956 (grub_efi_init): Call grub_efidisk_init.
41957 (grub_efi_fini): Call grub_efidisk_fini.
41958
41959 * kern/efi/efi.c: Include grub/mm.h.
41960 (grub_efi_console_control_guid): Renamed to ...
41961 (console_control_guid): ... this.
41962 (grub_efi_loaded_image_guid): Renamed to ...
41963 (loaded_image_guid): ... this.
41964 (grub_efi_locate_handle): New function.
41965 (grub_efi_open_protocol): Likewise.
41966 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41967 GRUB_EFI_CONSOLE_CONTROL_GUID.
41968 (grub_efi_exit): Removed.
41969 (grub_stop): Likewise.
41970 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41971 (grub_exit): New function.
41972 (grub_print_device_path): Likewise.
41973
41974 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41975 (grub_enter_rescue_mode): Register "exit".
41976
41977 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41978 (grub_abort): New function.
41979
41980 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41981
41982 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41983
41984 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41985
41986 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41987 (grub_print_device_path): New prototype.
41988 (grub_efi_locate_handle): Likewise.
41989 (grub_efi_open_protocol): Likewise.
41990
41991 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41992 * disk/efi/efidisk.c: Likewise.
41993
41994 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41995
41996 * include/grub/efi/console_control.h
41997 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41998
41999 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42000 last 8 bytes as an array.
42001 (GRUB_EFI_DISK_IO_GUID): New macro.
42002 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42003 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42004 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42005 grub_uint8_t.
42006 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42007 (struct grub_efi_device_path): Rename the member "sub_type" to
42008 "subtype".
42009 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42010 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42011 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42012 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42013 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42014 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42015 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42016 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42017 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42018 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42019 (struct grub_efi_pci_device_path): New structure.
42020 (grub_efi_pci_device_path_t): New type.
42021 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42022 (struct grub_efi_pccard_device_path): New structure.
42023 (grub_efi_pccard_device_path_t): New type.
42024 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42025 (struct grub_efi_memory_mapped_device_path): New structure.
42026 (grub_efi_memory_mapped_device_path_t): New type.
42027 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42028 (struct grub_efi_vendor_device_path): New structure.
42029 (grub_efi_vendor_device_path_t): New type.
42030 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42031 (struct grub_efi_controller_device_path): New structure.
42032 (grub_efi_controller_device_path_t): New type.
42033 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42034 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42035 (struct grub_efi_acpi_device_path): New structure.
42036 (grub_efi_acpi_device_path_t): New type.
42037 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42038 (struct grub_efi_expanded_acpi_device_path): New structure.
42039 (grub_efi_expanded_acpi_device_path_t): New type.
42040 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42041 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42042 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42043 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42044 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42045 (struct grub_efi_atapi_device_path): New structure.
42046 (grub_efi_atapi_device_path_t): New type.
42047 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42048 (struct grub_efi_fibre_channel_device_path): New structure.
42049 (grub_efi_fibre_channel_device_path_t): New type.
42050 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42051 (struct grub_efi_1394_device_path): New structure.
42052 (grub_efi_1394_device_path_t): New type.
42053 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42054 (struct grub_efi_usb_device_path): New structure.
42055 (grub_efi_usb_device_path_t): New type.
42056 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42057 (struct grub_efi_usb_class_device_path): New structure.
42058 (grub_efi_usb_class_device_path_t): New type.
42059 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42060 (struct grub_efi_i2o_device_path): New structure.
42061 (grub_efi_i2o_device_path_t): New type.
42062 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42063 (struct grub_efi_mac_address_device_path): New structure.
42064 (grub_efi_mac_address_device_path_t): New type.
42065 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42066 (struct grub_efi_ipv4_device_path): New structure.
42067 (grub_efi_ipv4_device_path_t): New type.
42068 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42069 (struct grub_efi_ipv6_device_path): New structure.
42070 (grub_efi_ipv6_device_path_t): New type.
42071 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42072 (struct grub_efi_infiniband_device_path): New structure.
42073 (grub_efi_infiniband_device_path_t): New type.
42074 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42075 (struct grub_efi_uart_device_path): New structure.
42076 (grub_efi_uart_device_path_t): New type.
42077 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42078 (struct grub_efi_vendor_messaging_device_path): New structure.
42079 (grub_efi_vendor_messaging_device_path_t): New type.
42080 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42081 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42082 (struct grub_efi_hard_drive_device_path): New structure.
42083 (grub_efi_hard_drive_device_path_t): New type.
42084 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42085 (struct grub_efi_cdrom_device_path): New structure.
42086 (grub_efi_cdrom_device_path_t): New type.
42087 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42088 (struct grub_efi_vendor_media_device_path): New structure.
42089 (grub_efi_vendor_media_device_path_t): New type.
42090 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42091 (struct grub_efi_file_path_device_path): New structure.
42092 (grub_efi_file_path_device_path_t): New type.
42093 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42094 (struct grub_efi_protocol_device_path): New structure.
42095 (grub_efi_protocol_device_path_t): New type.
42096 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42097 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42098 (struct grub_efi_bios_device_path): New structure.
42099 (grub_efi_bios_device_path_t): New type.
42100 (struct grub_efi_disk_io): New structure.
42101 (grub_efi_disk_io_t): New type.
42102 (struct grub_efi_block_io_media): New structure.
42103 (grub_efi_block_io_media_t): New type.
42104 (struct grub_efi_block_io): New structure.
42105 (grub_efi_block_io_t): New type.
42106
42107 * include/grub/misc.h (grub_stop): Removed.
42108 (grub_exit): New prototype.
42109 (grub_abort): Likewise.
42110
42111 * include/grub/disk.h (enum grub_disk_dev_id): Added
42112 GRUB_DISK_DEVICE_EFIDISK_ID.
42113
42114 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42115 disk/efi/efidisk.c.
42116 (kernel_syms.lst): Remove the target if an error occurs.
42117
42118 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42119
42120 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42121 as it was simply too buggy.
42122
42123 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42124
42125 * kern/misc.c (grub_lltoa): New function.
42126 (grub_vsprintf): Added support for the long long suffix,
42127 i.e. "ll".
42128
42129 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42130
42131 * Makefile.in (LDFLAGS): Add variable.
42132 (LD): Remove variable.
42133 * configure.ac: Add -m32 to LDFLAGS.
42134 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42135 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42136 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42137 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42138 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42139 variables.
42140 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42141 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42142 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42143
42144 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42145
42146 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42147 length for unknown glyph.
42148
42149 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42150
42151 Add support for pre-loaded modules into the EFI port.
42152
42153 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42154 completely. Accept one more argument DIR. The caller has changed.
42155
42156 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42157
42158 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42159 (grub_efi_loaded_image_guid): New variable.
42160 (grub_efi_get_loaded_image): New function.
42161 (grub_arch_modules_addr): Likewise.
42162
42163 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42164 prototype.
42165
42166 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42167 (struct grub_efi_loaded_image): New structure.
42168 (grub_efi_loaded_image_t): New type.
42169
42170 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42171
42172 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42173 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42174 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42175
42176 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42177
42178 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42179
42180 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42181
42182 * DISTLIST: Added include/grub/efi/console.h,
42183 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42184 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42185
42186 * include/grub/efi/console.h: New file.
42187 * include/grub/efi/time.h: Likewise.
42188 * include/grub/i386/efi/kernel.h: Likewise.
42189 * kern/efi/init.c: Likewise.
42190 * kern/efi/mm.c: Likewise.
42191 * term/efi/console.c: Likewise.
42192
42193 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42194 (grub_stop): Removed.
42195 (grub_get_rtc): Likewise.
42196 (grub_machine_init): Simply call grub_efi_init.
42197 (grub_machine_fini): Call grub_efi_fini.
42198
42199 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42200 (grub_efi_output_string): Removed.
42201 (grub_efi_stall): New function.
42202 (grub_stop): Likewise.
42203 (grub_get_rtc): Likewise.
42204
42205 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42206 (grub_efi_stall): New prototype.
42207 (grub_efi_allocate_pages): Likewise.
42208 (grub_efi_free_pages): Likewise.
42209 (grub_efi_get_memory_map): Likewise.
42210 (grub_efi_mm_init): Likewise.
42211 (grub_efi_mm_fini): Likewise.
42212 (grub_efi_init): Likewise.
42213 (grub_efi_fini): Likewise.
42214
42215 * include/grub/i386/efi/time.h: Do not include
42216 grub/symbol.h. Include grub/efi/time.h.
42217 (GRUB_TICKS_PER_SECOND): Removed.
42218 (grub_get_rtc): Likewise.
42219
42220 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42221 Added padding. The EFI spec is buggy.
42222 (GRUB_EFI_BLACK): New macro.
42223 (GRUB_EFI_BLUE): Likewise.
42224 (GRUB_EFI_GREEN): Likewise.
42225 (GRUB_EFI_CYAN): Likewise.
42226 (GRUB_EFI_RED): Likewise.
42227 (GRUB_EFI_MAGENTA): Likewise.
42228 (GRUB_EFI_BROWN): Likewise.
42229 (GRUB_EFI_LIGHTGRAY): Likewise.
42230 (GRUB_EFI_BRIGHT): Likewise.
42231 (GRUB_EFI_DARKGRAY): Likewise.
42232 (GRUB_EFI_LIGHTBLUE): Likewise.
42233 (GRUB_EFI_LIGHTGREEN): Likewise.
42234 (GRUB_EFI_LIGHTCYAN): Likewise.
42235 (GRUB_EFI_LIGHTRED): Likewise.
42236 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42237 (GRUB_EFI_YELLOW): Likewise.
42238 (GRUB_EFI_WHITE): Likewise.
42239 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42240 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42241 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42242 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42243 (GRUB_EFI_BACKGROUND_RED): Likewise.
42244 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42245 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42246 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42247 (GRUB_EFI_TEXT_ATTR): Likewise.
42248
42249 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42250 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42251 (kernel_mod_HEADERS): Added efi/time.h.
42252
42253 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42254
42255 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42256 include/grub/efi/api.h, include/grub/efi/console_control.h,
42257 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42258 include/grub/i386/efi/time.h, kern/efi/efi.c,
42259 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42260 and util/i386/efi/grub-mkimage.c.
42261
42262 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42263
42264 * genmk.rb (PModule#rule): Do not export symbols if
42265 #{prefix}_EXPORTS is set to "no".
42266
42267 * conf/i386-efi.mk: New file.
42268 * conf/i386-efi.rmk: Likewise.
42269 * include/grub/efi/api.h: Likewise.
42270 * include/grub/efi/console_control.h: Likewise.
42271 * include/grub/efi/efi.h: Likewise.
42272 * include/grub/efi/pe32.h: Likewise.
42273 * include/grub/i386/efi/time.h: Likewise.
42274 * kern/efi/efi.c: Likewise.
42275 * kern/i386/efi/init.c: Likewise.
42276 * kern/i386/efi/startup.S: Likewise.
42277 * util/i386/efi/grub-mkimage.c: Likewise.
42278
42279 2006-04-17 Marco Gerards <marco@gnu.org>
42280
42281 * include/grub/script.h: Include <grub/parser.h> and
42282 "grub_script.tab.h".
42283 (struct grub_lexer_param): New struct.
42284 (struct grub_parser_param): Likewise.
42285 (grub_script_create_arglist): Pass the state in an argument.
42286 (grub_script_add_arglist): Likewise.
42287 (grub_script_create_cmdline): Likewise.
42288 (grub_script_create_cmdblock): Likewise.
42289 (grub_script_create_cmdif): Likewise.
42290 (grub_script_create_cmdmenu): Likewise.
42291 (grub_script_add_cmd): Likewise.
42292 (grub_script_arg_add): Likewise.
42293 (grub_script_lexer_ref): Likewise.
42294 (grub_script_lexer_deref): Likewise.
42295 (grub_script_lexer_record_start): Likewise.
42296 (grub_script_lexer_record_stop): Likewise.
42297 (grub_script_mem_record): Likewise.
42298 (grub_script_mem_record_stop): Likewise.
42299 (grub_script_malloc): Likewise.
42300 (grub_script_yylex): Likewise.
42301 (grub_script_yyparse): Likewise.
42302 (grub_script_yyerror): Likewise.
42303 (grub_script_yylex): Likewise.
42304 (grub_script_lexer_init): Return the state.
42305
42306 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42307 (grub_script_lexer_done): Likewise.
42308 (grub_script_lexer_getline): Likewise.
42309 (grub_script_lexer_refs): Likewise.
42310 (script): Likewise.
42311 (newscript): Likewise.
42312 (record): Likewise.
42313 (recording): Likewise.
42314 (recordpos): Likewise.
42315 (recordlen): Likewise.
42316 (grub_script_lexer_init): Return the state instead of setting
42317 global variables.
42318 (grub_script_lexer_ref): Use the newly added argument for state
42319 instead of globals.
42320 (grub_script_lexer_deref): Likewise.
42321 (grub_script_lexer_record_start): Likewise.
42322 (grub_script_lexer_record_stop): Likewise.
42323 (recordchar): Likewise.
42324 (nextchar): Likewise.
42325 (grub_script_yylex2): Likewise.
42326 (grub_script_yylex): Likewise.
42327 (grub_script_yyerror): Likewise.
42328
42329 * normal/parser.y (func_mem): Removed variable.
42330 (menu_entry): Likewise.
42331 (err): Likewise.
42332 (%lex-param): New parser option.
42333 (%parse-param): Likewise.
42334 (script): Always return the AST.
42335 (argument): Pass the state around.
42336 (arguments): Likewise.
42337 (grubcmd): Likewise.
42338 (commands): Likewise.
42339 (function): Likewise.
42340 (menuentry): Likewise.
42341 (if_statement): Likewise.
42342 (if): Likewise.
42343
42344 * normal/script.c (grub_script_memused): Removed variable.
42345 (grub_script_parsed): Likewise.
42346 (grub_script_malloc): Added a state argument. Use that instead of
42347 global variables.
42348 (grub_script_mem_record): Likewise.
42349 (grub_script_mem_record_stop): Likewise.
42350 (grub_script_arg_add): Likewise.
42351 (grub_script_add_arglist): Likewise.
42352 (grub_script_create_cmdline): Likewise.
42353 (grub_script_create_cmdif): Likewise.
42354 (grub_script_create_cmdmenu): Likewise.
42355 (grub_script_add_cmd): Likewise.
42356 (grub_script_parse): Setup the state before calling the parser.
42357
42358 2006-04-16 Marco Gerards <marco@gnu.org>
42359
42360 * normal/command.c (grub_command_init): Remove the title command.
42361
42362 * normal/lexer.c (grub_script_yylex): Renamed from this...
42363 (grub_script_yylex2): ... to this.
42364 (grub_script_yylex): New function. Temporary
42365 introduced to filter some tokens.
42366 (grub_script_yyerror): Print a newline.
42367
42368 * normal/main.c (read_config_file): Output information about the
42369 lines that contain errors. Wait for a key after all lines have
42370 been processed. Don't return an empty menu.
42371
42372 * normal/parser.y (func_mem): Don't initialize.
42373 (menu_entry): Likewise.
42374 (err): New variable.
42375 (script): Don't return anything when an error was encountered.
42376 (ws, returns): Removed rules.
42377 (argument): Disabled concatenated variable support.
42378 (arguments): Remove explicit separators.
42379 (grubcmd): Likewise.
42380 (function): Likewise.
42381 (menuentry): Likewise.
42382 (if): Likewise.
42383 (commands): Likewise. Add error handling.
42384
42385 * normal/script.c (grub_script_create_cmdline): If
42386 `grub_script_parsed' is 0, assume the parser encountered an error.
42387
42388 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42389
42390 * configure.ac: Add support for EFI. Fix the typo
42391 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42392
42393 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42394
42395 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42396 foreign multibyte characters should be shown correctly.
42397
42398 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42399
42400 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42401 calculation.
42402 (read_config_file): Made it to close file before returning.
42403
42404 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42405
42406 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42407 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42408 video/i386/pc/vbefill.c.
42409
42410 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42411 video/i386/pc/vbefill.c.
42412
42413 * include/grub/video.h (grub_video_blit_format): New enum.
42414 (grub_video_mode_info): Added new member blit_format.
42415 (grub_video_get_blit_format): New function prototype.
42416
42417 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42418 function prototype.
42419 (grub_video_vbe_map_rgb): Likewise.
42420 (grub_video_vbe_unmap_color): Likewise.
42421
42422 * include/grub/i386/pc/vbeblit.h: New file.
42423
42424 * include/grub/i386/pc/vbefill.h: New file.
42425
42426 * video/video.c (grub_video_get_blit_format): New function.
42427 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42428 (grub_video_vbe_map_rgb): Likewise.
42429 (grub_video_vbe_unmap_color): Likewise.
42430
42431 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42432 optimized fills.
42433 (grub_video_vbe_blit_render_target): Changed to use more optimized
42434 blits.
42435 (grub_video_vbe_setup): Added detection for optimized settings.
42436 (grub_video_vbe_create_render_target): Likewise.
42437
42438 * video/i386/pc/vbeblit.c: New file.
42439
42440 * video/i386/pc/vbefill.c: New file.
42441
42442 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42443
42444 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42445 here...
42446
42447 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42448 parsing to support both hex and dec ranges. If filename was missing
42449 show usage information.
42450
42451 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42452
42453 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42454 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42455
42456 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42457 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42458 (video_mod_SOURCES): Added.
42459 (video_mod_CFLAGS): Likewise.
42460 (video_mod_LDFLAGS): Likewise.
42461 (gfxterm_mod_SOURCES): Likewise.
42462 (gfxterm_mod_CFLAGS): Likewise.
42463 (gfxterm_mod_LDFLAGS): Likewise.
42464 (videotest_mod_SOURCES): Likewise.
42465 (videotest_mod_CFLAGS): Likewise.
42466 (videotest_mod_LDFLAGS): Likewise.
42467 (vesafb_mod_SOURCES): Removed.
42468 (vesafb_mod_CFLAGS): Likewise.
42469 (vesafb_mod_LDFLAGS): Likewise.
42470 (vga_mod_SOURCES): Likewise.
42471 (vga_mod_CFLAGS): Likewise.
42472 (vga_mod_LDFLAGS): Likewise.
42473
42474 * commands/videotest.c: New file.
42475
42476 * font/manager.c (fill_with_default_glyph): Modified to use
42477 grub_font_glyph.
42478 (grub_font_get_glyph): Likewise.
42479 (fontmanager): Renamed from this...
42480 (font_manager): ... to this.
42481
42482 * include/grub/font.h (grub_font_glyph): Added new structure.
42483 (grub_font_get_glyph): Modified to use grub_font_glyph.
42484
42485 * include/grub/misc.h (grub_abs): Added as inline function.
42486
42487 * include/grub/video.h: New file.
42488
42489 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42490 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42491 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42492 (grub_vbe_get_controller_info): Renamed from this...
42493 (grub_vbe_bios_get_controller_info): ... to this.
42494 (grub_vbe_get_mode_info): Renamed from this...
42495 (grub_vbe_bios_get_mode_info): ... to this.
42496 (grub_vbe_set_mode): Renamed from this...
42497 (grub_vbe_bios_set_mode): ... to this.
42498 (grub_vbe_get_mode): Renamed from this...
42499 (grub_vbe_bios_get_mode): ... to this.
42500 (grub_vbe_set_memory_window): Renamed from this...
42501 (grub_vbe_bios_set_memory_window): ... to this.
42502 (grub_vbe_get_memory_window): Renamed from this...
42503 (grub_vbe_bios_get_memory_window): ... to this.
42504 (grub_vbe_set_scanline_length): Renamed from this...
42505 (grub_vbe_set_scanline_length): ... to this.
42506 (grub_vbe_get_scanline_length): Renamed from this...
42507 (grub_vbe_bios_get_scanline_length): ... to this.
42508 (grub_vbe_set_display_start): Renamed from this...
42509 (grub_vbe_bios_set_display_start): ... to this.
42510 (grub_vbe_get_display_start): Renamed from this...
42511 (grub_vbe_bios_get_display_start): ... to this.
42512 (grub_vbe_set_palette_data): Renamed from this...
42513 (grub_vbe_bios_set_palette_data): ... to this.
42514 (grub_vbe_set_pixel_rgb): Removed.
42515 (grub_vbe_set_pixel_index): Likewise.
42516
42517 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42518 from this...
42519 (grub_vbe_bios_get_controller_info): ... to this.
42520 (grub_vbe_get_mode_info): Renamed from this...
42521 (grub_vbe_bios_get_mode_info): ... to this.
42522 (grub_vbe_set_mode): Renamed from this...
42523 (grub_vbe_bios_set_mode): ... to this.
42524 (grub_vbe_get_mode): Renamed from this...
42525 (grub_vbe_bios_get_mode): ... to this.
42526 (grub_vbe_set_memory_window): Renamed from this...
42527 (grub_vbe_bios_set_memory_window): ... to this.
42528 (grub_vbe_get_memory_window): Renamed from this...
42529 (grub_vbe_bios_get_memory_window): ... to this.
42530 (grub_vbe_set_scanline_length): Renamed from this...
42531 (grub_vbe_set_scanline_length): ... to this.
42532 (grub_vbe_get_scanline_length): Renamed from this...
42533 (grub_vbe_bios_get_scanline_length): ... to this.
42534 (grub_vbe_set_display_start): Renamed from this...
42535 (grub_vbe_bios_set_display_start): ... to this.
42536 (grub_vbe_get_display_start): Renamed from this...
42537 (grub_vbe_bios_get_display_start): ... to this.
42538 (grub_vbe_set_palette_data): Renamed from this...
42539 (grub_vbe_bios_set_palette_data): ... to this.
42540 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42541 getting corrupted after calling it. Added more pushes and pops.
42542 (grub_vbe_bios_set_mode): Likewise.
42543 (grub_vbe_bios_get_mode): Likewise.
42544 (grub_vbe_bios_get_memory_window): Likewise.
42545 (grub_vbe_bios_set_scanline_length): Likewise.
42546 (grub_vbe_bios_get_scanline_length): Likewise.
42547 (grub_vbe_bios_get_display_start): Likewise.
42548 (grub_vbe_bios_set_palette_data): Likewise.
42549
42550 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42551 (cl_insert): Likewise.
42552 (cl_delete): Likewise.
42553
42554 * term/gfxterm.c: New file.
42555
42556 * term/i386/pc/vesafb.c: Removed file.
42557
42558 * video/video.c: New file.
42559
42560 * video/i386/pc/vbe.c (real2pm): Added new function.
42561 (grub_video_vbe_draw_pixel): Likewise.
42562 (grub_video_vbe_get_video_ptr): Likewise.
42563 (grub_video_vbe_get_pixel): Likewise
42564 (grub_video_vbe_init): Likewise.
42565 (grub_video_vbe_fini): Likewise.
42566 (grub_video_vbe_setup): Likewise.
42567 (grub_video_vbe_get_info): Likewise.
42568 (grub_video_vbe_set_palette): Likewise.
42569 (grub_video_vbe_get_palette): Likewise.
42570 (grub_video_vbe_set_viewport): Likewise.
42571 (grub_video_vbe_get_viewport): Likewise.
42572 (grub_video_vbe_map_color): Likewise.
42573 (grub_video_vbe_map_rgb): Likewise.
42574 (grub_video_vbe_map_rgba): Likewise.
42575 (grub_video_vbe_unmap_color): Likewise.
42576 (grub_video_vbe_fill_rect): Likewise.
42577 (grub_video_vbe_blit_glyph): Likewise.
42578 (grub_video_vbe_blit_bitmap): Likewise.
42579 (grub_video_vbe_blit_render_target): Likewise.
42580 (grub_video_vbe_scroll): Likewise.
42581 (grub_video_vbe_swap_buffers): Likewise.
42582 (grub_video_vbe_create_render_target): Likewise.
42583 (grub_video_vbe_delete_render_target): Likewise.
42584 (grub_video_vbe_set_active_render_target): Likewise.
42585 (grub_vbe_set_pixel_rgb): Remove function.
42586 (grub_vbe_set_pixel_index): Likewise.
42587 (index_color_mode): Remove static variable.
42588 (active_mode): Likewise.
42589 (framebuffer): Likewise.
42590 (bytes_per_scan_line): Likewise.
42591 (grub_video_vbe_adapter): Added new static variable.
42592 (framebuffer): Likewise.
42593 (render_target): Likewise.
42594 (initial_mode): Likewise.
42595 (mode_in_use): Likewise.
42596 (mode_list): Likewise.
42597
42598 2006-03-10 Marco Gerards <marco@gnu.org>
42599
42600 * configure.ac (AC_INIT): Bumped to 1.93.
42601
42602 * DISTLIST: Added `include/grub/hfs.h'.
42603
42604 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42605
42606 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42607 18H, which might help the BIOS falling back to next boot media.
42608
42609 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42610
42611 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42612 Poe Chen <poe.poechen@gmail.com>.
42613
42614 2006-01-17 Marco Gerards <marco@gnu.org>
42615
42616 * include/grub/normal.h: Include <grub/script.h>.
42617 (grub_command_list): Removed struct.
42618 (grub_command_list_t): Removed type.
42619 (grub_menu_entry): Remove members `num' and `command_list'. Add
42620 members `commands' and `sourcecode'.
42621 * include/grub/script.h: Add inclusion guards.
42622 (grub_script_cmd_menuentry): New struct.
42623 (grub_script_execute_menuentry): New prototype.
42624 (grub_script_lexer_record_start): Likewise.
42625 (grub_script_lexer_record_stop): Likewise.
42626 * normal/execute.c (grub_script_execute_menuentry): New function.
42627 * normal/lexer.c (record, recording, recordpos, recordlen): New
42628 variables.
42629 (grub_script_lexer_record_start): New function.
42630 (grub_script_lexer_record_stop): Likewise.
42631 (recordchar): Likewise.
42632 (nextchar): Likewise.
42633 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42634 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42635 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42636 (current_menu): New variable.
42637 (free_menu): Mainly rewritten.
42638 (grub_normal_menu_addentry): New function.
42639 (read_config_file): Rewritten.
42640 * normal/menu.c (run_menu_entry): Mainly rewritten.
42641 * normal/menu_entry.c (make_screen): Rewritten the code to insert
42642 the menu entry.
42643 (run): Mainly rewritten.
42644 * normal/parser.y (menu_entry): New variable.
42645 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42646 (menuentry): New rule.
42647 (command): Add `menuentry'.
42648 (if_statement): Allow additional returns before `fi'.
42649 * normal/script.c (grub_script_create_cmdmenu): New function.
42650
42651 2006-01-03 Marco Gerards <marco@gnu.org>
42652
42653 * INSTALL: GNU Bison is required.
42654 * configure.ac: Rewritten the test to detect Bison.
42655 * Makefile.in (YACC): New variable. Reported by Xun Sun
42656 <xun.sun.cn@gmail.com>.
42657
42658 2006-01-03 Marco Gerards <marco@gnu.org>
42659
42660 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42661 the HFS+ filesystem to filesystem blocks.
42662 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42663 GCC warning is silenced.
42664
42665 2006-01-03 Marco Gerards <marco@gnu.org>
42666
42667 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42668 read from disk from big endian to host byte order.
42669
42670 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42671
42672 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42673 documentation.
42674 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42675 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42676 embedded HFS+ filesystem.
42677 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42678 (grub_hfs_sblock): Move from here...
42679 * include/grub/hfs.h: To here... New file.
42680 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42681 documentation.
42682 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42683 New macros.
42684 (grub_hfsplus_volheader): Change type of member `magic' to
42685 `grub_uint16_t'.
42686 (grub_hfsplus_data): Add new member `embedded_offset'.
42687 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42688 returned block.
42689 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42690 Calculate the offset.
42691
42692 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42693
42694 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42695 Removed.
42696 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42697
42698 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42699
42700 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42701 ENV->NAME is NULL after allocating ENV->VALUE.
42702
42703 2005-12-25 Marco Gerards <marco@gnu.org>
42704
42705 * kern/env.c (grub_env_set): Rewritten the error handling code.
42706
42707 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42708
42709 * geninit.sh: Made more robust, and more portable.
42710
42711 2005-12-25 Marco Gerards <marco@gnu.org>
42712
42713 Add support for Apple HFS+ filesystems.
42714
42715 * fs/hfsplus.c: New file.
42716
42717 * DISTLIST: Added `fs/hfsplus.c'.
42718
42719 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42720 (hfsplus_mod_SOURCES): New variable.
42721 (hfsplus_mod_CFLAGS): Likewise.
42722 (hfsplus_mod_LDFLAGS): Likewise.
42723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42724 (grub_setup_SOURCES): Likewise.
42725 (grub_mkdevicemap_SOURCES): Likewise.
42726 (grub_emu_SOURCES): Likewise.
42727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42728
42729 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42730
42731 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42732
42733 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42734
42735 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42736 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42737 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42738 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42739 normal/lexer.c, normal/parser.y, normal/script.c, and
42740 partmap/gpt.c.
42741 Removed kern/sparc64/cache.c.
42742
42743 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42744 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42745 grub_emu_init.c.
42746
42747 * configure.ac (AC_INIT): Bumped to 1.92.
42748
42749 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42750
42751 * kern/err.c (grub_error_push): Added new function to support error
42752 stacks.
42753 (grub_error_pop): Likewise.
42754 (grub_error_stack_items): New local variable to support error stacks.
42755 (grub_error_stack_pos): Likewise.
42756 (grub_error_stack_assert): Likewise.
42757 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42758 stack depth.
42759 (grub_print_error): Added support to print errors from error stack.
42760
42761 * include/grub/err.h (grub_error_push): Added function prototype.
42762 (grub_error_pop): Likewise.
42763
42764 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42765
42766 * configure.ac: Accept `powerpc64' as host_cpu.
42767 (amd64): Rename to `biarch32'.
42768
42769 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42770 non-cacheline-aligned addresses.
42771
42772 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42773 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42774 if `size' is non-zero.
42775
42776 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42777
42778 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42779 and `cd' to make sure the filename is not prefixed with a
42780 directory name.
42781 (pkgdata_MODULES): Add `gpt.mod'.
42782 (gpt_mod_SOURCES): New variable.
42783 (gpt_mod_CFLAGS): Likewise.
42784 (gpt_mod_LDFLAGS): Likewise.
42785
42786 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42787
42788 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42789 New macro.
42790
42791 * partmap/gpt.c: New file.
42792
42793 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42794 GPT partition map is detected.
42795
42796 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42797
42798 * commands/i386/pc/play.c: New file.
42799 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42800 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42801 macros.
42802
42803 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42804
42805 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42806 ((unused))' to silence gcc warning.
42807
42808 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42809
42810 * configure.ac: Correct `AC_PROG_YACC' test.
42811
42812 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42813
42814 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42815 check before installing files.
42816
42817 2005-11-22 Mike Small <smallm@panix.com>
42818
42819 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42820 number regex so multidigit numbers are recognized correctly.
42821
42822 2005-11-22 Mike Small <smallm@panix.com>
42823
42824 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42825 debugging message before attempting to claim memory.
42826 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42827 multiple addresses in case of failure.
42828
42829 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42830
42831 * term/tparm.c (get_space): Remove empty `if' statement.
42832
42833 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42834
42835 * kern/parser.c (check_varstate): Rename `state' to 's'.
42836
42837 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42838
42839 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42840 variable definitions to the beginning of each function. Sort stack
42841 variables by size.
42842 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42843 `buf' argument to `char *'.
42844
42845 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42846
42847 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42848 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42849 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42850 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42851 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42852 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42853 configfile.mod, search.mod, gzio.mod and test.mod.
42854 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42855 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42856 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42857 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42858 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42859 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42860 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42861 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42862 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42863 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42864 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42865 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42866 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42867 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42868 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42869 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42870 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42871 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42872 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42873 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42874 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42875 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42876 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42877
42878 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42879 `grep --include'.
42880 (pkgdata_MODULES): Add test.mod.
42881
42882 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42883
42884 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42885 appending to variables with "+=".
42886 (PModule): Use full pathname to generate *.lst filenames.
42887
42888 * Makefile.in: Fixed list rules moved from genmk.rb.
42889 (.DELETE_ON_ERROR): New special target.
42890 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42891
42892 * conf/i386-pc.rmk: Include conf/common.mk.
42893 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42894 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42895 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42896 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42897 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42898 configfile.mod, search.mod, gzio.mod and test.mod.
42899 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42900 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42901 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42902 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42903 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42904 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42905 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42906 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42907 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42908 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42909 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42910 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42911 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42912 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42913 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42914 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42915 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42916 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42917 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42918 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42919 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42920 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42921 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42922 here...
42923 * conf/common.rmk: ... to here. New file.
42924
42925 * conf/common.mk: New file.
42926
42927 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42928
42929 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42930 (grub_script.tab.c): ... here.
42931
42932 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42933 (grub_script.tab.c): ... here.
42934
42935 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42936 (grub_script.tab.c): ... here.
42937
42938 * normal/command.c (grub_command_find): Fixed a memory leak of
42939 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42940
42941 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42942
42943 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42944 "@" which marks the start of a comment on ARM.
42945 (VARIABLE): Likewise.
42946
42947 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42948
42949 Add support for Linux/ADFS partition tables.
42950
42951 * partmap/acorn.c: New file.
42952
42953 * include/grub/acorn_filecore.h: Likewise.
42954
42955 * DISTLIST: Added `partmap/acorn.c' and
42956 `include/grub/acorn_filecore.h'.
42957
42958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42959 `partmap/acorn.c'.
42960 (pkgdata_MODULES): Add `acorn.mod'.
42961 (acorn_mod_SOURCES): New variable.
42962 (acorn_mod_CFLAGS): Likewise.
42963
42964 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42965 `partmap/acorn.c'.
42966 (pkgdata_MODULES): Add `acorn.mod'.
42967 (acorn_mod_SOURCES): New variable.
42968 (acorn_mod_CFLAGS): Likewise.
42969
42970 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42971 (pkgdata_MODULES): Add `acorn.mod'.
42972 (acorn_mod_SOURCES): New variable.
42973 (acorn_mod_CFLAGS): Likewise.
42974 (acorn_mod_LDFLAGS): Likewise.
42975
42976 * include/types.h (grub_disk_addr_t): New typedef.
42977
42978 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42979
42980 * geninit.sh: New file.
42981
42982 * geninitheader.sh: Likewise.
42983
42984 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42985 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42986 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42987 * commands/configfile.c (grub_configfile_init)
42988 (grub_configfile_fini): Likewise.
42989 * commands/default.c (grub_default_init, grub_default_fini):
42990 Likewise.
42991 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42992 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42993 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42994 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42995 Likewise.
42996 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42997 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42998 Likewise.
42999 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
43000 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
43001 Likewise.
43002 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43003 Likewise.
43004 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
43005 Likewise.
43006 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43007 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43008 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43009 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43010 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43011 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43012 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43013 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43014 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43015 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43016 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43017 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43018 * partmap/amiga.c (grub_amiga_partition_map_init)
43019 (grub_amiga_partition_map_fini): Likewise.
43020 * partmap/apple.c (grub_apple_partition_map_init)
43021 (grub_apple_partition_map_fini): Likewise.
43022 * partmap/pc.c (grub_pc_partition_map_init)
43023 (grub_pc_partition_map_fini): Likewise.
43024 * partmap/sun.c (grub_sun_partition_map_init,
43025 grub_sun_partition_map_fini): Likewise.
43026 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43027 Likewise.
43028
43029 * util/grub-emu.c: Include <grub_modules_init.h>.
43030 (main): Don't initialize and de-initialize any modules directly,
43031 use `grub_init_all' and `grub_fini_all' instead.
43032
43033 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43034 `grub_vesafb_mod_init'.
43035 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43036 all users.
43037 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43038 `grub_vga_mod_init'. Updated all users.
43039 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
43040
43041 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43042 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43043 rules.
43044
43045 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43046 Generate a function to initialize the module in utilities.
43047 Updated all callers.
43048 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43049 initialize the module in utilities. Updated all callers.
43050
43051 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43052
43053 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43054 escape sequence and a literal ^L to clear the screen.
43055
43056 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43057 when returning from Open Firmware.
43058
43059 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43060
43061 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43062 (grub_ofconsole_height): Likewise.
43063 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43064 manually insert a '\n'.
43065 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43066 `grub_ofconsole_height'. Return early if these are already set.
43067
43068 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43069
43070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43071 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43072 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43073 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43074 and `normal/script.c'.
43075 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43076 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43077 (test_mod_SOURCES): New variable.
43078 (test_mod_CFLAGS): Likewise.
43079 (test_mod_LDFLAGS): Likewise.
43080 (pkgdata_MODULES): Add `test.mod'.
43081 (grub_script.tab.c): New rule.
43082 (grub_script.tab.h): Likewise.
43083
43084 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
43085
43086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43087 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43088 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43089 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43090 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43091 (test_mod_SOURCES): New variable.
43092 (test_mod_CFLAGS): Likewise.
43093 (pkgdata_MODULES): Add `test.mod'.
43094 (grub_script.tab.c): New rule.
43095 (grub_script.tab.h): Likewise.
43096
43097 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
43098
43099 Add initial scripting support.
43100
43101 * commands/test.c: New file.
43102 * include/grub/script.h: Likewise.
43103 * normal/execute.c: Likewise.
43104 * normal/function.c: Likewise.
43105 * normal/lexer.c: Likewise.
43106 * normal/parser.y: Likewise.
43107 * normal/script.c: Likewise.
43108
43109 * configure.ac: Add `AC_PROG_YACC' test.
43110
43111 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43112 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43113 `normal/function.c' and `normal/script.c'.
43114 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43115 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43116 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43117 variables.
43118 (pkgdata_MODULES): Add `test.mod'.
43119 (grub_script.tab.c): New rule.
43120 (grub_script.tab.h): Likewise.
43121
43122 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43123
43124 * include/grub/normal.h (grub_test_init): New prototype.
43125 (grub_test_fini): Likewise.
43126
43127 * normal/command.c: Include <grub/script.h>.
43128 (grub_command_execute): Rewritten.
43129
43130 * util/grub-emu.c (main): Call `grub_test_init' and
43131 `grub_test_fini'.
43132
43133 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43134
43135 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43136 to 0.
43137 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43138 there are no pending characters.
43139
43140 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43141
43142 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43143 `grub_strndup' to drop device arguments. Replace unnecessary
43144 `grub_strndup' with `grub_strdup'.
43145
43146 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43147
43148 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43149 `debug' environment variable has been set.
43150
43151 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
43152
43153 * Makefile.in (install-local): Use $(DATA).
43154 (uninstall): Likewise.
43155 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43156 (sbin_UTILITIES): ... to here.
43157 (sbin_SCRIPTS): New variable.
43158 (grub_install_SOURCES): New variable.
43159 * util/powerpc/ieee1275/grub-install.in: New file.
43160 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43161 variable.
43162 (add_segments): Call `grub_util_get_path'.
43163
43164 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43165
43166 From Timothy Baldwin:
43167 * commands/ls.c (grub_ls_list_files): Close FILE with
43168 grub_file_close.
43169 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43170
43171 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
43172
43173 * include/grub/parser.h: New file.
43174
43175 * kern/parser.c: Likewise.
43176
43177 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43178 (grub_setup_SOURCES): Likewise.
43179 (grub_probefs_SOURCES): Likewise.
43180 (grub_emu_SOURCES): Likewise.
43181 (kernel_img_HEADERS): Add `parser.h'.
43182
43183 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43184 (grub_emu_SOURCES): Add `kern/parser.c'.
43185 (grubof_SOURCES): Likewise.
43186
43187 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43188 (grubof_SOURCES): Add `kern/parser.c'.
43189
43190 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43191
43192 * kern/misc.c (grub_split_cmdline): Removed function.
43193
43194 * kern/rescue.c: Include <grub/parser.h>.
43195 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43196 of `grub_split_cmdline'.
43197
43198 * normal/command.c: Include <grub/parser.h>.
43199 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43200 of `grub_split_cmdline'.
43201
43202 * normal/completion.c: Include <grub/parser.h>.
43203 (cmdline_state): New variable.
43204 (iterate_dir): End the filename with a quote depending on the
43205 command line state.
43206 (get_state): new function.
43207 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43208 split the arguments and determine the current argument. When the
43209 argument string is not quoted, escape all spaces.
43210
43211 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43212
43213 * normal/sparc64/setjmp.S: New file.
43214
43215 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43216
43217 * include/grub/sparc64/libgcc.h: New file.
43218 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43219 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43220 normal/sparc64/setjmp.c.
43221
43222 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43223
43224 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43225 * kern/sparc64/cache.S: New file.
43226 * kern/sparc64/cache.c: Removed.
43227 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43228 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43229 -mtune=ultrasparc.
43230 (COMMON_LDFLAGS): Add -melf64_sparc.
43231 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43232 (grubof_SOURCES): Use cache.S instead of cache.c.
43233 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43234 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43235 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43236 commented though.
43237 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43238 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43239 (linux_mod_CFLAGS): Commented out.
43240 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43241 out because module isn't built.
43242 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43243 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43244 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43245 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43246 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43247 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43248 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43249 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43250 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43251 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43252 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43253 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43254 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43255 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43256
43257 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43258
43259 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43260 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43261 longer, because HFS should not be used on PC.
43262
43263 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43264
43265 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43266 consistently within the loop.
43267
43268 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43269
43270 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43271 directory can not be read.
43272
43273 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43274
43275 * configure.ac (AC_INIT): Increase the version number to 1.91.
43276
43277 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43278 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43279 term/i386/pc/serial.c.
43280
43281 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43282
43283 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43284 file size must be permitted.
43285
43286 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43287 between %ah and %al.
43288
43289 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43290
43291 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43292 grub_uint64_t.
43293 Call the hook with a NUL-terminated filename.
43294 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43295 grub_cpu_to_be32.
43296
43297 * kern/term.c (cursor_state): New variable.
43298 (grub_term_set_current): Reset the cursor state on a new
43299 terminal.
43300 (grub_setcursor): Rewritten to use CURSOR_STATE.
43301 (grub_getcursor): New function.
43302
43303 * include/grub/term.h (grub_getcursor): New prototype.
43304
43305 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43306 integers on ARM. Reported by Timothy Baldwin
43307 <T.E.Baldwin99@members.leeds.ac.uk>.
43308
43309 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43310
43311 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43312 allocated.
43313 (grub_sfs_dir): Likewise.
43314
43315 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43316
43317 Add support for the SFS filesystem.
43318
43319 * fs/sfs.c: New file.
43320
43321 * DISTLIST: Added `fs/sfs.c'.
43322
43323 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43324 (grub_probefs_SOURCES): Likewise.
43325 (grub_emu_SOURCES): Likewise.
43326 (pkgdata_MODULES): Add `sfs.mod'.
43327 (sfs_mod_SOURCES): New variable.
43328 (sfs_mod_CFLAGS): Likewise.
43329 (sfs_mod_LDFLAGS): Likewise.
43330
43331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43332 (pkgdata_MODULES): Add `sfs.mod'.
43333 (sfs_mod_SOURCES): New variable.
43334 (sfs_mod_CFLAGS): Likewise.
43335
43336 * util/grub-emu.c (main): Call `grub_sfs_init' and
43337 `grub_sfs_fini'.
43338
43339 * include/grub/fs.h (grub_sfs_init): New prototype.
43340 (grub_sfs_fini): Likewise.
43341
43342 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43343
43344 Add support for the AFFS filesystem.
43345
43346 * fs/affs.c: New file.
43347
43348 * DISTLIST: Added `fs/affs.c'.
43349
43350 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43351 (grub_probefs_SOURCES): Likewise.
43352 (grub_emu_SOURCES): Likewise.
43353 (pkgdata_MODULES): Add `affs.mod'.
43354 (affs_mod_SOURCES): New variable.
43355 (affs_mod_CFLAGS): Likewise.
43356 (affs_mod_LDFLAGS): Likewise.
43357
43358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43359 (pkgdata_MODULES): Add `affs.mod'.
43360 (affs_mod_SOURCES): New variable.
43361 (affs_mod_CFLAGS): Likewise.
43362
43363 * util/grub-emu.c (main): Call `grub_affs_init' and
43364 `grub_affs_fini'.
43365
43366 * include/grub/fs.h (grub_affs_init): New prototype.
43367 (grub_affs_fini): Likewise.
43368
43369 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43370
43371 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43372
43373 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43374
43375 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43376 `-m32' to CFLAGS.
43377
43378 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43379 linking.
43380
43381 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43382 (COMMON_LDFLAGS): New variable.
43383 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43384 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43385 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43386 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43387 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43388 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43389 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43390 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43391 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43392 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43393 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43394 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43395 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43396 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43397 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43398 variables.
43399 (normal_mod_ASFLAGS): Add `-m32'.
43400
43401 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43402 (grub_host_size_t, grub_host_ssize_t): New types.
43403 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43404 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43405 `GRUB_HOST_SIZEOF_VOID_P'.
43406
43407 * include/grub/kernel.h (struct grub_module_header): Type of
43408 member offset changed to `grub_host_off_t'. Type of member size
43409 changed to `grub_host_size_t'.
43410 (struct grub_module_info): Type of member offset changed to
43411 `grub_host_off_t'. Type of member size changed to
43412 `grub_host_size_t'.
43413
43414 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43415
43416 Make GRUB's kernel compliant to Multiboot Specification.
43417
43418 * kern/i386/pc/startup.S (multiboot_header): New label.
43419 (multiboot_entry): Likewise.
43420 (multiboot_trampoline): Likewise.
43421
43422 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43423 Increased to 0x4A0.
43424
43425 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43426 put parentheses after a question mark.
43427 [!GRUB_UTIL] (my_mod): New variable.
43428
43429 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43430
43431 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43432
43433 Adds support for the XFS filesystem. Btrees are not supported
43434 yet.
43435
43436 * fs/xfs.c: New file.
43437
43438 * DISTLIST: Added `fs/xfs.c'.
43439
43440 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43441 (grub_probefs_SOURCES): Likewise.
43442 (grub_emu_SOURCES): Likewise.
43443 (pkgdata_MODULES): Add `xfs.mod'.
43444 (xfs_mod_SOURCES): New variable.
43445 (xfs_mod_CFLAGS): Likewise.
43446
43447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43448 (pkgdata_MODULES): Add `xfs.mod'.
43449 (xfs_mod_SOURCES): New variable.
43450 (xfs_mod_CFLAGS): Likewise.
43451
43452 * util/grub-emu.c (main): Call `grub_xfs_init' and
43453 `grub_xfs_fini'.
43454
43455 * include/grub/fs.h (grub_xfs_init): New prototype.
43456 (grub_xfs_fini): Likewise.
43457
43458
43459 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43460
43461 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43462 color modes, allow greater than 16 colors to be configured as
43463 a default palette.
43464
43465 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43466
43467 * normal/completion.c (complete_arguments): Add the qualifier
43468 const into OPTIONS.
43469
43470 From Omniflux <omniflux+lists@omniflux.com>:
43471 * include/grub/terminfo.h: New file.
43472 * include/grub/tparm.h: Likewise.
43473 * include/grub/i386/pc/serial.h: Likewise.
43474 * term/terminfo.c: Likewise.
43475 * term/tparm.c: Likewise.
43476 * term/i386/pc/serial.c: Likewise.
43477 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43478 serial.mod.
43479 (terminfo_mod_SOURCES): New variable.
43480 (terminfo_mod_CFLAGS): Likewise.
43481 (serial_mod_SOURCES): Likewise.
43482 (serial_mod_CFLAGS): Likewise.
43483
43484 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43485
43486 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43487 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43488 and kern/powerpc/ieee1275/cmain.c, respectively.
43489
43490 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43491 * kern/powerpc/ieee1275/crt0.S: ... here.
43492
43493 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43494 * kern/powerpc/ieee1275/cmain.c: ... here.
43495
43496 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43497 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43498 instead of boot/powerpc/ieee1275/crt0.S and
43499 boot/powerpc/ieee1275/cmain.c, respectively.
43500
43501 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43502 sectors. It was not used anyway.
43503
43504 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43505
43506 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43507 `unused parameter' warning.
43508
43509 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43510
43511 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43512 function.
43513 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43514 getcharwidth.
43515
43516 2005-08-28 Marco Gerards <metgerards@student.han.nl>
43517
43518 * include/grub/normal.h (enum grub_completion_type): Added
43519 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43520
43521 * normal/cmdline.c (print_completion): Handle
43522 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43523 * normal/menu_entry.c (store_completion): Likewise.
43524
43525 * normal/completion.c (complete_arguments): New function.
43526 (grub_normal_do_completion): Call `complete_arguments' when the
43527 current words start with a dash.
43528
43529 2005-08-27 Marco Gerards <metgerards@student.han.nl>
43530
43531 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43532 `gzio.mod' instead of `io.mod').
43533
43534 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43535
43536 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43537 (DISTDIRS): Added io and video.
43538 Rewrite the search routine to make an output consistently.
43539
43540 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43541 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43542 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43543 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43544 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43545 util/powerpc/ieee1275/misc.c.
43546
43547 * include/grub/gzio.h: New file.
43548 * io/gzio.c: Likewise.
43549
43550 * kern/file.c (grub_file_close): Call grub_device_close only if
43551 FILE->DEVICE is not NULL.
43552
43553 * include/grub/mm.h [!NULL] (NULL): New macro.
43554
43555 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43556
43557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43558 (pkgdata_MODULES): Added gzio.mod.
43559 (gzio_mod_SOURCES): New variable.
43560 (gzio_mod_CFLAGS): Likewise.
43561
43562 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43563 (pkgdata_MODULES): Added gzio.mod.
43564 (gzio_mod_SOURCES): New variable.
43565 (gzio_mod_CFLAGS): Likewise.
43566
43567 * commands/cat.c: Include grub/gzio.h.
43568 (grub_cmd_cat): Use grub_gzfile_open instead of
43569 grub_file_open.
43570
43571 * commands/cmp.c: Include grub/gzio.h.
43572 (grub_cmd_cmp): Use grub_gzfile_open instead of
43573 grub_file_open.
43574
43575 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43576 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43577 grub_file_open.
43578 (grub_rescue_cmd_module): Likewise.
43579
43580 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43581
43582 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43583 kern/sparc64/ieee1275/init.c because it contains _start.
43584 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43585
43586 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43587
43588 * configure.ac: Add support for sparc64 host with ieee1275
43589 firmware.
43590 * configure: Generated from configure.ac.
43591 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43592 instead of int.
43593 (grub_ofdisk_read): Likewise.
43594 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43595 pointers as (void *) to remove a warning.
43596 (grub_ofdisk_close): Likewise.
43597 (grub_ofdisk_read): Likewise.
43598 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43599 returns, so make it return void to remove a warning.
43600 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43601 Corresponding prototype change.
43602 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43603 values, and cast the pointers as (void *) to remove a warning.
43604 (grub_mm_dump): Likewise.
43605 * conf/sparc64-ieee1275.mk: New file.
43606 * conf/sparc64-ieee1275.rmk: Likewise.
43607 * include/grub/sparc64/setjmp.h: Likewise.
43608 * include/grub/sparc64/types.h: Likewise.
43609 * include/grub/sparc64/ieee1275/console.h: Likewise.
43610 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43611 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43612 * include/grub/sparc64/ieee1275/time.h: Likewise.
43613 * kern/sparc64/cache.c: Likewise.
43614 * kern/sparc64/dl.c: Likewise.
43615 * kern/sparc64/ieee1275/init.c: Likewise.
43616 * kern/sparc64/ieee1275/openfw.c: Likewise.
43617
43618 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43619
43620 * util/console.c (grub_ncurses_putchar): If C is greater than
43621 0x7f, set C to a question mark.
43622 (grub_ncurses_getcharwidth): New function.
43623 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43624 getcharwidth.
43625
43626 * normal/menu.c (print_entry): Made aware of Unicode. First,
43627 convert TITLE to UCS-4, and predict the cursor position by
43628 grub_getcharwidth.
43629
43630 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43631 const to SRC.
43632 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43633
43634 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43635
43636 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43637 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43638 grub_strcat.
43639
43640 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43641 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43642 grub_strcpy and grub_strlen. Take it into account that a space
43643 character is inserted as a delimiter.
43644
43645 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43646
43647 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
43648 invalid magic in the error.
43649
43650 * commands/search.c: New file.
43651
43652 * util/grub-emu.c (main): Call grub_search_init and
43653 grub_search_fini.
43654
43655 * kern/rescue.c (grub_rescue_print_disks): Removed.
43656 (grub_rescue_print_devices): New function.
43657 (grub_rescue_cmd_ls): Use grub_device_iterate with
43658 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43659 grub_rescue_print_disks.
43660
43661 * kern/partition.c (grub_partition_iterate): Return the result of
43662 PARTMAP->ITERATE instead of GRUB_ERRNO.
43663
43664 * kern/device.c: Include grub/partition.h.
43665 (grub_device_iterate): New function.
43666
43667 * include/grub/partition.h (grub_partition_iterate): Return int
43668 instead of grub_err_t.
43669
43670 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43671 prototype.
43672 [GRUB_UTIL] (grub_search_fini): Likewise.
43673
43674 * include/grub/device.h (grub_device_iterate): New prototype.
43675
43676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43677 commands/search.c.
43678 (pkgdata_MODULES): Added search.mod.
43679 (search_mod_SOURCES): New variable.
43680 (search_mod_CFLAGS): Likewise.
43681
43682 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43683 (pkgdata_MODULES): Added search.mod.
43684 (search_mod_SOURCES): New variable.
43685 (search_mod_CFLAGS): Likewise.
43686
43687 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43688 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43689 All callers changed.
43690
43691 * DISTLIST: Added commands/search.c.
43692
43693 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43694
43695 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43696 conversion.
43697 (grub_getcharwidth): New function.
43698
43699 * kern/misc.c (grub_utf8_to_ucs4): New function.
43700
43701 * include/grub/term.h (struct grub_term): Added a new member
43702 "getcharwidth".
43703 (grub_getcharwidth): New prototype.
43704
43705 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43706
43707 * term/i386/pc/console.c (map_char): New function. Segregated from
43708 grub_console_putchar.
43709 (grub_console_putchar): Use map_char.
43710 (grub_console_getcharwidth): New function.
43711 (grub_console_term): Specified grub_console_getcharwidth as
43712 getcharwidth.
43713
43714 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43715 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43716
43717 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43718 GRUB_ERRNO.
43719 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43720 on grub_strtoul completely.
43721 (write_char): Declare local variables in the beginning of the
43722 function.
43723 (grub_vesafb_getcharwidth): New function.
43724 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43725 getcharwidth.
43726
43727 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43728
43729 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43730 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43731 commands/i386/pc/vbetest.c.
43732
43733 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43734 call grub_vbe_get_controller_info again, because the returned
43735 information is volatile.
43736 (grub_vbe_set_video_mode): Mostly rewritten.
43737 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43738 grub_vbe_status_t correctly.
43739 (grub_vbe_get_video_mode_info): Likewise.
43740 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43741 several if statements.
43742
43743 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43744 * commands/i386/pc/vbeinfo.c: ... this.
43745
43746 * commands/i386/pc/vbe_test.c: Renamed to ...
43747 * commands/i386/pc/vbetest.c: ... this.
43748
43749 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43750 ...
43751 (grub_cmd_vbeinfo): ... this. Save video modes before
43752 iterating. Skip a video mode, if it is not available, not enough
43753 information is given or it is monochrome. Show the memory
43754 model. Leave the interpretation of MODEVAR to grub_strtoul
43755 completely.
43756 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43757 (GRUB_MOD_FINI): Likewise.
43758
43759 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43760 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43761 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43762 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43763 grub_strtoul completely.
43764 (real2pm): Removed.
43765 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43766 (GRUB_MOD_FINI): Likewise.
43767
43768 * normal/misc.c: Include grub/mm.h.
43769
43770 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43771 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43772 (vbe_list_modes_mod_SOURCES): Removed.
43773 (vbe_list_modes_mod_CFLAGS): Likewise.
43774 (vbe_test_mod_SOURCES): Likewise.
43775 (vbe_test_mod_CFLAGS): Likewise.
43776 (vbeinfo_mod_SOURCES): New variable.
43777 (vbeinfo_mod_CFLAGS): Likewise.
43778 (vbetest_mod_SOURCES): Likewise.
43779 (vbetest_mod_CFLAGS): Likewise.
43780
43781 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43782
43783 * normal/misc.c: New file.
43784
43785 * DISTLIST: Added normal/misc.c.
43786
43787 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43788 DISK to HOOK. Call HOOK with DISK.
43789 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43790 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43791 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43792
43793 * normal/menu_entry.c (struct screen): Added a new member
43794 "completion_shown".
43795 (completion_buffer): New global variable.
43796 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43797 (store_completion): New function.
43798 (complete): Likewise.
43799 (clear_completions): Likewise.
43800 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43801 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43802 a tab, call complete.
43803
43804 * normal/completion.c (disk_dev): Removed.
43805 (print_simple_completion): Likewise.
43806 (print_partition_completion): Likewise.
43807 (print_func): New global variable.
43808 (add_completion): Do not take the arguments WHAT or PRINT any
43809 longer. Added a new argument TYPE. Instead of printing directly,
43810 call PRINT_FUNC if not NULL.
43811 All callers changed.
43812 (complete_device): Use a local variable DEV instead of
43813 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43814 (grub_normal_do_completion): Take a new argument HOOK. Do not
43815 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43816 empty string, return NULL instead.
43817 All callers changed.
43818
43819 * normal/cmdline.c (print_completion): New function.
43820
43821 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43822 to HOOK.
43823 All callers changed.
43824
43825 * kern/disk.c (grub_print_partinfo): Removed.
43826
43827 * include/grub/partition.h (struct grub_partition_map): Add a new
43828 argument DISK into HOOK of ITERATE.
43829 (grub_partition_iterate): Add a new argument DISK to HOOK.
43830
43831 * include/grub/normal.h (enum grub_completion_type): New enum.
43832 (grub_completion_type_t): New type.
43833 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43834 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43835 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43836 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43837 (grub_normal_do_completion): Added a new argument HOOK.
43838 (grub_normal_print_device_info): New prototype.
43839
43840 * include/grub/disk.h (grub_print_partinfo): Removed.
43841
43842 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43843 (normal_mod_SOURCES): Likewise.
43844 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43845 (normal_mod_SOURCES): Likewise.
43846
43847 * commands/ls.c (grub_ls_list_disks): Use
43848 grub_normal_print_device_info instead of grub_print_partinfo. Free
43849 PNAME.
43850 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43851 duplicating the code.
43852
43853 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43854
43855 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43856 follow GCS more precisely.
43857 * commands/i386/pc/vbe_test.c: Likewise.
43858 * include/grub/i386/pc/vbe.h: Likewise.
43859 * term/i386/pc/vesafb.c: Likewise.
43860 * video/i386/pc/vbe.c: Likewise.
43861
43862 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43863
43864 * DISTLIST: Added term/i386/pc/vesafb.c
43865 DISTLIST: Added video/i386/pc/vbe.c
43866 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43867 DISTLIST: Added commands/i386/pc/vbe_test.c.
43868 * commands/i386/pc/vbe_list_modes.c: New file.
43869 * commands/i386/pc/vbe_test.c: Likewise.
43870 * term/i386/pc/vesafb.c: Likewise.
43871 * video/i386/pc/vbe.c: Likewise.
43872 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43873 (grub_vbe_probe) Added prototype.
43874 (grub_vbe_set_video_mode) Likewise.
43875 (grub_vbe_get_video_mode) Likewise.
43876 (grub_vbe_get_video_mode_info) Likewise.
43877 (grub_vbe_set_pixel_rgb) Likewise.
43878 (grub_vbe_set_pixel_index) Likewise.
43879 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43880 (pkgdata_MODULES): Added vesafb.mod.
43881 (pkgdata_MODULES): Added vbe_list_modes.mod.
43882 (pkgdata_MODULES): Added vbe_test.mod.
43883 (vbe_mod_SOURCES): Added.
43884 (vbe_mod_CFLAGS): Likewise.
43885 (vesafb_mod_SOURCES): Likewise.
43886 (vesafb_mod_CFLAGS): Likewise.
43887 (vbe_list_modes_mod_SOURCES): Likewise.
43888 (vbe_list_modes_mod_CFLAGS): Likewise.
43889 (vbe_test_mod_SOURCES): Likewise.
43890 (vbe_test_mod_CFLAGS): Likewise.
43891
43892 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43893
43894 * normal/command.c (grub_command_execute): If INTERACTIVE is
43895 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43896 CMDLINE. Disable the pager if INTERACTIVE is true.
43897 All callers are changed.
43898
43899 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43900 before reading a config file.
43901 * normal/main.c (read_config_file): Even if a command is not
43902 found, register it if it is within an entry.
43903
43904 * util/grub-emu.c: Include sys/types.h and unistd.h.
43905 (options): Added --hold.
43906 (struct arguments): Added a new member "hold".
43907 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43908 missing.
43909 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43910 cleared by a debugger, if it is not zero.
43911
43912 * include/grub/normal.h (grub_command_execute): Add an argument
43913 INTERACTIVE.
43914
43915 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43916
43917 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43918
43919 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43920
43921 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43922 program with another one, because the old one didn't detect a bug
43923 in gcc-3.4. Always use regparm 2, because the new test is still
43924 not enough for gcc-4.0. Someone must investigate a simple test
43925 case which detects a bug in gcc-4.0.
43926
43927 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43928
43929 * DISTLIST: Added normal/completion.c.
43930
43931 * normal/completion.c: New file.
43932
43933 * term/i386/pc/console.c (grub_console_getwh): New function.
43934 (grub_console_term): Assign grub_console_getwh to getwh.
43935
43936 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43937 function is defined in normal/completion.c as
43938 grub_normal_do_completion.
43939 (grub_cmdline_get): Use grub_normal_do_completion instead of
43940 grub_tab_complete.
43941
43942 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43943 returns non-zero, otherwise return 0.
43944 (grub_partition_iterate): First, probe the partition map. Then,
43945 call ITERATE only for this partition map.
43946
43947 * kern/misc.c (grub_strncmp): Rewritten.
43948
43949 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43950 returns non-zero. Otherwise return 0.
43951
43952 * include/grub/partition.h (grub_partition_map_iterate): Return
43953 int instead of void.
43954
43955 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43956
43957 * include/grub/misc.h (grub_strncmp): Change the type of N to
43958 grub_size_t.
43959
43960 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43961 of void.
43962
43963 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43964 unsigned explicitly before comparing it with I.
43965
43966 * kern/main.c (grub_env_write_root): Add the attribute unused into
43967 VAR.
43968
43969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43970 normal/completion.c.
43971 (normal_mod_SOURCES): Likewise.
43972 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43973 (normal_mod_SOURCES): Likewise.
43974
43975 * normal/command.c (grub_iterate_commands): If ITERATE returns
43976 non-zero, return one immediately.
43977
43978 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43979
43980 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43981 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43982 descriptions.
43983 (grub_vbe_get_controller_info): New function.
43984 (grub_vbe_get_mode_info): Likewise.
43985 (grub_vbe_set_mode): Likewise.
43986 (grub_vbe_get_mode): Likewise.
43987 (grub_vbe_set_memory_window): Likewise.
43988 (grub_vbe_get_memory_window): Likewise.
43989 (grub_vbe_set_scanline_length): Likewise.
43990 (grub_vbe_get_scanline_length): Likewise.
43991 (grub_vbe_set_display_start): Likewise.
43992 (grub_vbe_get_display_start): Likewise.
43993 (grub_vbe_set_palette_data): Likewise.
43994 * include/grub/i386/pc/vbe.h: New file.
43995
43996 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43997
43998 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43999 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44000 * DISTLIST: Likewise.
44001 * kern/ieee1275/of.c: Moved to ...
44002 * kern/ieee1275/ieee1275.c: ... here.
44003
44004 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44005
44006 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44007 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44008 Pass 0 as `end' parameter to grub_strtoul().
44009
44010 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44011
44012 * include/grub/powerpc/ieee1275/console.h: Do not include
44013 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44014 ifdef.
44015 (grub_console_cur_color): Remove i386-specific prototype.
44016 (grub_console_real_putchar): Likewise.
44017 (grub_console_checkkey): Likewise.
44018 (grub_console_getkey): Likewise.
44019 (grub_console_getxy): Likewise.
44020 (grub_console_gotoxy): Likewise.
44021 (grub_console_cls): Likewise.
44022 (grub_console_setcursor): Likewise.
44023 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44024 Include <grub/machine/console.h>.
44025 * term/ieee1275/ofconsole.c: Likewise.
44026
44027 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44028
44029 * Makefile.in (LIBLZO): New variable.
44030
44031 * configure.ac: Check for LZO version 2.
44032
44033 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44034 lzo/lzo1x.h instead of lzo1x.h.
44035
44036 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44037 of -llzo.
44038
44039 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44040 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44041
44042 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44043 copying the data from PARTITION to P.
44044
44045 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44046
44047 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44048 negative, unload the module.
44049
44050 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44051 map is "pc_partition_map" but not "pc".
44052 (usage): Fix the description. The options are --boot-image and
44053 --core-image but not --boot-file or --core-file.
44054 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44055 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44056 DEFAULT_DIRECTORY.
44057
44058 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44059 --core-file. Specify INSTALL_DEVICE as an argument.
44060
44061 * util/console.c: Include config.h.
44062 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44063 [HAVE_NCURSES_H]: Include ncurses.h.
44064 [HAVE_CURSES_H]: Include curses.h.
44065 [!A_NORMAL] (A_NORMAL): Defined as zero.
44066 [!A_STANDOUT] (A_STANDOUT): Likewise.
44067
44068 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44069 -lncurses.
44070 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44071
44072 * configure.ac: Check for curses libraries and headers.
44073
44074 * Makefile.in (LIBCURSES): New variable.
44075
44076 * genmk.rb (Script::rule): Set the executable bits.
44077
44078 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44079 name of the PC partition map is "pc_partition_map" but not "pc".
44080
44081 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44082
44083 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44084 (modules): Likewise.
44085 (usage): Added descriptions for --modules and --grub-probefs.
44086 Handle --modules and --grub-probefs. Save the arguments in MODULES
44087 and GRUB_PROBEFS, respectively.
44088 Auto-detect a filesystem module against GRUBDIR. If the result is
44089 empty and modules are not specified explicitly, abort the
44090 installation. Add the result to MODULES.
44091
44092 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44093 disk/powerpc/ieee1275/ofdisk.c,
44094 include/grub/powerpc/ieee1275/init.h and
44095 term/powerpc/ieee1275/ofconsole.c.
44096 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44097 term/ieee1275/ofconsole.c.
44098
44099 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44100
44101 * COPYING: Upgraded to the latest version. Only the address of the
44102 FSF office has changed.
44103
44104 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44105
44106 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44107 kern/ieee1275.c with kern/ieee1275/of.c.
44108
44109 * kern/ieee1275.c: Moved to ...
44110 * kern/ieee1275/of.c: ... here.
44111
44112 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44113
44114 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
44115 readability.
44116
44117 * config.guess: Updated to the latest version from gnulib.
44118 * config.sub: Likewise.
44119 * install.sh: Likewise.
44120 * mkinstalldirs: Likewise.
44121
44122 * include/grub/console.h: Removed. This file is arch-specific. Do
44123 not put this in include/grub.
44124
44125 * include/grub/i386/pc/console.h: Resurrected.
44126
44127 * util/console.c: Include grub/machine/console.h instead of
44128 grub/console.h.
44129 * util/grub-emu.c: Likewise.
44130
44131 2005-08-04 Marco Gerards <metgerards@student.han.nl>
44132
44133 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44134 hardcoded value.
44135
44136 From Vincent Pelletier <subdino2004@yahoo.fr>
44137 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44138 Redefined to use grub_getwh.
44139 (grub_term): New member named getwh.
44140 (grub_getwh): New prototype.
44141 * kern/term.c (grub_getwh): New function.
44142 * term/i386/pc/console.c (grub_console_getwh): New function.
44143 (grub_console_term): New member `getwh'.
44144 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44145 (grub_vga_term): New member `getwh'.
44146 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
44147 grub_ssize_t.
44148 (grub_ofconsole_getw): New function.
44149 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44150 (grub_ofconsole_term): New field named getwh and new initial
44151 value.
44152
44153 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44154
44155 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44156 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44157 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44158 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44159 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44160 of <grub/machine/ieee1275.h>.
44161 * commands/ieee1275/reboot.c: Likewise.
44162 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44163 * kern/ieee1275.c: ... to here. All users updated. Change all
44164 parameter structs to use new type `grub_ieee1275_cell_t'.
44165 * term/powerpc/ieee1275/ofconsole.c: Move ...
44166 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44167 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44168 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44169 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44170 to return int.
44171 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44172 Remove unused prototypes. All users updated.
44173 * include/grub/powerpc/ieee1275/console.h: Removed.
44174 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44175 `grub_ieee1275_cell_t'.
44176 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44177 Cast comparisons with -1 to the correct type.
44178 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44179 type to match `grub_ieee1275_entry_fn'.
44180
44181 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44182
44183 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44184
44185 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44186 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44187 partmap/sun.c.
44188 (grub_probefs_SOURCES): New variable.
44189
44190 * util/i386/pc/grub-probefs.c: New file.
44191
44192 * util/i386/pc/grub-setup.c (main): Call
44193 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44194 grub_hfs_init and grub_jfs_init to initialize the system. Call
44195 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44196 grub_pc_partition_map_fini to finish the system.
44197
44198 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44199
44200 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44201 function.
44202 (grub_multiboot_load_elf32): Likewise.
44203 (grub_multiboot_is_elf64): Likewise.
44204 (grub_multiboot_load_elf64): Likewise.
44205 (grub_multiboot_load_elf): Likewise.
44206 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44207 an ELF32 or ELF64 file.
44208 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44209
44210 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44211 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44212 NULL before calling FS->LABEL.
44213 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44214 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44215 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44216 before calling FS->LABEL.
44217
44218 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44219
44220 * util/i386/pc/grub-install.in (datadir): New variable.
44221 (libdir): Removed.
44222 (pkgdatadir): New variable.
44223 (pkglibdir): Removed.
44224
44225 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44226
44227 * DISTLIST: Added util/i386/pc/grub-install.in.
44228
44229 * util/i386/pc/grub-install.in: New file.
44230
44231 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44232 (grub_install_SOURCES): Likewise.
44233
44234 * genmk.rb: Added support for scripts.
44235 (Script): New class.
44236 (scripts): New variable.
44237
44238 * Makefile.in (install-local): Install sbin_SCRIPTS by
44239 INSTALL_SCRIPT.
44240 (uninstall): Remove sbin_SCRIPTS.
44241
44242 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44243 device, try to get a GRUB device by
44244 grub_util_biosdisk_get_grub_dev.
44245 Free DEST_DEV.
44246
44247 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44248 description for --device-map.
44249
44250 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44251
44252 Change the semantics of variable hooks. They now return strings
44253 instead of error values.
44254
44255 * util/i386/pc/grub-setup.c: Include grub/env.h.
44256 (setup): Use grub_device_set_root instead of grub_env_set.
44257
44258 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44259 grub_env_get instead of grub_device_set_root and
44260 grub_device_get_root, respectively.
44261
44262 * kern/main.c (grub_env_write_root): New function.
44263 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44264 grub_env_set instead of grub_device_set_root.
44265
44266 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44267 many variables.
44268 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44269 rather than calling ENV->WRITE_HOOK afterwards.
44270 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44271 passing a pointer of a pointer.
44272 (grub_register_variable_hook): Change the types of "read_hook" and
44273 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44274 respectively.
44275 Allocate the default empty string on the heap, because this string
44276 may be freed later.
44277
44278 * kern/device.c: Include grub/env.h.
44279 (grub_device_set_root): Removed.
44280 (grub_device_get_root): Likewise.
44281 (grub_device_open): Use grub_env_get instead of
44282 grub_device_get_root.
44283
44284 * include/grub/env.h (grub_env_read_hook_t): New type.
44285 (grub_env_write_hook_t): Likewise.
44286 (grub_env_var): Change the types of "read_hook" and "write_hook"
44287 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44288 (grub_register_variable_hook): Likewise.
44289
44290 * include/grub/device.h (grub_device_set_root): Removed.
44291 (grub_device_set_root): Likewise.
44292
44293 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44294 make sure that DIRNAME terminates with '/', so that
44295 grub_fat_find_dir will fail if PATH is not a directory.
44296
44297 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44298 from DIRNAME.
44299 Use the qualifier auto for print_files and print_files_long.
44300 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44301 as a regular file.
44302 Put a newline only if there is no error.
44303 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44304 used.
44305
44306 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44307
44308 * kern/partition.c (grub_partition_probe): Initialize PART to
44309 NULL. Otherwise, when no partition map is registered, this returns
44310 a garbage.
44311
44312 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44313
44314 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44315 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44316 valid.
44317
44318 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44319
44320 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44321 information on each device, if it does not have partitions. Print
44322 "Device" instead of "Disk", because this function is not specific
44323 to disk devices.
44324
44325 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44326 static to ensure that it is put on the memory rather than a
44327 register.
44328
44329 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44330
44331 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44332 (grub_cat_init): Likewise.
44333 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44334 (options): Likewise.
44335 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44336 (grub_configfile_init): Likewise.
44337 * font/manager.c (GRUB_MOD_INIT): Likewise.
44338 * commands/help.c (GRUB_MOD_INIT): Likewise.
44339 (grub_help_init): Likewise.
44340 * normal/command.c (grub_command_init): Likewise.
44341 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44342 * disk/loopback.c (grub_loop_init): Likewise.
44343 (GRUB_MOD_INIT): Likewise.
44344 * commands/ls.c (grub_ls_init): Likewise.
44345 (GRUB_MOD_INIT): Likewise.
44346 (options): Likewise.
44347 * commands/boot.c (grub_boot_init): Likewise.
44348 (GRUB_MOD_INIT): Likewise.
44349 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44350 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44351 (GRUB_MOD_INIT): Likewise.
44352 * commands/cmp.c (grub_cmp_init): Likewise.
44353 (GRUB_MOD_INIT): Likewise.
44354
44355 * normal/arg.c: Use <> instead of "" to include header files.
44356 (SHORT_ARG_HELP): New macro.
44357 (SHORT_ARG_USAGE): Likewise.
44358 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44359 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44360 descriptions.
44361 (find_short): Check if C is 'h' or 'u' explicitly.
44362 (grub_arg_show_help): Use space characters instead of tabs. Treat
44363 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44364 are shown with --help and --usage only if they are not used for
44365 the command itself.
44366 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44367 'h' and 'u'.
44368
44369 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44370 const into "longarg". Change the type of "shortarg" to int.
44371
44372 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44373
44374 * boot/i386/pc/boot.S (boot_drive_check): New label.
44375
44376 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44377 macro.
44378
44379 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44380 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44381
44382 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44383
44384 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44385 When turning off Gate A20, skip the check and return immediately,
44386 because this is not fatal usually.
44387
44388 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44389
44390 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44391 be 0x7C00 instead of 0x8000.
44392
44393 * boot/i386/pc/pxeboot.S: Rewritten.
44394
44395 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44396 EXT_C.
44397 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44398 result.
44399
44400 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44401
44402 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44403 robustness. This routine now supports a BIOS call and System
44404 Control Port A to modify the gate A20.
44405
44406 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44407 Increased to 0x440.
44408
44409 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44410
44411 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44412 device path and resulting ihandle.
44413 (grub_ofdisk_close): dprintf the ihandle being closed.
44414 (grub_ofdisk_read): dprintf function parameters.
44415 * kern/mm.c (grub_mm_init_region): Likewise.
44416 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44417 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44418 size, and boot arguments.
44419 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44420 before loading into memory.
44421 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44422 before loading into memory.
44423
44424 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44425
44426 * kern/mm.c: Added much documentation.
44427 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44428 8, set to 5 instead of 8.
44429
44430 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44431
44432 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44433
44434 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44435 (grub_mkdevicemap_SOURCES): New variable.
44436
44437 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44438 lib/device.c of GRUB Legacy.
44439
44440 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44441
44442 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44443 instead of PATH is NULL.
44444
44445 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44446
44447 * commands/cmp.c (BUFFER_SIZE): New macro.
44448 (grub_cmd_cmp): Close the right file at the right time. Compare
44449 only data just read. Don't report files of different size as
44450 identical. Dynamically allocate buffers. Move variable
44451 declarations at the beginning of function.
44452
44453 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44454
44455 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44456 reverse.
44457
44458 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44459
44460 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44461 when backspace is pressed at beginning of line.
44462
44463 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44464
44465 * DISTLIST: Added genfslist.sh.
44466
44467 * normal/main.c (fs_module_list): New variable.
44468 (autoload_fs_module): New function.
44469 (read_fs_list): Likewise.
44470 (grub_normal_execute): Call read_fs_list.
44471
44472 * kern/fs.c (grub_fs_autoload_hook): New variable.
44473 (grub_fs_probe): Added support for auto-loading.
44474
44475 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44476 (grub_fs_module_list_t): New type.
44477
44478 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44479 (grub_fs_autoload_hook): New prototype.
44480
44481 * genfslist.sh: New file.
44482
44483 * genmk.rb: Added a rule to generate a filesystem list.
44484
44485 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44486
44487 * configure.ac: Fix the test for cross-compiling.
44488
44489 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44490 define GRUB_UTIL anymore.
44491
44492 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44493 so this function works on other systems than just big endian.
44494 (load_modules): Likewise.
44495 (add_segments): Likewise.
44496
44497 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44498
44499 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44500 contains `l' modifier, get a long from va_arg().
44501
44502 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44503
44504 * kern/mm.c (grub_free): If the next free block which is being
44505 merged is the first free block, set the first block to the block
44506 being freed.
44507 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44508
44509 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44510
44511 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44512 `grub_ieee1275_chosen'.
44513
44514 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44515
44516 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44517 (grub_ieee1275_chosen): New variable.
44518 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44519 `chosen'.
44520 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44521 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44522 Rename first argument to `phandle' for consistency.
44523 (grub_ieee1275_get_property_length): Likewise.
44524 (grub_ieee1275_next_property): Likewise. Change type of first argument
44525 to grub_ieee1275_phandle_t.
44526 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44527 Move export next to declaration.
44528 (grub_ieee1275_chosen): New variable.
44529 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44530 Correct cosmetic typo.
44531 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44532 `grub_ieee1275_chosen'.
44533 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44534 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44535 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44536 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44537 `grub_ieee1275_chosen'.
44538
44539 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44540
44541 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44542 /chosen/bootargs.
44543 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44544 /chosen/bootargs as "variable=value" pairs.
44545
44546 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44547
44548 * include/grub/misc.h (grub_dprintf): New macro.
44549 (grub_real_dprintf): New prototype.
44550 (grub_strword): Likewise.
44551 (grub_iswordseparator): Likewise.
44552 * kern/misc.c (grub_real_dprintf): New function.
44553 (grub_strword): Likewise.
44554 (grub_iswordseparator): Likewise.
44555
44556 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44557
44558 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44559 (roundup): Remove macro.
44560 (grub_ieee1275_flags): Make static.
44561 (grub_ieee1275_realmode): Remove.
44562 (grub_ieee1275_test_flag): New function.
44563 (grub_ieee1275_set_flag): Likewise.
44564 (find_options): Rename to `grub_ieee1275_find_options'; update
44565 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44566 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44567 (cmain): New prototype.
44568 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44569 `grub_ieee1275_flags' directly.
44570 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44571 machine/biosdisk.h.
44572 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44573 Don't include grub/machine/init.h.
44574 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44575 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44576 Remove prototype.
44577 (grub_ieee1275_realmode): Likewise.
44578 (grub_ieee1275_flag): New enum.
44579 (grub_ieee1275_test_flag): New prototype.
44580 (grub_ieee1275_set_flag): New prototype.
44581 * include/grub/powerpc/ieee1275/init.h: Remove file.
44582 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44583 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44584 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44585 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44586 comment.
44587 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44588 `grub_ieee1275_test_flag'.
44589 (grub_ieee1275_encode_devname): Likewise.
44590
44591 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44592
44593 * include/grub/powerpc/ieee1275/ieee1275.h
44594 (grub_ieee1275_encode_devname): New prototype.
44595 (grub_ieee1275_get_filename): Likewise.
44596 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44597 function.
44598 (grub_set_prefix): Likewise.
44599 (grub_machine_init): Call grub_set_prefix.
44600 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44601 (grub_parse_type): New enum.
44602 (grub_ieee1275_get_devargs): New function.
44603 (grub_ieee1275_get_devname): Likewise.
44604 (grub_ieee1275_parse_args): Likewise.
44605 (grub_ieee1275_get_filename): Likewise.
44606 (grub_ieee1275_encode_devname): Likewise.
44607
44608 2005-03-30 Marco Gerards <metgerards@student.han.nl>
44609
44610 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44611 `grub_loader_unset'.
44612
44613 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44614
44615 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44616 instead of grub_ieee1275_interpret.
44617 (grub_halt_init): New function.
44618 (grub_halt_fini): Likewise.
44619 (GRUB_MOD_INIT): Correct message grammar.
44620 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44621 instead of grub_ieee1275_interpret.
44622 (grub_reboot_init): New function.
44623 (grub_reboot_fini): Likewise.
44624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44625 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44626 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44627 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44628 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44629 function.
44630 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44631 Add prototype.
44632 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44633 prototype.
44634 (grub_halt): Likewise.
44635 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44636 (cmain): Remove __attribute__((unused)).
44637 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44638 (grub_heap_len): Likewise.
44639 (grub_machine_fini): New function.
44640 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44641 (grub_halt): Likewise.
44642 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44643 function.
44644 * util/powerpc/ieee1275/misc.c: New file.
44645
44646 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44647
44648 * DISTLIST: New file.
44649 * gendistlist.sh: Likewise.
44650
44651 * Makefile.in (COMMON_DISTFILES): Removed.
44652 (BOOT_DISTFILES): Likewise.
44653 (CONF_DISTFILES): Likewise.
44654 (DISK_DISTFILES): Likewise.
44655 (FS_DISTFILES): Likewise.
44656 (INCLUDE_DISTFILES): Likewise.
44657 (KERN_DISTFILES): Likewise.
44658 (LOADER_DISTFILES): Likewise.
44659 (TERM_DISTFILES): Likewise.
44660 (UTIL_DISTFILES): Likewise.
44661 (DISTFILES): Likewise.
44662 (uninstall): Uninstall files in $(pkgdata_DATA).
44663 (DISTLIST): New target.
44664 (distdir): Use the contents of the file DISTLIST to get a list of
44665 distributed files.
44666
44667 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44668
44669 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44670 descriptor. This is ported from GRUB Legacy.
44671
44672 * gencmdlist.sh: Added an extra semicolon to make it work with
44673 old sed versions. Reported by Robert Bihlmeyer
44674 <robbe@orcus.priv.at>.
44675
44676 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
44677
44678 Automatic loading of commands is supported.
44679
44680 * normal/main.c (read_command_list): New function.
44681 (grub_normal_execute): Call read_command_list.
44682
44683 * normal/command.c (grub_register_command): Return zero or CMD.
44684 Allocate CMD->NAME from the heap.
44685 Initialize CMD->MODULE_NAME to zero.
44686 Find the same name as well. If the same command is found and it is
44687 a dummy command, overwrite members. If it is not a dummy command,
44688 return zero.
44689 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44690 (grub_command_find): If a dummy command is found, load a module
44691 and retry to find a command only once.
44692
44693 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44694 make sure that each command is loaded.
44695
44696 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44697 macro.
44698 (struct grub_command): Remove const from the member `name'.
44699 Add a new member `module_name'.
44700 (grub_register_command): Return grub_command_t.
44701
44702 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44703 sure that each command is loaded.
44704
44705 * genmk.rb (PModule::rule): Specify a module name without the
44706 suffix ".mod" to gencmdlist.sh.
44707
44708 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44709
44710 * gencmdlist.sh: New file.
44711
44712 * genmk.rb (PModule::rule): Generate a rule for a command list.
44713 Clean command.lst.
44714 Generate command.lst from $(COMMANDFILES).
44715
44716 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44717 (DATA): Added $(pkgdata_DATA).
44718 (install-local): Install files in $(pkgdata_DATA).
44719
44720 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44721
44722 * term/i386/pc/vga.c (debug_command): Removed.
44723 (GRUB_MOD_INIT): Do not register the command "debug".
44724
44725 From Hollis Blanchard:
44726 * commands/configfile.c: New file.
44727 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44728 commands/configfile.c.
44729 (pkgdata_MODULES): Added configfile.mod.
44730 (configfile_mod_SOURCES): New variable.
44731 (configfile_mod_CFLAGS): Likewise.
44732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44733 commands/configfile.c.
44734 (pkgdata_MODULES): Added configfile.mod.
44735 (configfile_mod_SOURCES): New variable.
44736 (configfile_mod_CFLAGS): Likewise.
44737 * util/grub-emu.c (main): Call grub_configfile_init and
44738 grub_configfile_fini.
44739 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44740 prototype.
44741 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44742
44743 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44744
44745 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44746 address.
44747
44748 * commands/help.c (grub_cmd_help): Do not print newlines after
44749 the last command in print_command_help.
44750
44751 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44752
44753 * commands/default.h: New file.
44754 * commands/timeout.h: Likewise.
44755 * normal/context.c: Likewise.
44756
44757 * util/misc.c: Do not include sys/times.h.
44758 Include sys/time.h and grub/machine/time.h.
44759 (grub_get_rtc): Rewritten with gettimeofday.
44760
44761 * util/grub-emu.c (main): Call grub_default_init and
44762 grub_timeout_init before grub_normal_init, and call
44763 grub_timeout_fini and grub_default_fini after grub_main.
44764
44765 * util/console.c (grub_ncurses_checkkey): Return the read
44766 character or -1.
44767
44768 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44769 timeouts.
44770
44771 * normal/main.c (read_config_file): Push MENU. If this fails,
44772 print an error and wait for a user input.
44773 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44774 If a menu is empty or an error occurs, pop MENU.
44775 (grub_normal_execute): Pop and free MENU after grub_menu_run
44776 returns.
44777
44778 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44779
44780 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44781 include time.h.
44782 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44783 without GRUB_UTIL.
44784 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44785 time.h.
44786 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44787 without GRUB_UTIL.
44788
44789 * include/grub/normal.h (struct grub_menu_list): New struct.
44790 (grub_menu_list_t): New type.
44791 (struct grub_context): New struct.
44792 (grub_context_t): New type.
44793 (grub_register_command): Got rid of EXPORT_FUNC.
44794 (grub_unregister_command): Likewise.
44795 (grub_context_get): New prototype.
44796 (grub_context_get_current_menu): Likewise.
44797 (grub_context_push_menu): Likewise.
44798 (grub_context_pop_menu): Likewise.
44799 [GRUB_UTIL] (grub_default_init): Likewise.
44800 [GRUB_UTIL] (grub_default_fini): Likewise.
44801 [GRUB_UTIL] (grub_timeout_init): Likewise.
44802 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44803
44804 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44805 commands/timeout.c and normal/context.c.
44806 (pkgdata_MODULES): Added default.mod and timeout.mod.
44807 (normal_mod_SOURCES): Added normal/context.c.
44808 (default_mod_SOURCES): New variable.
44809 (default_mod_CFLAGS): Likewise.
44810 (timeout_mod_SOURCES): Likewise.
44811 (timeout_mod_CFLAGS): Likewise.
44812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44813 conf/i386-pc.rmk.
44814 (pkgdata_MODULES): Added default.mod and timeout.mod.
44815 (normal_mod_SOURCES): Added normal/context.c.
44816 (default_mod_SOURCES): New variable.
44817 (default_mod_CFLAGS): Likewise.
44818 (timeout_mod_SOURCES): Likewise.
44819 (timeout_mod_CFLAGS): Likewise.
44820
44821 * Makefile.in (all-local): Added $(MKFILES).
44822
44823 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44824
44825 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44826 (grub_emu_SOURCES): Likewise.
44827 (pkgdata_MODULES): Add `sun.mod'.
44828 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44830 `partmap/sun.c'.
44831 (pkgdata_MODULES): Add `sun.mod'.
44832 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44833 * include/grub/partition.h (grub_sun_partition_map_init): New
44834 prototype.
44835 (grub_sun_partition_map_fini): Likewise.
44836 * partmap/sun.c: New file.
44837 * util/grub-emu.c (main): Initialize and de-initialize the sun
44838 partitionmap support.
44839
44840 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44841
44842 This implements an Emacs-like menu entry editor.
44843
44844 * normal/menu_entry.c: New file.
44845
44846 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44847 characters to ASCII.
44848 (saved_char): New variable.
44849 (grub_ncurses_checkkey): Rewritten completely.
44850 (grub_ncurses_getkey): Likewise.
44851 (grub_ncurses_init): Call raw instead of cbreak.
44852
44853 * normal/menu.c (print_entry): Do not put a space.
44854 (init_page): Renamed to ...
44855 (grub_menu_init_page): ... this. All callers changed.
44856 (edit_menu_entry): Removed.
44857 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44858
44859 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44860
44861 * kern/misc.c (grub_vprintf): Call grub_refresh.
44862
44863 * normal/menu.c (DISP_LEFT): Renamed to ...
44864 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44865 * normal/menu.c (DISP_UP): Renamed to ...
44866 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44867 * normal/menu.c (DISP_RIGHT): Renamed to ...
44868 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44869 * normal/menu.c (DISP_DOWN): Renamed to ...
44870 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44871 * normal/menu.c (DISP_HLINE): Renamed to ...
44872 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44873 * normal/menu.c (DISP_VLINE): Renamed to ...
44874 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44875 * normal/menu.c (DISP_UL): Renamed to ...
44876 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44877 * normal/menu.c (DISP_UR): Renamed to ...
44878 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44879 * normal/menu.c (DISP_LL): Renamed to ...
44880 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44881 * normal/menu.c (DISP_LR): Renamed to ...
44882 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44883 * normal/menu.c (TERM_WIDTH): Renamed to ...
44884 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44885 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44886 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44887 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44888 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44889 * normal/menu.c (TERM_MARGIN): Renamed to ...
44890 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44891 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44892 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44893 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44894 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44895 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44896 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44897 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44898 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44899 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44900 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44901 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44902 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44903 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44904 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44905 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44906 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44907 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44908 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44909 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44910 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44911 All callers changed.
44912
44913 * include/grub/normal.h: New prototype.
44914
44915 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44916 normal/menu_entry.c.
44917 (normal_mod_SOURCES): Likewise.
44918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44919 (normal_mod_SOURCES): Likewise.
44920
44921 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44922
44923 * include/grub/normal.h (grub_halt_init): New prototype.
44924 (grub_halt_fini): Likewise.
44925 (grub_reboot_init): Likewise.
44926 (grub_reboot_fini): Likewise.
44927
44928 * util/grub-emu.c: Include signal.h.
44929 (main_env): New global variable.
44930 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44931 catch C-c.
44932 (grub_machine_fini): New function.
44933 (main): Call grub_halt_init and grub_reboot_init before
44934 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44935 Call setjmp with MAIN_ENV to go back afterwards.
44936 Call grub_machine_fini right before return.
44937
44938 * include/grub/util/misc.h: Include setjmp.h.
44939 (main_env): New prototype.
44940
44941 * include/grub/kernel.h (grub_machine_fini): New prototype.
44942 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44943 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44944
44945 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44946 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44947 * term/i386/pc/console.c (grub_console_fini): Likewise.
44948
44949 * util/i386/pc/misc.c: New file.
44950
44951 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44952 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44953 commands/i386/pc/reboot.c.
44954
44955 2005-02-14 Guillem Jover <guillem@hadrons.org>
44956
44957 * include/grub/dl.h (grub_dl_check_header): New prototype.
44958 (grub_arch_dl_check_header): Change return type to grub_err_t,
44959 remove size parameter and export function. Update all callers.
44960 * kern/dl.c (grub_dl_check_header): New function.
44961 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44962 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44963 are inside the core.
44964 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44965 independent ELF header checks.
44966 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44967 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44968 `grub_dl_check_header' instead of explicit checks. Check for the
44969 ELF type.
44970 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44971 `grub_dl_check_header' instead of explicit checks. Remove arch
44972 specific ELF header checks.
44973
44974 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44975 argument SIZE.
44976
44977 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44978
44979 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44980 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44981
44982 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44983
44984 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44985 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44986 (part_map_iterate): Clear `grub_errno' and return 0 if
44987 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44988 * partmap/amiga.c (amiga_partition_map_iterate): Return
44989 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44990 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44991
44992 2005-02-01 Guillem Jover <guillem@hadrons.org>
44993
44994 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44995 help info.
44996
44997 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44998
44999 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45000 Removed prototype.
45001 (grub_rescue_cmd_linux): New prototype.
45002 (grub_rescue_cmd_initrd): Likewise.
45003 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45004 `bi_rec'.
45005 (grub_linux_release_mem): Release the memory for the initrd.
45006 (grub_load_linux): Renamed from this...
45007 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45008 Changed `entry' not to be static. Loop over memory regions to
45009 find another one when the default fails.
45010 (grub_rescue_cmd_initrd): New function.
45011 (grub_linux_init): Remove function.
45012 (grub_linux_fini): Likewise.
45013 (GRUB_MOD_INIT): Register `initrd'.
45014 (GRUB_MOD_FINI): Unregister `initrd'.
45015 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45016 Function removed.
45017 (grub_linux_normal_fini): Likewise.
45018 (GRUB_MOD_INIT): Register `initrd'.
45019 (GRUB_MOD_FINI): Unregister `initrd'.
45020
45021 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45022
45023 * commands/help.c: New file.
45024 * normal/arg.c (show_help): Renamed to...
45025 (grub_arg_show_help): ... this.
45026 * commands/i386/pc/halt.c: New file.
45027 * commands/i386/pc/reboot.c: Likewise.
45028 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45029 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45030 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45031 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45032 variables.
45033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45034 `commands/help.c'.
45035 (pkgdata_MODULES): Add `help.mod'.
45036 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45037 * grub/i386/pc/init.h (grub_reboot): New prototype.
45038 (grub_halt): Likewise.
45039 * include/grub/normal.h (grub_arg_show_help): New prototype.
45040 (grub_help_init): Likewise.
45041 (grub_help_fini): Likewise.
45042 * util/grub-emu.c (main): Initialize and deinitialize the help
45043 command.
45044
45045 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45046
45047 * normal/command.c (grub_command_init): Fixed the description of
45048 the `set' and `unset' commands.
45049
45050 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45051
45052 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45053 function.
45054 * commands/ieee1275/halt.c: New file.
45055 * commands/ieee1275/reboot.c: Likewise.
45056 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45057 `__attribute__ ((unused))'. Some GCS related fixed.
45058 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45059 (grub_suspend_fini): Likewise.
45060 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45061 and `halt.mod'.
45062 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45063 (halt_mod_CFLAGS): New variables.
45064 * include/grub/powerpc/ieee1275/ieee1275.h
45065 (grub_ieee1275_interpret): New prototype.
45066
45067 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45068
45069 * include/grub/misc.h (memmove): New prototype.
45070 (memcpy): Likewise.
45071
45072 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45073
45074 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45075 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45076
45077 2005-01-22 Marco Gerards <metgerards@student.han.nl>
45078
45079 * kern/misc.c (grub_strndup): Function rewritten.
45080
45081 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45082
45083 * normal/menu.c (TERM_WIDTH): Macro redefined.
45084 (TERM_TOP_BORDER_Y): Likewise.
45085 (draw_border): Replaced while-loop by a for-loop. Make the number
45086 of lines consistent with the number of lines displayed in
45087 print_entries. Added a margin below the rectangle.
45088 (print_entry): Make the entry fit in the rectangle.
45089 (print_entries): Display the scroll arrows next to the right
45090 border.
45091
45092 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45093
45094 * fs/minix.c (grub_minix_find_file): Reserve more space for
45095 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45096 `grub_strncpy' to copy `path' into it.
45097
45098 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45099
45100 Add the loopback device, a device via which files can be accessed
45101 as devices.
45102
45103 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45104 (pkgdata_MODULES): Add loopback.mod.
45105 (loopback_mod_SOURCES): New variable.
45106 (loopback_mod_CFLAGS): Likewise.
45107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45108 `disk/loopback.c'.
45109 (pkgdata_MODULES): Add loopback.mod.
45110 (loopback_mod_SOURCES): New variable.
45111 (loopback_mod_CFLAGS): Likewise.
45112 * disk/loopback.c: new file.
45113 * include/grub/normal.h (grub_loop_init): New prototype.
45114 (grub_loop_fini): New prototype.
45115 * util/grub-emu.c (main): Initialize and de-initialize loopback
45116 support.
45117 * include/grub/disk.h (grub_disk_dev_id): Add
45118 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45119
45120 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45121
45122 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45123 function.
45124 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45125 (suspend_mod_SOURCES): New variable.
45126 (suspend_mod_CFLAGS): Likewise.
45127 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45128 New prototype.
45129 * commands/ieee1275/suspend.c: New file.
45130
45131 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45132
45133 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
45134 ((unused))' to `__attribute__ ((used))'.
45135 (GRUB_MOD_FINI): Likewise.
45136 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45137 * genmk.rb (PModule): Assign space to common symbols when linking
45138 modules.
45139
45140 2005-01-20 Marco Gerards <metgerards@student.han.nl>
45141
45142 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45143 `unsigned' arguments to `grub_size_t'.
45144 (grub_malloc): Likewise.
45145 (grub_realloc): Likewise.
45146 (grub_memalign): Likewise.
45147 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45148 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45149 * util/misc.c (grub_malloc): Likewise.
45150 (grub_realloc): Likewise.
45151 * kern/mm.c (get_header_from_pointer): Change the casts to
45152 `unsigned' into a cast to `grub_size_t'.
45153
45154 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45155 point to `currnode' when `currnode' is changed.
45156
45157 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45158 Schottelius <nico-linux@schottelius.org>.
45159
45160 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45161
45162 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45163 (note_path): Remove variable.
45164 (GRUB_IEEE1275_NOTE_NAME): New macro.
45165 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45166 (grub_ieee1275_note_hdr): New structure.
45167 (grub_ieee1275_note_desc): Likewise.
45168 (grub_ieee1275_note): Likewise.
45169 (load_note): Remove `dir' argument. All callers updated. Remove
45170 `note_img' and `path'. Do not load a file from `note_path'.
45171 Initialize a struct grub_ieee1275_note and write that to `out'.
45172 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45173
45174 2005-01-05 Marco Gerards <metgerards@student.han.nl>
45175
45176 * util/misc.c (grub_util_read_image): Revert last change. It
45177 called `grub_util_read_at', which seeks from the beginning of the
45178 file.
45179
45180 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45181
45182 * TODO: Add note about endianness in grub-mkimage.
45183 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45184 section.
45185 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45186 (grub_mkimage_SOURCES): New target.
45187 * include/grub/kernel.h (grub_start_addr): Remove variable.
45188 (grub_end_addr): Likewise.
45189 (grub_total_module_size): Likewise.
45190 (grub_kernel_image_size): Likewise.
45191 (GRUB_MODULE_MAGIC): New constant.
45192 (grub_module_info): New structure.
45193 (grub_arch_modules_addr): New prototype.
45194 (grub_get_end_addr): Remove prototype.
45195 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45196 * include/grub/powerpc/ieee1275/kernel.h: New file.
45197 * include/grub/util/misc.h (grub_util_get_fp_size): New
45198 prototype.
45199 (grub_util_read_at): Likewise.
45200 (grub_util_write_image_at): Likewise.
45201 * kern/main.c (grub_get_end_addr): Remove function.
45202 (grub_load_modules): Call grub_arch_modules_addr instead of using
45203 grub_end_addr. Look for a grub_module_info struct in memory. Use
45204 the grub_module_info fields instead of calling grub_get_end_addr
45205 as loop conditions. Move grub_add_unused_region code here.
45206 (grub_add_unused_region): Remove function.
45207 * kern/i386/pc/init.c: Include grub/cache.h.
45208 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45209 one call to add_mem_region.
45210 (grub_arch_modules_addr): New function.
45211 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45212 (grub_total_module_size): Likewise.
45213 Include grub/machine/kernel.h.
45214 (grub_arch_modules_addr): New function.
45215 * util/grub-emu.c (grub_end_addr): Remove variable.
45216 (grub_total_module_size): Likewise.
45217 (grub_arch_modules_addr): New function.
45218 * util/misc.c: Include unistd.h.
45219 (grub_util_get_fp_size): New function.
45220 (grub_util_read_at): Likewise.
45221 (grub_util_write_image_at): Likewise.
45222 (grub_util_read_image): Call grub_util_read_at.
45223 (grub_util_write_image): Call grub_util_write_image_at.
45224 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45225 additional memory in kernel_img for a struct grub_module_info.
45226 Fill in that grub_module_info.
45227 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45228
45229 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45230
45231 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45232 New function.
45233 * include/grub/powerpc/ieee1275/ieee1275.h
45234 (grub_ieee1275_milliseconds): New prototype.
45235 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45236 Change to 1000.
45237 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45238 grub_ieee1275_milliseconds.
45239
45240 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45241
45242 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45243 variable.
45244 (find_options): New function.
45245 (cmain): Call find_options.
45246 * include/grub/powerpc/ieee1275/ieee1275.h
45247 (grub_ieee1275_realmode): New extern variable.
45248 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45249 grub_map if grub_ieee1275_realmode is false.
45250
45251 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45252
45253 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45254 lines are inserted and make it work like readline. Reported by
45255 Vincent Pelletier <subdino2004@yahoo.fr>.
45256
45257 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45258
45259 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45260
45261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45262 `kern/powerpc/cache.S'.
45263
45264 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45265
45266 * genmk.rb: Handle the `Program' class in the main loop. Written
45267 by Johan Rydberg <jrydberg@gnu.org>.
45268 (Program): New class.
45269 (programs): New variable.
45270 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45271 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45272 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45273 (help_arch): Function removed.
45274 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45275 `powerpc/libgcc.h' and `loader.h'.
45276 (pkgdata_PROGRAMS): New variable.
45277 (sbin_UTILITIES): Variable removed.
45278 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45279 (grubof_SOURCES): Variable re-defined so it only includes the
45280 core functionality.
45281 (grubof_CFLAGS): Remove `-DGRUBOF'.
45282 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45283 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45284 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45285 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45286 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45287 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45288 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45289 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45290 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45291 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45292 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45293 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45294 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45295 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45296 (pc_mod_CFLAGS): New variables.
45297 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45298 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45299 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45300 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45301 Moved from here...
45302 * include/grub/i386/pc/init.h (grub_os_area_addr)
45303 (rub_os_area_size): ... to here.
45304 * include/grub/powerpc/ieee1275/ieee1275.h
45305 (grub_ieee1275_entry_fn): Export symbol.
45306 * include/grub/powerpc/ieee1275/init.h: New file.
45307 * include/grub/powerpc/libgcc.h: Likewise.
45308 * include/grub/cache.h: Likewise.
45309 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45310 <hollis@penguinppc.org>.
45311 * kern/dl.c: Include <grub/cache.h>.
45312 (grub_dl_flush_cache): New function.
45313 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45314 for this module.
45315 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45316 (grub_console_init): Removed prototypes.
45317 (grub_machine_init): Don't initialize the modules anymore.
45318 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45319 static.
45320 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45321 Macro undef removed.
45322 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45323 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45324 relocation `R_PPC_REL32'. Return an error when the relocation is
45325 unknown.
45326 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45327 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45328 * util/misc.c (grub_arch_sync_caches): Likewise.
45329
45330 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45331
45332 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45333 `symlist.c', add `grubof_symlist.c'.
45334 (symlist.c): Variable removed.
45335 (grubof_HEADERS): Variable added.
45336 (grubof_symlist.c): New target.
45337 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45338 `kernel_img_HEADERS'.
45339 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45340 * kern/powerpc/dl.c: New file.
45341 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45342 Function removed.
45343 (grub_arch_dl_relocate_symbols): Likewise.
45344 (grub_register_exported_symbols): Likewise.
45345
45346 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45347
45348 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45349 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45350 to fail instead. Reported by Vincent Pelletier
45351 <subdino2004@yahoo.fr>.
45352
45353 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45354 it is not allocated. Reported by Vincent Pelletier
45355 <subdino2004@yahoo.fr>.
45356
45357 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45358 output so the output looks better.
45359
45360 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45361
45362 Modulize the partition map support and add support for the amiga
45363 partition map.
45364
45365 * commands/ls.c: Include <grub/partition.h> instead of
45366 <grub/machine/partition.h>.
45367 * kern/disk.c: Likewise.
45368 * kern/rescue.c: Likewise.
45369 * loader/i386/pc/chainloader.c: Likewise.
45370 * normal/cmdline.c: Likewise.
45371 * kern/powerpc/ieee1275/init.c: Likewise.
45372 (grub_machine_init): Call `grub_pc_partition_map_init',
45373 `grub_amiga_partition_map_init' and
45374 `grub_apple_partition_map_init'.
45375 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45376 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45377 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45378 `partition.h' and `pc_partition.h'.
45379 (grub_setup_SOURCES): Remove
45380 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45381 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45382 (grub_emu_SOURCES): Likewise.
45383 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45384 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45385 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45387 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45388 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45389 (grubof_SOURCES): Likewise.
45390 * disk/i386/pc/partition.c: File removed.
45391 * disk/powerpc/ieee1275/partition.c: Likewise.
45392 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45393 * include/grub/i386/pc/partition.h: Likewise.
45394 * kern/partition.c: New file.
45395 * partmap/amiga.c: Likewise.
45396 * partmap/apple.c: Likewise.
45397 * partmap/pc.c: Likewise.
45398 * include/grub/partition.h: Likewise..
45399 * include/grub/pc_partition.h: Likewise.
45400 * util/grub-emu.c: Include <grub/partition.h> instead of
45401 <grub/machine/partition.h>.
45402 (main): Call `grub_pc_partition_map_init',
45403 `grub_amiga_partition_map_init' and
45404 `grub_apple_partition_map_init' and deinitialize afterwards.
45405 * util/i386/pc/biosdisk.c: Include `#include
45406 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45407 `<grub/machine/partition.h>'.
45408 * util/i386/pc/grub-setup.c: Likewise.
45409 * util/i386/pc/biosdisk.c: Likewise.
45410 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45411 partition information in case of a PC partition.
45412 * util/i386/pc/grub-setup.c: Include `#include
45413 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45414 `<grub/machine/partition.h>'.
45415 (setup): Only access the PC specific partition information in case
45416 of a PC partition.
45417
45418 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45419
45420 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45421 (grub_longjmp): Likewise.
45422 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45423 20.
45424 * normal/powerpc/setjmp.S: New file.
45425 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45426 `normal/powerpc/setjmp.S'.
45427 (grubof_CFLAGS): Add `-DGRUBOF'.
45428 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45429 [GRUB_UTIL && !GRUBOF].
45430
45431 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45432
45433 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45434 property named `name'. Correctly handle the error returned by
45435 `grub_ieee1275_finddevice' if a device can not be opened.
45436
45437 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45438
45439 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45440 `actual' for negativity.
45441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45442 kern/fshelp.c.
45443
45444 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45445
45446 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45447 (PAGE_OFFSET): New macro.
45448 (CRTC_ADDR_PORT): Likewise.
45449 (CRTC_DATA_PORT): Likewise.
45450 (START_ADDR_HIGH_REGISTER): Likewise.
45451 (START_ADDR_LOW_REGISTER): Likewise.
45452 (GRAPHICS_ADDR_PORT): Likewise.
45453 (GRAPHICS_DATA_PORT): Likewise.
45454 (READ_MAP_REGISTER): Likewise.
45455 (INPUT_STATUS1_REGISTER): Likewise.
45456 (INPUT_STATUS1_VERTR_BIT): Likewise.
45457 (page): New variable.
45458 (wait_vretrace): New function.
45459 (set_read_map): Likewise.
45460 (set_start_address): Likewise.
45461 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45462 the right page.
45463 (check_vga_mem): Take the page into account.
45464 (write_char): Likewise.
45465 (write_cursor): Likewise.
45466 (scroll_up): Likewise. Copy the page to the page that is not
45467 shown and switch between both pages.
45468 (grub_vga_putchar): Fix off by one error.
45469 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45470 account.
45471
45472 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45473
45474 Add support for iso9660 (including rockridge).
45475
45476 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45477 (iso9660_mod_SOURCES): New variable.
45478 (iso9660_mod_CFLAGS): Likewise.
45479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45480 * include/grub/fs.h (grub_iso9660_init): New prototype.
45481 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45482 * fs/iso9660.c: New file.
45483
45484 * include/grub/misc.h (grub_strncat): New prototype.
45485 * kern/misc.c (grub_strncat): New function.
45486
45487 * fs/hfs.c (grub_hfs_mount): Translate the error
45488 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45489 * fs/jfs.c (grub_jfs_mount): Likewise.
45490 * fs/ufs.c (grub_ufs_mount): Likewise.
45491
45492 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45493
45494 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45495 which initialized BAT registers.
45496 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45497 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45498 Move from here...
45499 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45500 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45501 ... to here.
45502 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45503 (grub_mapclaim): Likewise.
45504 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45505 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45506 hand.
45507
45508 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45509
45510 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45511 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45512 -ffreestanding and -msoft-float.
45513
45514 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45515
45516 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45517 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45518 set in grub_ieee1275_flags.
45519
45520 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45521
45522 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45523 prototype.
45524 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45525 grub_console_init first.
45526 Change the memory range used for grub_ieee1275_claim and
45527 grub_mm_init_region.
45528 Print an error message if the claim fails.
45529 Include <grub/misc.h>.
45530
45531 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45532
45533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45534 Call grub_children_iterate for device nodes of type `scsi',
45535 `ide', or `ata'.
45536 (grub_ofdisk_open): Remove manual device alias resolution.
45537 Fix memory leak when device cannot be opened.
45538 * include/grub/powerpc/ieee1275/ieee1275.h
45539 (grub_children_iterate): New prototype.
45540 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45541 New function.
45542 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45543 Return -1 if args.size was -1.
45544
45545 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45546
45547 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45548 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45549 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45550 Open Firmware's memory for it; claim memory from _start to _end.
45551 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45552 (_end): New extern.
45553 (_start): Zero BSS from __bss_start to _end.
45554 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45555 New extern.
45556 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45557
45558 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45559
45560 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45561 -1 if args.base was -1.
45562
45563 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45564
45565 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45566 escape sequence instead of a literal ^L. Also call
45567 grub_ofconsole_gotoxy.
45568
45569 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45570
45571 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45572 void * arguments to grub_addr_t. All callers updated. Also make
45573 the `result' argument optional.
45574 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45575 All callers updated.
45576
45577 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45578
45579 * commands/ls.c (grub_ls_list_files): Use the string following the
45580 initial ')', if present, as the filesystem path.
45581 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45582
45583 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45584
45585 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45586
45587 Make the source code of the menu interface more readable.
45588
45589 * normal/menu.c: Include grub/mm.h.
45590 (TERM_WIDTH): New macro.
45591 (TERM_HEIGHT): Likewise.
45592 (TERM_INFO_HEIGHT): Likewise.
45593 (TERM_MARGIN): Likewise.
45594 (TERM_SCROLL_WIDTH): Likewise.
45595 (TERM_TOP_BORDER_Y): Likewise.
45596 (TERM_LEFT_BORDER_X): Likewise.
45597 (TERM_BORDER_WIDTH): Likewise.
45598 (TERM_MESSAGE_HEIGHT): Likewise.
45599 (TERM_BORDER_HEIGHT): Likewise.
45600 (TERM_NUM_ENTRIES): Likewise.
45601 (TERM_FIRST_ENTRY_Y): Likewise.
45602 (TERM_ENTRY_WIDTH): Likewise.
45603 (TERM_CURSOR_X): Likewise.
45604 (draw_border): Use macros instead of magic numbers.
45605 (print_entry): Likewise.
45606 (print_entries): Likewise.
45607 (run_menu): Likewise. Also, handle the key 'e'.
45608 (run_menu_entry): Ignore empty command lines.
45609 (print_message): Added a new argument EDIT. If EDIT is true,
45610 print a different message.
45611 (init_page): Likewise.
45612 (edit_menu_entry): New function. Not implemented yet.
45613
45614 2004-09-17 Marco Gerards <metgerards@student.han.nl>
45615
45616 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45617 can be loaded from normal mode.
45618
45619 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45620 `multiboot.mod'.
45621 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45622 (multiboot_mod_CFLAGS): New variables.
45623 * loader/i386/pc/linux_normal.c: New file.
45624 * loader/i386/pc/multiboot_normal.c: Likewise.
45625
45626 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45627 attribute `unused'.
45628
45629 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45630 `fdiro' to read the mode information from instead of `diro'.
45631
45632 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45633 looking up a symlink.
45634
45635 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45636 macro.
45637 * normal/command.c (grub_command_execute): Don't parse the
45638 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45639 flags of the command.
45640
45641 * normal/menu.c (grub_menu_run): Fix typo.
45642
45643 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45644
45645 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45646
45647 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45648 `y + 1' instead of `y - 1'.
45649
45650 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
45651
45652 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45653
45654 From Hollis Blanchard <hollis@penguinppc.org>:
45655 * kern/misc.c (memmove): New alias for grub_memmove.
45656 (memcmp): New alias for grub_memcmp.
45657 (memset): New alias for grub_memset.
45658 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45659 Change "int handle" to "grub_ieee1275_phandle_t handle".
45660 * include/grub/powerpc/ieee1275/ieee1275.h
45661 (grub_ieee1275_get_property): Likewise.
45662
45663 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45664
45665 Added normal mode command `chainloader' as module chain.mod, which
45666 depends on normal.mod and _chain.mod.
45667
45668 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45669 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45670 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45671 Deleted prototype.
45672 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45673 but arguments parsing moved to ...
45674 (grub_chainloader_cmd): ... here. New function.
45675 * include/grub/i386/pc/chainloader.h: New file.
45676 * loader/i386/pc/chainloader_normal.c: Likewise.
45677
45678 2004-09-11 Marco Gerards <metgerards@student.han.nl>
45679
45680 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45681 (grub_mkimage_LDFLAGS): Likewise.
45682 (grub_emu_SOURCES): Likewise.
45683 (kernel_img_HEADERS): Added fshelp.h.
45684 * fs/ext2.c: Include <grub/fshelp.h>.
45685 (FILETYPE_REG): New macro.
45686 (FILETYPE_INO_REG): Likewise.
45687 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45688 Changed all users.
45689 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45690 all users.
45691 (grub_fshelp_node): New struct.
45692 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45693 to a pointer.
45694 (grub_ext2_get_file_block): Removed function.
45695 (grub_ext2_read_block): New function.
45696 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45697 This function was written.
45698 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45699 (grub_ext2_find_file): Removed function.
45700 (grub_ext2_read_symlink): New function.
45701 (grub_ext2_iterate_dir): Likewise.
45702 (grub_ext2_open): Rewritten.
45703 (grub_ext2_dir): Rewritten.
45704 * include/grub/fshelp.h: New file.
45705 * fs/fshelp.c: Likewise.
45706
45707 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45708
45709 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45710 (print_message): Add a missing newline.
45711 (run_menu): Added timeout support.
45712 (run_menu_entry): New local function.
45713 (grub_menu_run): Added support for booting.
45714
45715 * kern/loader.c (grub_loader_is_loaded): New function.
45716
45717 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45718 (grub_get_rtc): Exported.
45719
45720 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45721 (grub_get_rtc): Exported.
45722
45723 * include/grub/normal.h (struct grub_command_list): Remove
45724 constant from the member `command'.
45725
45726 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45727
45728 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45729
45730 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45731
45732 2004-08-28 Marco Gerards <metgerards@student.han.nl>
45733
45734 Add support for the JFS filesystem.
45735
45736 * fs/jfs.c: New file.
45737 * include/grub/fs.h (grub_jfs_init): New prototype.
45738 (grub_jfs_fini): New prototype.
45739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45740 (grub_emu_SOURCES): Likewise.
45741 (pkgdata_MODULES): Add jfs.mod.
45742 (jfs_mod_SOURCES): New variable.
45743 (jfs_mod_CFLAGS): Likewise.
45744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45745 (grubof_SOURCES): Likewise.
45746 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45747
45748 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45749 endian to the host endian.
45750 (grub_fat_utf16_to_utf8): Move function from there...
45751 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45752 the endianness of the source string anymore.
45753 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45754
45755 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45756
45757 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45758 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45759 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45760 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45761
45762 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45763 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45764 for `node_found' and `it_dir'.
45765 (grub_hfs_dir): Add prototype for `dir_hook'.
45766
45767 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45768 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45769 and `indir32' to silence a gcc warning.
45770
45771 * include/grub/fs.h (grub_hfs_init): New prototype.
45772 (grub_hfs_fini): Likewise.
45773
45774
45775 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45776
45777 Each disk device has its own id now. This is useful to make use
45778 of multiple disk devices.
45779
45780 * include/grub/disk.h (grub_disk_dev_id): New enum.
45781 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45782 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45783
45784 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45785 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45786
45787 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45788 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45789
45790 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45791 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45792
45793 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45794 "id" which is used by the cache manager.
45795
45796 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45797 of just "GRUB".
45798
45799 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45800
45801 * fs/hfs.c: New file.
45802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45803 (grub_emu_SOURCES): Likewise.
45804 (pkgdata_MODULES): Add hfs.mod.
45805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45806 (grubof_SOURCES): Likewise.
45807 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45808
45809 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45810 * kern/misc.c (grub_strncasecmp): Add function.
45811
45812 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45813
45814 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45815 with parentheses.
45816
45817 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45818 (grub_ext2_dir): In case the directory entry type is unknown, read
45819 it from the inode.
45820
45821 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45822
45823 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45824 grub_load_linux instead of grub_rescue_cmd_linux as second
45825 argument of grub_rescue_register_command.
45826
45827 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45828
45829 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45830
45831 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45832 function.
45833 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45834 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45835 `loader/powerpc/ieee1275/linux.c',
45836 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45837 * include/grub/powerpc/ieee1275/ieee1275.h
45838 (grub_ieee1275_release): New prototype.
45839 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45840 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45841 normal, boot, linux and linux_normal.
45842 * loader/powerpc/ieee1275/linux.c: New file.
45843 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45844
45845 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45846
45847 * normal/arg.c (grub_arg_parse): Correct error handling after
45848 reallocating the argumentlist (check if `argl' is not null instead
45849 of checking if `args' is not null).
45850 * kern/mm.c (grub_realloc): Return the same pointer when using the
45851 same region, instead of returning the header address.
45852
45853 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45854
45855 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45856 one block instead of two when looking for the initial partition.
45857 (grub_partition_probe): Initialize the local variable `p' with 0.
45858 Use base 10 for the grub_strtoul call.
45859 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45860 need for one local variable.
45861 (grub_strtoul): Don't add the new value to `num', instead of that
45862 just assign it.
45863
45864 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45865
45866 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45867 (pxeboot_img_SOURCES): New variable.
45868 (pxeboot_img_ASFLAGS): Likewise.
45869 (pxeboot_img_LDFLAGS): Likewise.
45870 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45871 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45872 <lode_leroy@hotmail.com>.
45873
45874 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45875
45876 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45877 there was no input.
45878
45879 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45880
45881 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45882 the history buffer logic.
45883
45884 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45885
45886 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45887 (FILETYPE_INO_SYMLINK): New macros.
45888 (grub_ext2_find_file): Check if the node is a directory using the
45889 inode stat information instead of using the filetype in the
45890 dirent. Exclude the first character of an absolute symlink.
45891 (grub_ext2_dir): Mask out the filetype part of the mode member of
45892 the inode.
45893
45894 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45895
45896 Add support for UFS version 1 and 2. Add support for the minix
45897 filesystem version 1 and 2, both the variants with 14 and 30 long
45898 filenames.
45899
45900 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45901 fs/minix.c.
45902 (grub_emu_SOURCES): Likewise.
45903 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45904 (ufs_mod_SOURCES): New variable.
45905 (ufs_mod_CFLAGS): Likewise.
45906 (minix_mod_SOURCES): Likewise.
45907 (minix_mod_CFLAGS): Likewise.
45908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45909 fs/minix.c.
45910 (grubof_SOURCES): Likewise.
45911 * fs/ufs.c: New file.
45912 * fs/minix.c: New file.
45913 * include/grub/fs.h (grub_ufs_init): New prototype.
45914 (grub_ufs_fini): Likewise.
45915 (grub_minix_init): Likewise.
45916 (grub_minix_fini): Likewise.
45917 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45918 minix fs.
45919
45920 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45921
45922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45923 commands/ls.c, commands/terminal.c, commands/boot.c,
45924 commands/cmp.c and commands/cat.c.
45925 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45926
45927 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45928 "env.h"
45929
45930 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45931
45932 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45933 and grub_, respectively. Because the conversion is trivial and
45934 mechanical, I omit the details here. Please refer to the CVS
45935 if you need more information.
45936
45937 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45938
45939 * include/pupa: Renamed to ...
45940 * include/grub: ... this.
45941 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45942 * util/i386/pc/grub-mkimage.c: ... this.
45943 * util/i386/pc/pupa-setup.c: Renamed to ...
45944 * util/i386/pc/grub-setup.c: ... this.
45945 * util/pupa-emu.c: Renamed to ...
45946 * util/grub-emu.c: ... this.
45947
45948 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45949
45950 Add support for the newworld apple macintosh (PPC). This has been
45951 tested on the powerbook 2000 only. It only adds support for
45952 generic ieee1275 functions, console and disk support. This should
45953 be easy to port to other architectures with support for Open
45954 Firmware.
45955
45956 * configure.ac: Accept the powerpc as host_cpu. In the case of
45957 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45958 specific tests are only executed while building for the i386.
45959 Inverse test for crosscompile.
45960 * genmk.rb (Utility): Allow assembler files.
45961 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45962 * conf/powerpc-ieee1275.rmk: New file.
45963 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45964 * disk/powerpc/ieee1275/partition.c: Likewise.
45965 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45966 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45967 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45968 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45969 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45970 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45971 * include/pupa/powerpc/ieee1275/loader.h
45972 * include/pupa/powerpc/setjmp.h: Likewise.
45973 * include/pupa/powerpc/types.h: Likewise.
45974 * kern/powerpc/ieee1275/init.c: Likewise.
45975 * kern/powerpc/ieee1275/openfw.c: Likewise.
45976 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45977
45978 These files were written by Johan Rydberg
45979 (jrydberg@night.trouble.net) and I only modified them slightly.
45980
45981 * boot/powerpc/ieee1275/cmain.c: New file.
45982 * boot/powerpc/ieee1275/crt0.S: Likewise.
45983 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45984 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45985
45986 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45987
45988 * Makefile.in: Update copyright.
45989 * genmodsrc.sh: Likewise.
45990 * gensymlist.sh: Likewise.
45991 * term/i386/pc/vga.c: Indent correctly.
45992
45993 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45994 bugreporting address.
45995 * util/i386/pc/pupa-setup.c (usage): Likewise,
45996 (main): Call pupa_ext2_init and pupa_ext2_fini.
45997
45998 * fs/fat.c (log2): Renamed to ...
45999 (fat_log2): ... this.
46000 All callers changed.
46001 * kern/misc.c (memcpy): Alias to pupa_memmove.
46002 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46003 lvalue cast.
46004 * util/console.c (pupa_ncurses_fini): Return 0.
46005
46006 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46007 Move fail label here.
46008 [__GNU__]: Don't warn when using stat.
46009 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46010 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46011 long int. Use strtol instead of strtoul.
46012
46013 2004-03-14 Marco Gerards <metgerards@student.han.nl>
46014
46015 * commands/boot.c: New file.
46016 * commands/cat.c: Likewise.
46017 * commands/cmp.c: Likewise.
46018 * commands/ls.c: Likewise.
46019 * commands/terminal.c: Likewise.
46020 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46021 (pupa_register_command): Changed interface to match the new
46022 argument parser.
46023 (pupa_command_execute): Changed (almost rewritten) so it uses
46024 pupa_split_command. Added support for setting variables using the
46025 syntax `foo=bar'.
46026 (rescue_command): Changed to work with the new argument parser.
46027 (terminal_command): Moved from here to commands/terminal.c.
46028 (set_command): New function.
46029 (unset_command): New function.
46030 (insmod_command): New function.
46031 (rmmod_command): New function.
46032 (lsmod_command): New function.
46033 (pupa_command_init): Don't initialize the command terminal
46034 anymore. Initialize the commands set, unset, insmod, rmmod and
46035 lsmod.
46036 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46037 (kernel_img_HEADERS): Add arg.h and env.h.
46038 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46039 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46040 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46041 normal/arg.c.
46042 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46043 terminal.mod.
46044 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46045 (boot_mod_SOURCES): New variable.
46046 (terminal_mod_SOURCES): Likewise.
46047 (ls_mod_SOURCES): Likewise.
46048 (cmp_mod_SOURCES): Likewise.
46049 (cat_mod_SOURCES): Likewise.
46050
46051 * normal/arg.c: New file.
46052 * kern/env.c: Likewise.
46053 * include/pupa/arg.h: Likewise.
46054 * include/pupa/env.h: Likewise.
46055 * font/manager.c (font_command): Changed to match argument parsing
46056 interface changes.
46057 (PUPA_MOD_INIT): Likewise.
46058 * hello/hello.c (pupa_cmd_hello): Likewise.
46059 (PUPA_MOD_INIT): Likewise.
46060 * include/pupa/disk.h: Include <pupa/device.h>.
46061 (pupa_print_partinfo): New prototype.
46062 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46063 (pupa_dl_get_prefix): Likewise.
46064 * include/pupa/misc.h: Include <pupa/err.h>.
46065 (pupa_isgraph): New prototype.
46066 (pupa_isdigit): Likewise.
46067 (pupa_split_cmdline): Likewise.
46068 * include/pupa/normal.h: Include <pupa/arg.h>.
46069 (pupa_command): Changed the prototype of the member `func' to
46070 match the argument parsing interface. Added member `options'.
46071 (pupa_register_command): Updated to match function.
46072 (pupa_arg_parse): New prototype.
46073 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46074 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46075 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46076 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46077 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46078 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46079 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46080 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46081 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46082 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46083 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46084 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46085 * kern/disk.c: Include <pupa/file.h>.
46086 (pupa_print_partinfo): New function.
46087 * kern/dl.c: Include <pupa/env.h>.
46088 (pupa_dl_dir): Variable removed.
46089 (pupa_dl_load): Use the environment variable `prefix' instead of
46090 the variable pupa_dl_dir.
46091 (pupa_dl_set_prefix): Function removed.
46092 (pupa_dl_get_prefix): Likewise.
46093 * kern/i386/pc/init.c: Include <pupa/env.h>.
46094 (pupa_machine_init): Use the environment variable `prefix' instead of
46095 using pupa_dl_set_prefix to set the prefix.
46096 * kern/main.c: Include <pupa/env.h>.
46097 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46098 using pupa_dl_get_prefix to get the prefix.
46099 * kern/misc.c: Include <pupa/env.h>.
46100 (pupa_isdigit): New function.
46101 (pupa_isgraph): Likewise.
46102 (pupa_ftoa): Likewise.
46103 (pupa_vsprintf): Added support for printing values of the type
46104 `double'. Make it possible to format variable output when using
46105 formatting like `%1.2%f'.
46106 (pupa_split_cmdline): New function.
46107 * kern/rescue.c: Include <pupa/env.h>.
46108 (next_word): Removed function.
46109 (pupa_rescue_cmd_prefix): Likewise.
46110 (pupa_rescue_cmd_set): New function.
46111 (pupa_rescue_cmd_unset): New function.
46112 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46113 split the command line instead of splitting it here. Added
46114 support for setting variables using the syntax `foo=bar'. Don't
46115 initialize the prefix command anymore. Initialized the set and
46116 unset commands.
46117 * normal/cmdline.c: Include <pupa/env.h>.
46118 (pupa_tab_complete): Added prototypes for print_simple_completion,
46119 print_partition_completion, add_completion, iterate_commands,
46120 iterate_dev, iterate_part and iterate_dir. Moved code to print
46121 partition information from here to kern/disk.c.
46122 (pupa_cmdline_run): Don't check if the function exists anymore.
46123 * normal/main.c: Include <pupa/env.h>.
46124 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46125 instead of using pupa_dl_get_prefix to get the prefix.
46126 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46127 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46128 warning.
46129 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46130 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46131 ((unused))' to silence a gcc warning.
46132 (pupa_vga_setcolor): Likewise.
46133 (debug_command): Changed to match argument parsing
46134 interface changes.
46135 * util/pupa-emu.c: Include <pupa/env.h>.
46136 (options): Added 0's for unused fields to silence a gcc warning.
46137 (argp): Likewise.
46138 (main): Use the environment variable `prefix' instead of using
46139 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46140 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46141 and terminal.
46142
46143 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46144 * util/misc.c: Include <malloc.h>.
46145 (pupa_malloc): Rewritten so errors are correctly reported.
46146 (pupa_realloc): Likewise.
46147 (pupa_memalign): Likewise.
46148 (pupa_mm_init_region): Declare unused variables with
46149 `__attribute__ ((unused))' to silence a gcc warning.
46150 * normal/i386/setjmp.S: Remove tab at the end of the file to
46151 silence a gcc warning.
46152 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46153 variables with `__attribute__ ((unused))' to silence a gcc
46154 warning.
46155 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46156 local variable i unsigned to silence a gcc warning.
46157
46158 * kern/term.c: Include <pupa/misc.h>.
46159 (pupa_more_lines): New variable.
46160 (pupa_more): Likewise.
46161 (pupa_putcode): When the pager is active pause at the end of every
46162 screen.
46163 (pupa_set_more): New function.
46164 * include/pupa/term.h (pupa_set_more): New prototype.
46165
46166
46167 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46168
46169 Now this project is GRUB 2 rather than PUPA. The location of
46170 the CVS repository was moved to GRUB's.
46171
46172 * configure.ac: Use bug-grub as the reporting address.
46173 Use GRUB instead of PUPA.
46174 Change the version number to 1.90.
46175
46176 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46177
46178 * genkernsyms.sh: Updated copyright information.
46179 * genmk.rb: Likewise.
46180 * genmodsrc.sh: Likewise.
46181 * gensymlist.sh: Likewise.
46182 * boot/i386/pc/boot.S: Likewise.
46183 * boot/i386/pc/diskboot.S: Likewise.
46184 * disk/i386/pc/biosdisk.c: Likewise.
46185 * disk/i386/pc/partition.c: Likewise.
46186 * font/manager.c: Likewise.
46187 * fs/ext2.c: Likewise.
46188 * fs/fat.c: Likewise.
46189 * include/pupa/boot.h: Likewise.
46190 * include/pupa/device.h: Likewise.
46191 * include/pupa/disk.h: Likewise.
46192 * include/pupa/dl.h: Likewise.
46193 * include/pupa/elf.h: Likewise.
46194 * include/pupa/err.h: Likewise.
46195 * include/pupa/file.h: Likewise.
46196 * include/pupa/font.h: Likewise.
46197 * include/pupa/fs.h: Likewise.
46198 * include/pupa/kernel.h: Likewise.
46199 * include/pupa/loader.h: Likewise.
46200 * include/pupa/misc.h: Likewise.
46201 * include/pupa/mm.h: Likewise.
46202 * include/pupa/net.h: Likewise.
46203 * include/pupa/normal.h: Likewise.
46204 * include/pupa/rescue.h: Likewise.
46205 * include/pupa/setjmp.h: Likewise.
46206 * include/pupa/symbol.h: Likewise.
46207 * include/pupa/term.h: Likewise.
46208 * include/pupa/types.h: Likewise.
46209 * include/pupa/i386/setjmp.h: Likewise.
46210 * include/pupa/i386/types.h: Likewise.
46211 * include/pupa/i386/pc/biosdisk.h: Likewise.
46212 * include/pupa/i386/pc/boot.h: Likewise.
46213 * include/pupa/i386/pc/console.h: Likewise.
46214 * include/pupa/i386/pc/init.h: Likewise.
46215 * include/pupa/i386/pc/kernel.h: Likewise.
46216 * include/pupa/i386/pc/linux.h: Likewise.
46217 * include/pupa/i386/pc/loader.h: Likewise.
46218 * include/pupa/i386/pc/memory.h: Likewise.
46219 * include/pupa/i386/pc/multiboot.h: Likewise.
46220 * include/pupa/i386/pc/partition.h: Likewise.
46221 * include/pupa/i386/pc/time.h: Likewise.
46222 * include/pupa/i386/pc/vga.h: Likewise.
46223 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46224 * include/pupa/util/getroot.h: Likewise.
46225 * include/pupa/util/misc.h: Likewise.
46226 * include/pupa/util/resolve.h: Likewise.
46227 * kern/device.c: Likewise.
46228 * kern/disk.c: Likewise.
46229 * kern/dl.c: Likewise.
46230 * kern/err.c: Likewise.
46231 * kern/file.c: Likewise.
46232 * kern/fs.c: Likewise.
46233 * kern/loader.c: Likewise.
46234 * kern/main.c: Likewise.
46235 * kern/misc.c: Likewise.
46236 * kern/mm.c: Likewise.
46237 * kern/rescue.c: Likewise.
46238 * kern/term.c: Likewise.
46239 * kern/i386/dl.c: Likewise.
46240 * kern/i386/pc/init.c: Likewise.
46241 * kern/i386/pc/lzo1x.S: Likewise.
46242 * kern/i386/pc/startup.S: Likewise.
46243 * loader/i386/pc/chainloader.c: Likewise.
46244 * loader/i386/pc/linux.c: Likewise.
46245 * loader/i386/pc/multiboot.c: Likewise.
46246 * normal/cmdline.c: Likewise.
46247 * normal/command.c: Likewise.
46248 * normal/main.c: Likewise.
46249 * normal/menu.c: Likewise.
46250 * normal/i386/setjmp.S: Likewise.
46251 * term/i386/pc/console.c: Likewise.
46252 * term/i386/pc/vga.c: Likewise.
46253 * util/console.c: Likewise.
46254 * util/genmoddep.c: Likewise.
46255 * util/misc.c: Likewise.
46256 * util/pupa-emu.c: Likewise.
46257 * util/resolve.c: Likewise.
46258 * util/unifont2pff.rb: Likewise.
46259 * util/i386/pc/biosdisk.c: Likewise.
46260 * util/i386/pc/getroot.c: Likewise.
46261 * util/i386/pc/pupa-mkimage.c: Likewise.
46262 * util/i386/pc/pupa-setup.c: Likewise.
46263
46264 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46265
46266 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46267 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46268 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46269 reading and reset it after reading.
46270 (pupa_ext2_close): Return PUPA_ERR_NONE.
46271
46272 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46273 Correct value.
46274 (struct linux_kernel_header): Add kernel_version and
46275 initrd_addr_max.
46276 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46277 pupa_file_read succeeds.
46278 (pupa_rescue_cmd_initrd): Implement.
46279
46280 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46281
46282 * fs/ext2.c (pupa_ext2_label): New function.
46283 (pupa_ext2_fs): Added label.
46284 * fs/fat.c (pupa_fat_label): New function.
46285 (pupa_fat_fs): Added label.
46286 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46287
46288 * kern/misc.c (pupa_strndup): New function.
46289 * include/pupa/misc.h (pupa_strndup): New prototype.
46290
46291 * include/pupa/normal.h: Include <pupa/err.h>.
46292 (pupa_set_history): New prototype.
46293 (pupa_iterate_commands): New prototype.
46294 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46295 <pupa/disk.h>, <pupa/file.h>.
46296 (hist_size): New variable.
46297 (hist_lines): Likewise.
46298 (hist_end): Likewise.
46299 (hist_used): Likewise.
46300 (pupa_set_history): New function.
46301 (pupa_history_get): Likewise.
46302 (pupa_history_add): Likewise.
46303 (pupa_history_replace): Likewise.
46304 (pupa_tab_complete): Likewise.
46305 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46306 completion shows partitionnames while completing partitions, this
46307 feature was suggested by Jeff Bailey.
46308 * normal/command.c (pupa_iterate_commands): New function.
46309 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46310 (pupa_normal_init): Initialize history buffer.
46311 (PUPA_MOD_INIT): Likewise.
46312 (pupa_normal_fini): Free the history buffer.
46313 (PUPA_MOD_FINI): Likewise.
46314
46315 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46316 key.
46317
46318 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46319 * configure.ac [i386]: Check for regparam bug.
46320 (NESTED_FUNC_ATTR) [! i386]: Defined.
46321
46322 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46323
46324 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46325 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46326 (pupa_emu_SOURCES): New variable.
46327 (pupa_emu_LDFLAGS): Likewise.
46328 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46329 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46330 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46331 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46332 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46333 (pupa_jmp_buf): New typedef.
46334 (pupa_setjmp) [PUPA_UTIL]: New macro.
46335 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46336 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46337 (pupa_refresh): New prototype.
46338 * include/pupa/util/getroot.h: New file.
46339 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46340 it.
46341 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46342 (pupa_rescue_cmd_cat): Likewise.
46343 (pupa_rescue_cmd_ls): Likewise.
46344 (pupa_rescue_cmd_testload): Likewise.
46345 (pupa_rescue_cmd_lsmod): Likewise.
46346 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46347 * normal/menu.c (run_menu): Likewise.
46348 * kern/term.c (pupa_cls): Likewise.
46349 (pupa_refresh): New function.
46350 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46351 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46352 * util/console.c: New file.
46353
46354 * util/i386/pc/getroot.c: New file.
46355 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46356 (pupa_putchar): New function.
46357 (pupa_refresh): Likewise.
46358 (xgetcwd): Function moved to ...
46359 (strip_extra_slashes): Likewise.
46360 (get_prefix): Likewise.
46361 * util/i386/pc/getroot.c: ... here.
46362 (find_root_device): Function moved and renamed to...
46363 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46364 Changed all callers.
46365 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46366 and renamed to...
46367 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46368 Changed all callers.
46369 * util/misc.c (pupa_memalign): New function.
46370 (pupa_mm_init_region): Likewise.
46371 (pupa_register_exported_symbols): Likewise.
46372 (pupa_putchar): Function removed.
46373 * util/pupa-emu.c: New file.
46374
46375 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46376
46377 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46378 (_multiboot_mod_SOURCES): New variable.
46379 (_multiboot_mod_CFLAGS): Likewise.
46380 * loader/i386/pc/multiboot.c: New file.
46381 * include/pupa/i386/pc/multiboot.h: Likewise.
46382 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46383 (pupa_multiboot_real_boot): New function.
46384 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46385 (pupa_multiboot_real_boot): New prototype.
46386 (pupa_rescue_cmd_multiboot): Likewise
46387 (pupa_rescue_cmd_module): Likewise.
46388
46389 * kern/loader.c (pupa_loader_set): Continue when
46390 pupa_loader_unload_func() fails.
46391 (pupa_loader_unset): New function.
46392 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46393
46394 * kern/misc.c (pupa_stpcpy): New function.
46395 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46396
46397 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46398
46399 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46400 for available extensions.
46401
46402 * include/pupa/i386/pc/time.h: New file.
46403 * kern/disk.c: Include <pupa/machine/time.h>.
46404 (PUPA_CACHE_TIMEOUT): New macro.
46405 (pupa_last_time): New variable.
46406 (pupa_disk_open): Flush the cache when there was a timeout.
46407 (pupa_disk_close): Reset the timer.
46408 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46409 pupa_currticks.
46410 * util/misc.c: Include <sys/times.h>
46411 (pupa_get_rtc): New function.
46412
46413 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46414
46415 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46416 as blocks.
46417 (pupa_ext2_get_file_block): Use blocks member.
46418
46419 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46420 first block. Return -1 instead of pupa_errno on error.
46421
46422 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46423
46424 * README: In the pupa-mkimage example use _chain instead of chain
46425 and ext2 instead of fat.
46426 * TODO: Replace ext2fs with jfs as an example. Add an item for
46427 adding journal playback for ext2fs.
46428 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46429 (pkgdata_MODULES): Added ext2.mod.
46430 (ext2_mod_SOURCES): New variable.
46431 (ext2_mod_CFLAGS): Likewise.
46432 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46433 * include/pupa/misc.h (pupa_strncpy): New prototype.
46434 (pupa_strcat): Likewise.
46435 (pupa_strncmp): Likewise.
46436 * kern/misc.c (pupa_strcat): Enable function.
46437 (pupa_strncpy): New function.
46438 (pupa_strncmp): Likewise.
46439 * fs/ext2.c: New file.
46440
46441 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46442 when the read failed before retrying.
46443 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46444 (_FILE_OFFSET_BITS): Likewise.
46445 * configure.ac: Added AC_SYS_LARGEFILE.
46446
46447 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46448
46449 * genmk.rb (PModule#rule): Make sure to get only symbol names
46450 from the output of nm.
46451 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46452
46453 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46454
46455 I forgot to check in these changes for a long time. This adds
46456 incomplete support for VGA console, and this is still very
46457 buggy. Also, a lot of consideration is required for I18N,
46458 UNICODE, and VGA font issues. Therefore, assume that this is
46459 such that "better than nothing".
46460
46461 * font/manager.c: New file.
46462 * include/pupa/font.h: Likewise.
46463 * include/pupa/i386/pc/vga.h: Likewise.
46464 * term/i386/pc/vga.c: Likewise.
46465 * util/unifont2pff.rb: Likewise.
46466
46467 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46468 (pkgdata_MODULES): Added vga.mod and font.mod.
46469 (vga_mod_SOURCES): New variables.
46470 (vga_mod_CFLAGS): Likewise.
46471 (font_mod_SOURCES): Likewise.
46472 (font_mod_CFLAGS): Likewise.
46473
46474 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46475
46476 * include/pupa/term.h: Include pupa/err.h.
46477 (struct pupa_term): Added init and fini.
46478 Changed the argument of putchar to pupa_uint32_t.
46479
46480 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46481 (pupa_console_real_putchar): New prototype.
46482 (pupa_console_putchar): Removed.
46483 (pupa_console_checkkey): Exported.
46484 (pupa_console_getkey): Likewise.
46485
46486 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46487 characters.
46488
46489 * kern/term.c (pupa_term_set_current): Rewritten.
46490 (pupa_putchar): Likewise.
46491 (pupa_putcode): New function.
46492
46493 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46494 (pupa_console_real_putchar): ... this.
46495 (pupa_vga_set_mode): New function.
46496 (pupa_vga_get_font): Likewise.
46497
46498 * normal/command.c: Include pupa/term.h.
46499 (terminal_command): New function.
46500 (pupa_command_init): Register the command "terminal".
46501
46502 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46503 (DISP_UP): Likewise.
46504 (DISP_RIGHT): Likewise.
46505 (DISP_DOWN): Likewise.
46506 (DISP_HLINE): Likewise.
46507 (DISP_VLINE): Likewise.
46508 (DISP_UL): Likewise.
46509 (DISP_UR): Likewise.
46510 (DISP_LL): Likewise.
46511 (DISP_LR): Likewise.
46512
46513 * term/i386/pc/console.c (pupa_console_putchar): New function.
46514
46515 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46516
46517 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46518 FIX. Reverse the path_list.
46519
46520 * include/pupa/normal.h: Export pupa_register_command and
46521 pupa_unregister_command.
46522
46523 * hello/hello.c (pupa_cmd_hello): New module.
46524 * conf/i386-pc.rmk: Added hello.mod.
46525
46526 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46527
46528 * kern/i386/pc/lzo1x.S: New file.
46529
46530 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46531 (compress_kernel): New variable.
46532 (generate_image): Heavily modified to support compressing a
46533 large part of the core image.
46534
46535 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46536 leak.
46537 (pupa_util_load_image): New function.
46538
46539 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46540 (pupa_compressed_size): New variable.
46541 (codestart): Enable Gate A20 here.
46542 Decompress the compressed part of the core image.
46543 Rearrange the code to put functions and variables which are
46544 required for initialization in the non-compressed part.
46545 Include lzo1x.S.
46546
46547 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46548 here.
46549
46550 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46551
46552 * include/pupa/i386/pc/kernel.h
46553 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46554 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46555 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46556 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46557 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46558
46559 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46560
46561 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46562 (Utility#rule): Likewise.
46563
46564 * configure.ac: Check if LZO is available.
46565
46566 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46567
46568 * include/pupa/normal.h: New file.
46569 * include/pupa/setjmp.h: Likewise.
46570 * include/pupa/i386/setjmp.h: Likewise.
46571 * normal/cmdline.c: Likewise.
46572 * normal/command.c: Likewise.
46573 * normal/main.c: Likewise.
46574 * normal/menu.c: Likewise.
46575 * normal/i386/setjmp.S: Likewise.
46576
46577 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46578 (pupa_rescue_cmd_initrd): Likewise.
46579
46580 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46581 Likewise.
46582
46583 * kern/i386/pc/startup.S (translation_table): New variable.
46584 (translate_keycode): New function.
46585 (pupa_console_getkey): Call translate_keycode.
46586
46587 * kern/rescue.c (attempt_normal_mode): New function.
46588 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46589 it failed, print a message.
46590
46591 * kern/mm.c (pupa_real_malloc): Print more information when a
46592 free magic is broken.
46593 (pupa_free): If the first free header is not free actually, set
46594 it to P.
46595
46596 * kern/main.c (pupa_load_normal_mode): Just load the module
46597 "normal".
46598 (pupa_main): Don't print the message
46599 "Entering into rescue mode..." here.
46600
46601 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46602 Declared.
46603 (pupa_rescue_cmd_initrd): Likewise.
46604 (pupa_rescue_cmd_initrd): Likewise.
46605
46606 * include/pupa/symbol.h (FUNCTION): Specify the type.
46607 (VARIABLE): Likewise.
46608
46609 * include/pupa/err.h (pupa_err_t): Added
46610 PUPA_ERR_UNKNOWN_COMMAND.
46611
46612 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46613 (pupa_dl_get_prefix): Likewise.
46614
46615 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46616 Added _chain.mod and _linux.mod instead of chain.mod and
46617 linux.mod.
46618 (chain_mod_SOURCES): Renamed to ...
46619 (_chain_mod_SOURCES): ... this.
46620 (chain_mod_CFLAGS): Renamed to ...
46621 (_chain_mod_CFLAGS): ... this.
46622 (linux_mod_SOURCES): Renamed to ...
46623 (_linux_mod_SOURCES): ... this.
46624 (linux_mod_CFLAGS): Renamed to ...
46625 (_linux_mod_CFLAGS): ... this.
46626 (normal_mod_SOURCES): New variable.
46627 (normal_mod_CFLAGS): Likewise.
46628 (normal_mod_ASFLAGS): Likewise.
46629
46630 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46631
46632 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46633 possible.
46634
46635 * kern/dl.c (pupa_dl_ref): Refer depending modules
46636 recursively.
46637 (pupa_dl_unref): Unrefer depending modules recursively.
46638 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46639 a module is unloaded before one depending on that module is
46640 unloaded.
46641 (pupa_dl_unload): Unload depending modules explicitly,
46642 if possible.
46643
46644 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46645
46646 * include/pupa/i386/pc/linux.h: New file.
46647 * loader/i386/pc/linux.c: Likewise.
46648
46649 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46650 Removed.
46651 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46652 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46653 of PUPA_CHAINLOADER_BOOT_SECTOR.
46654
46655 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46656 (pupa_linux_prot_size): New variable.
46657 (pupa_linux_tmp_addr): Likewise.
46658 (pupa_linux_real_addr): Likewise.
46659 (pupa_linux_boot_zimage): New function.
46660 (pupa_linux_boot_bzimage): Likewise.
46661
46662 * kern/i386/pc/init.c (struct mem_region): New structure.
46663 (MAX_REGIONS): New macro.
46664 (mem_regions): New variable.
46665 (num_regions): Likewise.
46666 (pupa_os_area_addr): Likewise.
46667 (pupa_os_area_size): Likewise.
46668 (pupa_lower_mem): Likewise.
46669 (pupa_upper_mem): Likewise.
46670 (add_mem_region): New function.
46671 (compact_mem_regions): Likewise.
46672 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46673 the size of the conventional memory and that of so-called upper
46674 memory (before the first memory hole).
46675 Instead of adding each found region to free memory, use
46676 add_mem_region and add them after removing overlaps.
46677 Also, add only 1/4 of the upper memory to free memory. The rest
46678 is used for loading OS images. Maybe this is ad hoc, but this
46679 makes it much easier to relocate OS images when booting.
46680
46681 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46682 (pupa_enter_rescue_mode): Don't register initrd and module.
46683
46684 * kern/mm.c: Include pupa/dl.h.
46685
46686 * kern/main.c: Include pupa/file.h and pupa/device.h.
46687
46688 * kern/loader.c (pupa_loader_load_module_func): Removed.
46689 (pupa_loader_load_module): Likewise.
46690
46691 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46692 ``.o''.
46693
46694 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46695 (pupa_linux_tmp_addr): Likewise.
46696 (pupa_linux_real_addr): Likewise.
46697 (pupa_linux_boot_zimage): Likewise.
46698 (pupa_linux_boot_bzimage): Likewise.
46699
46700 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46701 (pupa_upper_mem): Likewise.
46702 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46703 module is too dangerous.
46704
46705 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46706 (pupa_os_area_size): Likewise.
46707 (pupa_loader_set): Remove the first argument. Loader doesn't
46708 manage modules or initrd any longer.
46709 (pupa_loader_load_module): Removed.
46710
46711 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46712 (linux_mod_SOURCES): New variable.
46713 (linux_mod_CFLAGS): Likewise.
46714
46715 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46716
46717 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46718 the length of a blocklist correctly.
46719
46720 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46721 Use ioctl only if the OS file is a block device.
46722 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46723 not very useful for normal files.
46724
46725 * kern/main.c (pupa_set_root_dev): New function.
46726 (pupa_load_normal_mode): Likewise.
46727 (pupa_main): Call those above.
46728
46729 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46730 pupa_uint16_t.
46731
46732 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46733
46734 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46735
46736 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46737 (setup): Configure the installed partition information and the
46738 dl prefix.
46739
46740 * loader/i386/pc/chainloader.c (my_mod): New variable.
46741 (pupa_chainloader_unload): New function.
46742 (pupa_rescue_cmd_chainloader): Refer itself.
46743 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46744
46745 * kern/i386/pc/startup.S (install_partition): Removed.
46746 (version_string): Likewise.
46747 (config_file): Likewise.
46748 (pupa_install_dos_part): New variable.
46749 (pupa_install_bsd_part): Likewise.
46750 (pupa_prefix): Likewise.
46751 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46752
46753 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46754 and pupa/misc.h.
46755 (make_install_device): New function.
46756 (pupa_machine_init): Set the dl prefix.
46757
46758 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46759 (buf): Renamed to ...
46760 (linebuf): ... this.
46761 (pupa_rescue_cmd_prefix): New function.
46762 (pupa_rescue_cmd_insmod): Likewise.
46763 (pupa_rescue_cmd_rmmod): Likewise.
46764 (pupa_rescue_cmd_lsmod): Likewise.
46765 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46766 rmmod and lsmod.
46767
46768 * kern/mm.c (pupa_memalign): If failed even after invalidating
46769 disk caches, unload unneeded modules and retry.
46770
46771 * kern/misc.c (pupa_memmove): New function.
46772 (pupa_memcpy): Removed.
46773 (pupa_strcpy): New function.
46774 (pupa_itoa): Made static.
46775
46776 * kern/dl.c (pupa_dl_iterate): New function.
46777 (pupa_dl_ref): Likewise.
46778 (pupa_dl_unref): Likewise.
46779 (pupa_dl_unload): Return if succeeded or not.
46780 (pupa_dl_unload_unneeded): New function.
46781 (pupa_dl_unload_all): Likewise.
46782 (pupa_dl_init): Renamed to ...
46783 (pupa_dl_set_prefix): ... this.
46784 (pupa_dl_get_prefix): New function.
46785
46786 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46787 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46788 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46789 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46790 (pupa_install_dos_part): Declared.
46791 (pupa_install_bsd_part): Likewise.
46792 (pupa_prefix): Likewise.
46793 (pupa_boot_drive): Likewise.
46794
46795 * include/pupa/types.h: Fix a typo.
46796
46797 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46798 pupa_memmove.
46799 (pupa_memmove): Declared.
46800 (pupa_strcpy): Likewise.
46801
46802 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46803 pupa_mod_init takes one argument, its own module.
46804 (pupa_dl_unload_unneeded): Declared.
46805 (pupa_dl_unload_all): Likewise.
46806 (pupa_dl_ref): Likewise.
46807 (pupa_dl_unref): Likewise.
46808 (pupa_dl_iterate): Likewise.
46809 (pupa_dl_init): Renamed to ...
46810 (pupa_dl_set_prefix): ... this.
46811 (pupa_dl_get_prefix): Declared.
46812
46813 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46814 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46815 unloaded.
46816 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46817 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46818
46819 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46820 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46821
46822 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46823
46824 * util/i386/pc/pupa-setup.c (setup): Define the internal
46825 function find_first_partition_start at the top level, because GCC
46826 3.0.x cannot compile internal functions in deeper scopes
46827 correctly.
46828 (find_root_device): Use lstat instead of stat.
46829 Don't follow symbolic links.
46830 Fix the path-constructing code.
46831
46832 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46833 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46834 by a BLKGETSIZE ioctl first, because block devices don't fill
46835 the member st_mode of the structure stat on Linux.
46836 [__linux__] (linux_find_partition): Use a temporary buffer
46837 REAL_DEV for the working space. Copy it to DEV before returning.
46838 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46839 buffer cache consistent.
46840 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46841 strncmp. The previous value was merely wrong.
46842 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46843
46844 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46845 FAT size is 12. The previous value was merely wrong.
46846
46847 * kern/main.c (pupa_main): Don't split the starting message from
46848 newlines.
46849
46850 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46851 LF, because BIOS goes crazy about character attributes in this
46852 case.
46853
46854 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46855
46856 * include/i386/pc/util/biosdisk.h: New file.
46857 * util/i386/pc/biosdisk.c: Likewise.
46858 * util/i386/pc/pupa-setup.c: Likewise.
46859
46860 * Makefile.in (INCLUDE_DISTFILES): Added
46861 include/pupa/i386/pc/util/biosdisk.h.
46862 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46863 directory util/i386/pc.
46864 (install-local): Added a rule for sbin_UTILITIES.
46865 (uninstall): Likewise.
46866
46867 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46868
46869 * util/misc.c (xrealloc): New function.
46870 (pupa_malloc): Likewise.
46871 (pupa_free): Likewise.
46872 (pupa_realloc): Likewise.
46873 (pupa_stop): Likewise.
46874 (pupa_putchar): Likewise.
46875
46876 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46877
46878 * include/pupa/util/misc.h (xrealloc): Declared.
46879
46880 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46881 macro.
46882 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46883 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46884
46885 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46886 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46887
46888 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46889 way should be implemented.
46890 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46891
46892 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46893 the size of NAME for safety.
46894 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46895 0x88.
46896
46897 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46898 (pupa_setup_SOURCES): Likewise.
46899
46900 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46901
46902 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46903
46904 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46905 bunch of pushl's from pusha, because this destroys the return
46906 value.
46907
46908 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46909
46910 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46911 This means that any missing prototypes could be fatal. Also, you
46912 must take care when writing assembly code. See the comments at
46913 the beginning of startup.S, for more details.
46914
46915 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46916 compilation mechanism.
46917 (pupa_chainloader_real_boot): Likewise.
46918 (pupa_biosdisk_rw_int13_extensions): Likewise.
46919 (pupa_biosdisk_rw_standard): Likewise.
46920 (pupa_biosdisk_check_int13_extensions): Likewise.
46921 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46922 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46923 (pupa_get_memsize): Likewise.
46924 (pupa_get_mmap_entry): Likewise.
46925 (pupa_console_putchar): Likewise.
46926 (pupa_console_setcursor): Likewise.
46927 (pupa_getrtsecs): Use pushl instead of push.
46928
46929 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46930 memory instead of the stack for a mmap entry, because some
46931 BIOSes may ignore the maximum size and overflow.
46932
46933 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46934
46935 * genmk.rb (PModule#rule): Compile automatically generated
46936 sources with module-specific CFLAGS as well as other sources.
46937
46938 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46939
46940 * configure.ac: Check ld.
46941 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46942 respectively, before checking endianness and sizes.
46943
46944 * Makefile.in (LD): New variable.
46945
46946 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46947
46948 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46949
46950 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46951
46952 * Changelog: New file.
46953