]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Support Apple FAT binaries on non-Apple platforms.
[grub2.git] / ChangeLog
1 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Support Apple FAT binaries on non-Apple platforms.
4
5 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
7 Likewise.
8 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
9 Apple FAT binaries.
10
11 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
14 sector devices.
15
16 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
17
18 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
19 explicitly zeroing elements.
20 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
21 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
22 of elements in a structure already allocated using grub_zalloc.
23 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
24
25 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
26
27 * docs/grub.texi (grub_cpu): New subsection.
28 (grub_platform): Likewise.
29
30 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
33
34 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
37 divisions.
38
39 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
42 * grub-core/fs/ntfscomp.c: Likewise.
43 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
44 (grub_ntfs_comp): Likewise.
45
46 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
49 Rename to ...
50 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
51 of groups_per_block. All users updated.
52
53 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
56 grub_error properly.
57 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
58 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
59
60 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
63 always in /boot/zfs.
64 Reported by: Yuta Satoh.
65
66 2013-01-03 Yuta Satoh <nigoro>
67
68 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
69 ${grub_probe}
70
71 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * configure.ac: Extend -Wno-trampolines to host.
74
75 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
78 entry->len = 0.
79
80 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
81
82 * docs/grub.texi (Invoking grub-mkrelpath): New section.
83 (Invoking grub-script-check): Likewise.
84
85 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
86
87 * docs/grub.texi (Invoking grub-mount): New section.
88 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
89
90 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
91
92 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
93 test failures, so that a failing unit test correctly causes 'make
94 check' to fail.
95
96 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
97
98 Fix failing printf test.
99
100 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
101 '$' in the correct order when collecting type information.
102
103 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
104
105 * docs/grub.texi (configfile): Explain environment variable
106 handling.
107 (source): New section.
108 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
109
110 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
111
112 Remove several trivially-unnecessary uses of nested functions.
113
114 * grub-core/commands/i386/pc/sendkey.c
115 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
116 instead of nested.
117 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
118 Rename to ...
119 (legacy_file_getline): ... this.
120 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
121 Likewise.
122 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
123 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
124 to ...
125 (probe_dummy_iter): ... this.
126 * grub-core/kern/i386/coreboot/mmap.c
127 (grub_linuxbios_table_iterate: check_signature): Likewise.
128 * grub-core/kern/parser.c (grub_parser_split_cmdline:
129 check_varstate): Likewise. Mark inline.
130 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
131 an additional parameter.
132 (find_long: fnd_long): Likewise. Pass two additional parameters.
133 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
134 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
135 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
136 Likewise. Rename to ...
137 (grub_cmos_find_port_iter): ... this.
138 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
139 Rename to ...
140 (find_rtc_iter): ... this.
141
142 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
143 function directly into the function body, since it is only called
144 once.
145
146 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
147
148 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
149 __attribute__ ((unused)).
150 * grub-core/video/bochs.c (find_card): Likewise.
151 * grub-core/video/cirrus.c (find_card): Likewise.
152 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
153 * grub-core/video/sis315pro.c (find_card): Likewise.
154 * grub-core/video/sm712.c (find_card): Likewise.
155
156 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
157
158 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
159 Fixes Savannah bug #37821.
160
161 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
162
163 Apply program name transformations at build-time rather than at
164 run-time. Fixes Debian bug #696465.
165
166 * acinclude.m4 (grub_TRANSFORM): New macro.
167 * configure.ac: Create output variables with transformed names for
168 most programs.
169 * util/bash-completion.d/grub-completion.bash.in: Use
170 pre-transformed variables for program names.
171 * util/grub-install.in: Likewise.
172 * util/grub-kbdcomp.in: Likewise.
173 * util/grub-mkconfig.in: Likewise.
174 * util/grub-mkconfig_lib.in: Likewise.
175 * util/grub-mknetdir.in: Likewise.
176 * util/grub-mkrescue.in: Likewise.
177 * util/grub-mkstandalone.in: Likewise.
178 * util/grub-reboot.in: Likewise.
179 * util/grub-set-default.in: Likewise.
180 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
181 * tests/util/grub-shell-tester.in: Remove unused assignment.
182 * tests/util/grub-shell.in: Likewise.
183 * util/grub.d/00_header.in: Likewise.
184
185 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
186
187 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
188
189 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
190 HAVE_RAW_DECL_GETS.
191 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
192
193 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
196 Reported by: Eriks Latosheks <foresterlv>.
197
198 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * docs/grub.texi (Network): Update instructions on generating netboot
201 image.
202
203 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
206 around device name if necessarry.
207
208 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
209
210 * util/grub-install.in: Follow the symbolic link parameter added
211 to the file command.
212
213 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
214
215 * util/grub-install.in: Remove stale TODO.
216
217 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
218
219 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
220 dynamic allocation for the bootpath buffer.
221
222 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
223
224 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
225 window too small.
226
227 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
230 argument rather than font name. All users updated.
231 (grub_gfxterm_set_window): Likewise.
232
233 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
234
235 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
236 from working.
237
238 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * util/getroot.c (convert_system_partition_to_system_disk): Support
241 nbd disks.
242
243 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
246 infinite loop on corrupted FS.
247
248 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Fix big-endian mtime.
251
252 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
253 together sec and usec.
254 (grub_ufs_dir): Use correct byteswapping for UFS time.
255
256 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
257
258 Support big-endian UFS1.
259
260 * Makefile.util.def (libgrubmods): Add ufs_be.c
261 * grub-core/Makefile.core.def (ufs1_be): New module.
262 * grub-core/fs/ufs_be.c: New file.
263 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
264 the file.
265
266 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
267
268 * include/grub/types.h: Fix functionality unaffecting typo in
269 GRUB_TARGET_WORDSIZE conditional macro.
270
271 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
272
273 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
274
275 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
276
277 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
278 that /netbsd appears first (when it exists).
279
280 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
281
282 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
283 Fixes Savannah bug #37558.
284
285 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
286
287 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
288 description of extract_entries_configfile.
289
290 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
291
292 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
293 preferred_address.
294 (grub_cmd_linux): Likewise.
295 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
296 preferred_lifetime. Update all users.
297
298 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
299
300 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
301 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
302
303 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
304
305 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
306 errors from grub-probe to /dev/null, not stdout.
307
308 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
311 sector 1.
312
313 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
314
315 * util/grub-install.in: Make the error message if $source_dir
316 doesn't exist more useful.
317
318 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
319
320 Fix grub-emu build on FreeBSD.
321
322 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
323 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
324 headers on Linux.
325 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
326 implementation is currently Linux-specific.
327 * util/getroot.c (exec_pipe): Define only on Linux or when either
328 libzfs or libnvpair is unavailable.
329 (find_root_devices_from_poolname): Remove unused path variable.
330
331 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
332
333 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
334 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
335 should fit before end == 63.
336
337 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
338
339 * util/grub-setup.c (write_rootdev): Remove unused core_img
340 parameter. Update all callers.
341 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
342 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
343 GRUB_SETUP_BIOS.
344
345 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * util/grub-mkconfig_lib.in (grub_tab): New variable.
348 (grub_add_tab): New function.
349 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
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/10_netbsd.in: Likewise.
354 * util/grub.d/10_windows.in: Likewise.
355 * util/grub.d/10_xnu.in: Likewise.
356 * util/grub.d/20_linux_xen.in: Likewise.
357 * util/grub.d/30_os-prober.in: Likewise.
358
359 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
362 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
363 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
364 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
365 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
366 ieee1275-nocursor.
367 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
368 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
369
370 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
373 le-conversion.
374 Reported by: BURETTE, Bernard.
375
376 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
377
378 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
379 from comment.
380
381 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
382
383 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
384 IEEE1275 machines. Fixes powerpc-emu compilation.
385 * include/grub/terminfo.h: Likewise.
386
387 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
390 a const pointer.
391 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
392 const pointer.
393 (efiemu_set_variable): Make vendor_guid a const pointer.
394
395 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
396
397 Don't require grub-mkconfig_lib to generate manpages for programs.
398
399 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
400 dependencies, don't add grub-mkconfig_lib.
401 (program): Pass empty adddeps.
402 (script): Pass grub-mkconfig_lib as adddeps.
403
404 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
407 * util/getroot.c (grub_find_device): Likewise.
408 (get_mdadm_uuid): Likewise.
409 (grub_util_is_imsm): Likewise.
410 (grub_util_pull_device): Likewise.
411 * util/grub-probe.c (probe): Likewise.
412
413 2012-09-10 Benoit Gschwind <gschwind>
414
415 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
416 (devs): Add devpath_8.
417
418 2012-09-08 Peter Jones <pjones@redhat.com>
419
420 * grub-core/Makefile.core.def (efifwsetup): New module.
421 * grub-core/commands/efi/efifwsetup.c: New file.
422 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
423 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
424 New define.
425 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
426
427 2012-09-05 Jiri Slaby <jslaby@suse.cz>
428
429 * configure.ac: Add SuSe path.
430
431 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
432
433 * NEWS: Fix typo.
434
435 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
436
437 * util/import_gcry.py: Sort cipher_files, to make build system
438 generation more deterministic.
439
440 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
443 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
444 (grub_set_datetime): Likewise.
445
446 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
449 warnings.
450
451 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
454
455 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
458
459 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
460
461 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
462 required for checkouts from bzr, but it may be useful for users or
463 distributors wishing to update translations against a tarball
464 distribution, and it can be helpful for the tarball to be a superset
465 of what's in bzr.
466
467 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
468
469 * Makefile.am (EXTRA_DIST): Add
470 grub-core/tests/boot/linux.init-mips.S,
471 grub-core/tests/boot/linux.init-ppc.S, and
472 grub-core/tests/boot/linux-ppc.cfg.
473
474 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
475
476 * grub-core/mmap/mips/loongson: Remove empty directory.
477
478 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
479
480 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
481 gone.
482
483 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
484
485 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
486 grub-sparc64-setup.
487
488 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
489
490 * configure.ac: Strengthen the test for working -nostdinc -isystem.
491
492 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
493
494 * po/POTFILES.in: Regenerated.
495
496 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
497
498 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
499 (NetBSD): New subsection.
500
501 2012-07-22 Ales Nesrsta <starous@volny.cz>
502
503 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
504 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
505
506 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
509 * util/grub.d/10_hurd.in: Add missing quoting.
510 * util/grub.d/10_illumos.in: Likewise.
511 * util/grub.d/10_kfreebsd.in: Likewise.
512 * util/grub.d/10_linux.in: Likewise.
513 * util/grub.d/20_linux_xen.in: Likewise.
514
515 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
516
517 New command `lsefi'.
518
519 * grub-core/Makefile.core.def (lsefi): New module.
520 * grub-core/commands/efi/lsefi.c: New file.
521 * include/grub/efi/api.h: Add more GUIDs.
522
523 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
526 (grub_bsd_elf32_hook): Likewise.
527 (grub_bsd_elf64_size_hook): Likewise.
528 (grub_bsd_elf64_hook): Likewise.
529 (grub_bsd_load_elf): Likewise.
530
531 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
534 if hash function is unavailable.
535 (dec_stream_header): Likewise.
536
537 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
540 filter state.
541
542 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Fix coreboot compilation.
545
546 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
547 (grub_vga_text_init_real): ... this.
548 (grub_vga_text_fini): Rename to ...
549 (grub_vga_text_fini_real): ... this.
550
551 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
554
555 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/lib/legacy_parse.c: Support clear and testload.
558
559 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
562
563 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/fs/ext2.c: Experimental support for 64-bit.
566
567 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/net/tftp.c (ack): Fix endianness problem.
570 (tftp_receive): Likewise.
571 Reported by: Michael Davidsaver.
572
573 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * gentpl.py: Make mans depend on grub-mkconfig_lib.
576
577 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
580 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
581 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
582
583 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
586 efi_mmap_size.
587 Reported by: Stuart Hayes.
588
589 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
592
593 * grub-core/Makefile.core.def (mda_text): New module.
594 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
595 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
596 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
597 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
598 here.
599 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
600 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
601 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
602 here.
603 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
604 to ..
605 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
606 ... here
607 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
608 here.
609 * grub-core/term/i386/vga_common.c: Removed.
610 * include/grub/i386/vga_common.h: Likewise.
611 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
612 (grub_vga_cr_bw_read): Likewise.
613 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
614 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
615 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
616 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
617 grub_vga_cr_read/grub_vga_cr_write.
618 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
619
620 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * configure.ac: Bump version to 2.00.
623 * grub-core/normal/main.c (features): Add feature_200_final.
624
625 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
626 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
627
628 * NEWS: Fix unclarity and language mistakes.
629
630 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
633 additional size to 3 pages.
634 Reported by: Stuart Hayes.
635
636 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * NEWS: Add 2.00 entry.
639
640 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
643 put explicit "/" for empty path.
644 (wildcard_expand): Improve dprintf.
645
646 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
649 it's equal to currnode. This can happen with "" symlink.
650
651 2012-06-27 Yves Blusseau <blusseau@zetam.org>
652
653 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
654 echo shell command by printf command.
655
656 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
659 the value returned by firmware is the maximal position, not diumension.
660 (grub_terminfo_output_state): Use a more sane fallback.
661
662 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
665
666 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
669 frequency to 150 MHz.
670
671 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
672
673 Apple fixes.
674
675 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
676 __APPLE_
677 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
678 definition.
679 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
680
681 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
682
683 Handle slash in HFS label.
684
685 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
686 (grub_hfs_dir): Tanslate slash.
687 (grub_hfs_label): Don't translate slash.
688
689 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
692 network protocol listing since it introduces problematic dependency on
693 net module.
694
695 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
698
699 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
700
701 Init video early on yeeloong to avoid being rebooted by watchdog.
702
703 * grub-core/Makefile.am (gensm712): New target.
704 (sm712_start.S): Likewise.
705 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
706 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
707 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
708 description.
709 * include/grub/vga.h: Move registry definitions to...
710 * include/grub/vgaregs.h: ... here.
711
712 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
715 signedness.
716
717 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
720 platforms with firmware disk drivers in the core.
721
722 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
725 informative verbose message.
726 (read_lv): Handle 64-bit segment size.
727
728 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
731
732 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
735 character but still remove trainling spaces.
736 (grub_fat_label): Ignore archive flag.
737
738 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
741 cast between linux_kernel_header and linux_kernel_params.
742
743 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
746 type for size.
747 (grub_raid6_recover_func_t): Likewise.
748 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
749 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
750
751 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
754
755 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
756
757 Fix overflow.
758
759 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
760 [__NetBSD__]: Add explicit cast before bitshift.
761
762 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * configure.ac: Bump to 2.00~rc1.
765
766 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
769 half of $a0.
770
771 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
772 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
773
774 * docs/grub.texi: Fix search syntax.
775 (Multi-boot manual config): Put msdos rather than GPT example.
776 Grammar corrections.
777
778 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
781
782 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
785
786 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
789 message on double free. Put the value of magic in case of mismatch.
790
791 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
792
793 Speed-up video on yeeloong.
794
795 * grub-core/video/sm712.c (framebuffer): Remove render_target and
796 add cached_ptr.
797 (grub_video_sm712_video_fini): Unmap cached_ptr.
798 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
799 (grub_video_sm712_set_active_render_target): Removed.
800 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
801 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
802 sync caches.
803
804 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
805
806 Avoid flushing the same line multiple times on loongson.
807
808 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
809 Step in 32 bytes and not 1 byte.
810 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
811 Likewise.
812
813 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
816 subvolumes.
817
818 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
819
820 Implement flow control for http.
821
822 * grub-core/net/http.c (parse_line): Handle response 206.
823 (http_receive): Stall if too many packets are in the queue.
824 (http_establish): Fix range header.
825 (http_seek): Fix double free.
826 (http_close): Likewise.
827 (http_packets_pulled): New function.
828 (grub_http_protocol): Set http_seek
829 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
830 (ack_real): Set window depending on i_stall.
831 (grub_net_send_tcp_packet): Likewise.
832 (grub_net_tcp_stall): New function.
833 (grub_net_tcp_unstall): Likewise.
834 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
835 (grub_net_tcp_unstall): Likewise.
836
837 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/net/tftp.c: Decrease stall to 50 packets.
840
841 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
844
845 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * tests/util/grub-shell.in: Fix a typo.
848
849 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Implement flow control for tftp.
852
853 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
854 packets but stop only if stop condition is satisfied.
855 (grub_net_fs_read_real): Call packets_pulled after real read. Use
856 `stall' instead of `eof' as stop condition.
857 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
858 (http_err): Likewise.
859 * grub-core/net/tftp.c (ack): Replace the first argument with data
860 instead of socket.
861 (tftp_receive): Stall if too many packets are in wait queue.
862 (tftp_packets_pulled): New function.
863 (grub_tftp_protocol): Set packets_pulled.
864 * include/grub/net.h (grub_net_packets): New field count.
865 (grub_net_put_packet): Increment count.
866 (grub_net_remove_packet): Likewise.
867 (grub_net_app_protocol): New field `packets_pulled'.
868 (grub_net): New field `stall'.
869
870 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
873 sync part to handle them.
874
875 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
878 * grub-core/net/drivers/ieee1275/ofnet.c
879 (grub_ieee1275_net_config_real): Likewise.
880
881 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
884 the direct route for server/gateway.
885
886 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
889 IP address to server name since we may not hame the DNS.
890
891 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
894 freeing random buffer on failure.
895 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
896
897 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
900
901 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
904 reserved bytes.
905 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
906 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
907 Handle malloc error correctly.
908
909 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
912 blocks.
913
914 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
917 increment.
918
919 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
922 none is explicitly specified.
923
924 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
927 while reallocating.
928
929 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Respect netmask from bootp/dhcp.
932
933 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
934 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
935 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
936 into ...
937 (grub_net_add_ipv4_local): ... this.
938 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
939 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
940 (grub_net_add_ipv4_local): New proto.
941
942 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
945 determining EFI memory map size.
946
947 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
950
951 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
954 when looking for partition separator.
955
956 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
959 Escape commas.
960
961 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Restructure FAT driver to avoid hook in label reading as it hits a
964 GCC bug.
965
966 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
967 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
968 (grub_fat_iterate_dir): Split into ...
969 (grub_fat_iterate_init): ... this, ...
970 (grub_fat_iterate_fini): ... this, ...
971 (grub_fat_iterate_dir_next): ... and this. All users updated.
972
973 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
976 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
977 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
978 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
979 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
980 New fields last_key and last_key_time.
981 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
982 extended key-esc into extended key-extended key.
983
984 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
985
986 Avoid unnecessary memcpy of whole video buffer.
987
988 * grub-core/video/fb/video_fb.c (dirty): New struct.
989 (framebuffer): Add members current_dirty and previous_dirty.
990 (dirty): New function.
991 (grub_video_fb_fill_rect): Update dirty.
992 (common_blitter): Likewise.
993 (grub_video_fb_scroll): Likewise.
994 (doublebuf_blit_update_screen): Copy only dirty part.
995 (doublebuf_pageflipping_update_screen): Likewise.
996 (grub_video_fb_doublebuf_blit_init): Init dirty.
997 (doublebuf_pageflipping_init): Likewise.
998 (grub_video_fb_setup): Likewise.
999
1000 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1003 poll rate.
1004
1005 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 Fix wildcard regexp dot and other special characters handling.
1008 Reported by: Robert Mabee.
1009
1010 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1011 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1012 (split_path): Trigger expansion on '?'.
1013 (unescape): New function.
1014 (wildcard_expand): Unescape parts copied without globbing.
1015 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1016 (grub_script_arglist_to_argv): Don't unescape expansions.
1017
1018 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * include/grub/net.h (grub_net_card): New member txbufsize.
1021 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1022 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1023 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1024 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1025 txbufsize.
1026 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1027 compatible property to check for macs. Set
1028 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1029 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1030 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1031 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1032 (send_card_buffer): Use txbuf.
1033 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1034 nested function out of the parent while on it.
1035
1036 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1039 presence check.
1040 (grub_ieee1275_net_config_real): Fix config pointer.
1041
1042 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1045 filename parsing to non-block devices.
1046
1047 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1050
1051 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1054 All users updated.
1055
1056 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1059 UUID search command even if hints probing failed.
1060
1061 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * po/POTFILES.in: Regenerated.
1064
1065 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 Speed-up video on fuloong.
1068
1069 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1070 New function.
1071 (grub_pci_device_unmap_range): Handle non-cached address.
1072 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1073 add direct_ptr.
1074 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1075 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1076 (grub_video_sis315pro_set_active_render_target): Removed.
1077 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1078 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1079 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1080 sync caches.
1081 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1082 New proto.
1083
1084 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * docs/grub.texi (Multi-boot manual config): New section.
1087
1088 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Avoid slow read-back from VRAM.
1091
1092 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1093 Move from here ...
1094 * grub-core/video/fb/video_fb.c
1095 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1096 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1097 (front_target): Remove front_target. Add pages.
1098 (grub_video_fb_init): Skip setting front_pages.
1099 (grub_video_fb_fini): Likewise.
1100 (doublebuf_blit_update_screen): Use pages.
1101 (grub_video_fb_doublebuf_blit_init): Likewise.
1102 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1103 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1104 (grub_video_fb_setup): Prefer doublebuffing.
1105
1106 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1109 gzio.
1110
1111 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 Add loongson tests.
1114
1115 * tests/util/grub-shell.in: Handle loongson.
1116 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1117 drivers.
1118 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1119 Reboot instead of shutdown if REBOOT is defined.
1120
1121 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1124 sized ports since unlike on real hardware qemu supports only 32-bit
1125 regs.
1126
1127 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1130 * util/grub-mkrescue.in: Handle loongson.
1131
1132 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1135 Set is_part appropriately.
1136 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1137 names. Canonicalize partition without full disk.
1138
1139 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 Revert usb-quiesce since it's wrong.
1142
1143 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1144 (grub_ofdisk_init): Don't do quiesce.
1145
1146 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1149 PowerMac workaround to Xserves as well.
1150 Information supplied by: Benjamin Herrenschmidt.
1151
1152 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 Don't assume that beginning address is also the entry point on ppc.
1155
1156 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1157 (grub_linux_boot): Use linux_entry.
1158 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1159 (grub_linux_load64): Likewise.
1160
1161 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1164
1165 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1168 needlessly lose the console.
1169
1170 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1173 space.
1174
1175 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1178 than current grub_get_rtc() not implemented when booted with
1179 coreboot without TSC.
1180
1181 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1182 Add machine/time.h to kernel headers on loongson.
1183 * grub-core/Makefile.core.def (kernel): Remove
1184 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1185 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1186 (grub_get_rtc): Likewise.
1187 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1188 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1189 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1190 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1191 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1192 rather than installing known non-working time source.
1193 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1194 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1195 * include/grub/time.h: Don't include machine/time.h.
1196 * include/grub/efi/time.h: Removed.
1197 * include/grub/i386/efi/time.h: Likewise.
1198 * include/grub/i386/ieee1275/time.h: Likewise.
1199 * include/grub/powerpc/ieee1275/time.h: Likewise.
1200 * include/grub/sparc64/ieee1275/time.h: Likewise.
1201 * include/grub/x86_64/efi/time.h: Likewise.
1202
1203 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Remove dot on i and j when combining with above diacritics.
1206
1207 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1208 value.
1209 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1210 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1211 with dotless variants when any combining above is present.
1212
1213 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1216 text and not binary.
1217
1218 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Stop polling as soon as we have the packet we were waiting for.
1221
1222 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1223 All users updated.
1224 * grub-core/net/arp.c (have_pending): New var.
1225 (pending_req): Likewise.
1226 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1227 stop indicator.
1228 (grub_net_arp_receive): Set have_pending.
1229 * grub-core/net/dns.c (recv_data): New field stop.
1230 (recv_hook): Set stop.
1231 (grub_net_dns_lookup): Init stop and use as stop condition.
1232 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1233 condition.
1234 * grub-core/net/net.c (grub_net_poll_cards): New argument
1235 stop_condition. Stop when it goes true.
1236 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1237 indicator.
1238 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1239
1240 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 Keep TX and RX buffers on EFI rather than always allocate new ones.
1243
1244 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1245 card. All users updated.
1246 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1247 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1248 (get_card_packet): Likewise.
1249 (grub_efinet_findcards): Init new fields.
1250
1251 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1254 compilation error on sparc64.
1255
1256 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 Use ITC on IA64 rather than broken routine based on daytime.
1259
1260 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1261 ia64.
1262 (grub_get_rtc) [__ia64__]: Likewise.
1263 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1264 (get_itc): New function.
1265 (grub_rtc_get_time_ms): Likewise.
1266 (grub_machine_init): Calibrate ITC.
1267 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1268 Keep only on non-ia64. Don't export since it's broken and used only
1269 if TSC is unavailable.
1270
1271 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1274 even if it's used.
1275 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1276 Skip if parent is unused.
1277
1278 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1281
1282 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 Fix wildcard escaping.
1285
1286 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1287 * grub-core/script/execute.c (wildcard_escape): .. to here.
1288 Don't escape dot.
1289 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1290 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1291 Don't escape dot.
1292 * grub-core/script/execute.c (gettext_append): Always escape.
1293 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1294 * grub-core/script/yylex.l: Don't cut away the escaping.
1295 * tests/grub_script_echo1.in: Add tests with wildcard.
1296
1297 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1300 (ftdi_hw_configure): Likewise.
1301 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1302 define.
1303 (real_config): Handle 1.5 stop bits.
1304 (pl2303_hw_configure): Likewise.
1305
1306 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * Makefile.am: Add ppc linux bootcheck.
1309 * grub-core/tests/boot/linux-ppc.cfg: New file.
1310 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1311
1312 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * tests/grub_script_expansion.in: Skip network protocols.
1315
1316 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1319
1320 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1323 --rom-directory.
1324 Add -graft-points.
1325
1326 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 ESCC serial driver for conducting sautomated tests in qemu.
1329 Not tested on real hardware.
1330
1331 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1332 * grub-core/term/ieee1275/escc.c: New file.
1333 * grub-core/Makefile.core.def (escc): New module.
1334
1335 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1338 invalid on error.
1339 (serial_hw_fetch): Don't read invalid handle.
1340 (serial_hw_put): Don't write into invalid handle.
1341
1342 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 Add a 1.5 stop bits value.
1345
1346 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1347 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1348 GRUB_SERIAL_STOP_BITS_1_5.
1349
1350 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1353 value rather than let it uninited.
1354
1355 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/commands/wildcard.c (+check_file): New function.
1358 (wildcard_expand): Don't expand to non-existing files, expand with
1359 suffix and not attempt to expand if not needed.
1360
1361 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1364 out of partitions containing other partitions.
1365
1366 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1369 on some qemu versions with GRUB.
1370
1371 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1372 define.
1373 (grub_openbsd_bootarg_pcibios): New struct.
1374 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1375 Add PCIINFO.
1376
1377 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * tests/util/grub-shell.in: Trim firmware output on EFI.
1380
1381 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1384 and coreboot since it's already in kernel.
1385
1386 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1389 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1390 to here. New return value start. All users updated.
1391 Recursively scan linear mappings.
1392 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1393 proto.
1394 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1395 Use grub_util_get_dm_node_linear_info.
1396 * util/getroot.c (convert_system_partition_to_system_disk): Use
1397 grub_util_info rather than grub_dprintf.
1398 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1399
1400 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1403
1404 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1405 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1406
1407 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * include/grub/types.h (grub_set_unaligned64): New function.
1410 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1411 (setup): Likewise.
1412
1413 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1416 (grub_ofdisk_fini): Quiesce USB devices.
1417
1418 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1421 caches.
1422
1423 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1426
1427 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/disk/pata.c (grub_pata_pio_read)
1430 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1431 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1432
1433 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 Extend automated tests to qemu-mips.
1436
1437 * Makefile.am: reorganise tests and enable qemu-mips.
1438 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1439 * grub-core/tests/boot/linux.init-mips.S: New file.
1440 * tests/partmap_test.in: Handle ata0 disks.
1441 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1442 non-pc i386.
1443
1444 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1447 ia64.
1448 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1449 quotes while on it.
1450
1451 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1454 (grub_halt): Likewise.
1455 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1456
1457 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/term/serial.c (grub_serial_register)
1460 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1461 the behaviour in line with x86 platforms.
1462
1463 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1466 (grub_ata_strncpy): Likewise.
1467 (grub_ata_identify): Add missing byteswaps.
1468
1469 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1472 byte-swap.
1473 (screen_read_char): Likewise.
1474 (grub_vga_text_cls): Likewise.
1475
1476 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1479 filenames.
1480 (make_file_path): Likewise.
1481
1482 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1485 machines.
1486 Tested by: Paulo Flabiano Smorigo.
1487 Crucial information about API supplied by: Coleen <Last name unknown>.
1488 Reviewed by: Coleen <Last name unknown>.
1489
1490 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * util/grub-mkimage.c: Disable -Wcast-align.
1493
1494 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1497 as they are fatal.
1498
1499 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1502
1503 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * util/grub-probe.c (escape_of_path): Fix double free.
1506
1507 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/commands/videoinfo.c (hook): Show pitch.
1510
1511 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1514
1515 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1518 (probe): Add ieee1275 to OFW devices.
1519
1520 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1523
1524 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 Handle IBM OFW path.
1527
1528 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1529 available.
1530 (of_path_of_scsi): Handle vdevice.
1531
1532 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1535 Allocate in multiples of 16 to avoid adding a few bytes free region the
1536 windows bugs upon.
1537
1538 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1541 Allocate in multiples of 16 to avoid adding a few bytes free region the
1542 windows bugs upon.
1543 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1544
1545 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1548 resolutions.
1549 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1550 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1551
1552 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1553
1554 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1555
1556 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1559 resulted in \\ at the end of the line.
1560
1561 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1564 (grub_parser_cmdline_state): Likewise.
1565 (grub_parser_split_cmdline): Likewise.
1566
1567 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1570 /dev/root and /dev/dm-*.
1571
1572 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1575 fix partially stale display.
1576
1577 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1578
1579 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1580 substraction.
1581
1582 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1585 Fix MBR remapping workaround.
1586 (grub_util_biosdisk_read) [__linux__]: Likewise.
1587
1588 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1591
1592 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * configure.ac: Bump to beta6.
1595
1596 2012-05-31 Christer Weinigel <christer@weinigel.se>
1597
1598 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1599
1600 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1603 (grub_cmd_linux): Likewise.
1604
1605 2012-05-31 Christer Weinigel <christer@weinigel.se>
1606
1607 Fix EHCI low-speed.
1608
1609 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1610 (GRUB_EHCI_MULT_TWO): Likewise.
1611 (GRUB_EHCI_MULT_THREE): Likewise.
1612 (GRUB_EHCI_CMASK_MASK): New enum value.
1613 (GRUB_EHCI_SMASK_MASK): Likewise.
1614 (GRUB_EHCI_CMASK_OFF): Likewise.
1615 (GRUB_EHCI_SMASK_OFF): Likewise.
1616 (grub_ehci_pci_iter): Enable periodic schedule.
1617 (grub_ehci_parse_notrun): Likewise.
1618 (grub_ehci_restore_hw): Likewise.
1619 (grub_ehci_setup_qh): Set flags for low speed transfers.
1620 (grub_ehci_find_qh): Use periodic list for low speed.
1621 (grub_ehci_setup_transfer): Check periodic queue as well.
1622 (grub_ehci_check_transfer): Likewise.
1623 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1624
1625 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1626
1627 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1628 parameter is used.
1629
1630 2012-05-31 Peter Jones <pjones@redhat.com>
1631
1632 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1633 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1634 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1635
1636 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1639 uninited variable. Allocate at least setup_sects.
1640
1641 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 Fix handling of EFI with big memory maps.
1644
1645 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1646 (real_mode_mem): Likewise.
1647 (real_mode_target): Likewise.
1648 (real_mode_pages): Likewise.
1649 (prot_mode_pages): Likewise.
1650 (linux_params): New var.
1651 (linux_cmdline): Likewise.
1652 (free_pages): Don't set real mode variables.
1653 (allocate_pages): Don't allocate real mode memory.
1654 (grub_e820_add_region): Remove the limit.
1655 (grub_linux_boot): Allocate and copy real mode memory.
1656 (grub_linux_unload): Free linux_cmdline.
1657 (grub_cmd_linux): Use temporary storage for parameters.
1658 (grub_cmd_initrd): Likewise.
1659 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1660 (linux_kernel_params): Make it 1K big.
1661
1662 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * Makefile.util.def: Remove -Wno-format.
1665 * grub-core/Makefile.core.def: Likewise.
1666
1667 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * tests/cmp_unit_test.c: Add missing failure message.
1670 * tests/example_unit_test.c: Likewise.
1671 * tests/printf_unit_test.c: Likewise.
1672
1673 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1676 relaxation of protective MBR requirements.
1677
1678 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * configure.ac: Add condition for COND_HOST_XNU.
1681 * Makefile.util.def (10_xnu): New script.
1682 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1683
1684 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1687 objconv bug.
1688
1689 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1692 Binary on other platforms stays identical.
1693
1694 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1697 Apple.
1698
1699 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1702
1703 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1706 rather than defining size_t ourselves to avoid conflict.
1707
1708 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1711 initialisation to avoid __bzero reference.
1712
1713 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1716 version.
1717 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1718 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1719 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1720 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1721 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1722
1723 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1726 * grub-core/kern/misc.c: Likewise.
1727 * grub-core/loader/i386/xnu.c: Likewise.
1728 * include/grub/i386/tsc.h: Likewise.
1729 * include/grub/symbol.h: Likewise.
1730
1731 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1734 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1735 on older compiler.
1736
1737 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1740 Implement Apple flavour.
1741 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1742
1743 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1746 (memmove) [__APPLE__]: Likewise.
1747 (memcpy) [__APPLE__]: Likewise.
1748 (memset) [__APPLE__]: Likewise.
1749 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1750 (memmove) [__APPLE__]: Likewise.
1751 (memcpy) [__APPLE__]: Likewise.
1752 (memset) [__APPLE__]: Likewise.
1753
1754 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1757 dependency discard.
1758
1759 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/normal/main.c (read_config_file): Provide config_file and
1762 config_directory.
1763 * util/grub.d/41_custom.in: Use config_directoy when available.
1764
1765 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1768 (grub_bfs_dir): Likewise.
1769
1770 2012-05-27 Peter Jones <pjones@redhat.com>
1771
1772 The old code gives arguments to a printf function which can't work
1773 correctly, and the compiler complains.
1774
1775 * grub-core/tests/example_functional_test.c (example_test): Add
1776 missing text.
1777 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1778 * include/grub/test.h (grub_test_assert_helper): New declaration.
1779 (grub_test_assert): Use grub_test_assert_helper.
1780
1781 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1784 (exfctest): ... this to avoid overlong filenames.
1785 All users updated.
1786
1787 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 Handle "." and ".." on squashfs.
1790
1791 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1792 Make inode numbers into stack.
1793 (grub_squash_read_symlink): Use stack.
1794 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1795 (make_root_node): Fill stack.
1796 (grub_squash_open): Use stack.
1797
1798 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1801 freeing.
1802
1803 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1806 stderr on test calls.
1807
1808 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1811
1812 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1815
1816 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1819 "..".
1820
1821 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1824 (grub_hfsplus_iterate_dir): Add "." and "..".
1825
1826 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1829 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1830
1831 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1834 (find_path): Handle "." and "..".
1835
1836 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1839 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1840 (grub_affs_iterate_dir): Handle hardlinks.
1841
1842 2012-05-26 Matthew Garrett <mjg@redhat.com>
1843
1844 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1845 (grub_efi_console_fini): Likewise.
1846 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1847 (grub_video_gop_fill_mode_info): Rename to ...
1848 (grub_video_gop_fill_real_mode_info): ... this.
1849 (grub_video_gop_fill_mode_info): New function.
1850 (grub_video_gop_setup): Setup double framebuffer.
1851 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1852 Free offscreen.
1853 (grub_video_gop_swap_buffers): Copy framebuffer.
1854 (grub_video_gop_fini): Free offscreen buffer.
1855 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1856 New enum.
1857 (grub_efi_gop_blt_pixel): New struct.
1858
1859 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * gentpl.py: Remove error disabling for objconv.
1862
1863 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1864
1865 * configure.ac: Remove -Wunitialized as it's not available on older
1866 compilers.
1867
1868 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Fix extent overflow comparator.
1871
1872 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1873 (grub_hfsplus_read_block): Set type.
1874 (grub_hfsplus_cmp_extkey): Compare type.
1875
1876 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1879
1880 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1883 than 0.
1884
1885 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1888 (dejavu_bold_14.pf2): New target.
1889
1890 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * configure.ac: Fix djvu font detection.
1893
1894 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1897 ext* instead of ext2.
1898
1899 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1902 name with \0.
1903
1904 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1905
1906 * docs/grub-dev.texi: Remove dot from .png.
1907
1908 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1911 protective entry in any slot.
1912 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1913 if protective entry is found in any slot.
1914
1915 Protective entry in non-first slot make no sense but is a widespread
1916 brain damage.
1917
1918 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1921
1922 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1925 with old reiserfs.
1926 (grub_reiserfs_open): Don't free root.
1927
1928 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1931 after freeing for safety.
1932
1933 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1936 Reported by: Jordan Uggla.
1937
1938 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1939
1940 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1941 actual implementation. Specifically, clarify that the grub menu will
1942 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1943 passed.
1944
1945 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1946
1947 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1948 of r0.
1949
1950 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 Remove unjustified hard dependency of normal.mod on gfxterm.
1953
1954 * include/grub/term.h (grub_term_output): New member fullscreen.
1955 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1956 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1957 (grub_gfxterm): Set .fullscreen.
1958 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1959 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1960
1961 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1964 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1965 Mention case-insensitive AFFS, SFS and JFS.
1966
1967 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1970
1971 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1974 a bad FS.
1975
1976 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1979 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1980
1981 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1984 (grub_jfs_mount): Fill caseins.
1985 (grub_jfs_find_file): Respect caseins.
1986
1987 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1990 through UTF-16.
1991
1992 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1995 New argument origpath. All users updated.
1996
1997 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2000 (read_attr): Ensure that we read start of possibly compressed block.
2001
2002 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2005 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2006 All users updated.
2007
2008 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2011 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2012 (dejavu.pf2): Replace with ...
2013 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2014 this.
2015
2016 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * util/grub.d/20_linux_xen.in: Add missing line.
2019
2020 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2023 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2024 (grub_utf16_to_utf8): Likewise.
2025
2026 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2029 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2030 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2031 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2033 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2034
2035 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2038 a bad FS.
2039
2040 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2043 (grub_udf_read_symlink): Handle read_string failure.
2044
2045 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2048 comment.
2049
2050 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Fix handling of UDF symlinks.
2053
2054 * grub-core/fs/udf.c (read_string): New argument outbuf.
2055 All users updated.
2056 (grub_ufs_read_symlink): Rename to ...
2057 (grub_udf_read_symlink): ... this. All users updated.
2058 Handle symlinks with more than one component.
2059
2060 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2063 symlinks. Replace leading colon with a slash.
2064
2065 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2068 filename.
2069
2070 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2073 match in inner node.
2074
2075 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2078 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2079 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2080 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2081 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2082 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2083 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2084 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2085 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2086
2087 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 Use grub-probe and not cmp to check that disk is empty.
2090
2091 * util/grub-install.in: Use grub-probe for zero-check.
2092 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2093 (probe): Handle PRINT_ZERO_CHECK.
2094 (argp_parser): Handle -t zero_check.
2095
2096 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 Flush block cache on adding disk to device map.
2099
2100 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2101 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2102 adding.
2103 (read_device_map): Likewise.
2104 (open_device): Flush on opening.
2105
2106 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2109 (handle_symlink): Fix off-by-one error.
2110 Canonicalize the target.
2111 (grub_cpio_dir): Canonicalize the name.
2112 Fix memory leak.
2113 Set directory.
2114 (grub_cpio_open): Canonicalize the name.
2115
2116 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2119 handling.
2120
2121 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2124 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2125
2126 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2129 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
2130 All users updated.
2131
2132 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2135 counterpart.
2136
2137 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Fix UFS1 big file support.
2140
2141 * grub-core/fs/ufs.c (INODE): Removed.
2142 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2143 64-bit.
2144 (INODE_MODE): Simplify.
2145 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2146 (grub_ufs_lookup_symlink): Don't use INODE.
2147
2148 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2151
2152 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2153 (grub_minix_data): Replace log_block_size with block_size.
2154 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2155 (grub_minix_mount): Fill block_size.
2156
2157 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * configure.ac: Bump to beta5.
2160
2161 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Fix wrapped HFS+ handling.
2164
2165 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2166 blocks_start. All users updated.
2167 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2168 wrapping offset.
2169 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2170
2171 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 Fix long symlinks on reiserfs.
2174
2175 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2176 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2177 (grub_reiserfs_iterate_dir): Save size for non-directories.
2178 (grub_reiserfs_open): Don't reread stat block as we already know the
2179 size.
2180 (grub_reiserfs_read): Split into...
2181 (grub_reiserfs_read_real): ... and ...
2182 (grub_reiserfs_read): ...this.
2183
2184 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Fix non-indexed JFS.
2187
2188 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2189 (grub_jfs_data): New field namecomponentlen.
2190 (grub_jfs_mount): Fill namecomponentlen.
2191 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2192
2193 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2196 * tests/grub_script_echo1.in: Add tests.
2197
2198 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * util/grub-install.in: Ignore empty devicetree directory.
2201
2202 2012-05-08 Bean <bean123ch@gmail.com>
2203
2204 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2205 All users updated.
2206 (free_rsm): Free header as well.
2207 (free_old_fragments): Fix memory leak.
2208 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2209 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2210 (destroy_pq): Likewise.
2211 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2212
2213 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2216 resulting hash as a precaution.
2217
2218 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2221 '_' in variable names.
2222 * grub-core/net/net.c (grub_net_network_level_interface_register):
2223 Likewise.
2224
2225 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 Fix AFFS with non-512B blocks.
2228
2229 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2230 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2231 (grub_affs_data): Replace blocksize with log_blocksize.
2232 (grub_affs_read_block): Fix non-512B blocks.
2233 (grub_affs_read_symlink): Likewise.
2234 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2235 (grub_affs_read): Fix non-512B blocks.
2236 (grub_affs_label): Likewise.
2237 (grub_affs_mtime): Likewise.
2238 (grub_affs_mount): Fix block detection routine.
2239
2240 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 Add filesystem mtime to AFFS.
2243
2244 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2245 (aftime2ctime): New function.
2246 (grub_affs_dir): Use aftime2ctime.
2247 (grub_affs_label): Fix return value.
2248 (grub_affs_mtime): New function.
2249 (grub_affs_fs): Add mtime.
2250
2251 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2254 UTF-8.
2255
2256 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2259 UTF-8.
2260
2261 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2264
2265 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2268 flags.
2269 (FLAGS_CASE_SENSITIVE): New enum value.
2270 (cache_entry): New struct.
2271 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2272 cache_size and cache.
2273 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2274 Add log_blocksize and fshelp_flags.
2275 (grub_sfs_read_extent): Handle non-512 blocks.
2276 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2277 (grub_sfs_read_file): Handle non-512 blocks.
2278 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2279 fshelp_flags.
2280 (grub_sfs_read_symlink): Handle non-512 blocks.
2281 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2282 (grub_sfs_dir): Free cache.
2283 (grub_sfs_close): Likewise.
2284
2285 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2288 filesystems.
2289
2290 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2293
2294 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2297
2298 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2301 (grub_sfs_read_extent): Likewise.
2302 (grub_sfs_read_block): Likewise.
2303 (grub_sfs_mount): Likewise.
2304 (grub_sfs_iterate_dir): Likewise.
2305 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2306 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2307
2308 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 Fix errors on compressed NTFS with 512B clusters.
2311
2312 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2313 types.
2314 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2315 not 0.
2316 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2317 Relax check for inline extents.
2318 (ntfscomp): Return correct -1 on error and not 0.
2319
2320 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * util/grub-install.in: Fix handling of prefix containing spaces.
2323
2324 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2327 (grub_squash_read_data): Fix offset byte-swapping.
2328
2329 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2332 per common usage and preffered in several parts of code.
2333 (grub_memcmp): Likewise.
2334 (grub_strncmp): Likewise.
2335 * include/grub/misc.h (grub_strcasecmp): Likewise.
2336 (grub_strncasecmp): Likewise.
2337 * Makefile.util.def (cmp_test): New test.
2338 (grub_script_strcmp): Likewise.
2339 * tests/cmp_unit_test.c: New file.
2340 * tests/grub_script_strcmp.in: Likewise.
2341 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2342
2343 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * include/grub/pci.h: Move enums into no-asm part.
2346
2347 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2350
2351 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2352
2353 * util/getroot.c (find_hurd_root_device): Try to make error message
2354 and comments to translators clearer.
2355
2356 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2359
2360 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2363 btrfs.
2364
2365 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * docs/grub.cfg: Update.
2368
2369 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * docs/grub.texi (PXE): Remove not present variables.
2372
2373 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/net/net.c (defserver_set_env): New function.
2376 (defserver_get_env): Likewise.
2377 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2378
2379 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2382 entries.
2383
2384 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2387 * grub-core/kern/emu/hostdisk.c: Likewise.
2388
2389 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2390
2391 Handle hurd userspace partitions.
2392
2393 * util/getroot.c (find_hurd_root_device): New function.
2394 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2395
2396 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2399 names.
2400 Reported by: Bastian Blank.
2401
2402 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2405 crossing page boundary.
2406
2407 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 Fix B-tree search in BFS, especially in presence of non-ASCII
2410 characters.
2411
2412 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2413 (find_in_b_tree): Use standard bsearch + btree algorithm.
2414
2415 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2418 and so on.
2419
2420 2012-05-03 Matthew Garrett <mjg@redhat.com>
2421 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 Suspend broadcom cards in order to stop their DMA.
2424
2425 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2426 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2427 (pci): Don't build on x86 EFI.
2428 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2429 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2430 New function.
2431 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2432 stop_broadcom if running on EFI.
2433 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2434 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2435 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2436 (grub_pci_find_capability): New proto.
2437
2438 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * docs/grub.texi: Remove dot from the extension as it apparently
2441 doesn't work with some makeinfo versions.
2442
2443 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2446 with GRUB expectance.
2447
2448 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2451
2452 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2455 zero after directory block since last entry may be not 0-terminated if
2456 it ends on block boundary. Use continue instead of if spanning whole
2457 loop.
2458
2459 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 Support 4K sectors UDF inline files.
2462
2463 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2464 (grub_udf_extended_file_entry): Likewise.
2465 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2466 All users updated.
2467 (get_fshelp_size): New function.
2468 (grub_udf_read_icb): Read whole block.
2469 (grub_udf_iterate_dir): Likewise.
2470 (grub_udf_dir): Likewise.
2471 (grub_udf_open): Likewise.
2472
2473 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2476
2477 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2480 inline symlinks in addition to workaround.
2481
2482 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2485
2486 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2489
2490 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2493
2494 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 Fix reiserfs big seek times.
2497
2498 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2499 exact. All users updated.
2500 (grub_reiserfs_read): Use nearest btree search for seeking.
2501 Fix return value on error.
2502
2503 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2506 entries.
2507 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2508 * docs/grub.texi: Update menuentry description.
2509
2510 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2513 crash when embedding onto filesystem.
2514
2515 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2518 name.
2519
2520 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2523
2524 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2527 commit.
2528
2529 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2530 2012-05-01 Bean <bean123ch@gmail.com>
2531
2532 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2533
2534 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2537 Special behaviour for len = 0 to read whole file isn't used anywhere and
2538 can cause buffer ovewrflows in several places.
2539
2540 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2543
2544 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 Handle RAIDZ on non-512B sectors.
2547
2548 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2549 max_children_ashift.
2550 (fill_vdev_info_real): Fill max_children_ashift.
2551 (read_device): Use max_children_ashift.
2552
2553 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2556
2557 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2560 disk names.
2561 * docs/grub.texi: Update device.map parts.
2562
2563 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 Don't scan into non-diskfilter devices having diskfilter names.
2566
2567 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2568 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2569 handling.
2570 (scan_disk_hook): New function.
2571
2572 2012-04-29 Bean <bean123ch@gmail.com>
2573
2574 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2575 allocation.
2576
2577 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2578
2579 * configure.ac: Detect starfield theme font path
2580 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2581
2582 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2585 geometry on serial consoles.
2586
2587 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2590 because of network consoles.
2591
2592 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2595 handling.
2596
2597 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2600 falls on Q syndrom.
2601
2602 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2605 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2606
2607 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2610 Allocate at lest 8192 for temporary buffer as required for lzo.
2611
2612 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2615 to cluster_bits, since it's already added in.
2616 (grub_fat_read_data): Likewise.
2617
2618 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2621 as long as cluster size is multiple of 512 bytes.
2622
2623 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * util/grub-mkrescue.in: Fix locale directory.
2626
2627 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * grub-core/kern/emu/hostdisk.c (map): Make static.
2630
2631 2012-04-23 Bean <bean123ch@gmail.com>
2632
2633 * util/grub-fstest.c (fstest): Add missing break.
2634
2635 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2636
2637 Fix hurd build.
2638
2639 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2640 not define nr variable.
2641 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2642 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2643 grub_find_device): Do not define.
2644
2645 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 Fix kfreebsd compile and behaviour.
2648
2649 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2650 format-security.
2651 * util/getroot.c: Fix wait.h include.
2652 (grub_guess_root_devices): Error if grub_find_device fails.
2653 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2654 (grub_util_get_dev_abstraction): Likewise.
2655 (grub_util_pull_device): Likewise.
2656 (grub_util_get_grub_dev): Likewise.
2657 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2658
2659 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 Fix and unify wholedisk detection.
2662
2663 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2664 is_part. All users updated.
2665 (device_is_wholedisk): Removed.
2666 (grub_util_biosdisk_get_grub_dev): Use is_part.
2667
2668 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2671 mode.
2672
2673 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * configure.ac: Bump to beta4.
2676
2677 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2680 --fs-uuid --set UUID syntax.
2681
2682 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2685 disunification.
2686
2687 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2690
2691 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
2692
2693 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2694
2695 2012-04-18 Mike Gilbert <floppym@gentoo.org>
2696
2697 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2698
2699 2012-04-18 Bean <bean123ch@gmail.com>
2700
2701 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2702 place.
2703
2704 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2707 users updated.
2708 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2709 corresponding to GRUB partitions.
2710 (grub_util_biosdisk_write): Likewise.
2711
2712 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 Scan mdraid before LVM.
2715
2716 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2717 (grub_diskfilter_register_front): ... this.
2718 (grub_diskfilter_register_back): New function.
2719 All users of grub_diskfilter_register updated.
2720
2721 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * util/grub-install.in: Fix an automatic target detection bug.
2724
2725 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * util/grub-install.in: New option --efi-directory.
2728
2729 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2732 boot services if we have no other choice.
2733
2734 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2737 document it.
2738 * tests/util/grub-shell.in: Update to --directory.
2739
2740 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2743
2744 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2747 (grub_minix_read_file): Likewise.
2748 (grub_minix_read_inode): Likewise.
2749 (grub_minix_find_file): Likewise.
2750 (grub_minix_dir): Likewise.
2751
2752 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * util/grub-setup.c (setup): Fix partition handling and blocklist
2755 check.
2756
2757 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2760 redundant buggy overlap check.
2761
2762 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2765 and grub-mknetdir.
2766
2767 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2770 kh.loadflags on pre-2.00 kernels.
2771
2772 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Terminate UNDI and PXE before launching the payload to avoid problems
2775 with DMA.
2776
2777 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2778 (grub_loader_flags): ... this. All users updated.
2779 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2780 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2781 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2782 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2783 function.
2784 (grub_pxe_restore): Likewise.
2785 (fini_hnd): New var.
2786 (GRUB_MOD_INIT): Register shutdown hook.
2787 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2788 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2789 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2790 (grub_loader_set): Rename second argument to flags.
2791
2792 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2795 written bytes.
2796 (grub_get_num_of_utf8_bytes): New function.
2797 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2798 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2799 executing it.
2800 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2801 (grub_ucs4_to_utf8): Change return type.
2802
2803 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2806 warning.
2807 * grub-core/fs/bfs.c (hop_level): Likewise.
2808 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
2809
2810 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/lib/adler32.c: Recode due to license unclearness.
2813
2814 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2817 (test_header): Likewise.
2818
2819 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 Fix --help formatting.
2822
2823 * util/grub-mkconfig_lib.in (print_option_help): New function.
2824 (grub_fmt): Likewise.
2825 * util/grub-install.in: Use print_option_help and grub_fmt.
2826 * util/grub-kbdcomp.in: Likewise.
2827 * util/grub-mkconfig.in: Likewise.
2828 * util/grub-mknetdir.in: Likewise.
2829 * util/grub-mkrescue.in: Likewise.
2830 * util/grub-mkstandalone.in: Likewise.
2831 * util/grub-reboot.in: Likewise.
2832 * util/grub-set-default.in: Likewise.
2833 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2834
2835 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * linguas.sh: Remove autogenerated *.po.
2838
2839 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * po/README: Move language fetcing to ...
2842 * linguas.sh: ... here.
2843 * po/README: Point to linguas.sh.
2844
2845 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * po/README: Exclude ko.po due to disclaimer problems.
2848
2849 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2852 len = 0.
2853 (grub_gettext_translate_real): Handle 0th string.
2854 (grub_gettext_translate): Ensure that "" isn't translated.
2855
2856 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2859 TRANSLATORS comment.
2860 (grub_diskfilter_print_partmap): Propagate changing of error into
2861 warning.
2862
2863 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2866 to uint64_t to prevent overflow.
2867 (grub_diskfilter_lv): Increase start_extent and extent_count
2868 to uint64_t to prevent overflow.
2869
2870 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * configure.ac: Increase version.
2873
2874 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2877
2878 * po/Rules-translit: New file.
2879 * po/arabic.sed: Likewise.
2880 * po/cyrillic.sed: Likewise.
2881 * po/greek.sed: Likewise.
2882 * po/hebrew.sed: Likewise.
2883 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2884 * po/Makefile.in.in: Add extra_dist4.
2885
2886 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2889
2890 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2891 modify names. Introduce MODE_BIGENDIAN.
2892 * grub-core/fs/minix_be.c: New file.
2893 * grub-core/fs/minix2_be.c: Likewise
2894 * grub-core/fs/minix3_be.c: Likewise.
2895 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2896 minix3_be.
2897 * grub-core/Makefile.core.def (minix_be): New module.
2898 (minix2_be): Likewise.
2899 (minix3_be): Likewise.
2900
2901 2012-04-01 Felix <email@hamburg.de>
2902
2903 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2904 (devs): Add MBP 2011.
2905
2906 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2909
2910 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/normal/cmdline.c (print_completion): New field
2913 prompt_len.
2914 (grub_cmdline_get): Handle width properly.
2915
2916 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2919
2920 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2923 after 29th of February.
2924
2925 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 Fix exfat endianness handling.
2928
2929 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2930 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2931 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2932 Byte-swap utf16 when necessary.
2933 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2934
2935 2012-03-31 Anton Blanchard <anton@samba.org>
2936 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 Fix btrfs endianness handling.
2939
2940 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2941 (lower_bound): Make root uint64_t. Use root in le.
2942 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2943 (find_path): Fix template key init.
2944 (grub_btrfs_dir): Fix mtime byteswap.
2945 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2946
2947 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2950 recursion_depth. Break infinite resursions. All users updated.
2951
2952 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2955 after free.
2956 Reported by: Peter Jones.
2957
2958 2012-03-31 Anton Blanchard <anton@samba.org>
2959
2960 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2961 8 bit values.
2962
2963 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * util/grub-install.in: Fix nvram call for PreP.
2966
2967 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2970 the error when some elements are missing into a warning.
2971
2972 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2975
2976 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2977
2978 * docs/grub.texi (Invoking grub-probe): New section.
2979 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2980
2981 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 Fix tab and wide character handling in editor and menu.
2984
2985 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2986 agglomerate control characters with combining marks.
2987 (bidi_line_wrap): Allow break on tab.
2988 (grub_unicode_get_comb_start): New function.
2989 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2990 and tab correctly.
2991 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2992 with a space.
2993 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2994 fixed_tab_size. All users updated.
2995 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2996 (grub_term_getcharwidth): Handle \t.
2997 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2998 and copy.
2999
3000 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 Handle big-endian mdraid.
3003
3004 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3005 * grub-core/Makefile.core.def (mdraid09_be): New module.
3006 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3007 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3008 * grub-core/disk/mdraid_linux_be.c: New file.
3009
3010 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3013
3014 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3017 missing quotes which caused confusion among translators.
3018
3019 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * util/grub-mkconfig_lib.in: Fix typo.
3022
3023 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3026 spaces.
3027 * tests/grub_script_leading_whitespace.in: New file.
3028 * Makefile.util.def (grub_script_leading_whitespace): New test.
3029
3030 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3033 to work.
3034
3035 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3038 starts with control character.
3039
3040 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3043 overflow.
3044 (grub_gdb_outbuf): Likewise.
3045
3046 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3049 zero terminator. Fixes a crash.
3050
3051 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3054 beyond 4 GiB.
3055 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3056 images independently of preffered adderss field.
3057
3058 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3061 * grub-core/commands/regexp.c: Likewise.
3062 * grub-core/loader/i386/linux.c: Likewise.
3063 * grub-core/partmap/msdos.c: Likewise.
3064 * grub-core/script/execute.c: Likewise.
3065 * grub-core/term/gfxterm.c: Likewise.
3066
3067 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 Add variable parsing in $"..." and fix several mismatches with bash.
3070
3071 * Makefile.util.def (grub_script_gettext): New test.
3072 * grub-core/script/execute.c (parse_string): New function.
3073 (gettext_append): Likewise.
3074 (grub_script_arglist_to_argv): Use gettext_append.
3075 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3076 * tests/grub_script_gettext.in: New file.
3077
3078 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 Fix handling of leading spaces in scripts.
3081
3082 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3083 spaces.
3084 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3085 other than skipping \r. All users updated.
3086 * tests/grub_script_echo1.in: Add space-related tests.
3087 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3088
3089 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3092
3093 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * configure.ac: Bump up the version to beta2.
3096
3097 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 Fix gettext reload bugs (e.g. inability to disable gettext
3100 once enabled).
3101
3102 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3103 main_context and secondary_context. All functions updated.
3104 (grub_gettext_translate): Rename to ...
3105 (grub_gettext_translate_real): ... this. Return NULL on failed
3106 translate.
3107 (grub_gettext_translate): Handle secondary context.
3108 (grub_gettext_delete_list): Close file and zero-out the context.
3109 (grub_mofile_open): Don't call grub_gettext_delete_list.
3110 Don't close file.
3111 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3112 if locale="" to avoid pointless error message.
3113 (grub_gettext_env_write_lang): Update lang even if load fails.
3114 Handle secondary context.
3115 (grub_gettext_reread_prefix): New function.
3116 (read_main): Likewise.
3117 (read_secondary): Likewise.
3118 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3119 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3120 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3121 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3122
3123 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * configure.ac: Decrease warning level to avoid spurious warnings and
3126 to be able to compile with GCC 4.2.
3127 * Makefile.util.def: Remove -Wno-error=logical-op.
3128
3129 2012-03-10 William Bittner <william.bittner@gmail.com>
3130
3131 * util/import_unicode.py: Add missing brackets around string for
3132 python 3 support.
3133
3134 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 Fix efi chainloader on network root.
3137
3138 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3139 network devices.
3140 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3141 New function.
3142
3143 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3146 unused show_text member.
3147 * docs/grub.texi: Document "text" property.
3148
3149 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3152 in dprintf.
3153
3154 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 Fix IMSM handling on Fedora.
3157
3158 * util/getroot.c (grub_util_is_imsm): New function.
3159 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3160
3161 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * Makefile.am: Strip gold section.
3164 * conf/Makefile.common: Likewise.
3165 * gentpl.py: Likewise.
3166 * grub-core/Makefile.core.def: Likewise.
3167 * grub-core/genmod.sh.in: Likewise.
3168
3169 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3172 * util/grub.d/20_linux_xen.in: Likewise.
3173 Based on Debian patch.
3174
3175 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * util/grub.d/10_linux.in: Fix syntax error resulting in
3178 Richard Laager's patch.
3179 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3180
3181 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3184 dependencies.
3185
3186 2012-03-10 Richard Laager <rlaager@wiktel.com>
3187
3188 * util/grub.d/10_linux.in: Fix ZFS root passing.
3189
3190 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3193 * grub-core/commands/xnu_uuid.c: Likewise.
3194 * grub-core/loader/efi/appleloader.c: Likewise.
3195 * grub-core/script/execute.c: Likewise.
3196 * grub-core/script/main.c: Likewise.
3197 * util/grub-mkfont.c: Likewise.
3198
3199 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * util/grub-mkfont.c (options): Use more appropriate "select" that
3202 "set" for face index.
3203
3204 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * util/grub-editenv.c (options): Gettextize command summaries.
3207
3208 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3211 "out of memory" error messagge.
3212
3213 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3216 of diskfilter for diskfilter on diskfilter support.
3217
3218 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3221
3222 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3225 themes/starfield.
3226
3227 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3230
3231 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3234
3235 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3238 of error message.
3239
3240 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3243
3244 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3247 message.
3248 * util/grub-install.in: Fix and gettextize error message.
3249
3250 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3253 Gettextize.
3254 * util/grub-mount.c (options): Likewise.
3255
3256 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3259 gettextize.
3260 * grub-core/commands/search_wrap.c (options): Likewise.
3261
3262 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3265
3266 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3269 size calculation.
3270 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3271 none is known.
3272
3273 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3276 "temporary" since it's used in identifier and is limited in space.
3277
3278 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * po/POTFILES.in: Regenerate. Include *.h since they contain
3281 translatable strings as well.
3282
3283 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3286 byte-swap on big-endian.
3287 Reported by: Lennart Sorensen
3288
3289 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3292 (allocate_pages): Improve dprintf.
3293 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3294 code32_start. Fill code32_start and kernel_alignment in params.
3295 (grub_cmd_initrd): Use prot_init_space.
3296
3297 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3300
3301 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * util/grub-install.in: Add missing dot at the end of sentence.
3304
3305 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3306
3307 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3308 * grub-core/commands/videotest.c: Likewise.
3309 * grub-core/loader/i386/linux.c: Likewise.
3310
3311 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3314 sentence.
3315 Reported by: Milo Casagrande.
3316
3317 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3320 * grub-core/commands/gptsync.c: Likewise.
3321 * grub-core/commands/hashsum.c: Likewise.
3322 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3323 * grub-core/commands/legacycfg.c: Likewise.
3324 * grub-core/io/gzio.c: Likewise.
3325 * grub-core/net/net.c: Likewise.
3326 * grub-core/term/gfxterm.c: Likewise.
3327 * grub-core/term/terminfo.c: Likewise.
3328 * grub-core/tests/test_blockarg.c: Likewise.
3329 * grub-core/video/video.c: Likewise.
3330 * util/grub-install.in: Likewise.
3331 * util/grub-mkfont.c: Likewise.
3332
3333 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3336
3337 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * grub-core/commands/search_wrap.c (options): Fix a typo.
3340 Reported by: David Prévot.
3341
3342 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3345 description.
3346
3347 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * util/grub-script-check.c (main): Fix a syntax error message which was
3350 unclear.
3351
3352 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3355
3356 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3359 messages.
3360
3361 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3364 without argument.
3365 * util/grub-mount.c (options): Likewise.
3366
3367 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3370
3371 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 * grub-core/net/http.c: Add TRANSLATORS comments.
3374 * grub-core/normal/cmdline.c: Likewise.
3375 * grub-core/normal/misc.c: Likewise.
3376 * grub-core/partmap/msdos.c: Likewise.
3377 * grub-core/parttool/msdospart.c: Likewise.
3378 * grub-core/script/execute.c: Likewise.
3379 * grub-core/script/main.c: Likewise.
3380 * grub-core/term/terminfo.c: Likewise.
3381 * grub-core/video/bitmap.c: Likewise.
3382 * util/grub-install.in: Likewise.
3383 * util/grub-mkimage.c: Likewise.
3384 * util/grub-mklayout.c: Likewise.
3385 * util/grub-setup.c: Likewise.
3386
3387 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3390 with similar messages in grub-fstest.
3391
3392 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * util/grub-install.in: Unify "option requires an argument" message
3395 with similar messages in other files.
3396 * util/grub-mkconfig.in: Likewise.
3397
3398 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * util/grub-set-default.in: Replace printf with gettext_printf (the
3401 string in in question is already translated from grub-reboot)
3402
3403 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * configure.ac: Bump up the version to beta1.
3406
3407 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3410 case when min_align = 0.
3411
3412 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3415 and fix a case when line_start overflows.
3416
3417 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * util/grub-reboot.in (usage): Mention id posibility.
3420 * util/grub-set-default.in (usage): Likewise.
3421
3422 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3425 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3426 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3427 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3428 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3429 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3430 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3431
3432 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/commands/menuentry.c (options): Remove
3435 GRUB_ARG_OPTION_REPEATABLE.
3436 Reported by: Andreas Vogel
3437
3438 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3439
3440 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3441
3442 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3443
3444 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3445 error.
3446
3447 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 Use sort -V by the idea of Georgi Georgiev.
3450
3451 * util/grub-mkconfig_lib.in (version_sort): New function.
3452 (version_test_numeric): Use version_sort.
3453
3454 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 Use submenus in grub-mkconfig.
3457
3458 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3459 * util/grub-mkconfig_lib.in (grub_quote): New function.
3460 (gettext_printf): Use gettext and not gettext_quoted to fix several
3461 messages.
3462 * util/grub.d/10_hurd.in: Use submenus.
3463 * util/grub.d/10_kfreebsd.in: Likewise.
3464 * util/grub.d/10_linux.in: Likewise.
3465 * util/grub.d/10_netbsd.in: Likewise.
3466 * util/grub.d/20_linux_xen.in: Likewise.
3467 * util/grub.d/30_os-prober.in: Likewise.
3468 * util/grub.d/10_illumos.in: Add missing quoting.
3469 * util/grub.d/10_windows.in: Likewise.
3470
3471 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 Fix menu title instability bug.
3474
3475 * grub-core/commands/menuentry.c (options): New option --id.
3476 (grub_normal_add_menu_entry): New argument id. All users updated.
3477 (grub_cmd_menuentry): Handle --id.
3478 (grub_menu_init): Accept unknown arguments.
3479 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3480 feature_menuentry_options.
3481 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3482 saved_entry.
3483 (get_entry_number): Match with id as well.
3484 * include/grub/menu.h (grub_menu_entry): New member id.
3485 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3486 * util/grub.d/00_header.in: Define menuentry_id_option.
3487 * util/grub.d/10_hurd.in: Define id.
3488 * util/grub.d/10_illumos.in: Likewise.
3489 * util/grub.d/10_kfreebsd.in: Likewise.
3490 * util/grub.d/10_linux.in: Likewise.
3491 * util/grub.d/10_netbsd.in: Likewise.
3492 * util/grub.d/10_windows.in: Likewise.
3493 * util/grub.d/20_linux_xen.in: Likewise.
3494 * util/grub.d/30_os-prober.in: Likewise.
3495
3496 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3499 "scope" with "body".
3500
3501 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3504 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3505 prot_size and prot_file_size.
3506
3507 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3510 All users updated. If easily=1 require raid-5/-6 to be full.
3511 (is_node_readable): Likewise.
3512 (scan_devices): Scan incomplete but readable LVs at the end.
3513 (grub_diskfilter_memberlist): Pull missing devices.
3514 (insert_array): Skip scanning until device is complete or scan is
3515 done otherwise.
3516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3517 check.
3518 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3519 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3520
3521 2012-03-03 Matthew Garrett <mjg@redhat.com>
3522 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 Avoid EFI boot services when loading Linux.
3525
3526 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3527 avoid_efi_bootservices. All users updated.
3528 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3529 argument avoid_efi_bootservices. All users updated.
3530 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3531 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3532 align, min_align, relocatable, prefered_address. All users updated.
3533 Allocate avoiding boot services if kernel is relocatable.
3534 (grub_cmd_linux): Check if kernel is relocatable.
3535 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3536 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3537 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3538 avoid_efi_boot_services.
3539 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3540 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3541 (linux_kernel_params): Likewise.
3542
3543 2012-03-03 Matthew Garrett <mjg@redhat.com>
3544 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 Use EDID on EFI.
3547
3548 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3549 datasize_out.
3550 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3551 modes. Set gop_handle.
3552 (grub_video_gop_get_edid): New function.
3553 (grub_gop_get_preferred_mode): Likewise.
3554 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3555 (grub_video_efi_gop_adapter): Set .get_edid.
3556 * include/grub/efi/edid.h: New file.
3557 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3558
3559 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * util/grub-install.in: Load efivars unconditionally.
3562
3563 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * po/Rules-piglatin: Change suffix from .po-update-en to
3566 .po-update-en-piglatin.
3567
3568 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 Add a pig farm.
3571
3572 * po/piglatin.sed: New file.
3573 * po/en@piglatin.header: Likewise.
3574 * po/Rules-piglatin: Likewise.
3575 * po/README: Add en@piglatin to autogenerated languages.
3576
3577 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3580 "Command for ...".
3581 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3582 "Check" since we don't check anything.
3583 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3584 is 64-bit one.
3585 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3586 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3587 (grub_md_sha512_real): Likewise.
3588
3589 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * grub-core/commands/gptsync.c: Fix typographic quoting.
3592 * grub-core/commands/ieee1275/suspend.c: Likewise.
3593 * grub-core/commands/parttool.c: Likewise.
3594 * grub-core/commands/search_wrap.c: Likewise.
3595 * grub-core/commands/videoinfo.c: Likewise.
3596 * grub-core/gfxmenu/gui_label.c: Likewise.
3597 * grub-core/hello/hello.c: Likewise.
3598 * grub-core/kern/emu/main.c: Likewise.
3599 * grub-core/net/net.c: Likewise.
3600 * grub-core/normal/menu.c: Likewise.
3601 * grub-core/normal/menu_text.c: Likewise.
3602 * grub-core/normal/misc.c: Likewise.
3603 * util/grub-editenv.c: Likewise.
3604 * util/grub-install.in: Likewise.
3605 * util/grub-kbdcomp.in: Likewise.
3606 * util/grub-mkconfig.in: Likewise.
3607 * util/grub-mknetdir.in: Likewise.
3608 * util/grub-mkrescue.in: Likewise.
3609 * util/grub-mkstandalone.in: Likewise.
3610 * util/grub-reboot.in: Likewise.
3611 * util/grub-set-default.in: Likewise.
3612 * util/grub-setup.c: Likewise.
3613 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3614
3615 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3618 * grub-core/commands/keystatus.c: Likewise.
3619 * grub-core/commands/loadenv.c: Likewise.
3620 * grub-core/commands/probe.c: Likewise.
3621 * grub-core/commands/regexp.c: Likewise.
3622 * grub-core/commands/true.c: Likewise.
3623 * grub-core/commands/videoinfo.c: Likewise.
3624 * grub-core/disk/cryptodisk.c: Likewise.
3625 * grub-core/disk/ldm.c: Likewise.
3626 * grub-core/disk/loopback.c: Likewise.
3627 * grub-core/disk/luks.c: Likewise.
3628 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3629 * grub-core/kern/disk.c: Likewise.
3630 * grub-core/kern/emu/hostdisk.c: Likewise.
3631
3632 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3635 * util/grub-install.in: Add missing quote in the comment.
3636
3637 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3640 * grub-core/commands/lsmmap.c: Likewise.
3641 * grub-core/commands/minicmd.c: Likewise.
3642 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3643 * grub-core/commands/regexp.c: Likewise.
3644 * grub-core/gdb/gdb.c: Likewise.
3645 * grub-core/term/gfxterm.c: Likewise.
3646 * util/grub-mkconfig.in: Likewise.
3647 * util/grub-mkfont.c: Likewise.
3648 * util/grub-mklayout.c: Likewise.
3649 * util/grub-mknetdir.in: Likewise.
3650 * util/grub-mkrescue.in: Likewise.
3651 * util/grub.d/30_os-prober.in: Likewise.
3652
3653 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3656 with "Direct color" and "Packed" with "Packed pixel".
3657 (grub_cmd_videoinfo): Simplify legend.
3658
3659 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3662 absolutely unclear error message.
3663
3664 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * util/grub-mkstandalone.in: Remove confusing leftover print.
3667
3668 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3671 comments.
3672 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3673 (GRUB_MOD_INIT): Likewise.
3674 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3675 VGA mode.
3676 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3677 comments.
3678 * util/grub-install.in (usage): Likewise.
3679 Spell ID in whole letters.
3680 Add missing ending dot.
3681 Quote variables.
3682 * util/grub-reboot.in: Fix capitalisation.
3683 * util/grub-set-default.in: Likewise.
3684
3685 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3688 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3689 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3690 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3691 Disable -Werror for -Wdeprecated-declarations.
3692 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3693 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3694 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3695 (grub_util_get_grub_dev): Make luks handling dependent on
3696 HAVE_DEVICE_MAPPER and not __linux__.
3697 (get_win32_path): Fix format security.
3698 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3699 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3700 Don't try grub_find_zpool_from_dir.
3701 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3702 #ifdef-out paresdir.
3703
3704 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * util/grub-pe2elf.c (usage): Add missing noreturn.
3707 (write_section_data): Rename name to shname to avoid shadowing.
3708 (write_symbol_table): Rename name to symname to avoid shadowing.
3709 Fix write_reloc_section call.
3710
3711 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3714 to ensure that it's after the last byte of .text.
3715
3716 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * util/ieee1275/ofpath.c (my_isdigit): New function.
3719 (trailing_digits): Use my_isdigit.
3720 (strip_trailing_digits): Likewise.
3721
3722 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3725 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3726
3727 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/kern/i386/pc/startup.S: Define __start.
3730
3731 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3734 strip already transforms he format.
3735
3736 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3739
3740 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * util/grub-install.in: Add missing gettext init.
3743 * util/grub-kbdcomp.in: Likewise.
3744 * util/grub-mkconfig.in: Likewise.
3745 * util/grub-mknetdir.in: Likewise.
3746 * util/grub-mkrescue.in: Likewise.
3747 * util/grub-mkstandalone.in: Likewise.
3748 * util/grub-reboot.in: Likewise.
3749 * util/grub-set-default.in: Likewise.
3750 * util/grub.d/00_header.in: Likewise.
3751 * util/grub.d/10_hurd.in: Likewise.
3752 * util/grub.d/10_windows.in: Likewise.
3753 * util/grub.d/30_os-prober.in: Likewise.
3754 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3755
3756 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * po/Rules-swiss: Fix header comment.
3759
3760 2012-02-29 Andreas Vogel <anvoit>
3761
3762 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3763 resulted in leak of arguments.
3764
3765 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3768 reed_solomon_size const definition instead of computing it since
3769 Apple assembler doesn't support the later.
3770
3771 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * gentpl.py (kernel): Rewrite Apple part.
3774
3775 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3778
3779 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3782 ELF section gap.
3783 (load_image): Likewise.
3784
3785 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * configure.ac: Fix a typo in previous commit.
3788
3789 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Don't add -Wl,-N on Apple platform.
3792
3793 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3794 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3795
3796 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/Makefile.core.def (lzma_decompress): Use
3799 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3800
3801 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * grub-core/genmod.sh.in: Rewrite the Apple part.
3804
3805 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3808 comparison.
3809
3810 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * acinclude.m4 (grub_CHECK_PIC): New test.
3813 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3814
3815 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3818 to avoid the warning.
3819
3820 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3823 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3824 after. All users updated.
3825
3826 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 Use the common size routine in hostfs so we can read disks as well.
3829
3830 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3831 (grub_util_get_fd_size): ... this. Return size in bytes.
3832 All users updated.
3833 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3834 grub_util_get_fd_size.
3835
3836 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3839 Add blocksize retrieval.
3840
3841 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * configure.ac: Restore CFLAGS after efiemu check.
3844
3845 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3846
3847 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3848 Apple bug.
3849
3850 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3853
3854 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3857 (grub_cmd_halt): Likewise.
3858
3859 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3862 for local arithmetics.
3863 Break %sp init into 2 instructions.
3864 Add 0 byte at the end.
3865
3866 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3869 before loops.
3870
3871 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3874 for context.
3875
3876 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/disk/ldm.c (make_vg): Init part.name.
3879 (grub_ldm_detect): Silence spurious warning.
3880 (grub_util_is_ldm): Likewise.
3881
3882 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3885 sane value to avoid a spurious warning.
3886
3887 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3890 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3891
3892 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3895 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3896
3897 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3900 hardcoding the relevant info.
3901
3902 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3905 missing const qualifiers.
3906 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3907
3908 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * util/getroot.c [__APPLE__]: Add missing includes.
3911 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3912
3913 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3916
3917 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3920 avoid conflicts.
3921
3922 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3925
3926 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3929 and grub_file_close call.
3930
3931 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Add LZSS Mach-O support (needed for new xnu kernelcache).
3934
3935 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3936 * grub-core/loader/lzss.c: New file.
3937 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3938 on Mach-O open failure.
3939 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3940 Don't free cmdsXX in uncompressedXX is set.
3941 (grub_macho_file): Init new fields.
3942 New argument is_64bit. All users updated.
3943 Handle compressed. Error out if no suitable architecture is found.
3944 Don't close file.
3945 (grub_macho_open): New argument is_64bit. All users updated.
3946 * grub-core/loader/macho32.c: Add defines for new fields.
3947 * grub-core/loader/macho64.c: Likewise.
3948 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3949 (grub_macho_parse): Handle compressed.
3950 Defer actual processing if compressed.
3951 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3952 "filename". All users updated.
3953 (grub_macho_size): New argument "filename". All users updated.
3954 (grub_macho_get_entry_point): Likewise.
3955 (grub_macho_load): Handle compressed.
3956 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3957 (GRUB_MACHO_LZSS_OFFSET): New define.
3958 (grub_decompress_lzss): New proto.
3959 * include/grub/machoload.h (grub_macho_file): New fields to handle
3960 compressed.
3961 (grub_macho_contains_macho64): Remove proto.
3962 (grub_macho_contains_macho32): Likewise.
3963 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3964
3965 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3968
3969 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 Fix make dist.
3972
3973 * Makefile.am (starfield_theme_files): New var.
3974 (starfield_DATA): Use starfield_theme_files.
3975 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3976 Add bootcheck-related files.
3977 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3978 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3979 and font_char_metrics.txt.
3980 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3981 (setjmp): Add lib/ia64/longjmp.S.
3982 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3983 * po/POTFILES.in: Regenerate.
3984 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3985 DISTFILES.common.extra1.
3986 * util/devicemap.c: Removed.
3987 * grub-core/lib/i386/relocator_backward.S: Likewise.
3988 * util/import_gcry.py: Remove unused files. Add extra_dist for
3989 ChangeLog.
3990
3991 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3994 grub_gettext_delete_list before changing grub_gettext_max to avoid
3995 running out of array bounds.
3996
3997 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4000 grub_vga_text_init/grub_vga_text_fini.
4001
4002 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4005
4006 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * configure.ac: Bump to 2.00~beta0.
4009
4010 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4013 missing initialisation.
4014
4015 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4018
4019 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 Support v2 xnu boot arguments.
4022
4023 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4024 New argument fsbfreq_out.
4025 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4026 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4027 be used.
4028 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4029 darwin_version.
4030 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4031 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4032 (grub_xnu_boot_params): Rename to ...
4033 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4034 (grub_xnu_boot_params_v2): New struct.
4035
4036 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4039 zeroing of CRC field before computing CRC.
4040
4041 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4044 Change order of allocations to decrease fragmentation.
4045
4046 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4049
4050 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4051
4052 Use write-combining MTRR to speed up video with buggy BIOSes.
4053
4054 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4055 (cpuid): New define.
4056 (rdmsr): Likewise.
4057 (wrmsr): Likewise.
4058 (mtrr_base): Likewise.
4059 (mtrr_mask): Likewise.
4060 (grub_vbe_enable_mtrr_entry): New function.
4061 (grub_vbe_enable_mtrr): Likewise.
4062 (grub_vbe_disable_mtrr): Likewise.
4063 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4064 control off to BIOS.
4065 (grub_video_vbe_init): Fill mtrr.
4066 (grub_video_vbe_fini): Disable mtrr.
4067 (grub_video_vbe_get_info_and_fini): Likewise.
4068 (grub_video_vbe_setup): Enable mtrr.
4069
4070 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
4071
4072 * include/grub/partition.h (grub_partition_map): Change prototype of
4073 embed to take a maximum value for nsectors.
4074 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4075 * include/grub/fs.h (grub_fs): Likewise.
4076 * grub-core/partmap/msdos.c (embed_signatures): New array.
4077 (pc_partition_map_embed): Check for and avoid sectors matching any
4078 of the signatures in embed_signatures, up to max_nsectors.
4079 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4080 returned sector map to max_nsectors.
4081 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4082 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4083 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4084 * util/grub-setup.c (setup): Allow for the embedding area being
4085 split into multiple blocklists. Tell dest_partmap->embed the
4086 maximum number of sectors we care about.
4087
4088 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4091 Specify blocklist_install and reserver_first_sector for all fs.
4092 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4093 blocklists.
4094
4095 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * util/grub-install.in: Clarify strings.
4098 Fix source dir check.
4099
4100 2012-02-27 Richard Laager <rlaager@wiktel.com>
4101
4102 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4103 "zfs" and "fuse.zfs" as synonyms.
4104
4105 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * configure.ac: Put platform and target_cpu substitutions back since
4108 they are used for directories.
4109
4110 2012-02-27 Richard Laager <rlaager@wiktel.com>
4111 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4114 * util/grub.d/20_linux_xen.in: Likewise.
4115
4116 2012-02-27 Richard Laager <rlaager@wiktel.com>
4117
4118 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4119 with full paths.
4120
4121 2012-02-27 Richard Laager <rlaager@wiktel.com>
4122
4123 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4124 unescape.
4125
4126 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 Don't use insecure popen in getroot.
4129
4130 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4131 (exec_pipe): ... here.
4132 (find_root_devices_from_poolname): Use exec_pipe.
4133
4134 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Remove platform and target_cpu replacement.
4137
4138 * configure.ac: Remove platform and target_cpu substitutions.
4139 * tests/util/grub-shell.in: Use modinfo.
4140 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4141 explicitly.
4142
4143 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Autodetect platform in grub-install but allow override.
4146
4147 * util/grub-install.in: Autodetect platform. Support --target and
4148 --directory. Read platform from modinfo.sh.
4149
4150 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 Support btrfs multi-volume probe.
4153
4154 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4155 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4156 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4157 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4158 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4159 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4160 grub_find_root_devices_from_btrfs if on btrfs.
4161
4162 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 Remove any awareness of *.c util files about target.
4165
4166 * Makefile.util.def (grub-setup): Split to ...
4167 (grub-bios-setup): ... and this.
4168 (grub-sparc64-setup): ... and this.
4169 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4170 * docs/man/grub-setup.h2m: Split into ...
4171 * docs/man/grub-sparc64-setup.h2m: ... this.
4172 * docs/man/grub-bios-setup.h2m: ... and this.
4173 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4174 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4175 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4176 (grub_target_addr_t): Remove.
4177 (grub_target_size_t): Remove.
4178 (grub_target_ssize_t): Remove.
4179 * util/grub-install.in: Use new grub-*-setup.
4180 * util/grub-mkimagexx.c (Elf_Word): New define.
4181 (Elf_Half): Likewise.
4182 (Elf_Section): Likewise.
4183 (ELF_ST_TYPE): Likewise.
4184 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4185 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4186
4187 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 Replace grub_target_addr with more appropriate types.
4190
4191 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4192 grub_target_addr with grub_addr.
4193 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4194 grub_target_addr with grub_port.
4195 (grub_cmd_write): Likewise.
4196 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4197 grub_target_addr with grub_addr.
4198 (grub_cmd_write): Likewise.
4199 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4200
4201 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4204 const qualifier for vendor_guid.
4205
4206 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4209 const qualifier.
4210 (efiemu_memequal): Likewise.
4211 (find_variable): Likewise.
4212
4213 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 Fix missing console prototype on qemu-mips.
4216
4217 * include/grub/mips/qemu_mips/console.h: New file.
4218
4219 2012-02-27 Matthew Garrett <mjg@redhat.com>
4220 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4223 * include/grub/efi/efi.h: Likewise.
4224 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4225 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4226 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4227 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4228 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4229 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4230
4231 2012-02-27 Matthew Garrett <mjg@redhat.com>
4232
4233 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4234
4235 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4238 error.
4239
4240 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * configure.ac: Remove inappropriate use of program_transform_name
4243 on grubdir and bootdir but allow explicit specification of those
4244 variables.
4245
4246 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * util/grub-mknetdir.in (grub_prefix): Removed.
4249 (subdir): Use @bootdirname@ and @grubdirname@.
4250
4251 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4254
4255 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * po/POTFILES.in: Regenerated.
4258
4259 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 Remove improper use of program_transform_name on pkglibrootdir.
4262
4263 * configure.ac (pkglibrootdir): Removed.
4264 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4265 * util/grub-mkimage.c: Likewise.
4266
4267 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4268
4269 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4270 warning.
4271
4272 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * util/grub-install.in: Use file identifier if no UUID is available
4275 or user explicitly prompted for it.
4276
4277 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
4278
4279 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4280 (freebsd_get_zfs): New function.
4281 (grub_freebsd_boot): Pass zfs UUID.
4282 (grub_cmd_freebsd): Set zfs UUID.
4283
4284 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4287 pkglibrootdir.
4288
4289 2012-02-27 Mike Gilbert <floppym@gentoo.org>
4290
4291 Add configure flag to control libzfs integration.
4292
4293 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4294
4295 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4298 device.
4299 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4300 small devices.
4301
4302 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4305 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4306 be used on non-modules.
4307
4308 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4309 Rename to grub_boot_init.
4310 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4311 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4312 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4313 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4314 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4315 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4316 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4317 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4318 includes.
4319 (grub_machine_init): Remove empty inits.
4320 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4321 includes.
4322 (grub_machine_init): Remove empty inits.
4323 * grub-core/term/arc/console.c: Remove explicit proto.
4324 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4325 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4326 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4327 grub_at_keyboard_fini.
4328 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4329 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4330 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4331 grub_gfxterm_fini.
4332 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4333 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4334 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4335 grub_vgatext_fini.
4336 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4337 * grub-core/term/serial.c (GRUB_MOD_INIT)
4338 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4339 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4340 grub_serial_fini.
4341 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4342 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4343 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4344 grub_terminfo_fini.
4345 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4346 (GRUB_MOD_FINI): Likewise.
4347 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4348 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4349 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4350 grub_video_radeon_fuloong2e_fini.
4351 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4352 [LOONGSON]: Rename to grub_video_sis315pro_init.
4353 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4354 grub_video_sis315pro_fini.
4355 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4356 [LOONGSON]: Rename to grub_video_sm712_init.
4357 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4358 grub_video_sm712_fini.
4359 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4360 (grub_at_keyboard_fini): Likewise.
4361 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4362 Don't declare grub_{modname}_init.
4363 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4364 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4365 New proto.
4366 (grub_keylayouts_fini) [!EMU]: Likewise.
4367 * include/grub/serial.h (grub_serial_init) [!EMU]:
4368 New proto.
4369 (grub_serial_fini) [!EMU]: Likewise.
4370 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4371 New proto.
4372 (grub_terminfo_fini) [!EMU]: Likewise.
4373 * include/grub/video.h (grub_font_init) [!EMU]:
4374 New proto.
4375 (grub_font_fini) [!EMU]: Likewise.
4376 (grub_gfxterm_init) [!EMU]: Likewise.
4377 (grub_gfxterm_fini) [!EMU]: Likewise.
4378 (grub_video_sm712_init) [!EMU]: Likewise.
4379 (grub_video_sm712_fini) [!EMU]: Likewise.
4380 (grub_video_sis315pro_init) [!EMU]: Likewise.
4381 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4382 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4383 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4384
4385 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 Make nand a prefix for nand devices.
4388
4389 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4390
4391 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4394 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4395
4396 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * include/grub/env.h (grub_env_find): Remove prototype.
4399 * grub-core/kern/env.c (grub_env_find): Make static.
4400 (grub_env_set): Remove useless set.
4401
4402 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/kern/i386/realmode.S: Remove useless align.
4405
4406 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * include/grub/dl.h (grub_dl_load_file): Don't export.
4409
4410 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4413 grub_dprintf.
4414
4415 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4418 grub_errors.
4419 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4420 not reloading whole superblock but only the part which is really needed.
4421 Remove useless grub_errors.
4422 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4423 grub_errors.
4424
4425 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 Don't export grub_get_rtc.
4428
4429 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4430 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4431
4432 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4435
4436 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4439 argument since it can be deduced from diskfilter. All users updated.
4440
4441 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Remove prio_list.
4444
4445 * include/grub/list.h (grub_prio_list): Removed.
4446 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4447 GRUB_COMMAND_PRIO_MASK.
4448 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4449 GRUB_COMMAND_FLAG_ACTIVE.
4450 (grub_prio_list_insert): Removed.
4451 (grub_prio_list_remove): Likewise.
4452 (GRUB_AS_PRIO_LIST): Likewise.
4453 (GRUB_AS_PRIO_LIST_P): Likewise.
4454 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4455 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4456 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4457 * grub-core/kern/command.c (grub_register_command_prio): Inline
4458 the prio_list code.
4459 (grub_unregister_command): Likewise.
4460
4461 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 Fix interrupt mixup from previous commit.
4464
4465 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4466 (grub_realidt): New var.
4467 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4468 Load idt.
4469 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4470 New declaration.
4471 (grub_relocator16_boot): Set grub_relocator16_idt.
4472 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4473 (LOCAL(realidt)): ... this.
4474 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4475 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4476 (grub_realidt): New variable.
4477
4478 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4481 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4482 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4483 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4484 Gettextize.
4485 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4486 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4487 * po/POTFILES.in: Regenerate.
4488
4489 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4492 errors.
4493
4494 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4497 \0.
4498 (add_length): Likewise.
4499
4500 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4501 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4502
4503 GDB serial and backtrace support.
4504
4505 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4506 (prot_to_real): Likewise.
4507 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4508 * grub-core/Makefile.core.def (backtrace): New module.
4509 (gdb): Likewise.
4510 * grub-core/gdb/cstub.c: New file.
4511 * grub-core/gdb/gdb.c: Likewise.
4512 * grub-core/gdb/i386/idt.c: Likewise.
4513 * grub-core/gdb/i386/machdep.S: Likewise.
4514 * grub-core/gdb/i386/signal.c: Likewise.
4515 * grub-core/lib/i386/backtrace.c: Likewise.
4516 * grub-core/lib/backtrace.c: Likewise.
4517 * include/grub/backtrace.h: Likewise.
4518 * include/grub/gdb.h: Likewise.
4519 * include/grub/i386/gdb.h: Likewise.
4520
4521 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4524 New function.
4525 (add_length): Likewise.
4526 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4527 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4528 proto.
4529 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4530 __argp_get_display_len.
4531
4532 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 $"..." support in scripts.
4535
4536 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4537 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4538 * grub-core/script/yylex.l: Likewise.
4539 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4540 value.
4541
4542 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * gentpl.py: Remove obsolete pkglib_DATA handling.
4545
4546 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4549 mailing list.
4550
4551 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4552 * util/grub-kbdcomp.in: Likewise.
4553 * util/grub-mkconfig.in: Likewise.
4554 * util/grub-mkconfig_lib.in: Likewise.
4555 * util/grub-mknetdir.in: Likewise.
4556 * util/grub-mkrescue.in: Likewise.
4557 * util/grub-mkstandalone.in: Likewise.
4558 * util/grub-reboot.in: Likewise.
4559 * util/grub-set-default.in: Likewise.
4560 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4561
4562 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 Remove GRUB_PREFIX.
4565
4566 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4567 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4568 used for backward compatibility.
4569
4570 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 Add new all_video module.
4573
4574 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4575 * grub-core/Makefile.core.def (all_video): New module.
4576 * grub-core/genmoddep.awk: Generate dependency of all_video from
4577 video.lst.
4578 * grub-core/lib/fake_module.c: New file.
4579 * grub-core/normal/main.c (features): Add feature_all_video_module.
4580 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4581 don't do explicit search again.
4582 insmod all_video in load_video if available.
4583
4584 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 Another round of string clarification and adding TRANSLATORS comments.
4587
4588 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4591
4592 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4595 to grub_ssize_t.
4596 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4597 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4598
4599 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4602 trailing newline implicitly. All users updated.
4603
4604 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 Implement serial on IEEE1275 and EFI.
4607
4608 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4609 on emu. Mention arc and emu as the only platforms without serial
4610 support.
4611 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4612 ieee1275 platforms.
4613 * grub-core/term/efi/serial.c: New file.
4614 * grub-core/term/ieee1275/serial.c: Likewise.
4615 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4616 specification if no ns8250 driver is available.
4617 (grub_cmd_serial): Likewise.
4618 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4619 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4620 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4621 (grub_efi_parity_type_t): New type.
4622 (grub_efi_stop_bits_t): Likewise.
4623 (grub_efi_serial_io_interface): New struct.
4624 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4625 available for all interfaces.
4626 Add EFI and IEEE1275 fields.
4627 (grub_ofserial_init): New proto.
4628 (grub_efiserial_init): Likeiwse.
4629 * util/grub.d/00_header.in: Don't check for the presence of serial
4630 module.
4631
4632 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4635 name as if it was an alias.
4636
4637 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/commands/lsacpi.c (options): Fix typo.
4640
4641 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Convert grub-emu to argp.
4644
4645 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4646 emu.
4647 * util/argp_common.c: Rename to ...
4648 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4649 Add missing includes.
4650 * grub-core/kern/emu/main.c: Convert to argp.
4651 * po/POTFILES.in: Regenerate.
4652 * util/grub-install.in (usage): Make first letter lowcase in messages
4653 for uniformity.
4654 * util/grub-setup.c (options): Likewise.
4655
4656 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4659 Put back accidently commented-out code.
4660
4661 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4664 loop check using Brent algorithm.
4665 (grub_hfsplus_btree_search): Likewise.
4666
4667 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * util/grub-install.in: Fix usage of wrong device for PreP install.
4670
4671 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * conf/Makefile.common (CFLAGS_GNULIB): Add
4674 -Wno-unsafe-loop-optimizations.
4675 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4676 on tools.
4677 * grub-core/commands/legacycfg.c: Add pragma to skip
4678 -Wunsafe-loop-optimizations.
4679 (check_password_md5_real): Fix loop counter type.
4680 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4681 reading.
4682 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4683 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4684 loop condition.
4685 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4686 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4687 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4688 condition.
4689 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4690 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4691 avoid possible infinite loops.
4692 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4693 and -Wunsafe-loop-optimizations.
4694 * grub-core/script/yylex.l: Likewise.
4695 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4696 (print_glyphs): Avoid infinite loops.
4697 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4698
4699 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4700
4701 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4702 to avoid infinite loop.
4703 (disp_acpi_rsdt_table): Likewise.
4704
4705 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/font/font.c (grub_font_load): Add support for default
4708 path for fonts ($prefix/fonts).
4709 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4710 for checking if string is a path.
4711 * grub-core/normal/main.c (features): Add feature_default_font_path.
4712 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4713 * util/grub.d/00_header.in: Use default directory if possible.
4714 * util/grub-install.in: Install unicode.pf2.
4715
4716 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4719 * po/Rules-swiss: New file.
4720 * po/swiss.sed: Likewise.
4721
4722 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/fs/btrfs.c (find_device): Fix typos.
4725 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4726 * util/grub-mkrelpath.c (argp_parser): Likewise.
4727 Reported by: Yuri Chornoivan.
4728
4729 2012-02-23 Dalet Omega <daletomega@gmail.com>
4730
4731 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4732 for usual informative messages.
4733
4734 2012-02-23 Dalet Omega <daletomega@gmail.com>
4735
4736 Starfield theme.
4737
4738 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4739 * conf/Makefile.common: Define starfielddir.
4740 * configure.ac: Configure starfield.
4741 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4742 * themes/starfield/README: Likewise.
4743 * themes/starfield/blob_w.png: Likewise.
4744 * themes/starfield/boot_menu_c.png: Likewise.
4745 * themes/starfield/boot_menu_e.png: Likewise.
4746 * themes/starfield/boot_menu_n.png: Likewise.
4747 * themes/starfield/boot_menu_ne.png: Likewise.
4748 * themes/starfield/boot_menu_nw.png: Likewise.
4749 * themes/starfield/boot_menu_s.png: Likewise.
4750 * themes/starfield/boot_menu_se.png: Likewise.
4751 * themes/starfield/boot_menu_sw.png: Likewise.
4752 * themes/starfield/boot_menu_w.png: Likewise.
4753 * themes/starfield/slider_c.png: Likewise.
4754 * themes/starfield/slider_n.png: Likewise.
4755 * themes/starfield/slider_s.png: Likewise.
4756 * themes/starfield/src/blob_nw.xcf: Likewise.
4757 * themes/starfield/src/bootmenu/: Likewise.
4758 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4759 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4760 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4761 * themes/starfield/src/slider_c.xcf: Likewise.
4762 * themes/starfield/src/slider_n.xcf: Likewise.
4763 * themes/starfield/src/slider_s.xcf: Likewise.
4764 * themes/starfield/src/terminalbox/: Likewise.
4765 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4766 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4767 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4768 * themes/starfield/starfield.png: Likewise.
4769 * themes/starfield/terminal_box_c.png: Likewise.
4770 * themes/starfield/terminal_box_e.png: Likewise.
4771 * themes/starfield/terminal_box_n.png: Likewise.
4772 * themes/starfield/terminal_box_ne.png: Likewise.
4773 * themes/starfield/terminal_box_nw.png: Likewise.
4774 * themes/starfield/terminal_box_s.png: Likewise.
4775 * themes/starfield/terminal_box_se.png: Likewise.
4776 * themes/starfield/terminal_box_sw.png: Likewise.
4777 * themes/starfield/terminal_box_w.png: Likewise.
4778 * themes/starfield/theme.txt: Likewise.
4779
4780 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * util/grub.d/00_header.in: Add missing export theme.
4783
4784 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4787 already included.
4788 Reported by: Eren D.
4789
4790 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * conf/Makefile.common (grubdatadir): Removed.
4793 (Makefile.am): Move eveything grubdata to pkgdata.
4794
4795 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/commands/acpihalt.c (get_sleep_type):
4798 Remove unused variable.
4799
4800 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4803 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4804 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4805 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4806 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4807 i18n with gettext no-op.
4808 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4809 GRUB_ACPI_OPCODE_STRING_CONST.
4810 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4811 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4812
4813 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * po/POTFILES.in: Regenerate.
4816
4817 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4820 -Wno-error=missing-noreturn.
4821
4822 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4825 condition to avoid possibly infinite loops.
4826 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4827 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4828
4829 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4832 condition to avoid possibly infinite loops.
4833
4834 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4837 on show_error.
4838
4839 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4842
4843 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4846
4847 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * util/bin2h.c (usage): Add missing attribute noreturn.
4850
4851 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4854 if the size isn't divisible by 512.
4855
4856 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Make list_push and list_remove functions rather than inline functions
4859 to decrease size and avoid aliasing violations.
4860
4861 * include/grub/list.h (grub_list_push): Move to ...
4862 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4863 * include/grub/list.h (grub_list_remove): Move to ...
4864 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4865
4866 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4869 and -Wunused-result.
4870
4871 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4874 Reported by: Seth Goldberg
4875
4876 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4879
4880 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4881
4882 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4883 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4884 command line.
4885 * docs/grub.texi (Simple configuration): Document
4886 GRUB_CMDLINE_GNUMACH.
4887
4888 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * conf/Makefile.common (platform_SCRIPTS): New variable.
4891 (platform_PROGRAMS): Likewise.
4892 * gentpl.py: Mark *,module and *.image for install.
4893 * grub-core/gdb_grub.in: Add a notice of expected environment.
4894 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4895 (gmodule.pl): Likewise.
4896
4897 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 Replace grub_checkkey with grub_getkey_noblock.
4900
4901 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4902 (grub_getkey_noblock): ... this. All users updated.
4903
4904 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/kern/emu/console.c: Move to ...
4907 * grub-core/term/emu/console.c: ...here.
4908 (grub_ncurses_getkey): Fix return value if no key is detected.
4909
4910 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4913 (grub_unit_test_fini): Likewise.
4914 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4915
4916 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * include/grub/test.h (GRUB_UNIT_TEST)
4919
4920 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4923 Better error handling.
4924 (grub_script_return): Likewise.
4925 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4926
4927 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4930 rimplicit redifinition.
4931
4932 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4935 GRUB.
4936
4937 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4940 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4941 prompt here.
4942
4943 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4946 as GRUB_ERR_BUG. Don't malloc if no device is available.
4947
4948 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4951 Mark calling with invalid term as GRUB_ERR_BUG.
4952
4953 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4956 packets rather than raising an error.
4957
4958 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4961 in if.
4962
4963 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4966 diagnostic to dprintf.
4967 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4968
4969 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4972 device name.
4973
4974 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4977 (grub_ntfs_iterate_dir): Likewise.
4978
4979 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 Efiemu stylistic fixes and gettext.
4982
4983 * grub-core/efiemu/i386/loadcore32.c
4984 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4985 * grub-core/efiemu/i386/loadcore64.c
4986 (grub_arch_efiemu_relocate_symbols64): Likewise.
4987 * grub-core/efiemu/i386/pc/cfgtables.c
4988 (grub_machine_efiemu_init_tables): Likewise.
4989 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4990 (grub_efiemu_loadcore_initXX): Add a filename argument.
4991 All users updated.
4992 Improved error message.
4993 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4994 Add a filename argument.
4995 All users updated.
4996 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4997 Reclassify double relocation as GRUB_ERR_BUG.
4998
4999 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5002 handling.
5003
5004 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5007 on partition.
5008
5009 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5012
5013 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 Improve string. Gettextize.
5016
5017 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5020 utils.
5021 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5022
5023 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5026 [GRUB_UTIL]: New function.
5027 (insert_array) [GRUB_UTIL]: Store partmaps.
5028 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5029 partmaps.
5030 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5031 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5032 (probe_abstraction): Print diskfilter and not raid.
5033 Reported by: Lennart Sorensen
5034
5035 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5038 * util/grub-mkimagexx.c (MASK3): New define.
5039 (add_value_to_slot_20b): Use MASK3.
5040 (add_value_to_slot_21): Likewise.
5041 (relocate_addresses): Fix format specification.
5042 (load_image): Explicitly init symtab_section.
5043
5044 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5047 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5048
5049 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5052 on powerpc.
5053 Reported by: Lennart Sorensen
5054
5055 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * gentpl.py: Add missing license header.
5058 * docs/grub.texi: Update copyright year.
5059
5060 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5061
5062 Source grub-mkconfig_lib from the build directory at build time.
5063 Suggested by: Vladimir Serbinenko.
5064
5065 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5066 * util/grub-install.in: Define pkgdatadir if not already set, and source
5067 grub-mkconfig_lib from there.
5068 * util/grub-kbdcomp.in: Likewise.
5069 * util/grub-mkconfig.in: Likewise.
5070 * util/grub-mknetdir.in: Likewise.
5071 * util/grub-mkrescue.in: Likewise.
5072 * util/grub-mkstandalone.in: Likewise.
5073 * util/grub-reboot.in: Likewise.
5074 * util/grub-set-default.in: Likewise.
5075 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5076
5077 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 Increase warning level.
5080
5081 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5082 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5083 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5084 (TARGET_CFLAGS): Likewise.
5085 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5086 * grub-core/Makefile.core.def (decompressor_xz): Add
5087 -Wno-unreachable-code.
5088 (normal): Add -Wno-redundant-decls.
5089 (xzio): Add -Wno-unreachable-code.
5090 (lzopio): Add -Wno-redundant-decls -Wno-error.
5091 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5092 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5093 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5094 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5095 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5096 * grub-core/kern/i386/coreboot/init.c: Add exception to
5097 -Wsuggest-attribute=noreturn.
5098 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5099 * grub-core/kern/ia64/dl_helper.c: Likewise.
5100 * grub-core/kern/mips/dl.c: Likewise.
5101 * grub-core/kern/sparc64/dl.c: Likewise.
5102 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5103 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5104 (memcmp): Likewise.
5105 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5106 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5107 * grub-core/loader/mips/linux.c: Likewise.
5108 * grub-core/loader/multiboot_elfxx.c: Likewise.
5109 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5110 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5111 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5112 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5113 fixme.
5114 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5115 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5116 Fix prototype.
5117
5118 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5119
5120 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5121 address.
5122
5123 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5126 Avoid improper use of strings.
5127 (grub_cmd_legacy_initrdnounzip): Likewise.
5128
5129 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5132 attribute.
5133 (grub_util_info): Likewise.
5134 (grub_util_error): Likewise.
5135
5136 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5139 * util/grub-fstest.c (fstest): Likewise.
5140
5141 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5144 (grub_md_sha512_real): Likewise.
5145 (grub_util_get_geli_uuid): Likewise.
5146 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5147 (grub_util_biosdisk_open): Fix format specification.
5148 Respect format security.
5149 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5150 (xrealloc): Likewise.
5151 (xasprintf): Likewise.
5152
5153 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * util/import_gcry.py: Include grub/crypto.h in init.c.
5156
5157 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5160 (generate_image): Make prefix a const char *.
5161 Fix format specifications. Respect format security.
5162 Avoid void * arithmetics.
5163 Avoid shadowing.
5164 (argp_parser): Remove unused variable. Respect format security.
5165 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5166 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5167 (count_funcs): Remove unused variable.
5168 (relocate_addresses): Fix format specification.
5169 Disable x86-64 with elf32. Remove unused variables.
5170 (add_fixup_entry): Avoid shadowing.
5171 (make_reloc_section): Fix format specification.
5172 Use assert.
5173 (locate_sections): Fix format specifications.
5174 (load_image): Avoid shadowing.
5175
5176 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5179 Fix format specifications. Respect format security.
5180 Don't translate already translated grub_errmsg.
5181 (argp_parser): Remove unused variable
5182
5183 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5186
5187 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5190 (main): Likewise. Use xmalloc. Respect format security.
5191
5192 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5195 a const char *.
5196 (argp_parser): Remove unused variable.
5197
5198 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5201 (add_pixel): Make static.
5202 (add_font): Likewise.
5203 (write_string_section): Make name and str a const char *.
5204 (write_be16_section): Make name a const char *.
5205 (print_glyphs): Make static.
5206 (write_font_ascii_bitmap): Likewise.
5207 (write_font_width_spec): Likewise.
5208 (write_font_pf2): Likewise.
5209 (argp_parser): Remove unused variable.
5210 Respect format security.
5211 (main): Avoid shadowing. Respect format security.
5212
5213 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * util/grub-editenv.c (argp_parser): Make static.
5216 (create_envblk_file): Use xmalloc.
5217 (open_envblk_file): Likewise.
5218 Resepect format security.
5219 (set_variables): Respect format security.
5220
5221 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * util/getroot.c (grub_find_device): Respect format security.
5224 (get_mdadm_uuid): Remove unused variable.
5225 (grub_util_pull_device): Dont call gettext on already translated
5226 grub_errmsg.
5227 (find_system_device): Remove unused variable.
5228 (grub_util_get_grub_dev): Likewise.
5229 (grub_make_system_path_relative_to_its_root): Respect format security.
5230
5231 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * util/grub-fstest.c (execute_command): Make first argument
5234 a const char *.
5235 (read_file): Avoid shadowing.
5236 Reuse underlying error message if device open fails.
5237 (cmd_cmp): Respect format security.
5238 (root): Make const char *.
5239 (fstest): Remove args argument and use global copy.
5240 Respect format security.
5241 (argp_parser): Make static.
5242 (main): Make default_root const char *.
5243
5244 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * util/grub-mount.c (root): Make const char *.
5247 (execute_command): Make first argument a const char *.
5248 (fuse_init): Respect format security.
5249 (argp_parser): Make static. Remove unused variable.
5250 (main): Make default_root a const char *.
5251 Respect format security.
5252
5253 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * util/grub-probe.c (probe): Don't call gettext on already translated
5256 grub_errmsg.
5257 Remove unused variables.
5258 (argp_parser): Remove unused variable.
5259
5260 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * util/grub-script-check.c (argp_parser): Remove unused variable.
5263 (main): Rename read to curread to avoid shadowing.
5264
5265 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * util/misc.c (grub_util_write_image_at): Fix format specification.
5268 (grub_util_write_image): Likewise.
5269 (grub_script_execute_argument_to_string): Removed (unused).
5270 (grub_script_execute_menuentry): Likewise.
5271 (grub_putchar): Likewise.
5272
5273 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5276 (FUNCTION) [GRUB_UTIL]: Likewise.
5277 (VARIABLE) [GRUB_UTIL]: Likewise.
5278
5279 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5282 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5283
5284 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5287 buffer.
5288
5289 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5292 (LzmaEnc_SaveState): Removed (unused).
5293 (LzmaEnc_RestoreState): Likewise.
5294 (LzmaEnc_InitPriceTables): Made static.
5295 (LzmaEnc_Construct): Likewise.
5296 (LzmaEnc_FreeLits): Likewise.
5297 (LzmaEnc_Destruct): Likewise.
5298 (LzmaEnc_Init): Likewise.
5299 (LzmaEnc_InitPrices): Likewise.
5300 (LzmaEnc_Finish): Likewise.
5301 (LzmaEnc_PrepareForLzma2): Removed (unused).
5302 (LzmaEnc_MemPrepare): Likewise.
5303 (LzmaEnc_GetNumAvailableBytes): Likewise.
5304 (LzmaEnc_GetCurBuf): Likewise.
5305 (LzmaEnc_CodeOneMemBlock): Likewise.
5306
5307 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5310 (grub_util_ldm_embed): Likewise.
5311
5312 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * util/grub-editenv.c (print_var): Rename name to varname to
5315 avoid shadowing.
5316 (main): Rename index to curindex to avoid shadowing.
5317 Make filename a const char *.
5318
5319 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5322 to arg_getline to avoid shadowing.
5323
5324 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5327 disk_ to avoid shadowing.
5328
5329 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5332 curindex to avoid shadowing.
5333 Make static.
5334 (MatchFinder_GetNumAvailableBytes): Make static.
5335
5336 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5339 avoid shadowing.
5340
5341 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5344 argument from encrypt to do_encrypt to avoid shadowing.
5345
5346 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5349 incorrect nesting of #if's.
5350
5351 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5354 checks which are always false on some platforms.
5355 (grub_cmd_lsacpi): Likewise.
5356 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5357 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5358 Likewise.
5359
5360 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5363 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5364
5365 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5368 re_dfa_t to avoid breaking alignment invariants.
5369 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5370 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5371
5372 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5375 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5376
5377 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5380 Fix declaration.
5381
5382 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5385 conserve alignment invariants.
5386 (grub_ehci_ehcc_read16): Likewise.
5387 (grub_ehci_oper_read32): Likewise.
5388 (grub_ehci_oper_write32): Likewise.
5389 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5390 Conserve alignment invariants.
5391
5392 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5395 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5396 declarations.
5397
5398 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5401 Remove unused variable.
5402
5403 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5406 Remove set in if.
5407
5408 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * include/grub/net.h: Remove double declarations.
5411
5412 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 Remove "payload" command in ia64 Linux loader since I couldn't
5415 find any evidence of it being used for anything.
5416 Replace "relocate" command with an environment variable
5417
5418 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5419 fields.
5420 (ia64_boot_payload): Removed.
5421 (last_payload): Likewise.
5422 (RELOCATE_OFF): Likewise.
5423 (RELOCATE_ON): Likewise.
5424 (RELOCATE_FORCE): Likewise.
5425 (relocate): Likewise.
5426 (free_pages): Don't free payloads.
5427 (grub_load_elf64): Use common error messages.
5428 Use "linux_relocate" variable.
5429 Increase the space after boot_params.
5430 (grub_cmd_payload): Removed.
5431 (grub_cmd_relocate): Likewise.
5432 (grub_cmd_fpswa): Improve messages.
5433 (cmd_payload): Removed.
5434 (cmd_relocate): Likewise.
5435 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5436 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5437
5438 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 Convert UHCI to DMA framework.
5441
5442 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5443 (grub_uhci_pci_iter): Fill new members
5444 (grub_alloc_td): Use P2V and V2P functions.
5445 (grub_free_queue): Likewise.
5446 (grub_alloc_qh): Likewise.
5447 (grub_uhci_setup_transfer): Likewise.
5448 (grub_uhci_check_transfer): Likewise.
5449
5450 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5453 Remove assignment in if while on it.
5454
5455 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * util/grub-mkstandalone.in: Fix modules directory.
5458
5459 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5462 on i386-pc target.
5463 (argp_parser): Accept "auto" as compression specification.
5464
5465 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 Fix `help' with unloaded modules.
5468
5469 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5470 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5471 (grub_dyncmd_dispatcher): Small stylistic fix.
5472 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5473 explicit help is requested.
5474
5475 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5478 Explicitly init restart while on it.
5479
5480 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5483 uninited variable.
5484
5485 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * util/grub-mknetdir.in: Use . rather than source for POSIX
5488 compatibility.
5489
5490 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5493
5494 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5497 variable.
5498
5499 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5502 without quotes.
5503
5504 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5507
5508 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5511 iteration of partitions.
5512
5513 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 Improve gettext support. Stylistic fixes and error handling fixes while
5516 on it.
5517
5518 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5519
5520 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5521 part. Instead setup the correct stack in RM.
5522 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5523 for stack.
5524 * include/grub/i386/relocator_private.h: New file.
5525
5526 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5529 argument.
5530 * util/grub-fstest.c (options): Add missing DEVICE part.
5531
5532 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 Clarify and unify messages.
5535
5536 * grub-core/commands/hashsum.c (options): Unify messages.
5537 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5538 literal-only message as translatable.
5539 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5540 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5541 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5542 commands.
5543 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5544 key, not the key used to unlock. Clarify what it's used for.
5545 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5546 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5547 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5548 * util/grub-editenv.c (options): Unify "verbose" message.
5549 * util/grub-fstest.c (read_file): Unify error message.
5550 (fstest): Add quotes around commands.
5551 (options): Unify "verbose" message.
5552 * util/grub-install.in: Add quotes around variable name.
5553 * util/grub-kbdcomp.in: Unify error message.
5554 * util/grub-mkfont.c (main): Likewise.
5555 * util/grub-mkrescue.in: Likewise.
5556 * util/grub-mklayout.c (options): Unify "verbose" message.
5557 * util/grub-mkstandalone.in: Unify help and verbose messages.
5558 * util/grub-mount.c (options): Unify "verbose" message.
5559 * util/grub-probe.c (options): Likewise.
5560 * util/grub-script-check.c (options): Likewise.
5561 * util/grub-setup.c (setup): Unify no-terminator message.
5562 (options): Use DEVICE and not DEV.
5563 Unify "verbose" message.
5564 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5565
5566 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 Improve and unify messages.
5569
5570 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5571 name. All users updated.
5572 Print filename in error.
5573 (read_device_map): Print filename in error.
5574 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5575 (grub_util_get_os_disk): Likewise.
5576 (grub_util_biosdisk_get_grub_dev): Likewise.
5577 (grub_util_check_block_device): Likewise.
5578 (grub_util_check_char_device): Likewise.
5579 (grub_make_system_path_relative_to_its_root): Likewise.
5580 * util/grub-editenv.c (create_envblk_file): Likewise.
5581 (open_envblk_file): Likewise.
5582 (write_envblk): Likewise.
5583 * util/grub-fstest.c (cmd_cp): Likewise.
5584 (cmd_cat): Likewise.
5585 (cmd_cmp): Likewise.
5586 * util/grub-menulst2cfg.c (main): Likewise.
5587 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5588 (write_font_width_spec): Likewise.
5589 (write_font_pf2): Likewise.
5590 * util/grub-mkimage.c (generate_image): New argument outname.
5591 All users updated.
5592 Remove unreacheable message.
5593 (options): Unify messages.
5594 (help_filter): Likewise.
5595 * util/grub-mklayout.c (usage): Removed (unused).
5596 (main): Print filename in error.
5597 * util/grub-mkrescue.in: Fix wrong quoting.
5598 * util/grub-setup.c (setup): Print filename in error.
5599 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5600 (check_sas): Likewise.
5601 * util/misc.c (grub_util_get_fp_size): Removed.
5602 (grub_util_get_image_size): Print filename in error.
5603 (grub_util_read_at): Removed.
5604 (grub_util_read_image): Print filename in error.
5605 (grub_util_load_image): Likewise.
5606 (grub_util_write_image_at): New argument filename. All users updated.
5607 Print filename in error.
5608 (grub_util_write_image): New argument filename. All users updated.
5609 Print filename in error.
5610 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5611 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5612
5613 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * grub-core/Makefile.core.def (pxechain): New module.
5616 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5617 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5618 function.
5619 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5620 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5621
5622 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5625 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5626 * include/grub/err.h (grub_error_saved): New struct.
5627 (grub_errmsg): Make array size explicit.
5628 * include/grub/misc.h (grub_error_save): New function.
5629 (grub_error_load): Likewise.
5630 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5631 (grub_error_push): Update `errno' member name.
5632 (grub_error_pop): Likewise
5633 * grub-core/net/tftp.c (tftp_data): New member save_err.
5634 (tftp_receive): Save error.
5635 (tftp_open): Restore error.
5636
5637 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5640 to real mode down to execute A20-related code in protected mode as
5641 intended.
5642
5643 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5644
5645 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5646 NULL when the argument `level' has an unexpected value.
5647
5648 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Move platform-dependent files from $prefix to $prefix/$platform.
5651
5652 * config.h.in (GRUB_TARGET_CPU): New definition.
5653 (GRUB_PLATFORM): Likewise.
5654 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5655 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5656 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5657 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5658 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5659 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5660 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5661 * grub-core/normal/term.c (read_terminal_list): Likewise.
5662 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5663 $prefix/locale.
5664 (grub_gettext_init_ext): Likewise.
5665 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5666 grub_platform.
5667 * util/grub-install.in: Update directories.
5668 * util/grub-mknetdir.in: Likewise.
5669 * util/grub-mkrescue.in: Likewise.
5670
5671 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5674 grub_error framework. All users updated.
5675
5676 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5679 lists (by always binsearching), improve caching (cache strings
5680 used for binsearch, not only results), improve
5681 maintainability (by using more structured binary search) and correct
5682 error handling.
5683
5684 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/script/execute.c (grub_script_return): Fix warning.
5687
5688 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/script/execute.c (grub_script_return): Fix potential
5691 NULL-dereference.
5692 Reported by: Jim Meyering.
5693
5694 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * po/POTFILES.in: Regenerate.
5697 * util/grub-install.in: Gettextize the strings missed in first pass.
5698
5699 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * Makefile.util.def (grub-mkdevicemap): Removed.
5702 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5703 * include/grub/util/deviceiter.h: Removed.
5704 * util/deviceiter.c: Likewise.
5705 * util/getroot.c (grub_util_get_os_disk): New function.
5706 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5707 replacement for EFI.
5708 * util/grub-mkdevicemap.c: Removed.
5709 * util/grub-probe.c (probe): Handle PRINT_DISK.
5710 (argp_parser): Handle -t disk.
5711
5712 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * util/grub-mkfont.c: Migrate to argp.
5715 * util/grub-mklayout.c: Likewise.
5716 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5717 * util/grub-mkrelpath.c: Likewise.
5718 * util/grub-probe.c: Likewise.
5719 * util/grub-script-check.c: Likewise.
5720
5721 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5722
5723 * util/grub-reboot.in: Add missing datarootdir.
5724 Add missing newline.
5725 * util/grub-set-default.in: Add missing datarootdir.
5726 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5727 * util/grub-mkrescue.in: Likewise.
5728
5729 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5732
5733 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * util/grub-kbdcomp.in: Add decent help and gettextize.
5736 * docs/man/grub-kbdcomp.h2m: New file.
5737
5738 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 Migrate grub-mkimage.c to argp.
5741
5742 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5743 (grub-setup): Likewise.
5744 * util/grub-setup.c (print_version): Move to ...
5745 * util/argp_common.c (print_version): ... here.
5746 * util/grub-setup.c (argp_program_version_hook): Move to ...
5747 * util/argp_common.c (argp_program_version_hook): ... here.
5748 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5749 safety.
5750 * util/grub-mkimage.c (main): Migrate to argp.
5751
5752 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * util/grub-mkrescue.in: Use same message as
5755 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5756 for better translations.
5757
5758 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5761 options with generic grub-mkrescue.in with the goal of future
5762 merge.
5763
5764 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * grub-core/kern/mm.c: Add missing include of i18n.h
5767 * grub-core/lib/relocator.c: Likewise.
5768
5769 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5772 error.
5773 (allocate_pages): Check return value.
5774 Replace fatal with error.
5775 (grub_linux_boot): Replace printf with dprintf.
5776 Check find_mmap_size return value.
5777 Replace fatal with error.
5778 Don't call grub_machine_fini.
5779 (grub_load_elf64): Replace printf with dprintf.
5780 (grub_cmd_linux): Likewise.
5781 (grub_cmd_initrd): Likewise.
5782 (grub_cmd_payload): Likewise.
5783
5784 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5787 message.
5788 * grub-core/video/radeon_fuloong2e.c
5789 (grub_video_radeon_fuloong2e_setup): Likewise.
5790 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5791 * grub-core/video/video.c (grub_video_set_mode): Don't override
5792 standard out of memory message.
5793
5794 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5795
5796 NetBSD disk wedge support.
5797
5798 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5799 [__NetBSD__]: Handle NetBSD disk wedges.
5800 * util/getroot.c (convert_system_partition_to_system_disk)
5801 [__NetBSD__]: Likewise.
5802
5803 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
5804
5805 * util/grub-mkconfig.in: Use umask rather than chmod to create
5806 grub.cfg.new to avoid insecure grub.cfg.
5807
5808 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * grub-core/commands/ls.c: Gettextize.
5811 * grub-core/commands/setpci.c: Likewise.
5812 * grub-core/commands/videotest.c: Likewise.
5813 * grub-core/disk/geli.c: Likewise.
5814 * grub-core/kern/mm.c: Likewise.
5815 * grub-core/lib/relocator.c: Likewise.
5816 * grub-core/loader/efi/appleloader.c: Likewise.
5817 * grub-core/loader/i386/xnu.c: Likewise.
5818 * grub-core/loader/ia64/efi/linux.c: Likewise.
5819 * grub-core/loader/xnu.c: Likewise.
5820 * grub-core/net/dns.c: Likewise.
5821 * grub-core/net/net.c: Likewise.
5822 * grub-core/script/lexer.c: Likewise.
5823 * grub-core/script/parser.y: Likewise.
5824 * grub-core/script/yylex.l: Likewise.
5825 * util/getroot.c: Likewise.
5826 * util/grub-setup.c: Likewise.
5827
5828 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5831 number.
5832
5833 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5836
5837 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5840 macro.
5841 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5842 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5843
5844 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5847 * util/grub-install.in: Gettextize.
5848 * util/grub-mkconfig.in: Likewise.
5849 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5850 if not available.
5851 (grub_warn): Gettextize.
5852 * util/grub-mknetdir.in: Gettextize.
5853 * util/grub-mkrescue.in: Likewise.
5854 * util/grub-mkstandalone.in: Likewise.
5855 * util/grub-reboot.in: Likewise.
5856 * util/grub-set-default.in: Likewise.
5857 * util/grub.d/00_header.in: Likewise.
5858 * util/grub.d/10_hurd.in: Likewise.
5859 * util/grub.d/10_kfreebsd.in: Likewise.
5860 * util/grub.d/10_linux.in: Likewise.
5861 * util/grub.d/10_netbsd.in: Likewise.
5862 * util/grub.d/10_windows.in: Likewise.
5863 * util/grub.d/20_linux_xen.in: Likewise.
5864 * util/grub.d/30_os-prober.in: Likewise.
5865 * po/POTFILES-shell.in: Regenerate.
5866
5867 2012-02-03 Richard Laager <rlaager@wiktel.com>
5868
5869 * util/grub-mkimage.c (main): Fix format-security warning.
5870 * util/grub-mkrelpath.c (main): Likewise.
5871 * util/grub-probe.c (main): Likewise.
5872
5873 2012-02-03 Richard Laager <rlaager@wiktel.com>
5874
5875 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5876 failure.
5877 Put back lost PRINT_DRIVE.
5878
5879 2012-02-03 Richard Laager <rlaager@wiktel.com>
5880
5881 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5882 (grub_guess_root_devices): Replace strlen with sizeof.
5883 Avoid crash.
5884 (find_root_devices_from_poolname): Remove unused variable.
5885 Handle raidzN.
5886
5887 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 Support install on multi-device filesystems.
5890
5891 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5892 (grub_guess_root_devices): ...this. Return char **. All users updated.
5893 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5894 Removed.
5895 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5896 (find_root_devices_from_poolname): ... here.
5897 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5898 Support zfs-fuse.
5899 (grub_guess_root_device): Rename to ...
5900 (grub_guess_root_devices): ... this. Return char **. All users updated.
5901 * util/grub-install.in: Handle multi-device filesystems.
5902 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5903 argument. All users updated.
5904 Handle multi-device filesystems.
5905 Use 'delim' as separator.
5906 Remove device check to allow filesystems on file.
5907 (main): Support -0 argument. Handle multi-device.
5908 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5909 Fix a cross-device check while on it.
5910 (arguments): Remove root_dev.
5911 (argp_parser): Remove -r.
5912 (main): Remove root_dev.
5913
5914 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5917
5918 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5921 symbol.
5922 Reported by: NODA, Kai <nodakai>.
5923
5924 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Fix ehci on amd64.
5927
5928 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5929 pointers.
5930 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5931 (grub_ehci_setup_qh): Likewise.
5932 (grub_ehci_find_qh): Likewise.
5933 (grub_ehci_transaction): Likewise.
5934 (grub_ehci_setup_transfer): Likewise.
5935 (grub_ehci_check_transfer): Likewise.
5936 (grub_ehci_portstatus): Likewise.
5937 (grub_ehci_detect_dev): Likewise.
5938 (grub_ehci_transfer_controller_data): New field td_last_phys.
5939 (grub_ehci_setup_transfer): Fill td_last_phys.
5940 (grub_ehci_check_transfer): Use td_last_phys.
5941
5942 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5943
5944 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5945 if no submenu is present.
5946
5947 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5948
5949 CBI support.
5950
5951 * include/grub/usb.h (grub_usbms_protocol_t): New values
5952 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5953 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5954 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5955 (grub_usbms_dev): Add subclass, protocol and intrpt.
5956 Remove in_maxsz and out_maxsz.
5957 (grub_usbms_reset): Rename to ...
5958 (grub_usbms_bo_reset): .. this.
5959 (grub_usbms_cbi_cmd): New function.
5960 (grub_usbms_cbi_reset): Likewise.
5961 (grub_usbms_reset): Likewise.
5962 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5963 (grub_usbms_transfer): Rename to ...
5964 (grub_usbms_transfer_bo): ... this.
5965 (grub_usbms_transfer_cbi): Likewise.
5966 (grub_usbms_transfer): Likewise.
5967
5968 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5969 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5972 the support for the CS5536 modification thereos and few bugfixes.
5973
5974 * grub-core/Makefile.core.def (ehci): New module.
5975 * grub-core/bus/usb/ehci.c: New file.
5976 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5977 port and hubaddr. All users updated.
5978 Save port and hubaddr into dev structure.
5979 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5980 define.
5981 * include/grub/pci.h (grub_dma_phys2virt): New function.
5982 (grub_dma_virt2phys): Likewise.
5983 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5984
5985 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5988 check as some mkfs implementations omit it.
5989
5990 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5993
5994 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5997 Add new member volname2.
5998 (grub_jfs_label): Use volname2 if available.
5999
6000 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6003 over last_mounted as seen in image generated by mkfs.nilfs2.
6004 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6005
6006 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6009 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6010 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6011
6012 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6015 over the sector.
6016
6017 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6020 subvolume name (by removing a bogus and useless check).
6021
6022 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6025 sizeof while on it.
6026
6027 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6030 (grub_scsi_read_capacity10): ... this.
6031 (grub_scsi_read_capacity16): New function.
6032 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6033 0xffffffff.
6034 Fix off-by-one error.
6035 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6036 64-bit unsigned.
6037 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6038 (grub_scsi_read_capacity10): ... this.
6039 (grub_scsi_read_capacity_data): Rename to ...
6040 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6041 (grub_scsi_read_capacity16): New struct.
6042 (grub_scsi_read_capacity16_data): Likewise.
6043 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6044 grub_scsi_cmd_read_capacity10.
6045 New command grub_scsi_cmd_read_capacity16.
6046
6047 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 SCSI >2TiB support.
6050
6051 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6052 (grub_scsi_write16): Likewise.
6053 (grub_scsi_read): Use read16 when necessary.
6054 (grub_scsi_write): Likewise.
6055 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6056 (grub_scsi_write16): Likewise.
6057 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6058
6059 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 SCSI write support (for usbms mainly).
6062
6063 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6064 a const pointer.
6065 (grub_scsi_write): Implement.
6066 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6067
6068 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6071 variable.
6072
6073 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6076
6077 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * po/POTFILES.in: Regenerate.
6080
6081 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6084 with grub_printf to avoid unnecessary fatal failure.
6085
6086 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6089 (INT_MAX): Likewise.
6090 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6091 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6092 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6093 (strcpy): Likewise.
6094 (strstr): Likewise.
6095 (strchr): Likewise.
6096 (strncpy): Likewise.
6097 (strcat): Likewise.
6098 (strncat): Likewise.
6099 (strcoll): Likewise.
6100 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6101 (GRUB_INT_MAX): Likewise.
6102
6103 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6106 unexpected error.
6107 (optimize_utf8): Likewise.
6108 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6109
6110 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/boot/i386/pc/lnxboot.S: Use
6113 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6114 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6115 location.
6116 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6117 definition.
6118 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6119
6120 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6123 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6124 now to avoid double free.
6125 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6126 hostdisk.
6127 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6128 * util/grub-probe.c (escape_of_path): Always return a new copy.
6129 (print_full_name): Escape path.
6130 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6131 Fix hints on abstractions.
6132
6133 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6136 Don't add "root" line if no compatibility hont is available.
6137 Suggested by: Seth Goldberg.
6138
6139 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6142 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6143 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6144 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6145
6146 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6149
6150 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 * util/grub-pe2elf.c (ehdr): Make static.
6153 (shdr): Likewise.
6154 (num_sections): Likewise.
6155 (offset): Likewise.
6156
6157 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 Eliminate ofpath limits and possible overflows.
6160
6161 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6162 (OF_PATH_MAX): Removed.
6163 (MAX_DISK_CAT): New const.
6164 (find_obppath): Use allocated rather than preallocated buffer.
6165 Return result. Argument of_path removed. All users updated.
6166 Add missing fdstat.
6167 (xrealpath): New function.
6168 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6169 Allocate rather than use preallocated buffer. All users updated.
6170 (__of_path_common): Use allocated rather than preallocatecd buffer.
6171 Return result. Argument of_path removed. All users updated.
6172 (vendor_is_ATA): Read only needed part form the file.
6173 (check_sas): Allocate depending on contents rather than fixed.
6174 (main) [STANDALONE]: Handle NULL result.
6175
6176 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6179
6180 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Cryptodisk write support.
6183
6184 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6185 (grub_cryptodisk_decrypt): Moved logic to ...
6186 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6187 (grub_cryptodisk_write): Implement.
6188 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6189 (grub_util_fd_write): ... this. Make global.
6190 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6191
6192 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * include/grub/list.h (grub_list_remove): Don't crash if element is
6195 removed twice.
6196
6197 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 Rename ofconsole to console.
6200
6201 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6202 as sysnonym to console.
6203 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6204 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6205 Rename grub_ofconsole_ to grub_console_. All users updated
6206 (grub_console_term_output): Rename "ofconsole" to "console".
6207 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6208 as "console".
6209
6210 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6213 handling.
6214 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6215 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6216 GRUB_DISK_DEVICE_FILE_ID.
6217
6218 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6221 and improve performance.
6222
6223 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6226 missing ieee1275/ prefix on whole disk.
6227
6228 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6231 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6232
6233 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6236
6237 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 Merge common RAID and LVM logic to an abstract diskfilter.
6240 Add LDM support using the same framework.
6241
6242 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6243 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6244 (libgrubmods): Remove grub-core/disk/raid.c and
6245 grub-core/partmap/gpt.c.
6246 * grub-core/Makefile.core.def (ldm): New module.
6247 (raid): Renamed to diskfilter. All users updated.
6248 * grub-core/disk/raid.c: Moved to ...
6249 * grub-core/disk/diskfilter.c: ... here.
6250 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6251 (lv_num): New var.
6252 (find_array): Renamed to ...
6253 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6254 (grub_is_array_readable): Renamed to ...
6255 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6256 (insert_array): New argument id.
6257 (is_node_readable): New function.
6258 (scan_device): Rename to ...
6259 (scan_disk): .. this. Restrict to one disk.
6260 (scan_devices): New function.
6261 (grub_diskfilter_iterate): Support multi-LV.
6262 Skip invisible and nameless LVs.
6263 (grub_diskfilter_memberlist): Support multi-LV.
6264 (grub_diskfilter_read_node): New function.
6265 (grub_raid_read): Most of logic moved to ...
6266 (read_segment): ... here
6267 (read_lv): New function.
6268 (grub_diskfilter_get_vg_by_uuid): New function.
6269 (grub_diskfilter_make_raid): Likewise.
6270 * grub-core/disk/ldm.c: New file.
6271 * grub-core/disk/lvm.c (vg_list): Removed.
6272 (lv_count): Likewise.
6273 (scan_depth): Likewise.
6274 (is_lv_readable): Likewise.
6275 (grub_lvm_getvalue): Advance pointer past the number.
6276 (find_lv): Removed.
6277 (do_lvm_scan): Refactored into ...
6278 (grub_lvm_detect): ... this. Support raid.
6279 (grub_lvm_iterate): Removed.
6280 (grub_lvm_memberlist): Likewise.
6281 (grub_lvm_open): Likewise.
6282 (grub_lvm_close): Likewise.
6283 (read_lv): Likewise.
6284 (read_node): Likewise.
6285 (is_node_readable): Likewise.
6286 (is_lv_readable): Likewise.
6287 (grub_lvm_read): Likewise.
6288 (grub_lvm_write): Likewise.
6289 (grub_lvm_dev): Use diskfilter
6290 (GRUB_MOD_INIT): Likewise.
6291 (GRUB_MOD_FINI): Likewise.
6292 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6293 new interface.
6294 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6295 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6296 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6297 grub_diskfilter_read_node.
6298 Fix a bug with xor.
6299 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6300 grub_diskfilter_read_node.
6301 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6302 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6303 (grub_disk_dev_iterate): Move from here...
6304 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6305 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6306 Make global.
6307 (grub_hostdisk_find_partition_start): Likewise.
6308 (grub_hostdisk_os_dev_to_grub_drive): New function.
6309 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6310 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6311 * util/getroot.c (make_device_name): ... here.
6312 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6313 Move to ...
6314 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6315 * grub-core/kern/emu/hostdisk.c
6316 (convert_system_partition_to_system_disk): Move to ...
6317 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6318 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6319 * util/getroot.c (device_is_wholedisk): ... here.
6320 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6321 * util/getroot.c (find_system_device): ... here.
6322 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6323 Move to ...
6324 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6325 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6326 Move to ...
6327 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6328 Handle LDM.
6329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6330 Move to ...
6331 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6332 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6333 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6334 DISKFILTER.
6335 * include/grub/raid.h: Renamed to ...
6336 * include/grub/diskfilter.h: ... this.
6337 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6338 (GRUB_RAID_LAYOUT_*): Make into array.
6339 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6340 (grub_diskfilter_vg): New struct.
6341 (grub_diskfilter_pv_id): Likewise.
6342 (grub_raid_member): Removed.
6343 (grub_raid_array): Likewise.
6344 (grub_diskfilter_pv): New struct.
6345 (grub_diskfilter_lv): Likewise.
6346 (grub_diskfilter_segment): Likewise.
6347 (grub_diskfilter_node): Likewise.
6348 (grub_diskfilter_get_vg_by_uuid): New proto.
6349 (grub_raid_register): Inline.
6350 (grub_diskfilter_unregister): Likewise.
6351 (grub_diskfilter_make_raid): New proto.
6352 (grub_diskfilter_vg_register): Likewise.
6353 (grub_diskfilter_read_node): Likewise.
6354 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6355 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6356 (grub_util_is_ldm): Likewise.
6357 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6358 (grub_hostdisk_find_partition_start): Likewise.
6359 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6360 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6361 New definition.
6362 (grub_gpt_partition_map_iterate): New proto.
6363 * include/grub/lvm.h (grub_lvm_vg): Removed.
6364 (grub_lvm_pv): Likewise.
6365 (grub_lvm_lv): Likewise.
6366 (grub_lvm_segment): Likewise.
6367 (grub_lvm_node): Likewise.
6368 * util/getroot.c [...]
6369 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6370 (probe_abstraction): Likewise.
6371 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6372 (main): Remove dead logic.
6373
6374 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 Simplify root device discover and don't fail when trying to open
6377 incorrect devices.
6378
6379 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6380 function.
6381 (get_diskname_from_path): Likewise.
6382 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6383 of iterating.
6384
6385 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6388
6389 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6392 pastthe end.
6393
6394 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * util/grub-install.in: Add missing \.
6397 Reported by: gentoofan
6398
6399 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6402 (direct_read): Use correct compressed size.
6403 (grub_squash_read_data): Likewise.
6404
6405 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * docs/grub.texi (Platform limitations): New section.
6408 (Platform-specific operations): Likewise.
6409 * docs/grub-dev.texi (Porting): Likewise.
6410
6411 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 IEEE1275 disk write support.
6414
6415 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6416 const void *.
6417 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6418 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6419 and seek loginc to ...
6420 (grub_ofdisk_prepare): ... here.
6421 (grub_ofdisk_write): Implement.
6422
6423 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 ARC disk write support.
6426
6427 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6428 (reopen): New argument writable. All users updated.
6429 Handle required access mode.
6430 (grub_arcdisk_write): Implement.
6431 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6432 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6433
6434 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6437 (read_sblock): Don't attempt to read superblocks outside the disk size.
6438
6439 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6442 first superblock to find the second one when possible.
6443
6444 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * util/grub-install.in: Fix an ARC bug.
6447 Print a warning if no platform-specific setup is available.
6448
6449 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Use static allocation rather than scratch pointer in reed_solomon.
6452 It decreases its size significantly and avoids a variable in .text.
6453
6454 * grub-core/lib/reed_solomon.c (scratch): Removed.
6455 (chosenstat): New const or static array.
6456 (sigma): Likewise.
6457 (errpot): Likewise.
6458 (errpos): Likewise.
6459 (sy): Likewise.
6460 (mstat): Likewise.
6461 (errvals): Likewise.
6462 (eqstat): Likewise.
6463 (pol_evaluate): Replace x with log_x argument. All users updated.
6464 (syndroms): Removed.
6465 (gauss_solve): Use statically allocated arrays.
6466 (rs_recover): Likewise.
6467 Calculate syndroms directly.
6468 (decode_block): Use statically allocated arrays.
6469 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6470 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6471
6472 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 Eliminate fixed limit on reed solomon decoder length.
6475
6476 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6477 rather than hardcoding the address.
6478 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6479 no_reed_solomon_length.
6480 Move gate_a20 to no-reed-solomon part.
6481 Don't force a particular size of no reed-solomon part.
6482 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6483 Removed.
6484 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6485 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6486
6487 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/commands/wildcard.c (match_files): Handle filenames
6490 without explicit device.
6491 (wildcard_expand): Don't add explicit device if not already present.
6492 * tests/grub_script_echo1.in: Add a new expansion test.
6493
6494 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 Replace single-linked with double-linked lists. It results in more
6497 compact and more efficient code.
6498
6499 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6500 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6501 (grub_list_remove): Moved from here ...
6502 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6503 (grub_prio_list_insert): Set prev.
6504 * include/grub/list.h (grub_list): Add prev. All users updated.
6505
6506 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 Handle newer autotools. Add some missing quotes while on it.
6509
6510 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6511 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6512 (pkgdata_DATA): ... here.
6513 * Makefile.util.def (update-grub_lib): Removed.
6514 * conf/Makefile.common (pkglib_DATA): Removed.
6515 (pkglib_SCRIPTS): Likewise.
6516 (pkgdata_DATA): New variable.
6517 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6518 needed.
6519 Add missing quotes.
6520 Remove unused variable while on it.
6521 * tests/util/grub-shell.in: Likewise.
6522 * util/grub-install.in: Likewise.
6523 * util/grub-mkconfig.in: Likewise.
6524 * util/grub-mknetdir.in: Likewise.
6525 * util/grub-mkrescue.in: Likewise.
6526 * util/grub-mkstandalone.in: Likewise.
6527 * util/grub.d/00_header.in: Likewise.
6528 * util/grub.d/10_hurd.in: Likewise.
6529 * util/grub.d/10_illumos.in: Likewise.
6530 * util/grub.d/10_kfreebsd.in: Likewise.
6531 * util/grub.d/10_linux.in: Likewise.
6532 * util/grub.d/10_netbsd.in: Likewise.
6533 * util/grub.d/10_windows.in: Likewise.
6534 * util/grub.d/20_linux_xen.in: Likewise.
6535 * util/grub.d/30_os-prober.in: Likewise.
6536 * util/update-grub_lib.in: Removed.
6537
6538 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6539
6540 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6541 a workaround for intel problem.
6542
6543 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6544 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6545 2012-01-23 pfsmorigo
6546
6547 * util/grub-install.in: Support dd'in into PreP partition.
6548 * util/grub-probe.c (probe): Support discovering partition type.
6549 (main): Support -t msdos_parttype.
6550
6551 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6554 infinite recursion using counter.
6555 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6556 init to skip it if the magic check fails.
6557 (dec_stream_header): Init s->crc32.
6558
6559 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6560 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6561 2012-01-22 Richard Laager <rlaager@wiktel.com>
6562
6563 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6564 All users updated.
6565 (find_bestub): Determine correct size.
6566 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6567 (scan_disk): Align the size down.
6568 Call check pool before find_bestub to have ashift.
6569
6570 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6573 dprintf in no-malloc zone.
6574
6575 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6576
6577 * configure.ac: Add back in test for limits.h.
6578
6579 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 Support 4K-sector NTFS.
6582
6583 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6584 (grub_ntfs_data): Remove blocksize.
6585 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6586 Remove data argument. All users updated.
6587
6588 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6591 being in .text to avoid dprel references.
6592 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6593 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6594 (grub_arch_highmemsize): Likewise.
6595 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6596 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6597 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6598
6599 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6602
6603 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6604 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6605
6606 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6609 GRUB_UTIL.
6610 (grub_set_datetime_cmos): Likewise.
6611
6612 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 Make XZ compression parameters dependent on target and not host CPU.
6615
6616 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6617 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6618
6619 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6622 set but not used variable.
6623
6624 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6627 created when no uuid support is compiled into mkfs.reiser.
6628
6629 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6632 (utf8_to_macroman): Do the opposite.
6633 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6634
6635 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * configure.ac: Refise build qemu_mips w/o unifont.
6638
6639 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 Eliminate grub_min/grub_max prone to overflow usage.
6642
6643 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6644 (poll_nonroot_hub): Likewise.
6645 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6646 (grub_affs_label): Likewise.
6647 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6648 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6649 (grub_hfs_label): Likewise.
6650 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6651 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6652 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6653 (zap_leaf_array_get): Likewise.
6654 (dnode_get_path): Likewise.
6655 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6656 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6657 * grub-core/script/execute.c (grub_script_break): Likewise.
6658 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6659 grub_max.
6660 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6661 * include/grub/misc.h (grub_min): Removed.
6662 (grub_max): Likewise.
6663
6664 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6665
6666 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6667 direct.inode = 0.
6668
6669 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6672
6673 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6676
6677 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6680 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6681
6682 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6685 rather than a hack for grub_strncasemap.
6686
6687 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 Support multiple initrds
6690 Note: part of this was accidently committed in r3739.
6691
6692 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6693 initrd.
6694 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6695 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6696 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6697 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6698 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6699
6700 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6703 disks with unknown size.
6704 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6705
6706 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 Remove defines pertaining to arbitrary limits not affecting GRUB
6709 anymore.
6710
6711 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6712 (EXT2_MAX_SYMLINKCNT): Likewise.
6713 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6714 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6715 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6716 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6717 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6718 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6719 (DN_MAX_OBJECT_SHIFT): Likewise.
6720 (DN_MAX_OFFSET_SHIFT): Likewise.
6721 (DN_MAX_OBJECT): Likewise.
6722 (DNODES_PER_LEVEL_SHIFT): Likewise.
6723 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6724 (SPA_MAXBLOCKSIZE): Likewise.
6725 (SPA_BLOCKSIZES): Likewise.
6726 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6727 (MZAP_MAX_BLKSZ): Likewise.
6728
6729 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6732 handle NULL appropriately.
6733 Remove MIN.
6734
6735 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 Fix efiemu.
6738
6739 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6740 cpu/types.h.
6741 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6742 * configure.ac: Fix efiemu check.
6743
6744 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6747 grub_probe.
6748 Reported by: adamwill
6749
6750 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6751
6752 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6753
6754 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 Fix handling of wide characters in gfxterm.
6757
6758 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6759 (clear_char): Likewise.
6760 (paint_char): Skip code == NULL chars.
6761 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6762
6763 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/normal/charset.c: Move comment to right place.
6766
6767 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6770 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6771 (grub_affs_mount): Revert the correct version checking.
6772
6773 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * docs/grub.texi (Unicode): Mention several other unsupported features.
6776
6777 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6780 case statements as compile-time one.
6781 (direct_read): Prevent spurious warnings.
6782 (grub_squash_read_data): Likewise.
6783
6784 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 Various squash4 fixes and LZO and XZ support.
6787
6788 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6789 Add xzembed source files.
6790 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6791 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6792 (grub_squash_inode): New subtype long_dir.
6793 (SQUASH_TYPE_LONG_DIR): New inode type.
6794 (COMPRESSION): New enum.
6795 (XZBUFSIZ): New const.
6796 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6797 (read_chunk): Use data->decompress.
6798 (zlib_decompress): New function.
6799 (lzo_decompress): Likewise.
6800 (xz_decompress): Likewise.
6801 (squash_mount): Set new data fields.
6802 (grub_squash_iterate_dir): Handle long dir.
6803 (squash_unmount): Free xzdec and xzbuf.
6804 (grub_squash_open): Check ino type.
6805 (direct_read): Stylistic fixes. Use data->decompress.
6806 (grub_squash_read_data): Likewise.
6807 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6808 (get_byte): Likewise.
6809 (grub_zlib_disk_read): Removed.
6810 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6811 (GRUB_POSIX_BOOL_DEFINED): New define.
6812 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6813 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6814 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6815 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6816
6817 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 Don't override more informative errors.
6820
6821 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6822 * grub-core/font/font.c (open_section): Likewise.
6823 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6824 filename. Don't override errors.
6825 (grub_cmd_openbsd_ramdisk): Don't override errors.
6826 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6827 (grub_cmd_initrd): Likewise.
6828 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6829 (grub_cmd_initrd): Likewise.
6830 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6831 (grub_cmd_linux): Likewise.
6832 (grub_cmd_initrd): Likewise.
6833 (grub_cmd_payload): Likewise.
6834 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6835 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6836 (grub_cmd_module): Likewise.
6837 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6838 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6839 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6840 (grub_cmd_xnu_mkext): Likewise.
6841 (grub_cmd_xnu_ramdisk): Likewise.
6842 (grub_xnu_check_os_bundle_required): Likewise.
6843 (grub_xnu_load_kext_from_dir): Likewise.
6844 (grub_cmd_xnu_kextdir): Likewise.
6845 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6846
6847 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6850 as 1024 in block size field. Found on one of my test images.
6851 Small optimisation while on it.
6852
6853 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6856 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6857 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6858 performance fixes while on it.
6859 (grub_sfs_close): Fix memory leak while on it.
6860 (grub_sfs_label): Convert Latin1 to UTF-8.
6861
6862 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6865 space to avoid overflows.
6866 (grub_hfs_label): Convert from macroman to UTF-8.
6867
6868 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6871
6872 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6875
6876 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * unicode: Import Unicode 6.0 data.
6879
6880 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6883 outside of range.
6884
6885 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 Avoid cutting in the middle of UTF-8 character.
6888
6889 * include/grub/charset.h (grub_getend): New function.
6890 * grub-core/script/function.c (grub_script_function_find): Use
6891 grub_getend.
6892 * grub-core/normal/completion.c (add_completion): Likewise.
6893
6894 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6897 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6898 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6899 (GRUB_UNICODE_TAG_END): Likewise.
6900 (GRUB_UNICODE_LAST_VALID): Likewise.
6901
6902 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6903
6904 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6905 len and make it smaller. All users updated.
6906 * util/import_unicode.py: Put length and not end character.
6907 Check length.
6908
6909 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Make better Unicode-compliant and unify some UTF-8 code pathes.
6912
6913 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6914 valid character.
6915 (grub_is_valid_utf8): Use grub_utf8_process.
6916 Check resulting code range.
6917 (grub_utf8_to_ucs4): Use grub_utf8_process.
6918 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6919 valid character.
6920
6921 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6924
6925 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * docs/grub.texi (Filesystems): Mention AFS.
6928
6929 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * docs/grub.texi (Filesystems): Clarify restrictions.
6932 (Regexp): Mention non-Unicode regexp behaviour.
6933 (Other): Mention non-Unicode matching behaviour.
6934
6935 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Make HFS implementation use MacRoman.
6938
6939 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6940 (macroman): New const array.
6941 (macroman_to_utf8): New function.
6942 (utf8_to_macroman): Likewise.
6943 (grub_hfs_find_dir): Use utf8_to_macroman.
6944 (grub_hfs_dir): Use macroman_to_utf8.
6945 Set case_insensitive.
6946
6947 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6950
6951 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 Integrate hints into autogeneration scripts.
6954
6955 * docs/grub.texi (Filesystems): Add a hostdisk example.
6956 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6957 (grub-probe): Add ofpath.
6958 * gentpl.py: Remove group nosparc64.
6959 * grub-core/commands/search.c (cache_entry): New struct.
6960 (cache): New var.
6961 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6962 * grub-core/commands/search_wrap.c (options): Add platform-specific
6963 hint options.
6964 (grub_cmd_search): Handle platform-specific hints.
6965 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6966 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6967 (grub_util_biosdisk_data): Likewise.
6968 (grub_util_biosdisk_open): Set device_map.
6969 (read_device_map): Handle "" as indication of no map.
6970 Set device_map.
6971 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6972 (grub_util_biosdisk_get_compatibility_hint): New function.
6973 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6974 * include/grub/emu/hostdisk.h
6975 (grub_util_biosdisk_get_compatibility_hint): New proto.
6976 * util/grub-install.in: Don't call grub-mkdevicemap.
6977 Add platform-specific hint to load.cfg.
6978 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6979 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6980 hints. Set root preliminary to compatibility hint, not to OS name.
6981 * util/grub-probe.c (PRINT_*): Add hints.
6982 (print): Make static.
6983 (escape_of_path): New function.
6984 (guess_bios_drive): Likewise.
6985 (guess_efi_drive): Likewise.
6986 (guess_baremetal_drive): Likewise.
6987 (print_full_name): Likewise.
6988 (probe): Handle hints.
6989 (main): Likewise.
6990 * util/ieee1275/devicemap.c: Removed.
6991 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6992 updated.
6993 (grub_util_devname_to_ofpath): Return NULL on failure.
6994
6995 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6996 resource leak.
6997 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6998
6999 * po/POTFILES.in: Regenerated.
7000
7001 Allow purely long options
7002
7003 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7004 (SHORT_ARG_USAGE): Likewise.
7005 (grub_arg_show_help): Compare opt with help_options.
7006 (parse_option): Receive opt as argument. If makes big simplificatons.
7007 All users updated
7008
7009 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7012 Restructure to avoid warning.
7013
7014 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * util/grub-install.in: Account for possible escaped comma in device
7017 name.
7018
7019 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7022 channel.
7023
7024 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7027 allocation and zero-setting.
7028 (grub_ieee1275_get_devname): Check that alias is complete.
7029
7030 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7033 unaligned segments.
7034
7035 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7038 prefix.
7039 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7040 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7041 Add ieee1275 prefix.
7042
7043 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * docs/grub.texi (Filesystems): Update.
7046
7047 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 Support odc, newc and bigendian cpio formats.
7050
7051 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7052 * grub-core/Makefile.core.def (newc): New module.
7053 (odc): Likewise.
7054 (cpio_be): Likewise.
7055 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7056 (MAGIC): Likewise.
7057 (MAGIC2): Likewise.
7058 (head) [MODE_ODC]: Adapt for the format.
7059 (head) [MODE_NEWC]: Likewise.
7060 (head) [!MODE_*]: Write fields of interest as arrays.
7061 (MAGIC_USTAR): Removed.
7062 (read_number) [MODE_NEWC]: Change to hex.
7063 (read_number) [!MODE_*]: Parse binary arrays.
7064 (grub_cpio_find_file): Factor out the code for better structure and
7065 always use read_number.
7066 (grub_cpio_mount): Use MAGIC and MAGIC2.
7067 (grub_cpio_dir): Exit on first hook non-0 return.
7068 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7069 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7070 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7071 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7072 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7073 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7074 * grub-core/fs/newc.c: New file.
7075 * grub-core/fs/odc.c: Likewise.
7076 * grub-core/fs/cpio_be.c: Likewise.
7077
7078 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 Fix handling of tar numbers occupying the whole field.
7081
7082 * grub-core/fs/cpio.c (read_number): New function.
7083 (grub_cpio_find_file): Use read_number instead of strtoull.
7084
7085 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7088 occupying the whole field size.
7089
7090 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7091
7092 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7093
7094 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7097
7098 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7099
7100 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7101 TARGET_IMG_LDFLAGS.
7102
7103 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7106 (mountinfo_entry): Increase the field size to take escaping into
7107 account.
7108 (find_root_device_from_libzfs): Add one byte to size of strings for
7109 security.
7110
7111 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7114 an assert.
7115 * util/grub-setup.c (setup): Likewise.
7116
7117 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7120 _LzmaDecodeA.
7121
7122 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * docs/grub.texi (Internationalisation): New section.
7125
7126 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * docs/grub.texi (Loopback booting): New section.
7129
7130 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
7131
7132 * util/grub-mkstandalone.in: Fix minor typo errors.
7133
7134 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7137
7138 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7139 net/icmp.c and net/icmp6.c.
7140 (http): New module.
7141 (priority_queue): Likewise.
7142 * grub-core/io/bufio.c: Rewritten.
7143 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7144 TYPE_WITH_CONFIGFILE_OPTION.
7145 (legacy_commands): Add bootp and dhcp.
7146 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7147 (grub_legacy_parse): Likewise.
7148 * grub-core/lib/priority_queue.c: New file.
7149 * grub-core/net/arp.c: Add missing license header.
7150 (arp_find_entry): Removed.
7151 (arp_find_entry): Likewise.
7152 (grub_net_arp_resolve): Rename to ...
7153 (grub_net_arp_send_request): ...this.
7154 (grub_net_arp_receive): New card argument.
7155 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7156 Set router and DNS server.
7157 (grub_net_configure_by_dhcp_ack): Handle routing information.
7158 (grub_cmd_bootp): Set checksum.
7159 (grub_bootp_init): Remove net_dhcp.
7160 * grub-core/net/dns.c: New file.
7161 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7162 completion.
7163 (get_card_packet): Handle allocation.
7164 (grub_efinet_findcards): Set mtu.
7165 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7166 (get_card_packet): Handle allocation.
7167 (emucard): Set mtu.
7168 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7169 (GRUB_MOD_INIT): Set mtu.
7170 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7171 mtu.
7172 (get_card_packet): Handle allocation.
7173 (grub_ofnet_findcards): Set mtu.
7174 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7175 assert.
7176 (grub_net_recv_ethernet_packet): Handle IPv6.
7177 * grub-core/net/http.c: New file.
7178 * grub-core/net/icmp.c: Likewise.
7179 * grub-core/net/icmp6.c: Likewise.
7180 * grub-core/net/ip.c (ip6addr): New type.
7181 (ip6hdr): Likewise.
7182 (reassemble): Likewise.
7183 (cmp): New function.
7184 (reassembles): New variable.
7185 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7186 (id): New variable.
7187 (send_fragmented): New function.
7188 (grub_net_send_ip_packet): Rename to ...
7189 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7190 Handle non-UDP.
7191 (grub_net_recv_ip_packets): Rename to ...
7192 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7193 (free_rsm): New function.
7194 (free_old_fragments): Likewise.
7195 (grub_net_recv_ip4_packets): New function.
7196 (grub_net_send_ip6_packet): Likewise.
7197 (grub_net_send_ip_packet): Likewise.
7198 (grub_net_recv_ip6_packets): Likewise.
7199 (grub_net_recv_ip_packets): Likewise.
7200 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7201 (LINK_LAYER_CACHE_SIZE): New const.
7202 (link_layer_find_entry): New function.
7203 (grub_net_link_layer_add_address): Likewise.
7204 (grub_net_link_layer_resolve_check): Likewise.
7205 (grub_net_link_layer_resolve): Likewise.
7206 (grub_net_ipv6_get_slaac): Likewise.
7207 (grub_net_ipv6_get_link_local): Likewise.
7208 (grub_cmd_ipv6_autoconf): Likewise.
7209 (parse_ip): Handle one number representation.
7210 (parse_ip6): New functoion.
7211 (match_net): Handle IPv6.
7212 (grub_net_resolve_address): Handle IPv6 and DNS.
7213 (grub_net_resolve_net_address): Handle IPv6.
7214 (route_cmp): New function.
7215 (grub_net_route_address): Find best route.
7216 (grub_net_addr_to_str): Handle IPv6.
7217 (grub_net_addr_cmp): New function.
7218 (grub_net_add_addr): Register local route.
7219 (print_net_address): Handle net address.
7220 (grub_net_poll_cards): Retransmit TCP.
7221 (grub_net_poll_cards_idle_real): Likewise.
7222 (have_ahead): New function.
7223 (grub_net_seek_real): Use underlying seek.
7224 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7225 * grub-core/net/tcp.c: New file.
7226 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7227 (cmp): New function.
7228 (ack): Likewise.
7229 (tftp_receive): Handle unordered input.
7230 (destroy_pq): New function.
7231 (tftp_close): Close pq.
7232 * grub-core/net/udp.c: Put missing license header.
7233 (grub_net_udp_socket): New function.
7234 (udp_socket_register): Likewise.
7235 (grub_net_udp_close): Likewise.
7236 (grub_net_recv_udp_packet): Check checksum.
7237 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7238 * include/grub/misc.h (grub_memchr): New function.
7239 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7240 (grub_net_card_driver): Return buf in recv.
7241 (grub_net_slaac_mac_list): New struct.
7242 (grub_network_level_protocol_id): Add ipv6.
7243 (grub_net_network_level_addr): Likewise.
7244 (grub_net_network_level_net_addr): Likewise.
7245 (grub_net_app_protocol): Add seek.
7246 (grub_net_socket): Removed.
7247 (grub_net_sockets): Likewise.
7248 (grub_net_socket_register): Likewise.
7249 (grub_net_socket_unregister): Likewise.
7250 (FOR_NET_SOCKETS): Likewise.
7251 (grub_net_add_addr): Add const.
7252 (GRUB_NET_BOOTP_*): New enum.
7253 (grub_net_addr_cmp): New proto.
7254 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7255 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7256 (grub_net_hwaddr_to_str): NEw proto.
7257 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7258 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7259 (grub_dns_init): New proto.
7260 (grub_dns_fini): Likewise.
7261 (grub_net_tcp_retransmit): Likewise.
7262 (grub_net_link_layer_add_address): Likewise.
7263 (grub_net_link_layer_resolve_check): Likewise.
7264 (grub_net_link_layer_resolve): Likewise.
7265 (grub_net_dns_lookup): Likewise.
7266 (grub_net_add_dns_server): Likewise.
7267 (grub_net_remove_dns_server): Likewise.
7268 (GRUB_NET_TRIES): New const.
7269 (GRUB_NET_INTERVAL): Likewise.
7270 * include/grub/net/arp.h: Mostly rewritten.
7271 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7272 * include/grub/net/ip.h: Mostly rewritten.
7273 * include/grub/net/netbuff.h: Indent.
7274 * include/grub/net/tcp.h: New file.
7275 * include/grub/net/udp.h: Mostly rewritten.
7276 * include/grub/priority_queue.h: New file.
7277 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7278 (grub_swap_bytes64_compile_time): Likewise.
7279 (grub_cpu_to_be16_compile_time): Likewise.
7280 (grub_cpu_to_be32_compile_time): Likewise.
7281 (grub_cpu_to_be64_compile_time): Likewise.
7282 (grub_be_to_cpu64_compile_time): Likewise.
7283
7284 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7287 UINT_TO_PTR with cast.
7288
7289 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7292 don't use them.
7293
7294 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7297 already there.
7298
7299 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7302 confusing ipxe.
7303
7304 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7307 Add missing const attribute.
7308 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7309 Likewise.
7310 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7311 Likewise.
7312
7313 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7316 misaligned access.
7317 (serpent_setkey): Likewise.
7318 (serpent_encrypt_internal): Likewise.
7319 (serpent_decrypt_internal): Likewise.
7320 (serpent_encrypt): Don't put an alignment-increasing cast.
7321 (serpent_decrypt): Likewise.
7322 (serpent_test): Likewise.
7323
7324 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7327
7328 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7331
7332 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7333 grub_addr_t casts.
7334 (PTR_TO_UINT64): Likewise.
7335 (PTR_TO_UINT32): Likewise.
7336
7337 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7340 because of stack.
7341 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7342 limit.
7343
7344 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7347 text_width > available width a bit more gracefully.
7348
7349 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7352 current address calculation.
7353
7354 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7357 stack.
7358 (encode_block): Likewise.
7359
7360 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7363 certainety.
7364
7365 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7368 non-RS part to avoid RS messing with GDT.
7369 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7370 Increase to suit in realmode routines.
7371
7372 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/kern/i386/realmode.S: Increase alignment.
7375 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7376
7377 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7380 be deterministic.
7381 (syndroms): Compute 0 syndrom.
7382 (rs_recover): Use 0 syndrom.
7383
7384 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7387
7388 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7391 brackets.
7392
7393 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7396 account.
7397 (get_top_pad): Likewise.
7398 (get_right_pad): Likewise.
7399 (get_bottom_pad): Likewise.
7400
7401 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7404
7405 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7408 attribute as the structure isn't guaranteed to be properly aligned.
7409 (grub_efi_pci_device_path): Likewise.
7410 (grub_efi_pccard_device_path): Likewise.
7411 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7412 specify the size of `memory_type'.
7413 (grub_efi_vendor_device_path): Likewise.
7414 (grub_efi_controller_device_path): Likewise.
7415 (grub_efi_acpi_device_path): Likewise.
7416 (grub_efi_expanded_acpi_device_path): Likewise.
7417 (grub_efi_atapi_device_path): Likewise.
7418 (grub_efi_scsi_device_path): Likewise.
7419 (grub_efi_fibre_channel_device_path): Likewise.
7420 (grub_efi_1394_device_path): Likewise.
7421 (grub_efi_usb_device_path): Likewise.
7422 (grub_efi_usb_class_device_path): Likewise.
7423 (grub_efi_i2o_device_path): Likewise.
7424 (grub_efi_mac_address_device_path): Likewise.
7425 (grub_efi_ipv4_device_path): Likewise.
7426 (grub_efi_ipv6_device_path): Likewise.
7427 (grub_efi_infiniband_device_path): Likewise.
7428 (grub_efi_uart_device_path): Likewise.
7429 (grub_efi_vendor_messaging_device_path): Likewise.
7430 (grub_efi_hard_drive_device_path): Likewise.
7431 (grub_efi_cdrom_device_path): Likewise.
7432 (grub_efi_vendor_media_device_path): Likewise.
7433 (grub_efi_file_path_device_path): Likewise.
7434 (grub_efi_protocol_device_path): Likewise.
7435 (grub_efi_piwg_device_path): Likewise.
7436 (grub_efi_bios_device_path): Likewise.
7437
7438 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7441 (grub_ucs4_to_utf8_alloc): Likewise.
7442 (grub_ucs4_to_utf8): Likewise.
7443 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7444 (grub_ucs4_to_utf8_alloc): Likewise.
7445
7446 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 AFFS never uses unicode.
7449
7450 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7451 (grub_latin1_to_utf8): New inline function.
7452 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7453
7454 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7455
7456 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7457 overflow.
7458
7459 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7462 (grub_squash_dirent_header): Likewise.
7463 (read_chunk): Don't double swap.
7464 (grub_squash_iterate_dir): Fix swap sizes.
7465
7466 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7469
7470 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7473 (grub_hfs_iterate_dir): Likewise.
7474
7475 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 Fix video on platforms where unaligned access is forbidden.
7478 Make several optimisations while on it.
7479
7480 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7481 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7482 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7483 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7484 Disable.
7485 (grub_video_fbblit_replace_16bit_1bit):
7486 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7487 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7488 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7489 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7490 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7491 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7492 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7493 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7494 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7495 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7496 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7497 (grub_video_fbblit_replace_index_RGB888): Likewise.
7498 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7499 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7500 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7501 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7502 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7503 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7504 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7505 Disable.
7506 (grub_video_fbblit_blend_XXX565_1bit):
7507 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7508 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7509 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7510 void *.
7511 * grub-core/video/fb/video_fb.c (common_blitter)
7512 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7513 (grub_video_fb_create_render_target_from_pointer)
7514 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7515 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7516 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7517 definition.
7518 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7519
7520 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7523 HH22 and HM10 relocations.
7524
7525 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7528
7529 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7532 allocation succeeded.
7533
7534 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7537 argument a u8 pointer. All users updated.
7538 Handle unaligned buffers.
7539
7540 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7543 add_part to workaround compiler bug.
7544
7545 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7548
7549 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7552 Reserve alignment invariants.
7553 (grub_multiboot_load): Likewise.
7554 (retrieve_video_parameters): Likewise.
7555 (grub_multiboot_make_mbi): Likewise.
7556
7557 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7560 incorrect pointer.
7561
7562 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7565 (grub_pata_pio_write): Likewise.
7566
7567 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 Add noreturn attributes and remove unreachable code.
7570
7571 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7572 code.
7573 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7574 code. Mark as noreturn.
7575 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7576 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7577 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7578 unreachable code.
7579 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7580 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7581 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7582 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7583 * include/grub/kernel.h (grub_main): Mark as noreturn.
7584 * include/grub/reader.h (grub_rescue_run): Likewise.
7585
7586 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7589 redundant declaration.
7590
7591 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7594 redundant declaration.
7595 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7596
7597 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7600 to ensure alignment.
7601 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7602 alignment. Ensure tmp alignment.
7603 (grub_cmd_hdparm): Ensure buf alignment.
7604 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7605 to ensure alignment.
7606 (grub_ata_dumpinfo): Ensure text alignment.
7607 (grub_atapi_identify): Preserve alignment invariant.
7608 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7609
7610 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7613 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7614 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7615 * include/grub/misc.h (grub_reboot)
7616 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7617 (grub_halt) [__mips__]: Likewise.
7618
7619 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7622 Remove redundant declaration.
7623 (grub_mmap_get_post64): Likewise.
7624 (grub_mmap_get_upper): Likewise.
7625 (grub_mmap_get_lower): Likewise.
7626
7627 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7630 uint32_t * to ensure alignment.
7631 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7632
7633 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7636 uint16_t * to ensure alignment.
7637 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7638 alignment.
7639
7640 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7643 to ensure alignment.
7644 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7645
7646 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7649 Handle unaligned pointers.
7650 (u32at): Likewise.
7651 (u64at): Likewise.
7652 (fixup): Use byte access instead of v16at.
7653 (find_attr): Fix imporper usage of v32at.
7654 (read_data): Likewise.
7655 (list_file): Handle byte-swapping and unaligned strings.
7656 (grub_ntfs_label): Likewise.
7657
7658 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7661 as it's not necessarily aligned.
7662
7663 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7666 redundant declaration.
7667 (grub_serial_init): Likewise.
7668 (grub_terminfo_init): Likewise.
7669
7670 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7673 function.
7674 (ZAP_HASH_IDX): Likewise.
7675 (ZAP_LEAF_HASH_SHIFT): Likewise.
7676 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7677 (LEAF_HASH): Likewise.
7678 (ZAP_LEAF_NUMCHUNKS): Likewise.
7679 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7680 alignment invariants. Return pointer. All users updated.
7681 (ZAP_LEAF_ENTRY): Make into inline function.
7682 (NBBY): Removed.
7683 (xor): LIkewise.
7684 (xor_out): Use grub_crypto_xor.
7685 (dnode_get_path): Use grub_get_unaligned.
7686 (nvlist_find_value): Likewise.
7687 (grub_zfs_nvlist_lookup_uint64): Likewise.
7688 (grub_zfs_nvlist_lookup_string): Likewise.
7689 (get_nvlist_size): Likewise.
7690 (grub_zfs_open): Likewise.
7691 (fill_fs_info): Likewise.
7692 (grub_zfs_dir): Likewise.
7693 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7694 alignment invariants.
7695 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7696 necessarily aligned.
7697
7698 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7701
7702 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7705 arithmetic to conserve alignment invariants.
7706
7707 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7710 redundant declaration.
7711 (grub_efiemu_mm_obtain_request): Likewise.
7712 (grub_efiemu_prepare): Likewise.
7713
7714 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7717 to match types.
7718
7719 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7722 case of aunaligned recptr.
7723 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7724 alignment.
7725 (grub_hfsplus_btree_search): Handle unaligned index.
7726
7727 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7730 to get freetag and skip.
7731
7732 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7735 array.
7736 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7737 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7738
7739 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7742 name for checksum and fix allocation algorithm.
7743
7744 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * include/grub/types.h (grub_properly_aligned_t): New type.
7747 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7748 (grub_get_unaligned16): Add explicit casts.
7749 (grub_get_unaligned32): Likewise.
7750 (grub_get_unaligned64): Likewise.
7751 (grub_set_unaligned16): New function.
7752 (grub_set_unaligned32): Likewise.
7753
7754 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7757
7758 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7761 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7762 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7763
7764 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7767 conditionals.
7768
7769 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7772 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7773
7774 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 Unify and improve RAID and crypto xor.
7777
7778 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7779 changed to grub_crypto_xor
7780 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7781 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7782 Use bigger types when possible.
7783
7784 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/disk/raid.c (scan_devices): Fix condition.
7787
7788 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7791 Make name a const ptr.
7792
7793 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7796 first argument a const pointer.
7797 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7798 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7799 proto.
7800 (grub_children_iterate): Likewise.
7801 (grub_machine_mmap_iterate): Remove redundant declaration.
7802
7803 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7806 (grub_cmd_acpi) [!x86]: Disable EBDA.
7807
7808 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 Enable UTF8 in gnulib regexp.
7811
7812 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7813 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7814 (isupper): Use grub_isupper.
7815 (isascii): New inline function.
7816 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7817 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7818 * grub-core/normal/charset.c (grub_utf8_process): New function.
7819 (grub_utf8_to_utf16): Use grub_utf8_process.
7820 (grub_encode_utf8_character): New function.
7821 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7822 * include/grub/charset.h (grub_utf8_process): New declaration.
7823 (grub_encode_utf8_character): Likewise.
7824 * include/grub/misc.h (grub_islower): New inline function.
7825 (grub_isupper): Likewise.
7826 (grub_strchrsub): Moved down to fix the definitions.
7827
7828 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7831 specification.
7832
7833 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * include/grub/loader.h (grub_loader_register_preboot_hook):
7836 Use struct preboot * and not void * for handle. All users updated.
7837 (grub_loader_unregister_preboot_hook): Likewise.
7838
7839 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7842 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7843 UTF-16-BE. All users updated.
7844 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7845 (grub_hfsplus_iterate_dir): Likewise.
7846 (grub_hfsplus_label): Likewise.
7847
7848 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7851
7852 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 Add missing const qualifiers.
7855
7856 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7857 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7858 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7859 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7860 (grub_lvm_check_flag): Likewise.
7861 * grub-core/efiemu/i386/coredetect.c
7862 (grub_efiemu_get_default_core_name): Likewise
7863 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7864 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7865 * grub-core/fs/ntfs.c (fixup): Likewise.
7866 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7867 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7868 (fzap_lookup): Likewise.
7869 (zap_lookup): Likewise.
7870 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7871 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7872 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7873 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7874 (grub_freebsd_add_meta_module): Likewise.
7875 (grub_cmd_freebsd_module): Likewise.
7876 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7877 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7878 (grub_xnu_writetree_get_size): Likewise.
7879 (grub_xnu_writetree_toheap_real): Likewise.
7880 (grub_xnu_find_key): Likewise.
7881 (grub_xnu_create_key): Likewise.
7882 (grub_xnu_create_value): Likewise.
7883 (grub_xnu_register_memory): Likewise.
7884 (grub_xnu_check_os_bundle_required): Likewise.
7885 (grub_xnu_scan_dir_for_kexts): Likewise.
7886 (grub_xnu_load_kext_from_dir): Likewise.
7887 * grub-core/normal/color.c (color_list): Likewise.
7888 * grub-core/normal/completion.c (current_word): Likewise.
7889 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7890 * grub-core/term/serial.c (grub_serial_find): Likewise.
7891 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7892 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7893 Likewise.
7894 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7895 (grub_freebsd_add_meta_module): Likewise.
7896 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7897 * include/grub/net.h (grub_net_card_driver): Likewise.
7898 (grub_net_card): Likewise.
7899 (grub_net_app_protocol): Likewise.
7900 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7901 * include/grub/serial.h (grub_serial_find): Likewise.
7902 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7903 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7904 (grub_xnu_create_value): Likewise.
7905 (grub_xnu_find_key): Likewise.
7906 (grub_xnu_scan_dir_for_kexts): Likewise.
7907 (grub_xnu_load_kext_from_dir): Likewise.
7908
7909 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7910 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7911 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7912 Moved from here ...
7913 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7914
7915 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7916
7917 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7918
7919 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7922 (read_device): Fix size calculation.
7923
7924 2011-11-25 Robert Millan <rmh@gnu.org>
7925
7926 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7927 (find_root_device_from_libzfs): Add zpool output parser to be used
7928 as fallback when libzfs isn't available.
7929
7930 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7931
7932 * po/Makefile.in.in: Add missing escape-continuation.
7933
7934 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7937
7938 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7941
7942 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7945
7946 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7949
7950 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/lib/adler32.c: Add missing license specification.
7953 * grub-core/lib/crc64.c: Likewise.
7954 * grub-core/loader/i386/pc/plan9.c: Likewise.
7955 * grub-core/partmap/plan.c: Likewise.
7956
7957 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7958
7959 Add facility to debug GRUB with gdb under qemu.
7960
7961 * grub-core/gdb_grub.in: New file.
7962 * grub-core/gmodule.pl.in: Likewise.
7963 * grub-core/Makefile.core.def (gmodule.pl): New script.
7964 (gdb_grub): Likewise.
7965
7966 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * util/grub-mount.c (argp_parser): Accept relative pathes.
7969 * util/grub-fstest.c (argp_parser): Likewise.
7970
7971 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 Plan9 support.
7974
7975 * Makefile.util.def (libgrubmods): Add
7976 grub-core/partmap/plan.c.
7977 * docs/grub.texi: Notice Plan9 support.
7978 * grub-core/Makefile.core.def (plan9): New module.
7979 (part_plan): Likewise.
7980 * grub-core/loader/i386/pc/plan9.c: New file.
7981 * grub-core/partmap/plan.c: Likewise.
7982 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7983 define.
7984 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7985 * include/grub/mm.h (grub_extend_alloc): New inline function.
7986
7987 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 Make Reed-Solomon faster by using power of generator representation of
7990 GF(256)*.
7991
7992 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7993 (gf_double_t): Likewise.
7994 (gf_invert): Removed.
7995 (gf_powx): New array.
7996 (gf_powx_inv): Likewise.
7997 (scratch): Move higher.
7998 (gf_reduce): Removed.
7999 (gf_mul): Use powx.
8000 (gf_invert): Likewise.
8001 (init_inverts): Replaced with ...
8002 (init_powx): ...this. All users updated.
8003 (pol_evaluate): Replace multiplications with additions.
8004 (rs_encode): Likewise.
8005 (gauss_eliminate): Call gf_invert.
8006 (grub_reed_solomon_add_redundancy): Call init_powx.
8007 (grub_reed_solomon_recover): Call init_powx unconditionally.
8008
8009 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8010
8011 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8012
8013 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8016 disk->partiton for safety.
8017
8018 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8021 Fix a memory leak.
8022 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8023
8024 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8027
8028 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8031
8032 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 Fix spaces handling in proc/self/mountinfo.
8035
8036 * util/getroot.c (unescape): New function.
8037 (grub_find_root_device_from_mountinfo): Use unescape.
8038
8039 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8040
8041 Support ZFS embedding.
8042
8043 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8044 (grub_zfs_fs): Register grub_zfs_embed.
8045
8046 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 Fix MIPS compilation.
8049
8050 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8051 * include/grub/offsets.h: Rename decompressor fields from
8052 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8053 * util/grub-mkimage.c (image_targets): Use new names.
8054
8055 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Defer multiboot device parsing until we're in compressed part.
8058
8059 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8060 bsd_part. setdevice has fallen into disuse.
8061 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8062 (bsd_part): Likewise.
8063 (boot_dev): New variable.
8064 (multiboot_trampoline): Don't parse multiboot device.
8065 Pass multiboot device in %edx.
8066 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8067 grub_boot_device.
8068 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8069 Likewise.
8070 * grub-core/kern/i386/pc/startup.S: Save edx.
8071 (grub_boot_drive): Removed.
8072 (grub_install_dos_part): Likewise.
8073 (grub_install_bsd_part): Likewise.
8074 (grub_boot_device): New variable.
8075 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8076 (grub_install_bsd_part): Likewise.
8077 (grub_boot_drive): Likewise.
8078 (grub_boot_device): New variable.
8079 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8080 Removed.
8081 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8082 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8083 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8084 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8085 * util/grub-install.in: Remove redundant condition.
8086
8087 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 Fix bug introduced by previous commit.
8090
8091 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8092
8093 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 Use decompressors framework on i386-pc. It increases core size
8096 by 46 bytes but improves compatibility and maintainability.
8097
8098 * grub-core/Makefile.core.def (lzma_decompress): New image.
8099 (kernel): Add i386_pc_ldflags.
8100 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8101 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8102 to real_to_prot, prot_to_real and device info.
8103 * include/grub/offsets.h: Renamed decompressor offsets.
8104 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8105 (image_target_desc): Remove raw_size and rename decompressor fields.
8106 (compress_kernel): Handle lzma.
8107 (generate_image): Handle decompressors on i386-pc.
8108
8109 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * configure.ac: Add -fno-asynchronous-unwind-tables.
8112
8113 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 Move assembly code to C by using intwrap. It increases core size
8116 by 88 bytes but improves compatibility and maintainability.
8117
8118 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8119 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8120 ... here. Translated to C.
8121 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8122 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8123 ... here. Translated to C.
8124 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8125 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8126 ... here. Translated to C.
8127 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8128 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8129 ... here. Translated to C.
8130 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8131 * grub-core/term/i386/pc/console.c (grub_console_cls):
8132 ... here. Translated to C.
8133 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8134 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8135 ... here. Translated to C.
8136 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8137 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8138 Translated to C.
8139 * grub-core/term/i386/pc/console.c (int10_9): New function.
8140 (grub_console_putchar): Likewise.
8141 * include/grub/i386/pc/console.h: Removed the not anymore shared
8142 functions.
8143
8144 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 Move grub_chainloader_real_boot out of the kernel.
8147
8148 * grub-core/Makefile.am: Remove machine/loader.h.
8149 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8150 Removed.
8151 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8152 variable.
8153 (grub_relocator16_keep_a20_enabled): Likewise.
8154 (grub_relocator16_boot): Fill new variables.
8155 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8156 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8157 relocator.
8158 (grub_chainloader_unload): Likewise.
8159 (grub_chainloader_cmd): Likewise.
8160 * include/grub/i386/pc/loader.h: Removed.
8161 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8162 and esi. All initialisers updated.
8163
8164 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8165 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
8166
8167 * Makefile.util.def (grub-mount): New util.
8168 * .bzrignore: Add grub-mount.
8169 * configure.ac: Check for fuse and enable grub-mount if available.
8170 * docs/man/grub-mount.h2m: New file.
8171 * util/grub-mount.c: Likewise.
8172
8173 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/commands/efi/fixvideo.c: Gettextize.
8176 * grub-core/commands/hashsum.c: Likewise.
8177 * grub-core/commands/i386/cmostest.c: Likewise.
8178 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8179 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8180 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8181 * grub-core/commands/lsmmap.c: Likewise.
8182 * grub-core/commands/menuentry.c: Likewise.
8183 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8184 * grub-core/commands/setpci.c: Likewise.
8185 * grub-core/loader/i386/bsd.c: Likewise.
8186 * grub-core/loader/i386/linux.c: Likewise.
8187 * util/getroot.c: Likewise.
8188 * util/grub-editenv.c: Likewise.
8189 * util/grub-fstest.c: Likewise.
8190 * util/grub-mkfont.c: Likewise.
8191 * util/grub-mkimage.c: Likewise.
8192 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8193 * util/grub-pe2elf.c: Likewise.
8194 * util/grub-probe.c: Likewise.
8195 * util/grub-setup.c: Likewise.
8196 * util/ieee1275/ofpath.c: Likewise.
8197 * util/misc.c: Likewise.
8198 * util/raid.c: Likewise.
8199
8200 2011-11-11 Robert Millan <rmh@gnu.org>
8201
8202 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8203 __attribute__((unused)) from `os_dev', which *is* being used.
8204
8205 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8208 forgotten define.
8209 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8210 GRUB_IA64_DL_GOT_ALIGN.
8211 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8212 GRUB_IA64_DL_TRAMP_ALIGN.
8213
8214 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Replace grub_fatal with normal errors in i386 linux loader.
8217
8218 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8219 (allocate_pages): Check find_efi_mmap_size return value.
8220 (grub_e820_add_region): Return error.
8221 (grub_linux_boot): Check mmap return value.
8222
8223 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/commands/acpihalt.c: Gettextized.
8226 * grub-core/commands/cacheinfo.c: Likewise.
8227 * grub-core/commands/cmp.c: Likewise.
8228 * grub-core/commands/efi/loadbios.c: Likewise.
8229 * grub-core/commands/gptsync.c: Likewise.
8230 * grub-core/commands/ieee1275/suspend.c: Likewise.
8231 * grub-core/commands/legacycfg.c: Likewise.
8232 * grub-core/commands/memrw.c: Likewise.
8233 * grub-core/commands/minicmd.c: Likewise.
8234 * grub-core/commands/parttool.c: Likewise.
8235 * grub-core/commands/time.c: Likewise.
8236 * grub-core/commands/videoinfo.c: Likewise.
8237 * grub-core/disk/geli.c: Likewise.
8238 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8239 * grub-core/disk/luks.c: Likewise.
8240 * grub-core/disk/lvm.c: Likewise.
8241 * grub-core/font/font_cmd.c: Likewise.
8242 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8243 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8244 * grub-core/gfxmenu/view.c: Likewise.
8245 * grub-core/kern/emu/hostdisk.c: Likewise.
8246 * grub-core/kern/emu/main.c: Likewise.
8247 * grub-core/kern/emu/misc.c: Likewise.
8248 * grub-core/kern/emu/mm.c: Likewise.
8249 * grub-core/kern/mips/arc/init.c: Likewise.
8250 * grub-core/kern/mips/loongson/init.c: Likewise.
8251 * grub-core/kern/partition.c: Likewise.
8252 * grub-core/lib/i386/halt.c: Likewise.
8253 * grub-core/lib/mips/arc/reboot.c: Likewise.
8254 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8255 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8256 * grub-core/loader/i386/xnu.c: Likewise.
8257 * grub-core/loader/multiboot.c: Likewise.
8258 * grub-core/net/bootp.c: Likewise.
8259 * grub-core/net/net.c: Likewise.
8260 * grub-core/normal/term.c: Likewise.
8261 * grub-core/partmap/bsdlabel.c: Likewise.
8262 * grub-core/parttool/msdospart.c: Likewise.
8263 * grub-core/term/gfxterm.c: Likewise.
8264 * grub-core/term/terminfo.c: Likewise.
8265 * grub-core/video/i386/pc/vbe.c: Likewise.
8266 * util/grub-menulst2cfg.c: Likewise.
8267 * util/grub-mkdevicemap.c: Likewise.
8268 * util/grub-mklayout.c: Likewise.
8269 * util/grub-mkrelpath.c: Likewise.
8270 * util/grub-script-check.c: Likewise.
8271 * util/ieee1275/grub-ofpathname.c: Likewise.
8272 * util/resolve.c: Likewise.
8273
8274 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 Support %1$d syntax.
8277
8278 * tests/printf_unit_test.c: New file.
8279 * Makefile.util.def (printf_test): New test.
8280 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8281
8282 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8285 fix.
8286
8287 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8290 dprintf.
8291 * grub-core/font/font.c (grub_font_load): Likewise.
8292
8293 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * util/grub-macho2img.c: Add comment concerning gettext.
8296 * grub-core/lib/legacy_parse.c: Likewise.
8297
8298 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8301 (grub_xvasprintf): Likewise.
8302
8303 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 Add const keyword to grub_env_get and gettextize week days.
8306
8307 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8308 (grub_read_hook_datetime): Return const char *.
8309 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8310 updated.
8311 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8312 Mark for gettext.
8313 (grub_get_weekday_name): Return const char *. Call gettext.
8314 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8315 char * and len as the argument. All users updated.
8316 (grub_script_argv_split_append): Receive const char *.
8317 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8318 * include/grub/env.h (grub_env_get): Likewise.
8319 (grub_env_read_hook_t): Return const char *.
8320 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8321 (grub_script_argv_split_append): Likewise.
8322
8323 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8326
8327 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8330 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8331
8332 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8335 Fix prototype.
8336
8337 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 Fix mips compilation.
8340
8341 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8342 normal decoder.
8343 (hashes): Use in embed decoder as well (for sizes).
8344 (dec_stream_header): Fix embed decompressor logic.
8345 (dec_stream_footer): Likewise.
8346
8347 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8350 an error and not a fatal on unrecognised relocation types.
8351
8352 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8355 Issue error rather than printf on unknown arguments.
8356
8357 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8360 Make buf a const.
8361
8362 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8365 Fix module name.
8366
8367 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8370 leftover debug printf.
8371
8372 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8375
8376 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8379 A stylistic fix.
8380
8381 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8384
8385 2011-11-10 Shea Levy <slevy@tieronedesign.com>
8386
8387 Allow all modules to perform serial IO
8388
8389 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8390 * include/grub/serial.h (grub_serial_port_configure): New inline
8391 function.
8392 (grub_serial_port_fetch): Likewise.
8393 (grub_serial_port_put): Likewise.
8394 (grub_serial_port_fini): Likewise.
8395 (grub_serial_find): New proto.
8396
8397 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Put symlink at the end of the node and fix a potential
8400 memory corruption.
8401
8402 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8403 Make symlink into an array.
8404 (set_rockridge): Set have_symlink and alloc_dirents.
8405 (grub_iso9660_read_symlink): Use new layout.
8406 (grub_iso9660_iterate_dir): Fix memory corruption.
8407 Use new layout.
8408 (grub_iso9660_dir): Set have_symlink.
8409 (grub_iso9660_open): Likewise.
8410
8411 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 Remove local keyword.
8414
8415 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8416 (version_test_gt): Likewise.
8417 (version_find_latest): Likewise.
8418 (gettext_printf): Likewise.
8419 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8420
8421 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8424
8425 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 Fix ZFS memory and resource leaks.
8428
8429 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8430 All users updated.
8431 Free type on exit.
8432 (fill_vdev_info): New parameter inserted. All users updated.
8433 (check_pool_label): Likewise.
8434 (scan_disk): Likewise.
8435 (scan_devices): Close non-inserted disks.
8436 (fzap_iterate): Free l.
8437 (unmount_device): Free children descripto memory.
8438
8439 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8442 argument (access out of bounds).
8443
8444 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8447 >= 6 drives.
8448
8449 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8452 Fix declaration.
8453
8454 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 Fix several memory leaks.
8457
8458 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8459 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8460 (grub_cpio_dir): Likewise.
8461 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8462 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8463 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8464 (grub_romfs_label): Likewise.
8465 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8466 (squash_unmount): New function.
8467 (grub_squash_dir): Fix memory leak.
8468 (grub_squash_open): Likewise.
8469 (grub_squash_read): Likewise.
8470 (grub_squash_mtime): Likewise.
8471 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8472 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8473 * util/grub-fstest.c (fstest): Likewise.
8474
8475 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8478 avoid accessing beyond the array.
8479
8480 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8483
8484 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 Several AFFS fixes.
8487
8488 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8489 (GRUB_AFFS_FLAG_FFS): Removed.
8490 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8491 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8492 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8493 (grub_fshelp_node): Make block 32-bit.
8494 Add block_cache and last_block_cache.
8495 (grub_affs_read_block): Fill and use block cache.
8496 (grub_affs_read_file): Removed.
8497 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8498 boot block.
8499 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8500 safety.
8501 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8502 space.
8503 (grub_affs_close): Free block cache.
8504 (grub_affs_read): Use grub_fshelp_read_file directly.
8505
8506 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8509 with no error set.
8510
8511 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8514 used variable.
8515 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8516 Likewise.
8517
8518 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8521
8522 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8523 byteswap when needed.
8524
8525 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Fix FreeBSD compilation.
8528
8529 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8530 to avoid circular dependency.
8531 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8532 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8533 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8534
8535 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 Fix ZFS crypto error types.
8538
8539 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8540 (grub_gcm_decrypt): Likewise.
8541 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8542 from PBKDF2.
8543
8544 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 Illumos support.
8547
8548 * Makefile.util.def (10_illumos): New script.
8549 * configure.ac: Set COND_HOST_ILLUMOS.
8550 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8551 Support Illumos calls.
8552 (find_partition_start) [__sun__]: Likewise.
8553 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8554 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8555 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8556 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8557 device.
8558 * util/grub-probe.c (probe) [__sun__]: Do character check.
8559 * util/grub.d/10_illumos.in: New file.
8560
8561 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 Support escaped commas in hostdisk.
8564
8565 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8566 (find_grub_drive): Use unescape_cmp.
8567 (make_device_name): Escape commas.
8568
8569 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8572
8573 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8576 variable.
8577
8578 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 Support trampoline jumps on powerpc.
8581
8582 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8583 __ia64__ path.
8584 (grub_dl_load_segments): Set mod->sz.
8585 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8586 segments.
8587 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8588 (jump): Likewise.
8589 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8590 function.
8591 (trampoline): New struct.
8592 (trampoline_template): New const.
8593 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8594 * include/grub/dl.h (grub_dl): Add sz element.
8595 [__powerpc__]: Follow __ia64__.
8596 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8597 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8598 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8599 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8600
8601 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 ZFS crypto support.
8604
8605 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8606 * grub-core/Makefile.core.def (zfscrypt): New module.
8607 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8608 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8609 it. All users updated.
8610 (grub_zfs_decrypt): New var.
8611 (grub_zfs_load_key): Likewise.
8612 (zio_checksum_functions): Add SHA256+MAC.
8613 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8614 (zio_read): Handle encrypted blocks.
8615 (zap_verify): Remove incorrect check.
8616 (fzap_iterate): Handle non-standard fzap.
8617 (zap_iterate): Likewise.
8618 (zap_iterate_u64): New function.
8619 (dnode_get_fullpath): Load keys.
8620 * grub-core/fs/zfs/zfscrypt.c: New file.
8621 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8622 (grub_crypto_ecb_encrypt): Make input const.
8623 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8624 (grub_crypto_ecb_encrypt): Make input const.
8625 (GRUB_CIPHER_AES): New macro.
8626 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8627 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8628 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8629 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8630 prefix. All users updated.
8631 (grub_zfs_add_key): New proto.
8632 (grub_zfs_decrypt): Likewise.
8633 (grub_zfs_load_key): Likewise.
8634 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8635 * util/grub-fstest.c (options): Add -K option.
8636 (argp_parser): Likewise.
8637
8638 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 Support zle compression on ZFS.
8641
8642 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8643 (decomp_table): Add zle.
8644 * include/grub/zfs/zio.h (zio_compress): Add zle.
8645
8646 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 Support BtrFS embedding.
8649
8650 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8651 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8652 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8653 * util/grub-setup.c (setup): Use fs embedding if available.
8654 Add additional sanity check.
8655
8656 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * util/grub-install.in: Fix condition for config_opt.
8659
8660 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 Support third redundancy strip on raidz3.
8663
8664 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8665 Return error on singularity. All users updated.
8666 (read_device): Don't stop on 3rd failure on raidz3.
8667
8668 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 Support case-insensitive ZFS subvolumes.
8671
8672 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8673 All users updated.
8674 (zap_hash): Likewise.
8675 (name_cmp): New function.
8676 (zap_leaf_array_equal): New parameter case_insensitive.
8677 All users updated.
8678 (zap_leaf_lookup): Likewise.
8679 (fzap_lookup): Likewise.
8680 (zap_lookup): Likewise.
8681 (dnode_get_path): New parameter case_insensitive. Retrieve case
8682 sensitiviness of a volume. All users updated.
8683 (dnode_get_fullpath): New parameter case_insensitive.
8684 All users updated.
8685 (grub_zfs_dir): Set info.case_insensitiveness.
8686
8687 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 Support second redundancy strip on raidz(2,3).
8690
8691 * grub-core/fs/zfs/zfs.c (powx): New array.
8692 (powx_inv): Likewise.
8693 (poly): New const.
8694 (xor_out): New function.
8695 (gf_mul): Likewise.
8696 (recovery): Likewise.
8697 (read_device): Use second redundancy strip.
8698
8699 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 Use a power of generator representation of GF(256) multiplication group
8702 to save space time and complexity.
8703
8704 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8705 (raid6_table2): Likewise.
8706 (powx): New array.
8707 (powx_inv): Likewise.
8708 (poly): New const.
8709 (grub_raid_block_mul): Replace with ...
8710 (grub_raid_block_mulx): ...this.
8711 (grub_raid6_init_table): Rewritten.
8712 (grub_raid6_recover): Use power of generator representation.
8713
8714 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8717 for the right device.
8718
8719 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8722 expected by grub-mkimage and it's more clear since there is no implicit
8723 padding.
8724
8725 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8728 disk.
8729 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8730
8731 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8732
8733 * util/grub-mkrescue.in: Fix handling xorriso option.
8734
8735 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8738 NULL.
8739
8740 2011-11-03 crocket <crockabiscuit@gmail.com>
8741
8742 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8743
8744 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 XZ CRC64 and SHA256 support.
8747
8748 * Makefile.util.def (libgrubmods): Add crc64.c.
8749 * grub-core/Makefile.core.def (crc64): New module.
8750 * grub-core/lib/crc64.c: New file.
8751 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8752 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8753 Fix the type.
8754 (MAX_HASH_SIZE): New define.
8755 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8756 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8757 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8758 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8759 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8760 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8761 Handle non-crc32 hashes.
8762 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8763 (dec_stream_header): Handle non-crc32 hashes.
8764 (dec_stream_footer): Likewise.
8765 (dec_block_header): Likewise.
8766 (dec_main): Likewise.
8767 (xz_dec_init): Likewise.
8768 (xz_dec_reset): Likewise.
8769 (xz_dec_end): Likewise.
8770 * util/import_gcry.py: Add CRC64 line.
8771
8772 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8775 as well.
8776
8777 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 Make reiserfs label retrieval similar to other *_label functions.
8780
8781 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8782 (REISERFS_MAX_LABEL_LENGTH): Removed.
8783 (REISERFS_LABEL_OFFSET): Likewise.
8784 (grub_reiserfs_label): Rewritten.
8785
8786 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8789 field.
8790
8791 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8794
8795 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8798 drive failure on both raidz and raidz2.
8799
8800 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 Fix RAIDZ(2) for >= 5 devices.
8803
8804 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8805 asize argument. All users updated.
8806
8807 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Fix RAIDZ(2).
8810
8811 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8812 (fill_vdev_info_real): Set ashift.
8813 (read_device): Rewrite RAIDZ part based on reverse engineering.
8814
8815 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8818 don't report potentially unavialiable fields in debug output.
8819 (find_path): Fix double-free and memory leak.
8820
8821 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 Read label on UFS1.
8824
8825 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8826 (grub_ufs_fs): Always set .label.
8827
8828 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 Use shifts in UFS.
8831
8832 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8833 (grub_ufs_data): New field log2_blksz.
8834 (grub_ufs_read_file): Use shifts.
8835 (grub_ufs_mount): Check block size and logarithm it.
8836
8837 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8840 long symlinks.
8841
8842 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 Handle symlinks and long names on tar and cpio.
8845
8846 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8847 (ATTR_FILE): Likewise.
8848 (ATTR_DIR): Likewise.
8849 (ATTR_LNK): Likewise.
8850 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8851 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8852 L and K entries.
8853 (grub_cpio_mount): Zero-fill data.
8854 (handle_symlink): New function.
8855 (grub_cpio_dir): Handle symlinks.
8856 (grub_cpio_open): Likewise.
8857 (grub_cpio_close) [MODE_USTAR]: Free linkname.
8858
8859 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 Fix iso9660 filename limitations and fix memory leaks.
8862
8863 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8864 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8865
8866 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 Fix JFS file name length limitations.
8869
8870 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8871 (grub_jfs_diropen): Fix maximum filename length.
8872 (grub_jfs_getent): Fix filename length.
8873 (grub_jfs_lookup_symlink): Fix size checks.
8874
8875 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8878 string.
8879
8880 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 Leverage BFS implementation to read AFS.
8883
8884 * Makefile.util.def (libgrubmods): Add afs.c.
8885 * grub-core/Makefile.core.def (afs): New module
8886 * grub-core/fs/afs.c: New file.
8887 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8888
8889 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
8892
8893 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/fs/bfs.c: Run indent.
8896
8897 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 BFS implementation based on the specification.
8900
8901 * grub-core/fs/bfs.c: New file.
8902 * Makefile.util.def (libgrubmods): Add bfs.c.
8903 * grub-core/Makefile.core.def (bfs): New module.
8904
8905 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * util/grub-fstest.c (cmd_cp): Clarify error message.
8908 (cmd_cmp): Likewise.
8909
8910 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8911
8912 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8913 and befs_be.
8914
8915 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 Remove afs and befs because of copyright problem.
8918
8919 * grub-core/fs/afs.c: Removed.
8920 * grub-core/fs/afs_be.c: Removed.
8921 * grub-core/fs/befs.c: Removed.
8922 * grub-core/fs/befs_be.c: Removed.
8923 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8924 * grub-core/Makefile.core.def (afs): Removed.
8925 (afs_be): Likewise.
8926 (befs): Likewise.
8927 (befs_be): Likewise.
8928
8929 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Prefer rockridge over Joliet.
8932
8933 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8934 to ...
8935 (set_rockridge): ... here.
8936 (grub_iso9660_mount): Check rockridge on the primary label when
8937 discovering. Ignore Joliet if Rockridge is present.
8938
8939 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 Use shifts in nilfs2.
8942
8943 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8944 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8945 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8946 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8947 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8948 (grub_nilfs2_entries_per_block): Replaced with ...
8949 (grub_nilfs2_log_entries_per_block_log): ... this.
8950 (grub_nilfs2_blocks_per_group): Replaced with ...
8951 (grub_nilfs2_blocks_per_group_log): ... this.
8952 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8953 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8954 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8955 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8956 (grub_nilfs2_palloc_entry_offset): Replaced ...
8957 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8958 (grub_nilfs2_dat_translate): Use shifts.
8959 (grub_nilfs2_read_inode): Likewise.
8960 (GRUB_MOD_INIT): Ensure that logs are correct.
8961
8962 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 Use shifts in minix filesystem.
8965
8966 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8967 (GRUB_MINIX_ZONE2SECT): Likewise.
8968 (grub_minix_data): Replace block_size with log_block_size.
8969 (grub_minix_read_file): Use shifts.
8970 (grub_minix_mount): Check block size and take a logarithm.
8971
8972 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 Use shifts in squash4.
8975
8976 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8977 (squash_mount): Check block size and take logarithm.
8978 (direct_read): Use shifts.
8979
8980 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 Correct befs block counting logic.
8983
8984 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8985 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8986 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8987 (grub_afs_read_inode): Use block_shift.
8988 (RANGE_SHIFT): New definition.
8989 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8990 unexpected conditions, use shifts and appropriate types.
8991 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8992
8993 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 * grub-core/disk/raid.c (scan_devices): Check partition.
8996 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8997
8998 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 Support BFS (befs) UUID.
9001
9002 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9003 (grub_afs_small_data_element_header): New struct.
9004 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9005 (grub_afs_read_attribute) [MODE_BFS]: New function.
9006 (grub_afs_iterate_dir): Allocate for complete inode.
9007 (grub_afs_mount): Likewise.
9008 (grub_afs_uuid) [MODE_BFS]: New function.
9009 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9010
9011 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9014 (zfs_unmount): Fix memory leak.
9015
9016 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Support NTFS reparse points.
9019
9020 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9021 (symlink_descriptor): New struct.
9022 (grub_ntfs_read_symlink): New function.
9023 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9024 (grub_ntfs_open): Likewise.
9025
9026 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9029
9030 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 fstest xnu_uuid subcommand.
9033
9034 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9035 grub-core/commands/xnu_uuid.c.
9036 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9037 (fstest): Handle xnu_uuid.
9038 (options): Document xnu_uuid.
9039 (argp_parser): Parse xnu_uuid.
9040
9041 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9044 -l argument. Add newline at the end if printing.
9045 (GRUB_MOD_INIT): Document -l.
9046
9047 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9050
9051 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 ZFS multi-device and version 33 support.
9054
9055 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9056 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9057 (grub_zfs_data): Add multidev-ice-related fields.
9058 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9059 (dva_get_offset): Make dva const.
9060 (zfs_fetch_nvlist): New function.
9061 (fill_vdev_info_real): Likewise.
9062 (fill_vdev_info): Likewise.
9063 (check_pool_label): Likewise.
9064 (scan_disk): Likewise.
9065 (scan_devices): Likewise.
9066 (read_device): Likewise.
9067 (read_dva): Likewise.
9068 (zio_read_gang): Use read_dva.
9069 (zio_read_data): Likewise.
9070 (zap_leaf_lookup): Add missing endian conversion.
9071 (zap_verify): Add missing endian conversion. All users updated.
9072 (fzap_lookup): Likewise.
9073 (fzap_iterate): Likewise.
9074 (dnode_get_path): Handle SA bonus.
9075 (nvlist_find_value): Make input const. All users updated.
9076 (unmount_device): New function.
9077 (zfs_unmount): Use unmount_device.
9078 (zfs_mount): Use scan_disk.
9079 (zfs_mtime): New function.
9080 (grub_zfs_open): Handle system attributes.
9081 (fill_fs_info): Likewise.
9082 (grub_zfs_dir): Likewise.
9083 (grub_zfs_fs): Add mtime.
9084 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9085 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9086 (SA_MTIME_OFFSET): Likewise.
9087 (SA_SYMLINK_OFFSET): Likewise.
9088 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9089 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9090 (fstest): Support zfsinfo.
9091 (argp_parser): Likewise.
9092
9093 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9096 error.
9097
9098 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 ZFS fixes.
9101
9102 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9103 sharing the same block. Iterate over correct number of indices.
9104 (dnode_get_path): Handle symlinks correctly.
9105
9106 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9109
9110 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 Read label on HFS+.
9113
9114 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9115 (grub_hfsplus_btree_search): Fix types.
9116 (grub_hfsplus_label): Implement.
9117
9118 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9121
9122 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9125
9126 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 Fix symlink handling on iso9660.
9129
9130 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9131 All users updated.
9132 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9133 (grub_iso9660_read_symlink): Moved most of code ...
9134 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9135
9136 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9139 Use union to avoid breaking strict-aliasing rules.
9140
9141 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 Support multi-extent iso files.
9144
9145 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9146 Add node.
9147 (grub_fshelp_node): Revamp. All users updated.
9148 (FLAG_*): New enum.
9149 (read_node): New function.
9150 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9151 All users updated.
9152 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9153 (get_node_size): New function.
9154 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9155 entries.
9156 Fix memory leak on . and ..
9157 (grub_iso9660_read): Use read_node.
9158 (grub_iso9660_close): Free node.
9159
9160 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 Fix tar 4G limit and handle paths containing dot.
9163
9164 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9165 (canonicalize): New function.
9166 (grub_cpio_find_file): Use canonicalize. Store offs in
9167 grub_disk_addr_t.
9168 (grub_cpio_dir): Use grub_disk_addr_t.
9169 (grub_cpio_open): Likewise.
9170
9171 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9174
9175 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9176 unused flags.
9177 (grub_squash_inode): Add long_file and block_size.
9178 (grub_squash_cache_inode): New struct.
9179 (grub_squash_dirent): Make types into enum.
9180 (SQUASH_TYPE_LONG_REGULAR): New type.
9181 (grub_squash_frag_desc): Add field size.
9182 (SQUASH_BLOCK_FLAGS): New enum.
9183 (grub_squash_data): Use grub_squash_cache_inode.
9184 (grub_fshelp_node): Make ino_chunk 64-bit.
9185 (read_chunk): Minor argument change. All users updated.
9186 (squash_mount): Use correct le_to_cpu.
9187 (grub_squash_open): Handle LONG_REGULAR.
9188 (direct_read): New function.
9189 (grub_squash_read_data): Handle blocks correctly.
9190
9191 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9194
9195 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9198
9199 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 Fix 2G limit on ZFS.
9202
9203 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9204 types.
9205 (uberblock_verify): Likewise.
9206 (dmu_read): Likewise.
9207 (grub_zfs_read): Likewise. Remove invalid cast.
9208
9209 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9212 (grub_jfs_blkno): Fix incorrect shift.
9213 (grub_jfs_read_file): Use more appropriate types.
9214
9215 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 Support triple indirect on minix2 and minix3.
9218
9219 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9220 Declare triple_indir_zone.
9221 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9222 indirect.
9223
9224 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 Minix FS fixes.
9227
9228 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9229 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9230 Rename ctime to mtime. All users updated.
9231 (grub_minix_get_file_block): Fix types and double indirect computations.
9232
9233 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9236 if no label is found.
9237 (grub_fat_iterate_dir): Fix file size type.
9238 (grub_fat_iterate_dir): Likewise.
9239
9240 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9243 save some space.
9244 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9245 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9246
9247 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9250
9251 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * util/import_gcry.py: Accept space between # and include.
9254
9255 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9258
9259 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9262
9263 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9264 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9265 yylex_strncpy.
9266 * grub-core/script/yylex.l: Add fine-grained #pragma.
9267
9268 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9271 New inline function.
9272 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9273 Likewise.
9274 (memset) [GRUB_UTIL]: Likewise.
9275 (memcmp) [GRUB_UTIL]: Likewise.
9276
9277 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9280 inline function rather than a define.
9281
9282 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 * util/grub-setup.c: Add missing include.
9285
9286 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * util/ieee1275/grub-ofpathname.c: Add missing include.
9289
9290 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9293 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9294 Likewise.
9295
9296 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9299 grub_memcmp usage.
9300
9301 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * util/grub-install.in: Add datarootdir as per automake manual
9304 suggestion.
9305 * util/grub-mknetdir.in: Likewise.
9306
9307 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9310 suggestion.
9311 * util/grub.d/10_kfreebsd.in: Likewise.
9312 * util/grub.d/10_linux.in: Likewise.
9313 * util/grub.d/10_netbsd.in: Likewise.
9314 * util/grub.d/10_windows.in: Likewise.
9315 * util/grub.d/20_linux_xen.in: Likewise.
9316
9317 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 Remove redundant grub_kernel_image_size.
9320
9321 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9322 _edata and _start.
9323 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9324 the small code. It moves it only by few bytes but simplifies the code.
9325 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9326 _start.
9327 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9328 (grub_kernel_image_size): Removed.
9329 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9330 (grub_kernel_image_size): Removed.
9331 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9332 compiled with Apple toolchain.
9333 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9334 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9335 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9336 (grub_total_module_size): Likewise.
9337 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9338 Removed.
9339 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9340 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9341 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9342 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9343 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9344 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9345 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9346 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9347 Removed.
9348 (grub_total_module_size): Removed.
9349 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9350 (image_targets): Likewise.
9351 Set .compressed_size to no field on sparc.
9352 (generate_image): Remove kernel_image_size handling.
9353
9354 2011-10-19 Szymon Janc <szymon@janc.net.pl>
9355
9356 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9357 NULL pointer dereference.
9358
9359 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9362 done with a dedicated section.
9363
9364 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9365 Ensure the correct position of boot_path.
9366 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9367 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9368 other fields.
9369 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9370 * include/grub/boot.h: Removed. All references removed.
9371 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9372 Removed.
9373 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9374
9375 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9378 name.
9379
9380 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9383
9384 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9387 Don't add the bogus brackets.
9388
9389 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 ExFAT support.
9392
9393 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9394 * grub-core/Makefile.core.def (exfat): New module.
9395 * grub-core/fs/exfat.c: New file.
9396 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9397 (GRUB_FAT_ATTR_*): Make into an enum.
9398 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9399 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9400 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9401 (GRUB_FAT_MAXFILE): Removed.
9402 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9403 (grub_current_fat_bpb_t): New type.
9404 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9405 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9406 (grub_fat_dir_node_t): New type.
9407 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9408 (fat_log2) [MODE_EXFAT]: Removed.
9409 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9410 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9411 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9412 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9413 (grub_fat_label) [MODE_EXFAT]: New function.
9414 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9415 reserved_first_sector to 0.
9416
9417 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9418
9419 Move grub_reboot out of the kernel.
9420
9421 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9422 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9423 * grub-core/lib/efi/reboot.c: ... here.
9424 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9425 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9426 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9427 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9428 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9429 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9430 * grub-core/lib/ieee1275/reboot.c: ... here.
9431 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9432 * grub-core/lib/mips/arc/reboot.c: ... here.
9433 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9434 * grub-core/lib/mips/loongson/reboot.c: ...here.
9435 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9436 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9437 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9438 * include/grub/i386/reboot.h: New file.
9439 * include/grub/mips/loongson/ec.h: Fix includes.
9440 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9441 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9442 * grub-core/lib/i386/reboot.c: New file.
9443
9444 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 Make grub_prefix into module to fix the arbitrary limit and save
9447 some space.
9448
9449 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9450 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9451 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9452 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9453 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9454 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9455 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9456 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9457 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9458 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9459 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9460 * include/grub/ia64/efi/kernel.h: Removed.
9461 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9462 (grub_prefix): Removed.
9463 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9464 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9465 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9466 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9467 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9468 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9469 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9470 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9471 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9472 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9473 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9474 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9475 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9476 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9477 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9478 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9479 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9480 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9481 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9482 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9483 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9484 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9485 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9486 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9487 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9488 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9489 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9490 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9491 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9492 from module.
9493 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9494 prefix_end.
9495 (image_targets): Likewise.
9496 (generate_image): Put prefix as a module.
9497
9498 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 Replace grub_module_iterate with FOR_MODULES.
9501
9502 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9503 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9504 (grub_efi_modules_addr): ...this.
9505 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9506 (grub_efi_init): Set grub_modbase.
9507 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9508 (grub_modbase): New variable.
9509 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9510 (grub_modbase): New variable.
9511 (grub_machine_init): Set grub_modbase.
9512 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9513 (grub_modbase): New variable.
9514 (grub_machine_init): Set grub_modbase.
9515 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9516 (grub_modbase): New variable.
9517 (grub_machine_init): Set grub_modbase.
9518 * grub-core/kern/main.c (grub_module_iterate): Remove.
9519 (grub_modules_get_end): Use grub_modbase.
9520 (grub_load_modules): Use FOR_MODULES.
9521 (grub_load_config): Likewise.
9522 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9523 (grub_modbase): New variable.
9524 (grub_machine_init): Set grub_modbase.
9525 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9526 (grub_modbase): New variable.
9527 (grub_machine_init): Set grub_modbase.
9528 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9529 Removed.
9530 (grub_modbase): New variable.
9531 (grub_machine_init): Set grub_modbase.
9532 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9533 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9534 (grub_module_iterate): Likewise.
9535 (grub_modbase): New variable declaration.
9536 (FOR_MODULES): New macro.
9537
9538 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9541 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9542
9543 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 Fix few obvious type discrepancies.
9546
9547 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9548 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9549 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9550 variable.
9551 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9552 and connected types.
9553 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9554 offset.
9555 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9556 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9557 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9558 and connected types.
9559
9560 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 Fix python 3.x incompatibilities.
9563
9564 * gentpl.py: Put brackets around print strings.
9565 * util/import_gcry.py: Open explicitly as utf-8.
9566 Use in instead of has_key.
9567
9568 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9571 (GRUB_XFS_INO_AGBITS): Make into inline function.
9572 (GRUB_XFS_INO_INOINAG): Likewise.
9573 (GRUB_XFS_INO_AG): Likewise.
9574 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9575 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9576 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9577 (GRUB_XFS_EXTENT_SIZE): Likewise.
9578 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9579 (GRUB_XFS_NEXT_DIRENT): Likewise.
9580 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9581 (grub_xfs_read_file): Fix offset type.
9582
9583 2011-10-15 Robert Millan <rmh@gnu.org>
9584
9585 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9586
9587 2011-10-15 Robert Millan <rmh@gnu.org>
9588
9589 Fix build problem on FreeBSD and GNU/kFreeBSD.
9590
9591 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9592
9593 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9596
9597 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9598 types.
9599 (grub_hfsplus_btree_recoffset): Likewise.
9600 (grub_hfsplus_btree_recptr): Likewise.
9601 (grub_hfsplus_find_block): Likewise.
9602 (grub_hfsplus_btree_search): Likewise.
9603 (grub_hfsplus_read_block): Likewise.
9604 (grub_hfsplus_read_file): Likewise.
9605 (grub_hfsplus_mount): Likewise.
9606 (grub_hfsplus_btree_iterate_node): Likewise.
9607 (grub_hfsplus_btree_search): Likewise.
9608 (grub_hfsplus_iterate_dir): Likewise.
9609 (grub_hfsplus_read): A small code simplification.
9610
9611 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * grub-core/kern/emu/hostdisk.c
9614 (convert_system_partition_to_system_disk): Don't assume that children
9615 of mapper nodes are mapper nodes.
9616
9617 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9620 * include/grub/misc.h (grub_isxdigit): New function.
9621 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9622 switched to grub_isxdigit.
9623 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9624 number starting with a letter.
9625
9626 2011-10-09 Robert Millan <rmh@gnu.org>
9627
9628 LVM support for FreeBSD and GNU/kFreeBSD.
9629
9630 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9631 GNU/kFreeBSD.
9632 (LVM_DEV_MAPPER_STRING): Move from here ...
9633 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9634 * util/getroot.c: Include `<grub/util/lvm.h>'.
9635 (grub_util_get_dev_abstraction): Enable
9636 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9637 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9638 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9639 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9640 support it.
9641 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9642 GNU/kFreeBSD.
9643 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9644 when LVM abstraction is required for ${GRUB_DEVICE}.
9645
9646 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9647
9648 Add support for LZO compression in GRUB:
9649 - import of minilzo library,
9650 - LZO decompression for btrfs,
9651 - lzop files decompression.
9652
9653 * grub-core/io/lzopio.c: New file.
9654 * grub-core/lib/adler32.c: Likewise.
9655 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9656 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9657 * grub-core/lib/minilzo/minilzo.c: Likewise.
9658 * grub-core/lib/minilzo/minilzo.h: Likewise.
9659 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9660 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9661 grub-core/lib/minilzo/minilzo.c to common.
9662 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9663 cflags in cppflags.
9664 * grub-core/Makefile.core.def (btrfs): Likewise.
9665 * grub-core/Makefile.core.def (lzopio): New module.
9666 (adler32): Likewise.
9667 * grub-core/fs/btrfs.c: Include minilzo.h.
9668 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9669 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9670 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9671 (grub_btrfs_lzo_decompress): New function.
9672 (grub_btrfs_extent_read): Add support for LZO compression type.
9673 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9674 (GRUB_USHRT_MAX): Likewise.
9675 (GRUB_UINT_MAX): Likewise.
9676 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9677 (UINT_MAX): Likewise.
9678 (CHAR_BIT): Likewise.
9679 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9680 grub-core/lib/posix_wrap/limits.h
9681 (UCHAR_MAX): Likewise.
9682 * include/grub/file.h (grub_file_filter_id): New compression filter
9683 GRUB_FILE_FILTER_LZOPIO.
9684 * include/grub/file.h (grub_file_filter_id): Set
9685 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9686 * include/grub/types.h (grub_get_unaligned16): New function.
9687 (grub_get_unaligned32): Likewise.
9688 (grub_get_unaligned64): Likewise.
9689 * util/import_gcry.py (cryptolist): Add adler32.
9690
9691 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9694 in perspective decreases the complexity of build system and fixes
9695 compilation right now.
9696
9697 2011-10-01 Ales Nesrsta <starous@volny.cz>
9698
9699 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9700 (fixed problem related to using UHCI with coreboot).
9701
9702 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9703
9704 * gentpl.py: Use Autogen macros so that the output template file
9705 (Makefile.tpl) size is reduced.
9706
9707 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
9708
9709 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9710 extra_dist.
9711
9712 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9713
9714 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9715 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9716
9717 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9718
9719 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9720 _fullpath.
9721
9722 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9723
9724 Remove extra declaration of sleep for mingw32.
9725
9726 * util/misc.c (sleep) [__MINGW32__]: Removed.
9727 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9728
9729 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9730
9731 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9732 type and packname.
9733 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9734 Resurrected.
9735 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9736 (grub_netbsd_btinfo_bootwedge): New struct.
9737 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9738 New function.
9739 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9740
9741 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9742
9743 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9744 loader.
9745
9746 2011-09-28 Andreas Born <futur.andy@googlemail.com>
9747
9748 Fix incorrect identifiers in bash-completion.
9749
9750 * util/bash-completion.d/grub-completion.bash.in
9751 (_grub_mkpasswd-pbkdf2): Rename to ...
9752 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9753 (_grub_script-check): Rename to ...
9754 (_grub_script_check): ... this. All users updated.
9755
9756 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9759 Return 0 if disk isn't biosdisk.
9760
9761 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9762
9763 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9764 on NetBSD.
9765 * Makefile.util.def (grub-fstest): Likewise.
9766
9767 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9768
9769 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9770 Get sector size from disk label.
9771
9772 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
9773
9774 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9775 */README* as well as README*.
9776 Reported by: Axel Beckert.
9777
9778 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9781 case of less than 256 MiB of RAM.
9782
9783 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/commands/wildcard.c (make_regex): Handle @.
9786
9787 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9790
9791 2011-08-21 Szymon Janc <szymon@janc.net.pl>
9792
9793 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9794 AC_LANG_CONFTEST macros.
9795
9796 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9797
9798 Add grub-fstest option to uncompress data for commands.
9799
9800 * util/grub-fstest.c (uncompress): New var.
9801 (options): New option -u.
9802
9803 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9804
9805 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9806 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9807
9808 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9809
9810 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9811 file type was not recognized correctly (not gzip or corrupted).
9812
9813 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9816 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9817
9818 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9821 loongson.
9822 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9823 video_radeon_fuloong2e.
9824 * grub-core/video/radeon_fuloong2e.c: New file.
9825 * include/grub/video.h (grub_video_id_t): Add new ID
9826 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9827
9828 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9831 define.
9832 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9833 that PRID matches the detected subplatform and reset the subplatform
9834 if it doesn't.
9835
9836 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9839
9840 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 Fix PCI iterating on functions >= 4.
9843
9844 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9845 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9846 Removed.
9847 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9848 (grub_pci_read): Fix bitmask.
9849 (grub_pci_read_word): Likewise.
9850 (grub_pci_read_byte): Likewise.
9851 (grub_pci_write): Likewise.
9852 (grub_pci_write_word): Likewise.
9853 (grub_pci_write_byte): Likewise.
9854
9855 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9858 can still be specified in TARGET_CFLAGS)
9859
9860 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9863
9864 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9865 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9866 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9867 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9868 (FULOONG): Rename to ...
9869 (FULOONG2F): ... this. All users updated.
9870 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9871 (machtype_fuloong2f_str): ... this.
9872 (machtype_fuloong2e_str): New string.
9873 Check for machtype_fuloong2e_str.
9874 * grub-core/loader/mips/linux.c (loongson_machtypes)
9875 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9876 * grub-core/term/serial.c (loongson_defserial)
9877 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9878 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9879 loongson_defserial.
9880 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9881 Rename to ...
9882 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9883 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9884 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9885 to IMAGE_FULOONG2F_FLASH. All users updated.
9886 (image_targets): Rename images.
9887 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9888
9889 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9890
9891 Make enable of disk cache statistics code configurable.
9892
9893 * configure.ac: --enable-cache-stats added.
9894 * config.h.in (DISK_CACHE_STATS): New define.
9895 * grub-core/Makefile.core.def (cacheinfo): New command.
9896 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9897 * grub-core/commands/cacheinfo.c: New file.
9898 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9899 moved to cacheinfo.c.
9900 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9901 debug code.
9902 * include/grub/disk.h: Likewise.
9903
9904 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9905
9906 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9907 * grub-core/Makefile.am: Likewise.
9908
9909 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9912 non-zero pull.
9913
9914 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9917 All users updated.
9918 (grub_jfs_lookup_symlink): Use correct starting inode.
9919
9920 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * util/grub-setup.c (main): Add missing gcry initialisation.
9923
9924 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 Don't accept text modes on EFI when booting Linux.
9927
9928 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9929 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9930
9931 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9932 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9933
9934 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9935 use of "/path/.." as in grub-install for EFI as well as handling
9936 symlinks correctly.
9937 Fixes Debian bug #637768.
9938
9939 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9940
9941 * util/grub-probe.c: Remove duplicate #include.
9942
9943 2011-08-10 Robert Millan <rmh@gnu.org>
9944
9945 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9946
9947 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9948 function.
9949 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9950 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9951
9952 2011-08-03 Robert Millan <rmh@gnu.org>
9953
9954 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9955 la_array as packed.
9956 Reported by: Zachary Bedell
9957
9958 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9959
9960 * configure.ac: The Loongson port requires grub-mkfont due to its
9961 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9962 be built.
9963
9964 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9965
9966 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9967 processing arguments (otherwise help2man fails when GRUB has not yet
9968 been installed).
9969
9970 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 New script grub-mkstandalone.
9973
9974 * Makefile.util.def (grub-mkstandalone): New script.
9975 * docs/man/grub-mkstandalone.h2m: New file.
9976 * util/grub-mkstandalone.in: Likewise.
9977
9978 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 Support ATA disks with 4K sectors.
9981
9982 * include/grub/ata.h (grub_ata): New member log_sector_size.
9983 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9984 (grub_ata_identify): Read sector size.
9985 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9986
9987 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * util/grub-install.in: Don't use uhci outside of x86.
9990
9991 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * util/grub-mkrescue.in: Add missing quotes.
9994
9995 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9998 dereference.
9999
10000 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10003
10004 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * include/grub/video.h: add missing EXPORT_FUND on
10007 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10008
10009 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * include/grub/mips/kernel.h: Fix define conflict.
10012
10013 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10016 all four ways.
10017
10018 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
10019
10020 Preferred resolution detection for VBE.
10021
10022 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10023 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10024 the Flat Panel extension, in line with the X.org VESA driver.
10025 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10026 New function.
10027 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10028 (grub_vbe_bios_read_edid): Likewise.
10029 (grub_vbe_get_preferred_mode): Likewise.
10030 (grub_video_vbe_setup): When the mode is "auto", try to get the
10031 preferred mode from VBE, and use the largest mode that is no larger
10032 than the preferred mode (some BIOSes expose a preferred mode that is
10033 not in their mode list!). If this fails, fall back to 640x480 as a
10034 safe conservative choice.
10035 (grub_video_vbe_get_edid): New function.
10036 (grub_video_vbe_adapter): Add get_edid.
10037 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10038 (struct grub_video_adapter): Add get_edid.
10039 (grub_video_edid_checksum): Add prototype.
10040 (grub_video_edid_preferred_mode): Likewise.
10041 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10042 structure.
10043
10044 * grub-core/commands/videoinfo.c (print_edid): New function.
10045 (grub_cmd_videoinfo): Print EDID if available.
10046
10047 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10048 is more appropriate on a wider range of platforms than 640x480.
10049 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10050 documentation.
10051
10052 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10055
10056 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * po/POTFILES.in: Regenerate.
10059
10060 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10063 incorrect memory usage.
10064
10065 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * util/grub-install.in: Source grub-mkconfig_lib.
10068
10069 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 Remove getroot.c from core on emu platform.
10072
10073 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10074 kern/emu/raid.c.
10075 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10076 useless.
10077 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10078 * util/getroot.c (get_win32_path): ... here.
10079 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10080 * util/getroot.c (fini_libzfs): ... here.
10081 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10082 * util/getroot.c (grub_get_libzfs_handle): ... here.
10083 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10084 Moved from here...
10085 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10086 * grub-core/kern/emu/misc.c
10087 (grub_make_system_path_relative_to_its_root): Moved from here...
10088 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10089 * grub-core/kern/emu/getroot.c: Moved from here ...
10090 * util/getroot.c: ... here. All users updated.
10091 * grub-core/kern/emu/raid.c: Moved from here ...
10092 * util/raid.c: ... here. All users updated.
10093
10094 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * po/POTFILES.in: Regenerate.
10097
10098 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 Fix compilation on GNU/Linux.
10101
10102 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10103 Disable geli.
10104 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10105 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10106 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10107
10108 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10109 2011-07-07 Michael Gorven <michael@gorven.za.net>
10110 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10111
10112 LUKS and GELI support.
10113
10114 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10115 grub-core/disk/luks.c, grub-core/disk/geli.c,
10116 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10117 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10118 grub-core/lib/arg.c.
10119 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10120 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10121 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10122 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10123 (grub-bin2h): Add libgcry.a.
10124 (grub-mkimage): Likewise.
10125 (grub-mkrelpath): Likewise.
10126 (grub-script-check): Likewise.
10127 (grub-editenv): Likewise.
10128 (grub-mkpasswd-pbkdf2): Likewise.
10129 (grub-pe2elf): Likewise.
10130 (grub-fstest): Likewise.
10131 (grub-mkfont): Likewise.
10132 (grub-mkdevicemap): Likewise.
10133 (grub-probe): Likewise.
10134 (grub-ofpath): Likewise.
10135 (grub-mklayout): Likewise.
10136 (example_unit_test): Likewise.
10137 (grub-menulst2cfg): Likewise.
10138 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10139 * grub-core/Makefile.core.def (cryptodisk): New module.
10140 (luks): Likewise.
10141 (geli): Likewise.
10142 * grub-core/disk/AFSplitter.c: New file.
10143 * grub-core/disk/cryptodisk.c: Likewise.
10144 * grub-core/disk/geli.c: Likewise.
10145 * grub-core/disk/luks.c: Likewise.
10146 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10147 grub_util_is_lvm.
10148 (grub_util_get_dm_abstraction): New function.
10149 (grub_util_follow_gpart_up): Likewise.
10150 (grub_util_get_geom_abstraction): Likewise.
10151 (grub_util_get_dev_abstraction): Use new functions.
10152 (grub_util_pull_device): Pull GELI and LUKS.
10153 (grub_util_get_grub_dev): Handle LUKS and GELI.
10154 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10155 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10156 (follow_geom_up): Removed.
10157 (grub_util_fd_seek): New function.
10158 (open_device): Use grub_util_fd_seek.
10159 (nread): Rename to ..
10160 (grub_util_fd_read): ... this. All users updated.
10161 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10162 (grub_crypto_cbc_decrypt): Likewise.
10163 (grub_crypto_hmac_write): Likewise.
10164 (grub_crypto_hmac_buffer): Likewise.
10165 (grub_password_get): Extend to util.
10166 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10167 New member modname.
10168 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10169 * include/grub/cryptodisk.h: New file.
10170 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10171 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10172 LUKS and GELI.
10173 (grub_util_follow_gpart_up): New proto.
10174 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10175 (grub_util_fd_read): Likewise.
10176 (grub_cryptodisk_cheat_mount): Likewise.
10177 (grub_util_cryptodisk_print_uuid): Likewise.
10178 (grub_util_get_fd_sectors): Likewise.
10179 * util/grub-fstest.c (mount_crypt): New var.
10180 (fstest): Mount crypto if requested.
10181 (options): New option -C.
10182 (argp_parser): Parse -C.
10183 (main): Init and fini gcry.
10184 * util/grub-install.in: Support cryptodisk install.
10185 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10186 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10187 cryptodisk.
10188 (prepare_grub_to_access_device): Likewise.
10189 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10190 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10191 (probe_cryptodisk_uuid): New function.
10192 (probe_abstraction): Likewise.
10193 (probe): Use new functions.
10194 * util/import_gcry.py: Create Makefile.utilgcry.def.
10195 Add modname member.
10196
10197 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 Lazy device scanning.
10200
10201 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10202 (grub-setup): Remove util/raid.c.
10203 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10204 * grub-core/disk/lvm.c (scan_depth): New variable.
10205 (grub_lvm_iterate): Rescan if necessary.
10206 (find_lv): New function based on grub_lvm_open.
10207 (grub_lvm_open): Use find_lv. Rescan on error.
10208 (is_node_readable): New function.
10209 (is_lv_readable): Likewise.
10210 (grub_lvm_scan_device): Skip already found disks.
10211 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10212 Stop if searched device is found and readable.
10213 * grub-core/disk/raid.c (inscnt): New variable.
10214 (scan_depth): Likewise.
10215 (scan_devices): New function based on grub_raid_register. Abort if
10216 looked for device is found.
10217 (grub_raid_iterate): Rescan if needed.
10218 (find_array): NEw function based on -grub_raid_open.
10219 (grub_raid_open): Use find_array and rescan.
10220 (insert_array): Set became_readable_at.
10221 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10222 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10223 New function.
10224 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10225 (grub_util_pull_device): New function.
10226 (grub_util_get_grub_dev): Call grub_util_pull_device.
10227 * util/raid.c: Moved to ..
10228 * grub-core/kern/emu/raid.c: ... here.
10229 (grub_util_raid_getmembers): New parameter "bootable".
10230 All users updated. Support 1.x.
10231 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10232 All users updated.
10233 * include/grub/disk.h (grub_disk_pull_t): New enum.
10234 (grub_disk_dev): Change iterate prototype.
10235 All users updated.
10236 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10237 New proto.
10238 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10239 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10240 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10241 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10242 All users updated.
10243 * include/grub/util/raid.h: Removed.
10244
10245 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * po/POTFILES.in: Regenerate.
10248
10249 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 Unify sparc init with other ieee1275.
10252
10253 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10254 instead of kern/sparc64/ieee1275/init.c.
10255 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10256 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10257 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10258 grub/machine/kernel.h.
10259 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10260 (grub_claim_heap) [__sparc__]: Use sparc version.
10261 (grub_machine_init): Moved args parsing to
10262 (grub_parse_cmdline): ...this.
10263 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10264 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10265 New definition.
10266 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10267
10268 Move BOOTP to separate file.
10269
10270 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10271 * grub-core/net/net.c: Move all BOOTP functions to
10272 * grub-core/net/bootp.c: ... here.
10273
10274 Use frame interface on PXE.
10275
10276 * grub-core/Makefile.core.def (pxecmd): Removed.
10277 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10278 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10279 * grub-core/i386/pc/pxe.c: Moved from here ...
10280 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10281 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10282 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10283
10284 EFI network support.
10285
10286 * grub-core/Makefile.core.def (efinet): New module.
10287 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10288 here...
10289 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10290 All users updated.
10291 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10292 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10293 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10294 * grub-core/net/drivers/efi/efinet.c: New file.
10295 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10296 (grub_efi_net_config): New extern var.
10297
10298 Various cleanups and bugfixes.
10299
10300 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10301 error.
10302 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10303 disk declared as partition.
10304 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10305 leak on failure.
10306 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10307 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10308 (grub_debug_zalloc): Likewise.
10309 (grub_debug_realloc): Likewise.
10310 (grub_debug_memalign): Likewise.
10311 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10312 Check that target is IPv4.
10313 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10314 local-mac-address as fallback.
10315 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10316 memory leak.
10317 * grub-core/net/ip.c (ipchksum): Rename to ...
10318 (grub_net_ip_chksum): ... this. All users updated.
10319 (grub_net_recv_ip_packets): Special handling for DHCP.
10320 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10321
10322 Unify prefix handling
10323
10324 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10325 (grub_machine_get_bootlocation): ... this.
10326 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10327 (grub_machine_get_bootlocation): ... this.
10328 (grub_prefix): New variable.
10329 (prefix): Removed.
10330 (root_dev): New variable.
10331 (dir): Likewise.
10332 (main): Use new variables.
10333 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10334 Revamped into ...
10335 (grub_machine_get_bootlocation): ... this.
10336 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10337 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10338 (grub_machine_get_bootlocation): ... this.
10339 (grub_machine_set_prefix): Removed.
10340 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10341 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10342 Revamped into ...
10343 (grub_machine_get_bootlocation): ... this.
10344 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10345 (grub_set_prefix_and_root): ... this. All users updated.
10346 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10347 Revamped into ...
10348 (grub_machine_get_bootlocation): ... this.
10349 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10350 (grub_machine_get_bootlocation): New proto.
10351 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10352
10353 Less intrusive and more reliable seek on network implementation.
10354
10355 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10356 (grub_file_seek): Don't call grub_file_net_seek.
10357 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10358 (grub_net_fs_read_real): .. this.
10359 (grub_net_seek_real): Use net->offset.
10360 (grub_net_fs_read): Seek if necessary.
10361
10362 Unify IEEE1275 netwotk config with the other platforms.
10363
10364 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10365 New variable.
10366 (grub_machine_get_bootlocation): Support network.
10367 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10368 Support type and device parsing.
10369 (grub_ieee1275_get_device_type): New function.
10370 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10371 into ...
10372 (grub_ieee1275_net_config_real): ... this.
10373 (grub_ofnet_probecards): Removed.
10374 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10375 * include/grub/ieee1275/ofnet.h: Removed.
10376 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10377 extern var.
10378 (grub_ieee1275_get_device_type): New function.
10379
10380 Unify network device closing across platforms and make more robust.
10381
10382 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10383 grub_grubnet_fini.
10384 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10385 already.
10386 * grub-core/net/net.c (grub_net_network_level_interface_register):
10387 Update num_ifaces.
10388 (grub_net_card_unregister): Close all interfaces.
10389 (receive_packets): Don't poll if no iterfaces are registered.
10390 Open if necessary.
10391 (grub_net_fini_hw): New function.
10392 (grub_net_restore_hw): Likewise.
10393 (fini_hnd): New variable.
10394 (GRUB_MOD_INIT): Register preboot hook.
10395 (GRUB_MOD_FINI): Run and unregister preboot hook.
10396
10397 Poll network cards when idle.
10398
10399 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10400 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10401 * grub-core/net/net.c (receive_packets): Save last poll time.
10402 (grub_net_poll_cards_idle_real): New function.
10403 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10404 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10405 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10406
10407 Rename ofnet interfaces.
10408
10409 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10410 (grub_ofnet_findcards): Use ofnet_%s names.
10411
10412 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10413
10414 Cleanup socket opening.
10415
10416 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10417 (grub_net_fs_close): Likewise.
10418 (grub_net_fs_read_real): Use eof member.
10419 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10420 (+grub_net_udp_close): New inline function.
10421
10422 * include/grub/net/tftp.h: Moved to the top of ...
10423 * grub-core/net/tftp.c: ... here.
10424 * include/grub/net/ip.h: Moved mostly to the top of ...
10425 * grub-core/net/ip.c: ... here.
10426 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10427 * grub-core/net/ethernet.c: ... here.
10428
10429 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10430
10431 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10432 FS name.
10433
10434 * include/grub/net/ip.h (ipv4_ini): Removed.
10435 (ipv4_fini): Likewise.
10436
10437 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10438 (grub_net_send_ip_packets): Likewise.
10439
10440 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10443 grub_read_cmos prototype.
10444
10445 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 VGA text support in qemu-mips
10448
10449 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10450 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10451 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10452 text.
10453 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10454 * grub-core/kern/vga_init.c: ... this.
10455 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10456 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10457 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10458 Adjust.
10459 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10460 GRUB_MACHINE_PCI_IO_BASE.
10461
10462 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 MIPS qemu flash support.
10465
10466 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10467 magic.
10468 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10469 (grub_machine_init): Probe memory if its size isn't known.
10470 * util/grub-mkimage.c (image_targets): Add flash targets.
10471 (generate_image): Handle flash targets.
10472
10473 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 MIPS qemu at_keyboard support.
10476
10477 * gentpl.py (videoinkernel): Add qemu-mips.
10478 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10479 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10480 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10481 modules.
10482 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10483 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10484 * grub-core/term/serial.c (grub_serial_register)
10485 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10486
10487 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 CMOS support on sparc.
10490
10491 * gentpl.py (cmos): Add powerpc and sparc.
10492 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10493 powerpc and sparc.
10494 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10495 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10496 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10497 grub_set_datetime_cmos.
10498 * grub-core/lib/ieee1275/cmos.c: New file.
10499 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10500 (find_rtc): Set no_ieee1275_rtc on error.
10501 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10502 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10503 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10504 fail. Move value to argument. All users updated
10505 (grub_cmos_write): Likewise.
10506 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10507 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10508 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10509 grub_get_datetime_cmos and grub_set_datetime_cmos.
10510
10511 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10512
10513 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10514 sourcing grub-mkconfig_lib.
10515 * util/update-grub_lib.in: Likewise.
10516 * util/grub.d/00_header.in: Likewise.
10517 * util/grub.d/10_hurd.in: Likewise.
10518 * util/grub.d/10_kfreebsd.in: Likewise.
10519 * util/grub.d/10_linux.in: Likewise.
10520 * util/grub.d/10_netbsd.in: Likewise.
10521 * util/grub.d/10_windows.in: Likewise.
10522 * util/grub.d/20_linux_xen.in: Likewise.
10523 * util/grub.d/30_os-prober.in: Likewise.
10524
10525 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10526
10527 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10528 default_bg_color rather than black.
10529 (grub_gfxterm_fullscreen): Likewise.
10530 (grub_gfxterm_background_color_cmd): Save new background color in
10531 default_bg_color.
10532
10533 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10536
10537 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10540 mismerge.
10541
10542 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 Chainloading on coreboot support.
10545
10546 * grub-core/Makefile.core.def (chain): Add coreboot.
10547 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10548
10549 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10552 if it happens.
10553
10554 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 Implement time command.
10557
10558 * grub-core/Makefile.core.def (time): New module.
10559 * grub-core/commands/time.c: New file.
10560 * grub-core/script/parser.y: Remove "time" keyword.
10561 * grub-core/script/yylex.l: Likewise.
10562
10563 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10566
10567 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10570 when handling leftovers.
10571
10572 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10575 so that help2man doesn't fail.
10576
10577 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10580 type in pointers on sparc64.
10581 (get_card_packet): Likewise.
10582
10583 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10584
10585 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10586 with `*'.
10587 (grub_cmd_videoinfo): Fetch current video mode.
10588
10589 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10592 because of underlying system restrictions.
10593
10594 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10597 necessary.
10598
10599 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 Coreboot video support.
10602
10603 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10604 (vbe): Likewise.
10605 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10606 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10607 here ...
10608 * grub-core/kern/i386/int.S: ... here.
10609 * grub-core/video/i386/pc/vbe.c: Updated includes.
10610 * grub-core/video/i386/pc/vga.c: Likewise.
10611 * include/grub/i386/coreboot/memory.h
10612 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10613 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10614 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10615 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10616 Disable interrupts.
10617 * include/grub/i386/pc/vga.h: Removed. All users updated.
10618
10619 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10622 definitions for dprintf.
10623 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10624
10625 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10628 prototype.
10629 (get_card_packet): Likewise.
10630
10631 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10632
10633 Display the path of the file when file is not found
10634
10635 * grub-core/fs/fat.c: Display the filename when file is not found.
10636 * grub-core/fs/fshelp.c: Likewise.
10637 * grub-core/fs/hfs.c: Likewise.
10638 * grub-core/fs/jfs.c: Likewise.
10639 * grub-core/fs/minix.c: Likewise.
10640 * grub-core/fs/ufs.c: Likewise.
10641 * grub-core/fs/btrfs.c: Likewise.
10642 * grub-core/commands/i386/pc/play.c: Likewise.
10643
10644 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10645
10646 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10647 pointer checks before calling grub_free().
10648 * grub-core/commands/wildcard.c (match_devices): Likewise.
10649 * grub-core/commands/wildcard.c (match_files): Likewise.
10650 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10651 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10652 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10653 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10654 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10655 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10656 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10657 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10658 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10659
10660 2011-06-25 Patrick <p55@mailinator.com>
10661
10662 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10663
10664 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10667 (grub_pxe_send): Likewise.
10668 (GRUB_MOD_INIT): Fix types.
10669
10670 2011-06-24 Szymon Janc <szymon@janc.net.pl>
10671
10672 * grub-core/io/xzio.c: Fix code style issues
10673
10674 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10675 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
10676
10677 Network infrastructure.
10678 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10679
10680 * include/grub/net/arp.h: New file.
10681 * include/grub/net/device.h: Likewise.
10682 * include/grub/net/ethernet.h: Likewise.
10683 * include/grub/net/ip.h: Likewise.
10684 * include/grub/net/netbuff.h: Likewise.
10685 * include/grub/net/tftp.h: Likewise.
10686 * include/grub/net/udp.h: Likewise.
10687 * include/grub/ieee1275/ofnet.h: Likewise.
10688 * include/grub/emu/export.h: Likewise.
10689 * include/grub/net.h: Likewise.
10690 * grub-core/net/arp.c: Likewise.
10691 * grub-core/net/ethernet.c: Likewise.
10692 * grub-core/net/ip.c: Likewise.
10693 * grub-core/net/udp.c: Likewise.
10694 * grub-core/net/tftp.c: Likewise.
10695 * grub-core/net/netbuff.c: Likewise.
10696 * grub-core/net/net.c: Likewise.
10697 * grub-core/net/drivers/emu/emunet.c: Likewise.
10698 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10699 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10700 export.h.
10701 * grub-core/Makefile.core.def (net): New module.
10702 (tftp): Likewise.
10703 (ofnet): Likewise.
10704 (emunet): Likewise.
10705 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10706 network protocols.
10707 * grub-core/kern/device.c (grub_net_open) : New variable.
10708 (grub_device_open): Handle network device.
10709 (grub_device_close): Likewise.
10710 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10711 (grub_grubnet_fini): Likewise.
10712 (grub_file_seek): Seek in network device.
10713 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10714 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10715 network root.
10716 (grub_machine_fini): Call grub_grubnet_fini.
10717 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10718 network.
10719 (grub_ieee1275_get_aliasdevname): New function.
10720 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10721 Add unofficial Solaris network info.
10722 (grub_multiboot_make_mbi): Likewise.
10723 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10724 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10725 * include/grub/device.h (grub_fs): Removed.
10726 * include/grub/err.h (grub_err_t): Add network-related values.
10727 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10728 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10729 (grub_ieee1275_get_aliasdevname): New proto.
10730 * include/grub/net.h: Rewritten.
10731
10732 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10735 names.
10736
10737 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10740 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10741 it truncates the output.
10742 Reported by: Ximin Luo.
10743
10744 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10747
10748 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10751 partmap before abstraction.
10752
10753 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10754
10755 * util/grub-mkconfig_lib.in: Add missing quotes.
10756
10757 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10760 old method if mountinfo would return /dev/root and /dev/root doesn't
10761 exist.
10762
10763 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 ZFS zlib support
10766
10767 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10768 (decomp_table): Add zlib entries.
10769 (zio_read): USe 8 bits for compression function rather than 3.
10770 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10771
10772 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * grub-core/disk/ahci.c: Add missing license statements.
10775 * grub-core/fs/romfs.c: Likewise.
10776 * grub-core/lib/ia64/setjmp.S: Likewise.
10777 * grub-core/loader/i386/pc/freedos.c: Likewise.
10778 * grub-core/loader/ia64/efi/linux.c: Likewise.
10779 * grub-core/video/colors.c: Likewise.
10780 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10781
10782 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 AHCI support.
10785
10786 * grub-core/Makefile.core.def (ata_pthru): Removed.
10787 (ahci): New module.
10788 (pata): Likewise.
10789 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10790 on unload.
10791 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10792 readwrite.
10793 (grub_hdparm_do_check_powermode_cmd): Likewise.
10794 (grub_hdparm_do_smart_cmd): Likewise.
10795 (grub_hdparm_set_val_cmd): Likewise.
10796 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10797 * grub-core/disk/ahci.c: New file.
10798 * grub-core/disk/ata.c: Factor out the low-level part into ...
10799 * grub-core/disk/pata.c: ... here.
10800 * grub-core/disk/ata_pthru.c: Contents moved to ...
10801 * grub-core/disk/pata.c: ... here.
10802 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10803 (grub_scsi_iterate): Use grub_scsi_names.
10804 (grub_scsi_open): Likewise.
10805 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10806 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10807 (grub_ata_regs_t): New struct.
10808 (grub_disk_ata_pass_through_parms): Likewise.
10809 (grub_ata_device): Renamed to ...
10810 (grub_ata): ... this.
10811 (grub_ata_dev): New struct.
10812 Removed all low-level inline functions.
10813 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10814 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10815 iterate hooks and open. All users updated.
10816 * util/grub-install.in: Handle AHCI disk module.
10817
10818 2011-06-23 Szymon Janc <szymon@janc.net.pl>
10819
10820 Add support for DRI and RSTn markers in JPEG files.
10821
10822 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10823 (JPEG_MARKER_RST0): Likewise.
10824 (JPEG_MARKER_RST1): Likewise.
10825 (JPEG_MARKER_RST2): Likewise.
10826 (JPEG_MARKER_RST3): Likewise.
10827 (JPEG_MARKER_RST4): Likewise.
10828 (JPEG_MARKER_RST5): Likewise.
10829 (JPEG_MARKER_RST6): Likewise.
10830 (JPEG_MARKER_RST7): Likewise.
10831 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10832 (grub_jpeg_decode_dri): New function.
10833 (grub_jpeg_decode_sos): Move image data related part into
10834 grub_jpeg_decode_data function.
10835 (grub_jpeg_decode_data): New function.
10836 (grub_jpeg_reset): New function.
10837 (grub_jpeg_decode_jpeg): Handle new markers.
10838
10839 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * util/ieee1275/ofpath.c (check_sas): Close fd.
10842 (main): Free of_path.
10843 Reported by: David Volgyes <dvolgyes>.
10844
10845 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10848 Reported by: David Volgyes <dvolgyes>.
10849
10850 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10853 file after stat.
10854 Reported by: David Volgyes <dvolgyes>.
10855
10856 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10859
10860 Reported by: David Volgyes <dvolgyes>.
10861
10862 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10865 Prevent memory leak.
10866
10867 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10870 (main): Close file.
10871 Reported by: David Volgyes <dvolgyes>.
10872
10873 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10876 to continue if allocation is failed.
10877
10878 Reported by: David Volgyes <dvolgyes>.
10879
10880 2011-06-23 David Volgyes <dvolgyes>
10881
10882 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10883 dereference.
10884
10885 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10886
10887 Fix spurious warning.
10888
10889 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10890 (acorn_partition_map_find): Use .bin member.
10891
10892 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10895 /dev/root as a valid device.
10896
10897 2011-06-23 Jim Meyering <meyering@redhat.com>
10898
10899 Avoid NULL deref in grub_device_open.
10900
10901 * grub-core/kern/device.c (grub_device_open): Don't dereference
10902 a NULL pointer upon failed grub_env_get.
10903
10904 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 Support non-512B sectors and agglomerate reads.
10907
10908 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10909 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10910 (disk_io_guid): Removed.
10911 (make_devices): Locate solely by BlockIO.
10912 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10913 (grub_efidisk_read): Use read_blocks.
10914 (grub_efidisk_write): Use write_blocks.
10915 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10916 log_sector_size.
10917 (get_safe_sectors): Handle non-512B sectors.
10918 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10919 sectors.
10920 (grub_biosdisk_write): Handle non-512B sectors.
10921 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10922 (grub_scsi_read): Remove special non-512B block handling (now handled
10923 one level up).
10924 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10925 and do sanity checks.
10926 (grub_disk_adjust_range): Handle non-512B sectors.
10927 (transform_sector): New function.
10928 (grub_disk_read_small): Likewise.
10929 (grub_disk_read): Rewritten.
10930 (grub_disk_write): Handle non-512B sectors.
10931 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10932 log_sector_size.
10933 (open_device): Use log_sector_size.
10934 (grub_util_biosdisk_read): Likewise.
10935 (grub_util_biosdisk_write): Likewise.
10936 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10937 non-512B sectors.
10938 (pc_partition_map_embed): Likewise.
10939 * include/grub/disk.h (grub_disk): New field log_sector_size.
10940 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10941 (GRUB_DISK_CACHE_BITS): Increased to 6.
10942 * util/grub-fstest.c (fstest): New command testload.
10943 (argp_parser): Likewise.
10944
10945 2011-06-16 Robert Millan <rmh@gnu.org>
10946
10947 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10948 `ata' driver on kernel of FreeBSD 9.
10949
10950 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10951 (get_ataraid_disk_name): New functions.
10952 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10953 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10954 get_ataraid_disk_name() and get_ada_disk_name().
10955
10956 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10957
10958 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10959 input format.
10960
10961 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10962
10963 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10964 `ftp.gnu.org' for `alpha.gnu.org'.
10965
10966 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10967
10968 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10969 partitions under /dev/disk/by-id/.
10970
10971 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10972
10973 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10974 after ten consecutive open failures. Scanning all the way up to
10975 10000 is excessive and can cause serious performance problems in
10976 some configurations.
10977 Fixes Ubuntu bug #787461.
10978
10979 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10982 opening new one.
10983
10984 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10985 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 Don't stat devices unless we have to.
10988
10989 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10990 dir == /dev/mapper.
10991 (grub_guess_root_device): Use already known os_dev if possible.
10992 * grub-core/kern/emu/hostdisk.c
10993 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10994 if device is known to be a dm one.
10995
10996 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10997
10998 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10999 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11000 Reported by: Pawel Tecza.
11001
11002 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11005 (lsefisystab): Likewise.
11006 (lssal): Likewise.
11007 (lsefimmap): Likewise.
11008 (hdparm): Enable on qemu-mips.
11009 (setjmp): Add ia64 nodist.
11010 (serial): Simplify tags.
11011
11012 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11013
11014 * Makefile.util.def (grub-ofpathname): Install manual page.
11015
11016 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11017
11018 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11019
11020 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11021
11022 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11023
11024 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11027 into dprintf.
11028
11029 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 Use full 64-bit division.
11032
11033 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11034 (grub_divmod64): ... this.
11035 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11036 version.
11037
11038 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11039
11040 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11041 `source'.
11042
11043 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11044
11045 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11046 to avoid accidents when debugging with 'sh -x'.
11047 * grub-core/gensyminfo.sh.in: Likewise.
11048 * tests/example_scripted_test.in: Likewise.
11049 * tests/grub_cmd_regexp.in: Likewise.
11050 * tests/grub_script_blanklines.in: Likewise.
11051 * tests/grub_script_dollar.in: Likewise.
11052 * tests/grub_script_expansion.in: Likewise.
11053 * tests/grub_script_final_semicolon.in: Likewise.
11054 * tests/partmap_test.in: Likewise.
11055 * tests/util/grub-shell-tester.in: Likewise.
11056 * tests/util/grub-shell.in: Likewise.
11057
11058 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11059
11060 Move gfxmenu color handling to video, so that gfxterm can use it
11061 too.
11062
11063 * grub-core/gfxmenu/named_colors.c: Move to ...
11064 * grub-core/video/colors.c: ... here. Rename
11065 grub_gui_get_named_color to grub_video_get_named_color.
11066 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11067 * grub-core/video/colors.c (my_isxdigit): ... here.
11068 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11069 Move to ...
11070 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11071 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11072 to ...
11073 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11074
11075 * include/grub/gui.h (grub_gui_color_t): Move to ...
11076 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11077 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11078 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11079 * include/grub/gui.h (grub_gui_map_color): Move to ...
11080 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11081 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11082 to ...
11083 * include/grub/video.h (grub_video_get_named_color): ... here.
11084 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11085 * include/grub/video.h (grub_video_parse_color): ... here.
11086
11087 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11088 video/colors.c.
11089 (gfxmenu): Remove gfxmenu/named_colors.c.
11090 (video) [videomodules]: Add video/colors.c.
11091
11092 Add a background_color command.
11093
11094 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11095 function.
11096 (GRUB_MOD_INIT): Register background_color command.
11097 (GRUB_MOD_FINI): Unregister background_color command.
11098 (redraw_screen_rect): Allow blend/replace of text layer to be
11099 controlled independently from whether there is a background bitmap.
11100 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11101 changing bitmap.
11102
11103 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11104
11105 Patch BPB in ntldr and chainloader --bpb.
11106
11107 * grub-core/fs/fat.c: Include grub/fat.h.
11108 (grub_fat_bpb): Moved to ...
11109 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11110 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11111 grub/ntfs.h.
11112 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11113 Moved from here...
11114 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11115 here.
11116 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11117 New function.
11118 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11119 (GRUB_MOD_INIT): Show --bpb.
11120 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11121 * grub-core/normal/main.c (features): New variable.
11122 (GRUB_MOD_INIT): Set feature_* variables.
11123 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11124 proto.
11125 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11126
11127 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11130 for cleanness.
11131
11132 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 FreeDOS direct loading support.
11135
11136 * docs/grub.texi (Supported OS): Add FreeDOS.
11137 * grub-core/Makefile.core.def (freedos): New module.
11138 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11139 variable.
11140 (grub_relocator16_boot): Handle %ebx.
11141 * grub-core/lib/i386/relocator16.S: Likewise.
11142 * grub-core/loader/i386/pc/freedos.c: New file.
11143
11144 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 Long Linux command line support.
11147
11148 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11149 (maximal_cmdline_size): New variable.
11150 (allocate_pages): Use maximal_cmdline_size.
11151 (grub_cmd_linux): Set and use maximal_cmdline_size.
11152 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11153 (allocate_pages): Use maximal_cmdline_size.
11154 (grub_cmd_linux): Set and use maximal_cmdline_size.
11155 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11156 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11157 and cmdline_size.
11158
11159 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11160 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
11161
11162 Improve devmapper support
11163
11164 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11165 (grub_util_is_lvm): New function.
11166 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11167 than lvm if not dmraid.
11168 Handle mapped md nodes.
11169 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11170 (grub_util_device_is_mapped): ... this. Make always available. All users
11171 updated.
11172 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11173 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11174 dmraid nodes.
11175 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11176
11177 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11180
11181 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11182 * grub-core/modinfo.sh.in: New file.
11183 * grub-core/Makefile.core.def (modinfo.sh): New script.
11184 * util/grub-mknetdir.in: Use modinfo.sh.
11185 * util/grub-mkrescue.in: Likewise.
11186
11187 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11190 Fix potential usage of Elf32 instead of Elf64 when compiling on
11191 32-bit architecture. Add endianness macros while on it.
11192
11193 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 Use mipsel- rather than mips- in directories involving mipsel ports to
11196 allow both endiannesses coexist.
11197
11198 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11199 mips. All conditions adjusted.
11200 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11201 variable.
11202 * util/grub-install.in: Adjust conditions to take renaming into account.
11203 * util/grub-mkimage.c (image_targets): Likewise. New target
11204 mips-qemu_mips-elf for bigendian mips.
11205
11206 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 Avoid unnecessary copying on MIPS.
11209
11210 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11211 early if src == dest.
11212 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11213 compression is none.
11214
11215 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 Reduce memory footprint on SGI by putting modules before the kernel
11218 as opposed to after.
11219
11220 * grub-core/Makefile.core.def (kernel): Increase linking address.
11221 (none_decompress): Likewise.
11222 (xz_decompress): Likewise.
11223 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11224 address.
11225 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11226 layout change.
11227 (grub_arch_modules_addr): New function.
11228 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11229 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11230 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11231 here.
11232 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11233 (grub_total_modules_size): ... this. Make global.
11234 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11235 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11236 New definition.
11237 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11238 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11239 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11240 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11241 * util/grub-mkimage.c (image_target_desc): New flag
11242 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11243 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11244 (generate_image): Handle images with modules before kernel.
11245
11246 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 Prevent potential loss of memory map by overwrite on qemu-mips.
11249
11250 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11251 Save ram size in $s4.
11252 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11253 All users changed to grub_arch_memsize.
11254 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11255 Loongson.
11256 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11257 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11258 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11259 external variable.
11260
11261 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11262
11263 * .bzrignore: Remove grub-dumpbios.
11264
11265 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11266
11267 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11268 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11269 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11270 existing options which append).
11271 * docs/grub.texi (Simple configuration): Document new options.
11272 Reported by: Ian Jackson. Fixes Debian bug #617538.
11273
11274 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11275
11276 * util/grub-fstest.c (cmd_cat): New function.
11277 (fstest): Handle CMD_CAT.
11278 (options): Add cat.
11279 (argp_parser): Handle cat.
11280
11281 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
11282
11283 * Makefile.util.def (grub-bin2h): Don't install.
11284 * docs/man/grub-bin2h.h2m: Remove.
11285
11286 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11289 place.
11290
11291 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 Reenable qemu-mips port.
11294
11295 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11296 Fix small arc bug while on it.
11297 * gentpl.py: Handle qemu_mips.
11298 * grub-core/Makefile.am: Likewise.
11299 * grub-core/Makefile.core.def: Likewise.
11300 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11301 inappropriate includes.
11302 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11303 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11304 * grub-core/kern/main.c (grub_modules_get_end)
11305 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11306 * grub-core/kern/mips/qemu-mips: Moved to ..
11307 * grub-core/kern/mips/qemu_mips: ... this.
11308 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11309 (grub_machine_init): Call terminfo_init and serial_init.
11310 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11311 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11312 New variable.
11313 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11314 parameter passing.
11315 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11316 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11317 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11318 * include/grub/mips/qemu_mips/cmos.h: New file.
11319 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11320 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11321 Removed.
11322 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11323 Use correct mips-style address.
11324 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11325 (GRUB_TICKS_PER_SECOND): Removed.
11326 (grub_get_rtc): Likewise.
11327 (grub_cpu_idle): Likewise.
11328 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11329 New definition.
11330 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11331 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11332 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11333 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11334 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11335 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11336 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11337 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11338
11339 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 SGI ARCS port.
11342
11343 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11344 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11345 platforms.
11346 * configure.ac: New target mips-arc.
11347 * gentpl.py: Likewise.
11348 * grub-core/Makefile.am: Likewise.
11349 * grub-core/Makefile.core.def: Likewise.
11350 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11351 (none_decompress): Likewise.
11352 (lsdev): New module.
11353 (datetime): Use lib/arc/datetime.c on ARC.
11354 (part_dvh): New module.
11355 * grub-core/commands/arc/lsdev.c: New file.
11356 * grub-core/disk/arc/arcdisk.c: Likewise.
11357 * grub-core/kern/mips/arc/init.c: Likewise.
11358 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11359 aligned addresses.
11360 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11361 support.
11362 (grub_arch_dl_relocate_symbols): Likewise.
11363 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11364 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11365 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11366 platforms.
11367 * grub-core/lib/arc/datetime.c: New file.
11368 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11369 pci.h on non-loongson.
11370 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11371 (grub_linux_boot): Set unused registers to 0.
11372 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11373 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11374 * grub-core/mmap/mips/uppermem.c: ...here.
11375 * grub-core/partmap/dvh.c: New file.
11376 * grub-core/term/arc/console.c: Likewise.
11377 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11378 (grub_terminfo_set_current): Add terminal "arc".
11379 (grub_terminfo_readkey): Support ARC sequences.
11380 * include/grub/arc/arc.h: New file.
11381 * include/grub/arc/console.h: Likewise.
11382 * include/grub/disk.h (grub_disk_dev_id): Add
11383 GRUB_DISK_DEVICE_ARCDISK_ID.
11384 * include/grub/mips/arc/kernel.h: New file.
11385 * include/grub/mips/arc/memory.h: Likewise.
11386 * include/grub/mips/arc/time.h: Likewise.
11387 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11388 * include/grub/mips/kernel.h (grub_halt): ... here.
11389 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11390 here...
11391 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11392 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11393 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11394 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11395 proto.
11396 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11397 from here ...
11398 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11399 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11400 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11401 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11402 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11403 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11404 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11405 (grub_phys_addr_t): Moved from here ...
11406 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11407 (grub_vtop): Moved from here ...
11408 * include/grub/mips/memory.h (grub_vtop): ... here.
11409 (grub_map_memory): Moved from here ...
11410 * include/grub/mips/memory.h (grub_map_memory): ... here.
11411 (grub_unmap_memory): Moved from here ...
11412 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11413 (grub_machine_mmap_iterate): Moved from here ...
11414 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11415 (grub_mmap_get_lower): Moved from here ...
11416 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11417 (grub_mmap_get_upper): Moved from here ...
11418 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11419 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11420 here ...
11421 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11422 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11423 here ...
11424 * include/grub/mips/time.h (grub_get_rtc): ... here.
11425 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11426 here ...
11427 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11428 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11429 here ...
11430 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11431 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11432 definition.
11433 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11434 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11435 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11436 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11437 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11438 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11439 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11440 (GRUB_MACHINE_LINK_ADDR): Likewise.
11441 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11442 to 6.
11443 * util/grub-install.in: Run dvhtool on ARC.
11444 * util/grub-mkimage.c (image_targets): Add mips-arc.
11445 (generate_image): Handle ECOFF output for mips-arc.
11446
11447 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11450 blocks.
11451
11452 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11455 after enabling port.
11456
11457 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 Skip incorrect USB devices.
11460
11461 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11462 configcnt == 0.
11463 * include/grub/usb.h (grub_usb_err_t): New enum value
11464 GRUB_USB_ERR_BADDEVICE.
11465
11466 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Fuloong video init support.
11469
11470 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11471 well.
11472 (grub_vga_read_arx): New function.
11473 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11474 definition.
11475 (framebuffer): New members io, mmioptr and mmiobase.
11476 (read_sis_cmd): New function.
11477 (write_sis_cmd): Likewise.
11478 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11479 rather than 640x400.
11480 * grub-core/video/sis315_init.c: New file.
11481
11482 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11485 non-loongson.
11486 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11487 to grub_dl_register_symbol.
11488
11489 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 Fix compilation errors.
11492
11493 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11494 potentially unused.
11495 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11496 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11497 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11498 to loongson machines.
11499
11500 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 Several FS mtime support.
11503
11504 * grub-core/fs/affs.c (grub_affs_time): New struct.
11505 (grub_affs_file): New field mtime.
11506 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11507 type. Removed 'size'. New field 'di'. All users updated.
11508 (grub_affs_mount): Simplify checsum checking.
11509 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11510 (grub_affs_dir): Handle mtime.
11511 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11512 (grub_cpio_dir): Likewise.
11513 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11514 (grub_hfs_filerec): New field mtime.
11515 (grub_hfs_dir): Handle mtime.
11516 (grub_hfs_mtime): New function.
11517 (grub_hfs_fs): Register grub_hfs_mtime.
11518 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11519 (grub_iso9660_dir): New field mtime.
11520 (grub_fshelp_node): New field dirent.
11521 (iso9660_to_unixtime): New function.
11522 (iso9660_to_unixtime2): Likewise.
11523 (grub_iso9660_read_symlink): Use node->dirent.
11524 (grub_iso9660_iterate_dir): Likewise.
11525 (grub_iso9660_dir): Set mtime.
11526 (grub_iso9660_mtime): New function.
11527 (grub_iso9660_fs): Register grub_iso9660_mtime.
11528 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11529 (grub_jfs_inode): New fields atime, ctime and mtime.
11530 (grub_jfs_dir): Set mtime.
11531 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11532 * grub-core/fs/ntfs.c (list_file): Set mtime.
11533 (grub_ntfs_dir): Likewise.
11534 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11535 (grub_reiserfs_iterate_dir): Set mtime.
11536 (grub_reiserfs_dir): Likewise.
11537 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11538 (grub_fshelp_node): Likewise.
11539 (grub_sfs_iterate_dir): Set mtime.
11540 (grub_sfs_dir): Likewise.
11541 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11542 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11543 (grub_xfs_inode): New fields atime, mtime, ctime.
11544 (grub_xfs_dir): Set mtime.
11545 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11546 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11547 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11548
11549 Support UDF symlinks.
11550
11551 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11552 (grub_ufs_read_symlink): New function. All users updated.
11553
11554 Check amiga partmap checksum.
11555
11556 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11557 (grub_amiga_partition): Likewise.
11558 (amiga_partition_map_checksum): New function.
11559 (amiga_partition_map_iterate): Check checksum.
11560
11561 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 ROMFS support.
11564
11565 * Makefile.util.def (libgrubmods.a): Add romfs.
11566 * grub-core/Makefile.core.def (romfs): New module.
11567 * grub-core/fs/romfs.c: New file.
11568
11569 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 Squashfs v4 support.
11572
11573 * Makefile.util.def (libgrubmods.a): Add squash4.
11574 * grub-core/Makefile.core.def (squash4): New module.
11575 * grub-core/fs/squash4.c: New file.
11576 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11577 disk_input_start, disk_input.
11578 (get_byte): Handle disk_input.
11579 (grub_zlib_disk_read): New function.
11580 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11581
11582 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11583 2011-05-15 Feiran Zheng <famcool@gmail.com>
11584
11585 * Makefile.util.def (libgrubmods.a): Add minix3.
11586 * grub-core/Makefile.core.def (minix3): New module.
11587 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11588 (GRUB_MINIX_BSIZE): Removed.
11589 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11590 (grub_minix_ino_t): New type.
11591 (grub_minix_le_to_cpu_ino): New macro.
11592 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11593 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11594 (grub_minix_data): New field block_size.
11595 (grub_minix_read_file): Handle 64-bit correctly.
11596 * grub-core/fs/minix3.c: New file.
11597
11598 2011-05-15 Tristan Gingold <gingold@free.fr>
11599 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11600 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 IA64 support.
11603
11604 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11605 * configure.ac: Add ia64-efi target.
11606 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11607 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11608 * gentpl.py: Add ia64_efi platform.
11609 Rename x86_efi to efi and Add ia64-efi. All users updated.
11610 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11611 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11612 Remove kern/generic/rtc_get_time_ms.c on EFI.
11613 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11614 kern/ia64/dl_helper.c on ia64-efi.
11615 Add kern/emu/cache.c on emu.
11616 (linux): Use on loader/ia64/efi/linux.c on ia64.
11617 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11618 whether symbol is a function.
11619 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11620 (grub_symbol): New field 'isfunc'.
11621 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11622 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11623 (grub_dl_load_segments): Place all sections into the same region.
11624 [__ia64__]: Create trampolines and got.
11625 [GRUB_MACHINE_EMU]: Call mprotect.
11626 (grub_dl_resolve_symbols): Resolve symbol type as well.
11627 [__ia64__]: Create function descriptors.
11628 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11629 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11630 (grub_get_rtc): New function.
11631 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11632 * grub-core/kern/emu/cache.S: Renamed to ...
11633 * grub-core/kern/emu/cache_s.S: ... this.
11634 [__ia64__]: Add a nop.
11635 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11636 [__ia64__]: New function.
11637 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11638 * grub-core/kern/ia64/dl.c: New file.
11639 * grub-core/kern/ia64/dl_helper.c: Likewise.
11640 * grub-core/kern/ia64/efi/init.c: New file.
11641 * grub-core/kern/ia64/efi/startup.S: Likewise.
11642 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11643 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11644 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11645 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11646 * grub-core/loader/ia64/efi/linux.c: New file.
11647 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11648 (GRUB_MOD_DEP): Likewise.
11649 (grub_dl) [__ia64__]: New fields got and tramp.
11650 (grub_dl): New field 'base'.
11651 (grub_dl_register_symbol): New argument isfunc. All users updated.
11652 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11653 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11654 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11655 (grub_ia64_dl_get_tramp_got_size): New proto.
11656 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11657 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11658 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11659 * include/grub/efi/api.h: Skip call wrappers on ia64.
11660 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11661 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11662 * include/grub/elf.h (ELF_ST_INFO): New definition.
11663 * include/grub/ia64/efi/kernel.h: New file.
11664 * include/grub/ia64/efi/memory.h: Likewise.
11665 * include/grub/ia64/efi/time.h: Likewise.
11666 * include/grub/ia64/kernel.h: Likewise.
11667 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11668 * include/grub/ia64/time.h: New file.
11669 * include/grub/ia64/types.h: Likewise.
11670 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11671 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11672 New protos.
11673 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11674 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11675 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11676 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11677 All users updated.
11678 (EFI64_HEADER_SIZE): New definition. All users updated.
11679 (image_targets): Add ia64-efi.
11680 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11681 jumpers_addr. All users updated.
11682 Create function descriptors.
11683 (count_funcs): New function.
11684 (unaligned_uint32): New struct.
11685 (MASK20): New definition.
11686 (MASK19): Likewise.
11687 (MASKF21): Likewise.
11688 (add_value_to_slot_20b): New function.
11689 (add_value_to_slot_21_real): Likewise.
11690 (add_value_to_slot_21): Likewise.
11691 (ia64_kernel_trampoline): New struct.
11692 (nopm): New variable.
11693 (jump): Likewise.
11694 (make_trampoline): New function.
11695 (relocate_addresses): Handle ia64.
11696 (make_reloc_section): Likewise.
11697 (load_image): Likewise.
11698
11699 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11702 warning. Move variables before code while on it.
11703
11704 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 Fuloong support.
11707
11708 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11709 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11710 * grub-core/boot/mips/loongson/fuloong.S: New file.
11711 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11712 Explicitly init CS5536.
11713 [FULOONG]: Don't use serial until CS5536 is available.
11714 Set GPIO based on dumps.
11715 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11716 [FULOONG]: Handle GPIO and memory controller differences.
11717 Parse machine type in $a2.
11718 * grub-core/boot/mips/startup_raw.S: Determine and save the
11719 architecture.
11720 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11721 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11722 init on architecture type.
11723 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11724 SIS315E. Don't init at_keyboard on fuloong.
11725 (grub_halt): Support Fuloong.
11726 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11727 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11728 (loongson_machtypes): New array.
11729 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11730 type.
11731 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11732 config. All users updated. Handle CS5536 serial.
11733 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11734 default port on machine type. Register serial as inactive.
11735 * grub-core/video/sis315pro.c: New file.
11736 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11737 definition.
11738 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11739 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11740 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11741 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11742 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11743 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11744 to ...
11745 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11746 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11747 definition.
11748 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11749 (grub_arch_machine): New extern var.
11750 * include/grub/mips/loongson/serial.h
11751 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11752 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11753 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11754 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11755 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11756 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11757 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11758 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11759 * include/grub/term.h (grub_term_register_input_inactive): New inline
11760 function.
11761 (grub_term_register_output_inactive): Likewise.
11762 * include/grub/video.h (grub_video_driver_id): New value
11763 GRUB_VIDEO_DRIVER_SIS315PRO.
11764 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11765 New field "names". All users updated.
11766 New field value IMAGE_FULOONG_FLASH.
11767 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11768
11769 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11770
11771 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11772 and add some clarification.
11773
11774 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11777 platforms if kernel is compressed.
11778
11779 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11782 unused modules since currently referrence counter isn't reliable and
11783 there isn't much memory to recover there anyway.
11784
11785 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11788 rather than resetting it to allow modules to reference themselves
11789 in init.
11790
11791 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11794 counter on dependencies since grub_dl_unref already handles this.
11795
11796 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11797
11798 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11799 on error if not already done.
11800
11801 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 Fix few potential memory misusage.
11804
11805 * grub-core/font/font.c (load_font_index): Don't free char_index to
11806 avoid double free.
11807 (grub_font_load): Zero-fill font at alloc for safety.
11808 Close file on error.
11809 (free_font): Free bmp_idx.
11810
11811 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 * docs/grub.texi (Installation): Fix several outdated claims.
11814
11815 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 Handle module_license on windows.
11818
11819 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11820 sections shifted.
11821 (insert_string): Make argument const char * instead of char *.
11822 (write_section_data): Handle long section names.
11823 Handle module_license.
11824
11825 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11828 handle class-free menuentries.
11829 (grub_normal_add_menu_entry): Add a check to be sure.
11830
11831 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11834 PgUp and PgDown.
11835
11836 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * configure.ac: Bump version to 1.99.
11839
11840 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 Give ATA device a bit more time on first try in order to allow disks
11843 to spin up.
11844
11845 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11846 if dev->present is 1. Reset dev->present on failure.
11847 (grub_ata_device_initialize): Set dev->present to 1.
11848 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11849 (grub_ata_device): New member 'present'.
11850
11851 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * util/grub-mkimage.c (generate_image): Update hash.
11854
11855 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11856
11857 Flush caches on DMA memory.
11858
11859 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11860 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11861 (grub_dma_free): Likewise.
11862 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11863
11864 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11867 to avoid asm treating ld and sd as macros.
11868
11869 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11872 decompressor.
11873
11874 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11877 grub_decompress_core since later would fail if grub_decompress_core
11878 is too far.
11879
11880 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11883 R_MIPS_JALR since it's used by newer compiler.
11884
11885 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11888
11889 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11892 file_path to 0 for surety.
11893 (grub_chainloader_boot): Set exit_data to NULL.
11894 Unset the loader once done.
11895 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11896
11897 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11900 unknown key into a dprintf.
11901
11902 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11905 on first non-existant partition.
11906
11907 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11910 openning fails.
11911 Reported by: Mark Korenberg.
11912
11913 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11916 overflow.
11917
11918 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11921 before closing to ensure that it will be readable by grub-setup.
11922
11923 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11926 (devpath_1): Use MAKE_PIWG_PATH.
11927 (devpath_2): Likewise.
11928 (devpath_3): Likewise.
11929 (devpath_4): Likewise.
11930 (devpath_5): Likewise.
11931 (devpath_6): Likewise.
11932
11933 The appleldr.mod was checked that to be binary identical to previous
11934 version.
11935
11936 2011-05-05 Zach <mikezackles>
11937
11938 Support 2010 Macbooks.
11939
11940 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11941 (devs): Add devpath_6.
11942
11943 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11946 /dev/random. /dev/urandom is good enough for our purposes (salting).
11947
11948 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11951
11952 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11955 hexadecimal.
11956
11957 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11960 and not 0 on failure.
11961
11962 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11963
11964 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11965 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11966 disk; otherwise grub_fs_probe will not fall back to the next
11967 filesystem.
11968 (grub_pxefs_open): Likewise, for consistency.
11969 Reported and tested by: Ezekiel Grave.
11970
11971 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11972
11973 * tests/partmap_test.in: Don't hardcode path to parted.
11974 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11975
11976 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11977
11978 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11979 of `ls' to find out which devices are available.
11980
11981 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11984 than source address for efi mmap buffer.
11985
11986 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11989 wrong action on non-detecting the magic.
11990
11991 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11994 already supplied by another part of the module (fixes compilation on
11995 FreeBSD).
11996
11997 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12000 match the one used by mdadm.
12001
12002 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12003
12004 * po/README: Add instructions for creating po/LINGUAS.
12005
12006 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12007
12008 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12009 #551428.
12010
12011 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12012 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12013 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12014 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12015 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12016 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12017 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12018 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12019 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12020 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12021 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12022 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12023 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12024 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12025 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12026 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12027 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12028 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12029 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12030 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12031 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12032 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12033
12034 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12035
12036 * grub-core/kern/emu/getroot.c
12037 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12038 test that was incorrectly reintroduced in r3214.
12039 Reported by: Ian Dall. Fixes Savannah bug #33133.
12040
12041 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
12042
12043 Fix stack pointer handling in 16-bit relocator.
12044
12045 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12046 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12047 Fixes Ubuntu bug #683904.
12048
12049 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * configure.ac: Bump version to 1.99~rc2.
12052
12053 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12054
12055 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12056 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12057 * grub-core/lib/x86_64/setjmp.S: Likewise.
12058 * grub-core/lib/mips/setjmp.S: Likewise.
12059 * grub-core/lib/powerpc/setjmp.S: Likewise.
12060 * grub-core/lib/sparc64/setjmp.S: Likewise.
12061
12062 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12065 * grub-core/lib/efi/datetime.c: Likewise.
12066
12067 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12070 New function.
12071 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12072 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12073 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12074
12075 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12078 bitmap.
12079 (grub_gfxterm_term_init): Likewise.
12080
12081 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 Take into account the decorations the computing menu entry width.
12084
12085 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12086 (grub_gfxmenu_create_box): Register get_border_width.
12087 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12088 if available.
12089 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12090 get_border_width.
12091
12092 2011-04-18 Endres Puschner <code@e7p.de>
12093
12094 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12095 Don't skip first class.
12096
12097 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12100 chunks.
12101 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12102
12103 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 Complete 64-bit division support.
12106
12107 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12108 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12109 * include/grub/misc.h (grub_divmod64): Rename to ...
12110 (grub_divmod64_full): ... this.
12111 (grub_divmod64): New inline function.
12112
12113 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12116
12117 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12120 performing the necessary test.
12121
12122 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12125 (kfreebsd.elf): Likewise.
12126 (pc-chainloader.elf): Likewise.
12127 (ntldr.elf): Likewise.
12128
12129 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 Identify RAID by its UUID rather than (guessed) name.
12132
12133 * grub-core/disk/raid.c (ascii2hex): New function.
12134 (grub_raid_open): Accept mduuid/%s specification.
12135 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12136 (get_mdadm_uuid): ... this.
12137 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12138
12139 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12142 to negative size.
12143
12144 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
12145
12146 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12147 btrfs subvolume.
12148 * util/grub.d/20_linux_xen.in: Likewise.
12149
12150 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
12151
12152 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12153 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12154
12155 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12156 Build a list of relevant visible mounts using the mnt_id and
12157 parent_mnt_id fields, and then scan that list at the end.
12158
12159 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12160
12161 * docs/grub.texi (normal): New section.
12162 (normal_exit): New section.
12163 (Embedded configuration): Add reference to normal.
12164 (GRUB only offers a rescue shell): Likewise.
12165 * docs/grub-dev.texi (Error Handling): Fix typo.
12166
12167 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12168
12169 * NEWS: Drop obsolete entry about probe-only btrfs support.
12170
12171 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
12172
12173 * util/import_gcry.py: Fix typo.
12174
12175 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * NEWS: Add btrfs support.
12178
12179 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12180 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12181
12182 BtrFS support. Written by me (Vladimir) with important bugfixes and
12183 even more important testing by Colin.
12184
12185 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12186 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12187 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12188 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12189 mem_input_off and mem_input. All users updated to accept in-RAM input.
12190 (gzio_seek): New function.
12191 (test_zlib_header): Likewise.
12192 (grub_gzio_read): Likewise.
12193 (grub_zlib_decompress): Likewise.
12194 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12195 Accept partial and non-virtual mounts.
12196 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12197 avoid receiving /dev/dm-X as device.
12198 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12199 Handle bind and partial mounts.
12200 * grub-core/lib/crc.c: New file.
12201 * include/grub/deflate.h: Likewise.
12202 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12203 proto.
12204 * include/grub/lib/crc.h: New file.
12205
12206 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 Implement automatic module license checking according to new GNU
12209 guidelines.
12210
12211 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12212 (grub_dl_load_core): Use grub_dl_check_license.
12213 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12214 (GRUB_MOD_LICENSE): Likewise.
12215 (GRUB_MOD_DUAL_LICENSE): Likewise.
12216 All modules updated.
12217
12218 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
12219
12220 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12221 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12222 loaders.
12223 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12224
12225 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12228
12229 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12232 failed.
12233
12234 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12237 parenthesis in the middle of the filename.
12238
12239 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12242 rather than trying to put initrd way too high.
12243 Reported by: Ryan Lortie <desrt@desrt.ca>
12244
12245 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12248 improperly removed string.
12249
12250 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12251
12252 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12253 is_disk.
12254 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12255 (open_device) Likewise.
12256 (grub_util_biosdisk_close): Likewise.
12257 Reported by: Mark Korenberg.
12258
12259 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12260
12261 * util/grub-mkconfig_lib.in: Add missing quotes.
12262
12263 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
12264
12265 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12266 is NULL.
12267
12268 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 Dynamically count the number of lines for the lower banner.
12271
12272 * grub-core/normal/menu_entry.c (per_term_screen): New member
12273 num_entries.
12274 (print_down): Use num_entries.
12275 (update_screen): Likewise.
12276 (grub_menu_entry_run): Set num_entries.
12277 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12278 num_entries.
12279 (grub_print_message_indented): Move real part to ...
12280 (grub_print_message_indented_real): ... here. Additional argument
12281 dry_run.
12282 (draw_border): Additional argument num_entries.
12283 (print_message): Additional argument dry_run.
12284 (print_entries): Receive menu viewer data.
12285 (grub_menu_init_page): New argment num_entries.
12286 (menu_text_set_chosen_entry): Use num_entries.
12287 (grub_menu_try_text): Likewise.
12288 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12289 All users updated.
12290 (grub_ucs4_count_lines): New function.
12291 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12292 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12293 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12294 (grub_term_border_height): Likewise.
12295 (grub_term_num_entries): Likewise.
12296
12297 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12300 Remove now unused string.
12301
12302 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12303
12304 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12305 build system.
12306 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12307
12308 (Comment): Fix typo.
12309 (Getting started): General copy-editing.
12310 (Typical Development Experience): Likewise.
12311 (Error Handling): Likewise.
12312 (Video API): Likewise.
12313
12314 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
12315
12316 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12317 throughout.
12318
12319 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12322 directory.
12323
12324 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12325
12326 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12327 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12328 "development".
12329
12330 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12333 grub_strcpy since the lines aren't necessarily 0-terminated.
12334
12335 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12338 root on legacy.
12339
12340 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12343 (GRUB_MOD_INIT): DEVICE isn't optional.
12344
12345 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12348 word on new line if it's too long anyway. Fixes a hang.
12349
12350 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12353 const.
12354 * util/grub-setup.c (main): Reuse md device name if available.
12355 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12356 not GRUB name as argument.
12357 Based on patch by: Florian Wagner <fwagner>.
12358
12359 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12362 Place mbi on low memory for better compatibility.
12363
12364 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12365
12366 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12367
12368 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12369 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12370
12371 * autogen.sh: Ensure that collate and ctype locale is C.
12372 * conf/Makefile.common: Likewise.
12373
12374 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * grub-core/normal/menu.c: Add missing include.
12377
12378 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
12381
12382 2011-04-08 Martin Zuther <mzuther@mzuther.de>
12383
12384 * util/grub-mkconfig.in: Ignore emacsen backup.
12385
12386 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12389 on open.
12390 (grub_util_biosdisk_close): Likewise.
12391
12392 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12395 const attribute and use grub_isdigit.
12396
12397 2011-04-06 Andrey <dev_null@ukr.net>
12398
12399 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12400 gcc warning.
12401
12402 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12403
12404 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12405 useful grub_dprintf's.
12406
12407 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12408
12409 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12410
12411 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12414
12415 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 Output errors if theme loading failed.
12418
12419 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12420 grub_gfxterm_fullscreen on error paths to ...
12421 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12422 theme loading error.
12423
12424 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12427 space for older compilers.
12428 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12429
12430 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12433 and report them as not RAID members since they are useless for GRUB.
12434 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12435
12436 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 Increase LVM implementation robustness in order not to crash on
12439 configurations like pvmove. Previously code assumed that in some places
12440 only lvs or only pvs are used whereas it seems that they are used
12441 interchangeably.
12442
12443 * grub-core/disk/lvm.c (read_node): New function.
12444 (read_lv): Use read_node.
12445 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12446 Match volumes only at the end when all lvs are found. Take both
12447 pvs (first) and lvs (second) into account.
12448 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12449 mirror_* into node_*. All users updated.
12450 (grub_lvm_stripe): Merge this ...
12451 (grub_lvm_mirror): ... and this ...
12452 (grub_lvm_node): ... into this. All users updated.
12453
12454 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12457 of function to allow further scanning for LVMs.
12458
12459 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12462 on failed seek as it breaks open fd reusage.
12463
12464 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * util/grub-install.in: Add a recommendation to use --recheck before
12467 reporting bugs.
12468
12469 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12472 are obtained.
12473
12474 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12475
12476 GRUB developper manual based on existing Internals section and
12477 contributions by the various authors with active copyright assignment.
12478
12479 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12480 * docs/font_char_metrics.png: New file.
12481 * docs/font_char_metrics.txt: Likewise.
12482 * docs/grub-dev.texi: Likewise.
12483 * docs/grub.texi (Internals): Move from here ...
12484 * docs/grub-dev.texi: ... here.
12485
12486 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12487
12488 Store the loopback device as data on loopback grub_disk structures,
12489 rather than the file it points to. This fixes use of freed memory
12490 if an existing loopback device is replaced.
12491
12492 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12493 disk->data, not dev->file.
12494 (grub_loopback_read): Adjust file assignment to match.
12495 Fixes Ubuntu bug #742967.
12496
12497 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12498
12499 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12500 when replacing an existing device.
12501
12502 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12505 memory corruptions.
12506
12507 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12508 unsigned.
12509 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12510 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12511 (grub_jfs_read_inode): Likewise.
12512 (grub_jfs_opendir): Likewise. Remove now useless casts.
12513 (grub_jfs_getent): Likewise.
12514 Make ino a grub_uint32_t rather than int.
12515 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12516 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12517 division and module with bit operations.
12518 (grub_jfs_find_file): Make ino a grub_uint32_t.
12519 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12520
12521 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12522
12523 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12524 warning. (This was in fact always initialised before use, but GCC
12525 wasn't smart enough to prove that.)
12526 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12527
12528 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12529
12530 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12531 stack alignment.
12532 (efi_wrap_1): Likewise.
12533 (efi_wrap_2): Likewise.
12534 (efi_wrap_3): Likewise.
12535 (efi_wrap_4): Likewise.
12536 (efi_wrap_5): Likewise.
12537 (efi_wrap_6): Likewise.
12538 (efi_wrap_10): Likewise.
12539 Based on information by: Red Hat/Peter Jones.
12540
12541 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12542
12543 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12544 set-but-not-used variable.
12545
12546 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12547
12548 * docs/grub.texi (Simple configuration): Be more explicit about
12549 GRUB_DEFAULT, and add an example.
12550 Reported by: Leslie Rhorer.
12551
12552 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12553
12554 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12555 shell".
12556
12557 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12558
12559 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12560 * util/grub.d/20_linux_xen.in: Likewise.
12561
12562 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 * util/grub.d/10_linux.in: Try alternative config filenames where
12565 we parse config file.
12566 * util/grub.d/20_linux_xen.in: Likewise.
12567
12568 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12569
12570 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12571 * util/grub.d/20_linux_xen.in: Likewise.
12572
12573 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * grub-core/disk/raid.c (insert_array): Add few potentially
12576 useful grub_util_info.
12577 (grub_raid_register): Likewise.
12578
12579 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12582 Preserve partition number in mdadm code path.
12583
12584 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12585
12586 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12587 few potentially useful grub_util_info.
12588
12589 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12592
12593 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12594
12595 * docs/grub.texi (default): Use @example rather than nested
12596 itemized lists to avoid breaking gendocs.
12597
12598 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12599
12600 * docs/grub.texi (Future): Update.
12601
12602 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12603
12604 * docs/grub.texi (Environment): New chapter.
12605 (Changes from GRUB Legacy): Link to "Environment block" section for
12606 details of limitations.
12607 (Simple configuration): Likewise. Link to documentation of gfxmode
12608 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12609 respectively.
12610 (Shell-like scripting): Note that normal variables are stored in the
12611 environment.
12612 (gettext): Link to documentation of lang and locale_dir.
12613 (list_env): New section.
12614 (load_env): New section.
12615 (save_env): New section.
12616
12617 (Reporting bugs): Fix typo.
12618
12619 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12622 the example.
12623
12624 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * grub-core/term/at_keyboard.c (set_scancodes)
12627 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12628
12629 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12630
12631 * docs/grub.texi (Menu-specific commands): Remove some semantics
12632 that were true in GRUB Legacy but not in GRUB 2.
12633 (submenu): New section.
12634 (false): New section.
12635 (read): New section.
12636 (true): New section.
12637
12638 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12639
12640 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12641
12642 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12643
12644 * docs/grub.texi (Simple configuration): Explain some of the
12645 current limitations of grub-mkconfig.
12646 Reported by: Leslie Rhorer.
12647
12648 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 Old macs search for boot.efi rather than for bootia32.efi.
12651
12652 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12653 * util/grub-mkrescue.in: Likewise.
12654 Suggested by: Peter Jones.
12655
12656 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12659
12660 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12663 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12664 (grub_lvm_mirror): New struct.
12665 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12666 (grub_lvm_iterate): Iterate only visible volumes.
12667 (grub_lvm_read): Factor out to ..
12668 (read_lv): ... this. Support mirrors.
12669 (grub_lvm_read): New wrapper function.
12670 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12671 stripped or mirrored.
12672
12673 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12676
12677 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12678
12679 * docs/grub.texi (loopback): New section.
12680
12681 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12682
12683 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12684 removed -p option.
12685
12686 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12687
12688 * docs/grub.texi (BIOS installation): New section, partly based on
12689 previous text in other sections.
12690 (Installing GRUB using grub-install): Replace BIOS discussion with a
12691 cross-reference.
12692 (Images): Likewise.
12693
12694 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12697 [HAVE_DIOCGDINFO]: Add safety checks.
12698
12699 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12702 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12703
12704 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12705
12706 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12707 real_sb->size is zero (e.g. RAID-0), get the disk size from
12708 real_sb->data_size instead.
12709 Fixes Ubuntu bug #743136.
12710
12711 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12714 printf clauses for printing size and start.
12715
12716 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12719 Reported and tested by: Timothy Nikkel.
12720
12721 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12724 (dirty_region_add_real): ... this.
12725 (dirty_region_add): Don't discard margin refresh when performing
12726 scheduled repaint.
12727
12728 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * grub-core/lib/relocator.c (allocate_regstart)
12731 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12732 terminals are capabple of malloc-free operation.
12733 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12734 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12735
12736 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12737
12738 * util/grub-setup.c: Copy the partition table zone if floppy support
12739 is disabled, even if no partition table is found.
12740
12741 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12742 during POST if an invalid partition table is contained in the PBR
12743 of the active partition when GRUB is installed to a partition.
12744
12745 2011-03-28 Colin Watson <cjwatson@debian.org>
12746
12747 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12748 comment.
12749
12750 2011-03-28 Colin Watson <cjwatson@debian.org>
12751
12752 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12753 to be specific about what kind of RAID device we're scanning for.
12754
12755 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12756
12757 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12758 return freed string.
12759
12760 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12763
12764 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 Use libgeom on FreeBSD to detect partitions.
12767
12768 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12769 (grub-mkrelpath): Likewise.
12770 (grub-script-check): Likewise.
12771 (grub-editenv): Likewise.
12772 (grub-mkpasswd-pbkdf2): Likewise.
12773 (grub-fstest): Likewise.
12774 (grub-mkfont): Likewise.
12775 (grub-mkdevicemap): Likewise.
12776 (grub-probe): Likewise.
12777 (grub-setup): Likewise.
12778 (grub-ofpathname): Likewise.
12779 (grub-mklayout): Likewise.
12780 (example_unit_test): Likewise.
12781 (grub-menulst2cfg): Likewise.
12782 * grub-core/Makefile.core.def (grub-emu): Likewise.
12783 (grub-emu-lite): Likewise.
12784 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12785 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12786 define HAVE_DIOCGDINFO.
12787 (follow_geom_up) [FreeBSD]: New function.
12788 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12789 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12790 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12791 unconditionally of HAVE_DIOCGDINFO.
12792
12793 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 Fix FreeBSD compilation problem.
12796
12797 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12798 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12799
12800 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
12801
12802 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12803 Switch back to page zero before loading a kernel, since some kernel
12804 drivers expect that.
12805 Thanks to: Felix Kuehling.
12806
12807 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12810 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12811 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12812
12813 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12816 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12817
12818 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12821 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12822 malloc is disabled.
12823
12824 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12827 for modules headers when counting the needed allocation size.
12828
12829 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12832 if no ASCII character is found to prevent crash.
12833
12834 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12835
12836 * grub-core/video/bitmap.c (match_extension): Ignore case.
12837
12838 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12841
12842 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * grub-core/script/parser.y: Declare "time" as valid argument.
12845
12846 2011-03-23 Peter Jones <pjones@redhat.com>
12847
12848 Fix incorrect assert failure reporting.
12849
12850 * grub-core/tests/example_functional_test.c (example_test): Add
12851 a failure comment.
12852 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12853 (failure_start): ...this. Check that malloc succeeded.
12854 Don't call xvasprintf. Return failure struct.
12855 (failure_append_vtext): New function.
12856 (failure_append_text): Likewise.
12857 (add_failure): Likewise.
12858 (grub_test_assert_helper): Likewise.
12859 * include/grub/test.h (grub_test_assert_helper): New declaration.
12860 (grub_test_assert): Macro rewritten.
12861
12862 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12865
12866 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12869
12870 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12873 into GRUB-style one.
12874
12875 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12878 error and not grub_errno.
12879 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12880
12881 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12884 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12885
12886 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/efiemu/i386/pc/cfgtables.c
12889 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12890 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12891 (grub_xnu_unlock): Likewise.
12892 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12893
12894 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12897 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12898 * grub-core/commands/hashsum.c (aliases): Likewise.
12899 * grub-core/commands/setpci.c (pci_registers): Likewise.
12900 * grub-core/disk/usbms.c (attach_hook): Likewise.
12901 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12902 (zio_checksum_table): Likewise.
12903 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12904 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12905 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12906 * grub-core/lib/relocator.c (leftovers): Likewise.
12907 (extra_blocks): Likewise.
12908 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12909 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12910 (modules_last): Likewise.
12911 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12912 (devices): Likewise.
12913 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12914 (modules_last): Likewise.
12915 * grub-core/normal/auth.c (users): Likewise.
12916 * grub-core/normal/context.c (initial_menu): Likewise.
12917 (current_menu): Likewise.
12918 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12919 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12920 (grub_serial_terminfo_input_template): Likewise.
12921 (grub_serial_terminfo_output_template): Likewise.
12922 (grub_serial_terminfo_input): Likewise.
12923 (grub_serial_terminfo_output): Likewise.
12924 (registered): Likewise.
12925 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12926
12927 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12930 grub_video_mode_type_t.
12931 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12932 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12933 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12934
12935 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * util/grub-install.in: Correct the x86-64 name as x86_64.
12938
12939 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12940
12941 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12942 initial chunk read from the kernel always includes GRUB's multiboot
12943 header, which is now outside the first sector.
12944
12945 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12946
12947 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12948 cached mmap_size, so that this works correctly when called multiple
12949 times.
12950 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12951
12952 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12953
12954 * docs/grub.texi (Simple configuration): Tidy up formatting.
12955
12956 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12957
12958 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12959 Set-but-not-used variable removed.
12960
12961 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 Workaround yet another IEEE1275 bug.
12964
12965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12966 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12967 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12968 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12969 is set.
12970 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12971 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12972
12973 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12976 error.
12977
12978 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12979
12980 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12981 empty, since in that case we can only generate either nothing or a
12982 syntactically invalid configuration file.
12983 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12984
12985 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12986
12987 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12988 (Making a GRUB bootable CD-ROM): Likewise.
12989 (Invoking grub-mkrescue): New section.
12990 Reported by: Yann Dirson. Fixes Debian bug #612585.
12991
12992 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12993
12994 * util/grub-install.in: Remove unnecessary brackets from tr
12995 arguments.
12996 * util/grub.d/10_hurd.in: Likewise.
12997 * util/grub.d/10_kfreebsd.in: Likewise.
12998 * util/grub.d/10_linux.in: Likewise.
12999 * util/grub.d/20_linux_xen.in: Likewise.
13000 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13001
13002 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
13003
13004 * include/grub/file.h (not_easly_seekable): Rename to ...
13005 (not_easily_seekable): ... this. Update all users.
13006
13007 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
13008
13009 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13010 grub-mkrescue.
13011
13012 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * util/grub-mkimage.c (generate_image): Refuse to create the images
13015 bigger than the actual flash (512K) in Loongson machines. 512K is also
13016 the biggest chip supported by them.
13017
13018 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13021
13022 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
13023
13024 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13025 super_offset field.
13026
13027 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 * util/grub-install.in: Ignore install device on platforms
13030 where it doesn't make sense. Always use UUIDs except on pc, efi and
13031 sparc64.
13032 Reported by: Daniel Kahn Gillmor.
13033
13034 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13037
13038 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13041 (iterate_real): Don't rely on partition being non-NULL.
13042
13043 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13046 supported platforms. Put a compile time assert for this rather than
13047 generate a warning with 32-bit shift.
13048
13049 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13052 logical expression more readable.
13053
13054 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13057 even if some elements have a name.
13058 Reported by: Alexander GQ Gerasiov.
13059
13060 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13061
13062 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13063 path unreadable if `grub-probe -t abstraction' fails, for example if
13064 memberlist fails on an LVM volume group.
13065 Reported by: Darius Jahandarie.
13066
13067 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
13068
13069 * docs/grub.texi (Simple configuration): Document
13070 GRUB_PRELOAD_MODULES.
13071
13072 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
13073
13074 * .bzrignore: Remove nonexistent grub-pbkdf2.
13075
13076 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * configure.ac: Bump version to 1.99~rc1.
13079
13080 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13083 for safety.
13084
13085 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13086
13087 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13088 module.
13089
13090 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13093
13094 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13097 diskdevid.
13098
13099 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 Fix compilation on cygwin.
13102
13103 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13104 -R .drectve on cygwin.
13105 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13106 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13107 (COND_CYGWIN): New condition.
13108 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13109 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13110 not @TARGET_OBJ2ELF@.
13111 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13112 type to determine whether aux is to be used.
13113
13114 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13117 realpath'ed device string.
13118 Handle floppy (somewhat).
13119 Issue error in unknown case rather than garbage.
13120 Reported by: Axel Beckert.
13121
13122 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * util/grub.d/00_header.in (load_video): Handle the case when no video
13125 drivers available.
13126 Thanks to: Axel Beckert.
13127
13128 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13131 variable. Fixes problem on big endian platforms.
13132
13133 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13136 It doesn't work well there.
13137
13138 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13141 warning.
13142 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13143 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13144 counter.
13145
13146 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 Use alias->path rather than buggy "canon".
13149
13150 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13151 (ofdisk_hash_add): New argument curcan. All users updated.
13152
13153 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
13154
13155 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13156
13157 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13160 loadmask before doing any calculations. Use correct type for offset.
13161 (grub_linux_load64): Likewise.
13162
13163 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
13164
13165 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13166 with NULL.
13167 (console_grub_equivalences_unshift): Likewise.
13168 Reported by: Daniel Dehennin.
13169
13170 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13173 (set_env_limn_ro): Likewise.
13174 (GRUB_MOD_INIT): Likewise.
13175 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13176 ARRAY_SIZE while on it.
13177 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13178 * grub-core/normal/context.c (grub_env_export): Move from here ...
13179 * grub-core/kern/env.c (grub_env_export): ... here.
13180 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13181 prefix.
13182 * grub-core/kern/main.c (grub_main): Export root and prefix.
13183 * include/grub/env.h (grub_env_export): Export.
13184 Reported by: Seth Goldberg.
13185
13186 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13189 Take into account space used by ELF sections and multiboot palette.
13190 Reported by: Grégoire Sutre.
13191
13192 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * BUGS: New file.
13195
13196 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 Pass more appropriate video id to Linux.
13199
13200 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13201 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13202 fill have_vga.
13203 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13204 shift params->lfb_size.
13205 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13206
13207 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13210
13211 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13214 separator and pass bootpath/devid even if only one of them is available.
13215 Reported by: Seth Goldberg.
13216
13217 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13220 implementations bug on them.
13221
13222 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13223 memory.
13224 (filter_memory_map): Likewise.
13225
13226 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13229 Reported by: nebuchadnezzar.
13230
13231 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13234 Reported by: nebuchadnezzar.
13235
13236 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 Submenu default support.
13239
13240 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13241 auto_boot. All users updated.
13242 Declared static.
13243 Handle chosen and default with submenus.
13244 (grub_menu_execute_with_fallback): Declared static.
13245 Don't notify failure if autobooted. Upper level does it.
13246 (menuentry_eq): New function.
13247 (get_entry_number): Use menuentry_eq.
13248 (show_menu): New parameter "autobooted". All users updated.
13249 (grub_show_menu): Likewise.
13250 * include/grub/normal.h (grub_show_menu): Likewise.
13251 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13252 (grub_menu_execute_with_fallback): Likewise.
13253
13254 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13255
13256 * util/grub-mklayout.c (usage): Update help text.
13257
13258 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13261
13262 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * util/grub-menulst2cfg.c (main): Trim the line.
13265
13266 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13269 (grub_machine_init): Don't check amount of low memory as reportedly
13270 INT 12h can be broken and if low memory is too low we wouldn't have
13271 gotten into grub_machine_init anyway.
13272
13273 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13276 (grub_machine_mmap_iterate): Take low memory into account
13277
13278 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13281 badfs.
13282 Reported by: TiCPU.
13283
13284 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13287 members errors.
13288
13289 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13290
13291 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13292 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13293
13294 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13295
13296 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13297 openbsd and netbsd types being in part_bsd module.
13298
13299 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13302 (_FILE_OFFSET_BITS): Likewise.
13303 Reported by: Seth Goldberg.
13304
13305 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13306
13307 * configure.ac: Check for libdevmapper header.
13308
13309 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13312 avoid aliasing.
13313 (fzap_lookup): Likewise.
13314 (dnode_get): Likewise.
13315 (make_mdn): Likewise.
13316 (zfs_mount): Likewise.
13317 (fzap_iterate): Use temporary pointer to avoid aliasing.
13318 (grub_zfs_read): Likewise.
13319 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13320 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13321 pointers to avoid aliasing.
13322 (grub_cmd_xnu_kernel64): Likewise.
13323 (grub_xnu_load_driver): Likewise.
13324
13325 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13328 aliasing warning.
13329 (grub_cmd_terminal_output): Likewise.
13330 Reported and tested by: Grégoire Sutre.
13331
13332 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13335 warning.
13336 Reported and tested by: Grégoire Sutre.
13337
13338 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * configure.ac: Do CPU substitution even if it's specified explicitly.
13341 Reported and tested by: Alain Greppin.
13342
13343 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13346 Reported and tested by: Alain Greppin.
13347
13348 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 Satisfy some bison versions need for inttypes.h.
13351
13352 * grub-core/lib/posix_wrap/inttypes.h: New file.
13353 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13354 (int16_t): Likewise.
13355 (int32_t): Likewise.
13356 (int64_t): Likewise.
13357 Reported and tested by: Alain Greppin.
13358
13359 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13362 Silence spurious warning.
13363 Reported and tested by: Alain Greppin.
13364
13365 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13366
13367 * docs/grub.texi (Support automatic decompression): Update with xz
13368 decompression support.
13369
13370 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13371
13372 Improve loaders' kernel command line handling.
13373
13374 * grub-core/lib/cmdline.c: New file.
13375 * include/grub/lib/cmdline.h: Likewise.
13376 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13377 grub_create_loader_cmdline to create kernel command line.
13378 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13379 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13380 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13381 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13382 (linux): Add lib/cmdline.c on common.
13383
13384 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13387 inopos might be unaligned.
13388
13389 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13392 endian transformations.
13393 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13394 Based on report by: Doug Nazar.
13395
13396 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
13397
13398 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13399 array->members[i].start_sector.
13400 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13401
13402 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13403
13404 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13405 Reported and tested by: Grégoire Sutre.
13406
13407 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13408
13409 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13410 avoid causing test failures by clearing the screen.
13411
13412 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13413
13414 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13415 Fix prefix check to handle the case where dir ends with a slash
13416 (most significantly, "/" itself).
13417 Reported by: Michael Vogt.
13418
13419 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 Run terminfo_cls on initing terminfo output to clear the screen and
13422 move the cursor to (0,0).
13423
13424 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13425 Call grub_terminfo_output_init.
13426 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13427 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13428 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13429
13430 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13433 only when needed.
13434
13435 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13438 CTRL.
13439
13440 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13441
13442 The E820 type 5 is BADRAM, not EXEC_CODE.
13443
13444 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13445 (GRUB_E820_BADRAM): New define.
13446 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13447 into reserved. Propagate BADRAM.
13448 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13449 (GRUB_E820_BADRAM): New define.
13450
13451 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13454 Ignore the memory post-4G.
13455 (grub_relocator_firmware_alloc_region): Additional debug statement.
13456
13457 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13460 names.
13461 Reported by: David Pravec.
13462
13463 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13466 BIOSes.
13467
13468 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13471 Prevent overflow.
13472 (grub_reed_solomon_recover): Likewise.
13473
13474 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13477
13478 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13481 variable.
13482
13483 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13484
13485 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13486 descriptions of extract_legacy_entries_source and
13487 extract_legacy_entries_configfile.
13488 Reported by: Seung Soo, Ha.
13489
13490 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13491
13492 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13493 on devices that do not implement function 0.
13494
13495 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13496
13497 * grub-core/fs/hfsplus.c: Make parent unsigned.
13498 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13499 overflows.
13500 (grub_hfsplus_cmp_extkey): Likewise
13501
13502 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * util/grub-install.in: Correctly use bootloader_id and not
13505 GRUB_DISTRIBUTOR on efibootmgr line.
13506
13507 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13508
13509 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13510
13511 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13512
13513 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13514 Xen and reorder menu item wording to make it clearer that this entry
13515 will launch Xen. Print separate messages when loading Xen and
13516 Linux.
13517
13518 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13521 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13522 loop in case of incorrect amiga partmap.
13523
13524 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13527 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13528 Reported by:EHeM.
13529
13530 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13533 spurious warning.
13534 Reported by: crocket
13535
13536 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13539 Preload EFIemu.
13540 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13541
13542 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13545 is loaded
13546 (grub_cmd_xnu_kextdir): Likewise.
13547 (grub_cmd_xnu_splash): Likewise.
13548
13549 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 Avoid using Reed-Solomon with 0 redundancy.
13552
13553 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13554 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13555 or 0 redundancy.
13556 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13557 (grub_reed_solomon_recover): Likewise.
13558
13559 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 Don't use disk subsystem in freebsd_boot.
13562
13563 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13564 (freebsd_biosdev): Likewise.
13565 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13566 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13567
13568 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 Handling of files of unknown size is currently limited. They can't be
13571 used e.g. for initrd or modules. Moreover gzip handling of not
13572 easily seekable files is buggy. Disable unknown file size for now. May
13573 be inefficient but works.
13574
13575 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13576 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13577
13578 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13579
13580 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13581 floppy probe.
13582
13583 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13584
13585 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13586
13587 2010-12-25 Shea Levy <shlevy>
13588
13589 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13590
13591 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13594 Windows Server 2008.
13595 Reported by: Devin Giddings.
13596
13597 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13600 writing an error message because of async power management.
13601 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13602 (grub_reboot): Likewise.
13603
13604 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13605
13606 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13607 keep unit tests from failing when they shouldn't.
13608
13609 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13610
13611 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13612 previous patch increased the size of the RS code by 20 bytes (at
13613 least with gcc-4.4), so increase this by 20 bytes to match.
13614 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13615
13616 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13617
13618 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13619 scratch area. Make sure to initialise chosen in standalone mode as
13620 well as non-standalone.
13621 Reported by: Robert Hooker and Andy Whitcroft.
13622 Tested by: Andy Whitcroft.
13623
13624 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13625
13626 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13627 constructing a new unescaped string and passing it to grub_xputs in
13628 one go, rather than passing characters to grub_printf one at a time.
13629
13630 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13631
13632 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13633 initialising utf16.
13634
13635 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13636
13637 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13638 comment. Add an extra layer of quotation, requiring the output of
13639 this function to be used in a printf format string.
13640 (gettext_printf): New function.
13641 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13642 Extract translatable strings from here-documents and use a temporary
13643 variable instead, so that xgettext can find them.
13644 * util/grub.d/10_kfreebsd.in: Likewise.
13645 * util/grub.d/10_linux.in: Likewise.
13646 * util/grub.d/20_linux_xen.in: Likewise.
13647
13648 * po/grub.d.sed: New file.
13649 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13650 arguments. Set c-format flags on all strings extracted from
13651 util/grub.d/ (xgettext refuses to include these itself for strings
13652 it extracted from a shell file, but these really are c-format).
13653
13654 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13657 Avoid next pointing to nowhere.
13658
13659 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13660
13661 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13662 rather than assuming than rootblock is exactly in the middle.
13663 (grub_affs_label): Likewise.
13664
13665 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13668 reserved_first_sector to 0.
13669 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13670 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13671 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13672
13673 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 Fix handling of UTF-16 UDF labels.
13676
13677 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13678 (read_string): .. here.
13679 (grub_udf_label): Use read_string.
13680
13681 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13682
13683 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13684 editor under argument scope.
13685 Reported by: Jordan Uggla
13686
13687 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13690
13691 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
13692
13693 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13694 line, and other keys scroll an entire page (previous handling was
13695 for \r and \n to scroll a page and other keys to scroll two lines).
13696
13697 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13698
13699 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13700 Set ptrdest to correct get_physical_target_address rather than
13701 incorrect get_virtual_current_address.
13702
13703 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13704
13705 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13706 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13707
13708 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13709
13710 * .bzrignore: Ignore grub-core/rs_decoder.S.
13711
13712 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13713
13714 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13715 .mo/.mo.gz opening sequence to ...
13716 (grub_mofile_open_lang): ... here.
13717 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13718 * util/grub.d/00_header.in (grub_lang): Include country part of
13719 locale.
13720 Reported by: Mario Limonciello.
13721
13722 2010-12-09 Robert Millan <rmh@gnu.org>
13723
13724 * NEWS: Document addition of ZFS support.
13725
13726 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
13727
13728 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13729 rather than `/ 2', as the latter requires -Wa,--divide which would
13730 require bumping our minimum binutils version.
13731
13732 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13733
13734 * util/grub-script-check.c (main): Print script line number on
13735 error.
13736
13737 2010-12-01 Robert Millan <rmh@gnu.org>
13738
13739 * grub-core/fs/zfs/zfs.c: New file.
13740 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13741 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13742 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13743 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13744
13745 * include/grub/zfs/dmu.h: Likewise.
13746 * include/grub/zfs/dmu_objset.h: Likewise.
13747 * include/grub/zfs/dnode.h: Likewise.
13748 * include/grub/zfs/dsl_dataset.h: Likewise.
13749 * include/grub/zfs/dsl_dir.h: Likewise.
13750 * include/grub/zfs/sa_impl.h: Likewise.
13751 * include/grub/zfs/spa.h: Likewise.
13752 * include/grub/zfs/uberblock_impl.h: Likewise.
13753 * include/grub/zfs/vdev_impl.h: Likewise.
13754 * include/grub/zfs/zap_impl.h: Likewise.
13755 * include/grub/zfs/zap_leaf.h: Likewise.
13756 * include/grub/zfs/zfs.h: Likewise.
13757 * include/grub/zfs/zfs_acl.h: Likewise.
13758 * include/grub/zfs/zfs_znode.h: Likewise.
13759 * include/grub/zfs/zil.h: Likewise.
13760 * include/grub/zfs/zio.h: Likewise.
13761 * include/grub/zfs/zio_checksum.h: Likewise.
13762
13763 * Makefile.util.def: Build ZFS into libgrubmods.
13764 * grub-core/Makefile.core.def: Build zfs.mod.
13765
13766 2010-11-30 Szymon Janc <szymon@janc.net.pl>
13767
13768 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13769 variable.
13770 * grub-core/commands/wildcard.c (match_files): Likewise.
13771
13772 2010-11-30 Robert Millan <rmh@gnu.org>
13773
13774 * grub-core/loader/i386/bsd.c
13775 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13776 whether kernel is loaded using grub_loader_is_loaded(), rather
13777 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13778 certain error conditions.
13779
13780 2010-11-30 Robert Millan <rmh@gnu.org>
13781
13782 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13783 (grub_cmd_echo): Call grub_refresh() after printing a message.
13784
13785 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 Avoid using tricks for initialising endian variables.
13788
13789 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13790 Make const.
13791 (GRUB_MOD_INIT): Don't byte-swap.
13792 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13793 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13794 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13795 (grub_swap_bytes32_compile_time): Likewise.
13796 (grub_cpu_to_le32_compile_time): Likewise.
13797 (grub_cpu_to_le16_compile_time): Likewise.
13798
13799 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * util/grub-setup.c (setup): Stop recommending --force. People who
13802 understand the dangers of blocklists are able to find this option
13803 anyway and the ones who don't shouldn't use it anyway.
13804
13805 2010-11-26 Robert Millan <rmh@gnu.org>
13806
13807 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13808 Update all users.
13809
13810 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
13811
13812 Fix LVM-on-RAID probing.
13813
13814 * util/grub-probe.c (probe): Remember which disk was detected as
13815 RAID (perhaps an LVM physical volume). Use that disk's raidname
13816 rather than that of the top-level disk.
13817
13818 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
13819
13820 Fix cmdline argument quotes for setparams command of menuentry
13821 definitions.
13822
13823 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13824 quotes for arguments.
13825 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
13826 grub_strchrsub function instead.
13827
13828 * include/grub/misc.h (grub_strchrsub): New function.
13829
13830 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13831
13832 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13833 effort by skipping "." and ".." entries up-front.
13834 Suggested by: Michael Lazarev.
13835
13836 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13837
13838 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13839 ldflags to ldadd, to fix link line ordering.
13840 (none_decompress): Likewise.
13841
13842 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13843
13844 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13845 platforms.
13846 (grub-emu-lite): Remove kern/emu/cache.S.
13847
13848 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13849
13850 * util/deviceiter.c (compare_devices): If the by-id link for a
13851 device couldn't be resolved, fall back to sorting by the by-id link
13852 rather than segfaulting.
13853 Reported and tested by: Daniel Mierswa.
13854
13855 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13856
13857 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13858 ldflags, to fix link line ordering.
13859
13860 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13861
13862 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13863 linkers are picky about this.
13864
13865 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13866
13867 * grub-core/Makefile.am (command.lst): Adjust sed expression
13868 ordering so that extended and priority commands aren't treated as
13869 ordinary commands.
13870
13871 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13872
13873 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13874 Remove byte-swapping function calls, which are not valid in
13875 structure initialisers.
13876 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13877 non-const.
13878 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13879 grub_gpt_partition_type_bios_boot.
13880
13881 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13882
13883 Fix test program build on GNU/kFreeBSD.
13884
13885 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13886 $(LIBNVPAIR)' library dependencies.
13887
13888 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13889
13890 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13891
13892 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13893
13894 * util/grub-install.in: Remove excessive quoting that broke
13895 installations to RAID devices.
13896
13897 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13900 bootloader version instead of 0.
13901
13902 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13905 warning.
13906
13907 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13910 retrieve the metadat sector if size isn't known.
13911 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13912
13913 2010-11-18 Robert Millan <rmh@gnu.org>
13914
13915 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13916 with grub_memcmp().
13917
13918 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13921 arrow.
13922 Reported by: Jordan Uggla.
13923
13924 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 Make better UTF compliant.
13927
13928 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13929 sequences as incorrect.
13930 (grub_is_valid_utf8): Likewise.
13931 (grub_utf8_to_ucs4): Likewise.
13932 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13933 (grub_ucs4_to_utf8_alloc): Likewise.
13934 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13935
13936 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 Make legacy_source behave like source.
13939
13940 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13941 grub_show_menu.
13942 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13943
13944 2010-11-16 Colin Watson <cjwatson@debian.org>
13945
13946 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13947 (-Wunused implies -Wunused-parameter, but not vice versa).
13948
13949 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13950
13951 * configure.ac: Make error messages less confusing by testing for
13952 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13953 accepted, but produces a diagnostic if something else is wrong).
13954
13955 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13956
13957 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13958 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13959 (now unused).
13960 (grub_keyboard_controller_init)
13961 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13962 read the initial state since controller isn't inited yet.
13963
13964 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13967 allocate_regbeg may need to create new chunk header.
13968
13969 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 Fix quoting in legacy parser.
13972
13973 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13974 single quotes.
13975 (grub_legacy_parse): Likewise.
13976 Reported by: Jordan Uggla.
13977 Tested by: Jordan Uggla.
13978
13979 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 Don't add -lgcc on i386 and x86_64.
13982
13983 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13984 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13985 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13986
13987 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * configure.ac: Add -Wno-trampolines when supported.
13990
13991 2010-11-14 Modestas Vainius <modax@debian.org>
13992
13993 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13994 fakeraid.
13995
13996 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13997
13998 Add generic logical block size support for UDF.
13999
14000 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14001 (GRUB_UDF_BLKSZ): Removed.
14002 (struct grub_udf_data): New field "lbshift" to hold the logical block
14003 size of the file system in log2 format. All users updated.
14004 (sblocklist): Change type to unsigned.
14005 (grub_udf_mount): Change type of "sblklist" to unsigned.
14006 Move AVDP search before VRS recognition, because the latter requires
14007 knowledge of the logical block size, which is detected during the
14008 former.
14009 Detect and validate logical block size during AVDP search, adding
14010 support for block sizes 512, 1024 and 4096.
14011 Make VRS recognition independent of block size.
14012
14013 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14014
14015 Properly handle deleted files on UDF.
14016
14017 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14018 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14019 set.
14020
14021 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14022
14023 Support reading files larger than 2 GiB.
14024
14025 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14026 "offset" to grub_off_t.
14027 (grub_udf_read_file): Likewise for parameter "pos".
14028
14029 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14032 unavailable.
14033 (Simple configuration): Refer to Changes from GRUB Legacy about
14034 save_env availability.
14035
14036 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * util/grub-install.in: Ignore empty partition table detection
14039 instead of trying to include part_ module.
14040
14041 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14044 LVM on RAID support.
14045
14046 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 Properly define WORDS_BIGENDIAN in wrapped environments.
14049
14050 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14051 definition.
14052 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14053
14054 Reported by: Manoel Rebelo Abranches.
14055 Tested by: Manoel Rebelo Abranches.
14056
14057 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * util/grub-mkconfig.in: Fix quoting.
14060
14061 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 Support big ext2 files.
14064
14065 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14066 (grub_ext2_read_block): Support triple indirect blocks.
14067 (grub_ext2_read_file): Use 64-bit types and read size_high.
14068 (grub_ext2_open): Read size_high.
14069 Reported by: Ximin Luo.
14070 Tested by: Manoel Rebelo Abranches.
14071
14072 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14073
14074 * util/grub-install.in: Handle filenames containing spaces.
14075 Reported by: Jordan Uggla.
14076 Tested by: Jordan Uggla.
14077
14078 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * util/grub-mkconfig.in (grub_script_check): New variable.
14081 Use grub_script_check instead of grub-script-check.
14082 Reported by: Barry Jackson.
14083
14084 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * docs/grub.texi (menu): Correct the order.
14087 Reported by: D. Hugh Redelmeier.
14088
14089 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14092 jump.
14093
14094 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14095
14096 * include/grub/elfload.h (grub_elf32_size): New parameter.
14097 All users updated.
14098 Return maximum segments alignment.
14099 (grub_elf64_size): Likewise.
14100 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14101 Return maximum segments alignment.
14102 (grub_elf64_size): Likewise.
14103 * grub-core/loader/powerpc/ieee1275/linux.c:
14104 (grub_linux_claimmap_iterate): New function. Uses the
14105 "available" property in the "memory" node for memory allocation
14106 for kernel in the PowerPC loader.
14107 (grub_linux_load32): Correctly find linux entry point offset.
14108 (grub_linux_load64): Likewise.
14109
14110 2010-11-07 Robert Millan <rmh@gnu.org>
14111
14112 On mips-yeeloong, build with -march=loongson2f when this flag is
14113 available (GCC >= 4.4).
14114 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14115 `-march=mips3'.
14116 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14117 or otherwise add -march=mips3.
14118
14119 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14120
14121 Suppress shell expansion on echo '*' and echo "*" like cases.
14122 Reported by: Jordan Uggla.
14123
14124 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14125 string arguments before shell expansion.
14126 * tests/grub_cmd_echo.in: New testcases.
14127
14128 2010-11-07 Robert Millan <rmh@gnu.org>
14129
14130 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14131 transition.
14132
14133 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/kern/emu/hostdisk.c
14136 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14137
14138 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14141 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14142 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14143
14144 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14147
14148 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * util/grub-install.in: Replace useless recomendation to pass
14151 --modules with a recomendation to report a bug.
14152
14153 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 Properly register serial terminfo.
14156 Reported by: Jordan Uggla
14157
14158 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14159 const.
14160 (grub_serial_terminfo_output_template): Likewise.
14161 (grub_cmd_serial): Register "serial" with terminfo.
14162 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14163 grub_serial_terminfo_output.
14164
14165 2010-11-05 Robert Millan <rmh@gnu.org>
14166
14167 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14168 needed).
14169
14170 2010-11-05 Robert Millan <rmh@gnu.org>
14171
14172 On Yeeloong, pass machine type information to Linux.
14173
14174 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14175 (LOONGSON_MACHTYPE): New macro, set to
14176 "machtype=lemote-yeeloong-2f-8.9inches".
14177 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14178 additional argument to Linux.
14179
14180 2010-11-04 Robert Millan <rmh@gnu.org>
14181
14182 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14183 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14184 (its SATA disks are detected as slaveless IDE master drives on
14185 kFreeBSD).
14186 Reported by Carsten Aulbert.
14187
14188 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
14189
14190 * util/bin2h.c (main): Fix spelling error in generated output.
14191
14192 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14193
14194 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14195
14196 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14199 vga= option is supplied.
14200
14201 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14204 * util/grub.d/10_kfreebsd.in: Likewise.
14205 * util/grub.d/10_linux.in: Likewise.
14206 * util/grub.d/20_linux_xen.in: Likewise.
14207
14208 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14211 argument as an argument to no-argument option.
14212
14213 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * util/grub.d/10_linux.in: Add missing load_video with explicit
14216 GRUB_GFXPAYLOAD_LINUX.
14217
14218 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14221
14222 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14225 elements with invlid index.
14226 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14227 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14228 members.
14229 * include/grub/raid.h (grub_raid_member): New struct.
14230 (grub_raid_array): Transform devices and start_sector into usage of
14231 grub_raid_member. All users updated
14232 (allocated_devs): New member.
14233
14234 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14237 is modified
14238
14239 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14240
14241 NetBSD build fix for getline function conflict from gnulib.
14242
14243 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14244 components that depend on gnulib headers.
14245 (libgrubmods.a): Renamed from earlier libgrub.a.
14246 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14247
14248 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14251 install rather than creating a broken install.
14252
14253 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * util/grub-setup.c (argp): Remove misleading example of installing to
14256 a partition.
14257
14258 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * util/grub-setup.c (setup): Clarify the error message.
14261
14262 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14265
14266 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * grub-core/kern/emu/misc.c
14269 (grub_make_system_path_relative_to_its_root)
14270 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14271
14272 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * grub-core/kern/emu/misc.c
14275 (grub_make_system_path_relative_to_its_root): Revert r2882.
14276
14277 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14280 useless field head. All users updated.
14281 (free_subchunk): Correct handling of IN_REGION subchunk.
14282
14283 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
14284
14285 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14286 (Supported kernels): Likewise.
14287
14288 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14289
14290 Make mktemp invocations portable.
14291
14292 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14293 exit if mktemp fails.
14294 * tests/grub_script_blockarg.in: Likewise.
14295 * tests/partmap_test.in: Likewise.
14296 * tests/util/grub-shell-tester.in: Likewise.
14297 * tests/util/grub-shell.in: Likewise.
14298 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14299 * Makefile.am: Likewise, and chain shell commands with `&&'
14300 instead of ';'.
14301 * util/grub-mkrescue.in: Use the same explicit template as above, and
14302 exit if mktemp fails.
14303
14304 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14305
14306 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14307 Linux kernel, reported by Dennis Schridde.
14308
14309 2010-10-17 Szymon Janc <szymon@janc.net.pl>
14310
14311 * grub-core/normal/auth.c (grub_auth_check_authentication):
14312 Set-but-not-used variable removed.
14313
14314 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14317 32-bit linux protocol.
14318
14319 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14322 cursor shape for sanity.
14323
14324 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 * docs/grub.texi (Installation): Document buggy BIOS install.
14327
14328 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * docs/grub.texi (Installation): Indent.
14331
14332 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 * util/grub-setup.c (setup): New parameter allow_floppy.
14335 (arguments): New member allow_floppy.
14336 (argp_parser): Handle --allow-floppy.
14337 (main): Pass allow_floppy.
14338 * util/grub-install.in: New option --allow-floppy passed though to
14339 grub-setup.
14340
14341 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 * util/grub-install.in: Handle partitionless disks.
14344
14345 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * util/grub-setup.c (setup): Don't clean blocklists before readability
14348 verfification.
14349
14350 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * docs/grub.texi (Installation): Document embedding zone. Remove
14353 obsolete grub-install example.
14354
14355 2010-10-16 Szymon Janc <szymon@janc.net.pl>
14356
14357 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14358 Set-but-not-used variable ifdef'ed.
14359 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14360 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14361 variable removed.
14362 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14363 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14364 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14365 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14366 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14367 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14368 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14369 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14370 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14371 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14372 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14373 Likewise.
14374
14375 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14378 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14379 enum value.
14380
14381 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14384 synonym to _S5_. Needed for some DSDTs.
14385
14386 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Userspace ACPI parser debugging.
14389
14390 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14391 headers and add relevant defines. Don't include standard headers.
14392 (main) [GRUB_DSDT_TEST]: New function.
14393 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14394 Don't declare functions.
14395
14396 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 Remove dead grub_efi_mm_fini.
14399
14400 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14401 (ALLOCATED_PAGES_SIZE): Likewise.
14402 (MAX_ALLOCATED_PAGES): Likewise.
14403 (allocated_pages): Likewise.
14404 (grub_efi_allocate_pages): Don't record allocated pages.
14405 (grub_efi_free_pages): Likewise.
14406 (grub_efi_mm_init): Likewise.
14407 (grub_efi_mm_fini): Removed.
14408
14409 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14412 (grub_efi_mm_init): Take into account the memory map size increase.
14413
14414 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14417 (serial_hw_put): Wait based on real time rather than port reads. Don't
14418 roken ports.
14419 * include/grub/serial.h (grub_serial_port): New field broken.
14420
14421 2010-10-16 Robert Millan <rmh@gnu.org>
14422
14423 * grub-core/kern/emu/misc.c
14424 (grub_make_system_path_relative_to_its_root): Fix premature return
14425 when processing non-root ZFS filesystems.
14426 Reported by Sergio Talens-Oliag.
14427
14428 2010-10-15 Robert Millan <rmh@gnu.org>
14429
14430 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14431 guarantee compressed ones are processed first.
14432
14433 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14436 grub_efiemu_autocore.
14437
14438 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14441 rather than 0x1b.
14442 (grub_console_getkey): Use correct jae opcode rather than ja.
14443
14444 2010-10-12 Robert Millan <rmh@gnu.org>
14445
14446 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14447 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14448 variable. All references updated.
14449
14450 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14451
14452 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 Correctly distinguish mdraid flavours.
14455
14456 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14457 (insert_array): New argument raid.
14458 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14459 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14460 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14461
14462 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14463
14464 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14465 handling of special keys.
14466
14467 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14468
14469 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14470 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14471
14472 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14473
14474 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14475 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14476 users updated.
14477 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14478 Use right endpoint when querying descriptor.
14479
14480 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 Clear out 0x80 color bit on EFI.
14483 Tested by: decoder
14484 Reported by: decoder and meta tech.
14485
14486 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14487 (grub_console_setcolorstate): Clear out 0x80 bit.
14488 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14489 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14490 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14491
14492 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14495 Set to "auto".
14496
14497 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14500 mo_file after freeing.
14501
14502 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14503
14504 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14505
14506 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14509 flags.
14510
14511 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14514 usage.
14515
14516 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14519
14520 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14521 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14522 and terminfo.h when needed.
14523 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14524 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14525 (terminfo): Enable only on terminfokernel.
14526 (extcmd): Likewise.
14527 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14528 * include/grub/lib/arg.h: Likewise.
14529 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14530 incorrect usage of ->.
14531
14532 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14535 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14536
14537 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 Fix coreboot compilation.
14540
14541 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14542 Take VBE info into account even if only text is supported.
14543 (fill_vbe_info): Take into account the case when only VGA text
14544 is supported.
14545 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14546 on coreboot, multiboot and qemu.
14547
14548 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14551 debug messages.
14552 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14553
14554 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14557 parameters.
14558
14559 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14562 if they were BSD-style.
14563
14564 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14565
14566 * grub-core/boot/i386/pc/lnxboot.S: Replace
14567 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14568 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14569
14570 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 Write embedding zone using Reed-Solomon.
14573
14574 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14575 * grub-core/Makefile.am (rs_decoder.S): New target.
14576 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14577 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14578 (multiboot): Move to RS part.
14579 (post_reed_solomon): New label.
14580 (grub_boot_drive): Move to non-RS part since it's modified in memory
14581 on boot.
14582 Include rs_decoder.S.
14583 * grub-core/lib/reed_solomon.c: New file.
14584 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14585 New definition.
14586 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14587 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14588 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14589 * include/grub/partition.h (grub_partition_map): Change prototype of
14590 embed to allow returning additional sectors.
14591 * include/grub/reed_solomon.h: New file.
14592 * util/grub-setup.c (setup): Handle Reed-Solomon.
14593
14594 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14597 i386 and x86-64 definedness tests.
14598
14599 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14600
14601 Fix generation of kernel_syms.lst
14602
14603 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14604 ASM_PREFIX
14605
14606 2010-09-26 Robert Millan <rmh@gnu.org>
14607
14608 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14609
14610 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14611 the pool is an array of devices, iterate through it and return the
14612 first device that passes a stat() test (instead of blindly returning
14613 the first one).
14614
14615 2010-09-26 Robert Millan <rmh@gnu.org>
14616
14617 Build fixes for GNU/kFreeBSD.
14618
14619 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14620 to programs that require ZFS conversion.
14621 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14622 kernels that don't have FLOPPY_MAJOR.
14623
14624 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14625
14626 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14627
14628 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14629
14630 Fix grub-emu build.
14631
14632 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14633 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14634 mdraid09 and mdraid1x.
14635
14636 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14637
14638 Re-enable grub-extras.
14639
14640 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14641 avoid confusing Automake. Run autogen only twice, once for the top
14642 level and once for grub-core. Add Makefile.util.def and
14643 Makefile.core.def from extra modules to the appropriate autogen
14644 invocations. If Makefile.common exists in an extra module, include
14645 it in both Makefile.util.am and grub-core/Makefile.core.am;
14646 similarly, include any Makefile.util.common file in Makefile.util.am
14647 and any Makefile.core.common file in grub-core/Makefile.core.am.
14648 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14649 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14650 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14651 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14652
14653 * gentpl.py (gvar_add): Turn GVARS into a set.
14654 (global_variable_initializers): Sort global variables on output.
14655 (vars_init): New function.
14656 (first_time): Likewise.
14657 (library): Ensure that non-global variable initialisations are
14658 emitted before the first time we emit code for a library block.
14659 Append to variables rather than setting them. Only emit
14660 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14661 each conditional path.
14662 (program): installdir() emits an Autogen macro, so must be passed to
14663 var_add rather than gvar_add.
14664 (data): Likewise.
14665 (script): Likewise.
14666 (rules): New function, centralising handling for different target
14667 types. Set up Guile association lists for first_time and vars_init,
14668 and send most output to a diversion so that variable initialisations
14669 can be emitted first.
14670 (module_rules): Use new rules function.
14671 (kernel_rules): Likewise.
14672 (image_rules): Likewise.
14673 (library_rules): Likewise.
14674 (program_rules): Likewise.
14675 (script_rules): Likewise.
14676 (data_rules): Likewise.
14677
14678 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14679
14680 * .bzrignore: Add contrib and grub-core/contrib. Remove
14681 grub-core/Makefile.gcry.am.
14682
14683 2010-09-24 Yves Blusseau <blusseau@zetam.org>
14684
14685 * grub-core/lib/LzFind.c: Add missing include.
14686 * grub-core/lib/LzmaEnc.c: Likewise.
14687 * grub-core/script/lexer.c: Likewise.
14688 * grub-core/script/yylex.l: Likewise.
14689 * util/grub-macho2img.c: Likewise.
14690 * util/grub-menulst2cfg.c: Likewise.
14691 * util/grub-mklayout.c: Likewise.
14692 * util/grub-mkpasswd-pbkdf2.c
14693 * util/grub-mkrelpath.c: Likewise.
14694 * util/resolve.c: Likewise.
14695
14696 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14697
14698 * Makefile.util.def (example_unit_test): Add
14699 grub-core/gnulib/libgnu.a.
14700
14701 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14702
14703 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14704
14705 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 Support xz compression on yeeloong.
14708
14709 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14710 * configure.ac: Check for LZMA.
14711 * grub-core/Makefile.core.def (xz_decompress): New target.
14712 (none_decompress): Likewise.
14713 * grub-core/boot/decompressor/minilib.c: New file.
14714 * grub-core/boot/decompressor/none.c: Likewise.
14715 * grub-core/boot/decompressor/xz.c: Likewise.
14716 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14717 * grub-core/kern/mips/cache_flush.S: Likewise.
14718 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14719 * grub-core/kern/mips/startup.S: Move first stage to ...
14720 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14721 nomacro.
14722 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14723 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14724 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14725 Allocate statically.
14726 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14727 Allocate statically or use scratch. Don't check CRC32.
14728 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14729 Allocate statically. Don't check CRC32.
14730 * include/grub/decompressor.h: New file.
14731 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14732 Removed.
14733 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14734 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14735 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14736 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14737 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14738 * util/grub-mkimage.c (grub_compression_t): New type.
14739 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14740 (image_target_desc): New field default_compression.
14741 (image_targets): Adjust yeeloong targets.
14742 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14743 (compress_kernel): New parameter comp.
14744 (generate_image): Likewise. Handle new compression case.
14745 (options): New option --compression
14746 (help): Likewise.
14747 (main): Handle new option.
14748
14749 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14750
14751 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14752
14753 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
14754
14755 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14756 typo in __i386__ conditional.
14757
14758 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14761 include.
14762
14763 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 Implement EFI and ACPI multiboot2 extensions.
14766
14767 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14768 new tags as supported.
14769 (acpiv2_size): New function.
14770 (grub_multiboot_get_mbi_size): Take new tags into account.
14771 (grub_multiboot_make_mbi): Add new tags.
14772 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
14773
14774 2010-09-21 Aleš Nesrsta <starous@volny.cz>
14775
14776 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14777 Added missing configuration of USB device.
14778
14779 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14780
14781 * grub-core/normal/menu_entry.c (run): Make sure we always return
14782 a value.
14783
14784 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14785
14786 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14787 NumberOfPages is UINT64 according to the UEFI specification, not
14788 UINTN. Fix printf format.
14789
14790 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14791
14792 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14793 `err' to grub_usb_err_t.
14794 Reported and tested by: KESHAV P.R.
14795
14796 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14797
14798 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14799 tpart non-const, so that we can assign to it. (Since this is a
14800 typedef, the constness refers to the pointer rather than what it
14801 points to.)
14802
14803 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14804
14805 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14806 $(top_srcdir)/grub-core/gnulib as well as
14807 $(top_builddir)/grub-core/gnulib.
14808 Reported by: KESHAV P.R.
14809
14810 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14811
14812 * util/grub-install.in: Fix the bootloader ID option to be
14813 consistently --bootloader-id, not --bootloader_id.
14814 Reported by: KESHAV P.R.
14815
14816 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14817
14818 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14819 check hash checksum." consistently translatable.
14820
14821 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14822
14823 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14824 $(top_builddir).
14825
14826 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14827
14828 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14829 (GRUB_MOD_INIT): Register sha1sum command.
14830 (GRUB_MOD_FINI): Unregister sha1sum command.
14831
14832 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14833
14834 Keep boot and grub directory names in sync with utils scripts
14835
14836 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14837 * config.h.in: Add previous macros.
14838 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14839 * util/grub-install.in: Use $bootdir and $grubdir variables.
14840
14841 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14842
14843 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14844 convert partition names to disk names if the new `convert' parameter
14845 is set.
14846 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14847 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14848 disk in its own right. This can happen with Xen disk images.
14849
14850 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14851
14852 * util/grub-editenv.c: Update strings to avoid warnings when generating
14853 grub.pot file.
14854 * util/grub-setup.c: Likewise.
14855
14856 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * configure.ac: Change version to 1.99~beta0.
14859
14860 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14863 Add BADRAM.
14864 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14865 Likewise.
14866 * include/multiboot.h: Resynced with specification.
14867 * include/multiboot2.h: Likewise.
14868
14869 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14870
14871 Fix po directory handling.
14872
14873 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14874 * grub-core/gnulib/Makefile.am: Import gettext module.
14875 * m4/gnulib-cache.m4: Likewise.
14876 * m4/gnulib-comp.m4: Likewise.
14877 * m4/gettext.m4: New file, from gnulib.
14878 * m4/glibc2.m4: Likewise.
14879 * m4/iconv.m4: Likewise.
14880 * m4/intdiv0.m4: Likewise.
14881 * m4/intl.m4: Likewise.
14882 * m4/intldir.m4: Likewise.
14883 * m4/intlmacosx.m4: Likewise.
14884 * m4/intmax.m4: Likewise.
14885 * m4/inttypes-pri.m4: Likewise.
14886 * m4/lcmessage.m4: Likewise.
14887 * m4/lib-ld.m4: Likewise.
14888 * m4/lib-link.m4: Likewise.
14889 * m4/lib-prefix.m4: Likewise.
14890 * m4/lock.m4: Likewise.
14891 * m4/nls.m4: Likewise.
14892 * m4/po.m4: Likewise.
14893 * m4/printf-posix.m4: Likewise.
14894 * m4/progtest.m4: Likewise.
14895 * m4/threadlib.m4: Likewise.
14896 * m4/uintmax_t.m4: Likewise.
14897 * m4/visibility.m4: Likewise.
14898 * po/Makefile.am: Remove.
14899 * po/Makefile.in.in: New file, from gettext.
14900 ($(DOMAIN).pot-update): Support POTFILES-shell.
14901 * po/Makevars: New file.
14902 * po/POTFILES-shell: Rename to ...
14903 * po/POTFILES-shell.in: ... this. Update.
14904 * po/POTFILES: Rename to ...
14905 * po/POTFILES.in: ... this. Update.
14906 * po/Rules-quot: New file, from gettext.
14907 * po/boldquot.sed: Likewise.
14908 * po/en@boldquot.header: Likewise.
14909 * po/en@quot.header: Likewise.
14910 * po/insert-header.sin: Likewise.
14911 * po/quot.sed: Likewise.
14912 * po/remove-potcdate.sin: Likewise.
14913
14914 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14917
14918 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * util/grub.d/20_linux_xen.in: Use submenus.
14921
14922 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 Support submenus.
14925
14926 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14927 parameter submenu. All users updated.
14928 * grub-core/normal/main.c (free_menu): Rename to ...
14929 (grub_normal_free_menu): ... this. Made global.
14930 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14931 if requested.
14932 * grub-core/normal/menu_entry.c (screen): New field submenu.
14933 (make_screen): Set submenu.
14934 (run): Open new context if requested.
14935 * include/grub/menu.h (grub_menu_entry): New field submenu.
14936 * include/grub/normal.h (grub_normal_free_menu): New proto.
14937
14938 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 Menu entries extractor.
14941
14942 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14943 variants.
14944 (GRUB_MOD_INIT): Register new variants.
14945 (GRUB_MOD_FINI): Unregister new variants.
14946 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14947 into grub_cmd_legacy_source.
14948 (grub_cmd_legacy_source): Implement extractor variants.
14949 (GRUB_MOD_INIT): Register new variants.
14950 (GRUB_MOD_FINI): Unregister new variants.
14951 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14952 as an extractor.
14953 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14954 search as an extractor.
14955 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14956 test as an extractor.
14957 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14958 as an extractor.
14959 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14960 (grub_env_new_context): New function.
14961 (grub_env_context_open): Likewise.
14962 (grub_env_extractor_open): Likewise.
14963 (grub_env_extractor_close): Likewise.
14964 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14965 grub_extractor_level.
14966 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14967 * include/grub/env.h (grub_env_extractor_open): New proto.
14968 (grub_env_extractor_close): Likewise.
14969 * include/grub/normal.h (grub_extractor_level): New external variable.
14970
14971 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 Make cutmem accept a region specification.
14974 Suggested by: Samuel Thibault
14975
14976 * grub-core/mmap/mmap.c (parsemem): New function.
14977 (grub_cmd_cutmem): Handle new arguments.
14978
14979 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14980
14981 New command cutmem.
14982
14983 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14984 (GRUB_MOD_INIT): Register new command.
14985 (GRUB_MOD_FINI): Unregister new command.
14986
14987 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 Support some annoying BSD and Minix subpartitions.
14990
14991 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14992 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14993 Properly handle concatenation.
14994 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14995 * grub-core/normal/completion.c (iterate_partition): Likewise.
14996 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14997 contain partition. All users updated.
14998 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14999 struct.
15000 (grub_openbsdlabel_partition_map): Likewise.
15001 (bsdlabel_partition_map_iterate): Rename to ..
15002 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15003 (bsdlabel_partition_map_iterate): New function.
15004 (netopenbsdlabel_partition_map_iterate): Likewise.
15005 (netbsdlabel_partition_map_iterate): Likewise.
15006 (openbsdlabel_partition_map_iterate): Likewise.
15007 (GRUB_MOD_INIT): Register new partmaps.
15008 (GRUB_MOD_FINI): Unregister new partmaps.
15009 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15010 (grub_partition_msdos_iterate): ... this. All users updated.
15011 Don't support embedding other than in a minix partition.
15012 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15013 proto.
15014 * include/grub/partition.h (grub_partition): New field msdostype.
15015 * util/grub-install.in: Handle openbsd and netbsd types being in
15016 part_bsd module.
15017
15018 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15019
15020 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15021
15022 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15023 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15024 (mdraid09): ... this.
15025 (mdraid1x): New module.
15026 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15027 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15028
15029 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15032 vsprintf.
15033
15034 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15035
15036 * grub-core/commands/efi/lsefimmap.c: Correct header.
15037 * NEWS: Update.
15038
15039 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15040
15041 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15042 as printf format strings; the translations might contain '%' which
15043 could cause a crash.
15044 (main): Likewise.
15045 * util/grub-fstest.c (argp_parser): Likewise.
15046 * util/grub-setup.c (argp_parser): Likewise.
15047 (main): Likewise.
15048
15049 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 Use argp in grub-fstest.
15052
15053 * util/grub-fstest.c: Don't include getopt.h.
15054 Include argp.h.
15055 (root): New variable.
15056 (args_count): Likewise.
15057 (nparm): Likewise.
15058 (num_disks): Likewise.
15059 (images): Likewise.
15060 (cmd): Likewise.
15061 (debug_str): Likewise.
15062 (args): Likewise.
15063 (options): Transformed to argp.
15064 (usage): Removed.
15065 (main): Split argument parsing into ...
15066 (argp_parser): ... this. Changed to argp format.
15067 (argp): New variable.
15068 (main): Use argp_parse.
15069
15070 2010-09-20 Tristan Gingold <gingold@free.fr>
15071 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
15072 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * grub-core/commands/efi/lsefimmap.c: New file.
15075 * grub-core/Makefile.core.def (lsefimmap): New module.
15076 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15077
15078 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 Pause the execution (10s max) if any errors are displayed so the user
15081 has a chance to see them.
15082
15083 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15084 (grub_print_error): Increment grub_err_printed_errors.
15085 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15086 execution if any errors were displayed.
15087 (show_menu): Remove old code for pause.
15088 * grub-core/normal/menu_entry.c (run): Likewise.
15089 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15090 users updated.
15091 (grub_normal_get_char_counter): Likewise.
15092 * include/grub/err.h (grub_err_printed_errors): New external variable.
15093 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15094
15095 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 Support multiboot VBE info.
15098
15099 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15100 Take VBE info into account.
15101 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15102 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15103 Call fill_vbe_info when appropriate.
15104 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15105 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15106 as supported.
15107 (grub_multiboot_get_mbi_size): Take new tags into account.
15108 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15109 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15110 Call fill_vbe_tag when appropriate.
15111 (grub_multiboot_make_mbi): Properly align tags.
15112 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15113 function.
15114 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15115 proto.
15116 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15117
15118 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 Suport manual terminal geometry specification.
15121
15122 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15123 Save state in grub_ofconsole_terminfo_output.
15124 (grub_ofconsole_term): Use grub_terminfo_getwh.
15125 (grub_ofconsole_getwh): Removed.
15126 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15127 (grub_serial_term): Use grub_terminfo_getwh.
15128 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15129 (options): New struct.
15130 (OPTION_*): New enum.
15131 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15132 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15133 width and height.
15134 (grub_terminfo_getwh): New proto.
15135 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15136
15137 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 Handle legacy "terminal" command.
15140
15141 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15142 and FLAG_TERMINAL.
15143 (legacy_commands): Add terminal and title.
15144 (grub_legacy_parse): Handle terminal. Simplify title handling.
15145
15146 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15149 parameters overflow.
15150
15151 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15152
15153 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15154 widthspec.h.
15155
15156 * docs/grub.texi (Shell-like scripting): Document `!'.
15157 (Network): Simplify using new i386-pc-pxe format. Mention
15158 grub-mknetdir.
15159
15160 * NEWS: Update.
15161
15162 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15163
15164 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15165 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15166 when needed.
15167
15168 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15169
15170 * grub-core/commands/efi/lsefisystab.c: Correct header.
15171 * grub-core/commands/efi/lssal.c: Likewise.
15172 * grub-core/commands/testload.c: Likewise.
15173
15174 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15175
15176 * util/grub-mkrescue.in: Add explicit root argument to --set to
15177 prevent the UUID being interpreted as an argument to --set (matches
15178 previous change to prepare_grub_to_access_device).
15179
15180 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15183 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15184 the verbosity of later #ifs.
15185 (find_partition_start): Define this function on FreeBSD too.
15186 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15187 function.
15188 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15189 on FreeBSD.
15190
15191 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15192
15193 * util/grub-editenv.c: Use argp instead of getopt.
15194
15195 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15196
15197 * util/grub-setup.c: Use argp instead of getopt.
15198
15199 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15200
15201 Use gnulib-tool to create gnulib source files.
15202
15203 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15204 grub-core/gnulib directories
15205 * .bzignore: Add **/.deps and autogenerated gnulib files
15206 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15207 of gnulib macros, add grub-core/gnulib/Makefile
15208 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15209 include m4 directory to aclocal.
15210 * Makefile.util.def: Remove direct compilation of gnulib source files
15211 and use the new grub-core/gnulib/libgnu.a.
15212 * build-aux/config.rpath: move config.rpath from top directory to
15213 build-aux
15214 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15215 in gnulib headers
15216 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15217 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15218 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15219 header.
15220 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15221 string.
15222
15223 2010-09-20 Yves Blusseau <blusseau@zetam.org>
15224
15225 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15226 grub-core/genmod.sh and grub-core/gensyminfo.sh
15227
15228 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15229
15230 Add a test for echo command options.
15231
15232 * tests/grub_cmd_echo.in: New test.
15233 * Makefile.util.def: Rules for new test.
15234
15235 2010-09-20 Szymon Janc <szymon@janc.net.pl>
15236
15237 Remove crc.mod and move crc command to hashsum.mod.
15238 Remove lib/crc.c - users updated to use gcrypt implementation.
15239
15240 * grub-core/commands/crc.c: Removed.
15241 * grub-core/Makefile.core.def (crc): Module removed.
15242 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15243 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15244 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15245 * grub-core/lib/crc.c: Removed.
15246 * include/grub/lib/crc.h: Removed.
15247 * Makefile.util.def (crc): Remove lib/crc.c
15248 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15249 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15250 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15251 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15252 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15253 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15254
15255 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15258
15259 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15260
15261 Split config.h for util and core.
15262
15263 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15264 (ADDR32): Likewise.
15265 (DATA32): Likewise.
15266 (BSS_START_SYMBOL): Likewise.
15267 (END_SYMBOL): Likewise.
15268 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15269 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15270 * config.h.in: New file.
15271 * configure.ac: Use config-util.h as config define file.
15272 Rename MACHINE into GRUB_MACHINE. All users updated.
15273 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15274 updated.
15275 (NESTED_FUNC_ATTR): Likewise.
15276 Substitue new variables.
15277 (COND_HAVE_ASM_USCORE): New conditional.
15278 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15279 (kernel_syms.lst): Use ASM_PREFIX.
15280 * grub-core/kern/emu/console.c: Include config-util.h.
15281 * grub-core/kern/emu/misc.c: Likewise.
15282 * grub-core/kern/emu/mm.c: Likewise.
15283 * include/grub/emu/misc.h: Likewise.
15284 * include/grub/libgcc.h: Likewise.
15285
15286 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15289 constants usage.
15290 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15291 Fix GRUB_TERM_KEY_* constants usage.
15292 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15293
15294 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15297 print pointer.
15298 * grub-core/bus/usb/uhci.c: Remove empty define.
15299 (grub_uhci_check_transfer): Add missing cast.
15300 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15301 print pointer.
15302 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15303 PRIuGRUB_SIZE.
15304 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15305
15306 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * grub-core/Makefile.core.def (legacycfg): Add
15309 lib/i386/pc/vesa_modes_table.c on emu.
15310
15311 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15312
15313 Reduce number of temporary files generated by build system.
15314
15315 * grub-core/gencmdlist.sh: Removed.
15316 * grub-core/genfslist.sh: Removed.
15317 * grub-core/genhandlerlist.sh: Removed.
15318 * grub-core/genmodsrc.sh: Removed.
15319 * grub-core/genpartmaplist.sh: Removed.
15320 * grub-core/genparttoollist.sh: Removed.
15321 * grub-core/gentermiinallist.sh: Removed.
15322 * grub-core/genvideolist.sh: Removed.
15323
15324 * grub-core/genmod.sh.in: New file.
15325 * grub-core/gensyminfo.sh.in: New file.
15326
15327 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15328 * conf/Makefile.extra-dist: Update with new files.
15329 * gentpl.py: Remove rules related to unnecessary temporary files.
15330 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15331 and und-* files.
15332 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15333 genmod.sh scripts.
15334 * grub-core/bus/usb/uhci.c: Remove empty #define.
15335 * grub-core/genmoddep.awk: Updated with new syminfo format.
15336 * util/bash-completion.d/Makefile.am: Add config.log to
15337 CLEANFILES.
15338
15339 2010-09-19 Yves Blusseau <blusseau@zetam.org>
15340
15341 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15342
15343 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15344
15345 * util/grub-mkconfig.in: Check the config script for syntax errors
15346 before saving.
15347
15348 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
15349 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15352 platforms.
15353 * util/grub-install.in: Add EFI and IEEE1275 support.
15354 * util/i386/efi/grub-install.in: Removed.
15355 * util/ieee1275/grub-install.in: Likewise.
15356
15357 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15360 (grub_cmd_cmosclean): Likewise.
15361 (GRUB_MOD_INIT): Register command cmosclean.
15362 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15363 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15364
15365 2010-09-18 Carles Pina i Estany <carles@pina.cat>
15366 2010-09-18 Aleš Nesrsta <starous@volny.cz>
15367 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 Add keyboard layouts support.
15370
15371 * Makefile.util.def (grub-mklayout): New file.
15372 (grub-kbdcomp): New script.
15373 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15374 Add keyboard_layouts.h.
15375 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15376 commands/boot.c on yeeloong.
15377 (keylayouts): New module.
15378 * grub-core/bus/usb/ohci.c
15379 * grub-core/bus/usb/uhci.c
15380 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15381 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15382 (attach_root_port): Likewise.
15383 (poll_nonroot_hub): Likewise.
15384 (grub_usb_poll_devices): Likewise.
15385 (detach_device): Close transfer.
15386 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15387 function.
15388 (grub_usb_bulk_setup_readwrite): Likewise.
15389 (grub_usb_bulk_finish_readwrite): Likewise.
15390 * grub-core/commands/keylayouts.c: New file.
15391 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15392 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15393 aliases.
15394 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15395 support scancode 2.
15396 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15397 * include/grub/keyboard_layouts.h: New file.
15398 * util/grub-mklayout.c: New file.
15399 * util/grub-kbdcomp.in: Likewise.
15400
15401 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 Unify memory types.
15404
15405 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15406 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15407 types.
15408 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15409 (grub_upper_mem): Likewise.
15410 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15411 * include/grub/memory.h (grub_memory_type_t): New enum.
15412 All users updated.
15413
15414 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * grub-core/Makefile.core.def (lsapm): New module.
15417 * grub-core/commands/i386/pc/lsapm.c: New file.
15418 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15419 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15420 Likewise.
15421 * include/grub/i386/pc/apm.h: New file.
15422 * include/multiboot.h (multiboot_apm_info): New struct.
15423
15424 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15425
15426 GRUB-legacy configuration file support.
15427
15428 * Makefile.util.def (grub-menulst2cfg): New util.
15429 * docs/man/grub-menulst2cfg.h2m: New file.
15430 * grub-core/Makefile.core.def (legacycfg): New module.
15431 * grub-core/commands/legacycfg.c: New file.
15432 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15433 (grub_normal_add_menu_entry): ... this.
15434 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15435 (grub_normal_set_password): ...this.
15436 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15437 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15438 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15439 * grub-core/lib/legacy_parse.c: New file.
15440 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15441 * include/grub/i386/pc/vesa_modes_table.h: New file.
15442 * include/grub/legacy_parse.h: Likewise.
15443 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15444 * util/grub-menulst2cfg.c: New file.
15445
15446 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15447
15448 * grub-core/kern/emu/hostdisk.c
15449 (convert_system_partition_to_system_disk): Initialise node.
15450
15451 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15452
15453 * grub-core/kern/emu/hostdisk.c
15454 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15455 leak.
15456 Reported and based on patch by: Modestas Vainius.
15457
15458 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15459
15460 Fix DM-RAID probing with recent versions of device-mapper udev
15461 rules.
15462
15463 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15464 canonicalise device paths under /dev/mapper/.
15465 (convert_system_partition_to_system_disk): Compare the
15466 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15467 path, since device nodes under /dev/mapper/ are often symlinks.
15468
15469 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15470
15471 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15472
15473 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15474
15475 * configure.ac: Avoid some annoying error messages if freetype-config
15476 program is not found.
15477
15478 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15479
15480 Support RAID on virtio devices, and others.
15481
15482 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15483 Rename to ...
15484 [__MINGW32__] (grub_find_device): ... this.
15485 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15486 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15487 reasonable default if dir is NULL.
15488 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15489 ...
15490 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15491 (grub_guess_root_device): Update callers.
15492 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15493
15494 * util/raid.c (grub_util_getdiskname): Remove.
15495 (grub_util_raid_getmembers): Use grub_find_device rather than
15496 grub_util_getdiskname.
15497
15498 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15499
15500 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15501 needing to be compiled with serial support.
15502 (ls): Indicate that multiple files are accepted.
15503 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15504 indicate that multiple files are accepted.
15505
15506 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15507
15508 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15509 libgrub_a_init.c, and util/bash-completion.d/grub.
15510
15511 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * util/grub-setup.c (setup): Fix incorrect container semantics.
15514
15515 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15518 misusage.
15519 Reported by: J. Nick Terry
15520
15521 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 Move embedding routines to partmap sources files.
15524
15525 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15526 [GRUB_UTIL]: New variable.
15527 (gpt_partition_map_iterate): Set part.parent.
15528 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15529 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15530 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15531 New function.
15532 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15533 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15534 (grub_partition_map) [GRUB_UTIL]: New field embed.
15535 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15536 (setup): Use ->embed.
15537
15538 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15541 function.
15542 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15543 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15544
15545 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15546
15547 Add function to get completions from usage.
15548
15549 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15550 completions from usage. Use LC_ALL=C to get options properly.
15551
15552 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * grub-core/gnulib/basename-lgpl.c: Imported.
15555 * grub-core/gnulib/basename.c: Likewise.
15556 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15557 * grub-core/gnulib/dirname.c: Likewise.
15558 * grub-core/gnulib/dirname.h: Likewise.
15559 * grub-core/gnulib/stripslash.c: Likewise.
15560
15561 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 * grub-core/gnulib/error.c: Resynced.
15564 * grub-core/gnulib/getopt.c: Likewise.
15565 * grub-core/gnulib/getopt_int.h: Likewise.
15566 * grub-core/gnulib/regex.h: Likewise.
15567 * grub-core/gnulib/regex_internal.c: Likewise.
15568 * grub-core/gnulib/regex_internal.h: Likewise.
15569
15570 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15571
15572 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15573 CRC calculations and validity checks.
15574 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15575 calculations.
15576
15577 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15578
15579 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15580
15581 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 Fix incorrect echo options handling.
15584 Reported by: Yves Blusseau.
15585
15586 * include/grub/command.h (grub_command_flags_t): New flags
15587 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15588 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15589 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15590
15591 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15594 users updated.
15595 (GRUB_COMMAND_FLAG_MENU): Likewise.
15596 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15597 (GRUB_COMMAND_FLAG_TITLE): Removed.
15598 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15599 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15600 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15601 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15602 (grub_command_flags_t): New enum. All users updated.
15603
15604 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15605
15606 Fix solaris compilation.
15607
15608 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15609 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15610 (grub-emu-list): Likewise.
15611
15612 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 Remove deprecated root command.
15615
15616 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15617 updated.
15618
15619 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * util/i386/pc/grub-setup.c: Merge this ...
15622 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15623 * util/grub-setup.c: ... into this.
15624 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15625 New struct.
15626
15627 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15630 possible.
15631
15632 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15635 allocate p.
15636
15637 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15640 explicit root argument to set to prevent UUID to be interpreted as
15641 argument to set.
15642
15643 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15646
15647 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 Don't export grub_gate_a20.
15650
15651 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15652 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15653 to ...
15654 (grub_gate_a20): ... this. All users updated.
15655 * include/grub/i386/pc/init.h: Removed. All users updated.
15656
15657 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15658
15659 Create euro.pf2 which supports most European languages.
15660
15661 * Makefile.am (grubdata_DATA): Add euro.pf2.
15662 (euro.pf2): New target.
15663 (CLEANFILES): Add euro.pf2.
15664
15665 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15666
15667 * configure.ac: Disable emu-usb by default to prevent inadvertent
15668 device takeover.
15669
15670 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 Disable usbserial on grub-emu since our libusb code isn't good enough
15673 yet.
15674
15675 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15676 (usbserial_pl2303): Likewise.
15677 (usbserial_ftdi): Likewise.
15678
15679 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15680
15681 * include/grub/disk.h (grub_disk): Remove has_partitions.
15682 All users updated.
15683 * disk/loopback.c (grub_loopback): Remove has_partitions.
15684 All users updated.
15685 (options): Remove partitions. All users updated.
15686 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15687 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15688 actual partition table is found.
15689
15690 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 Remove readability checks (too many false negatives).
15693
15694 * util/grub-install.in: Remove readability checks.
15695 * util/grub-mkconfig.in: Likewise.
15696 * util/grub.d/10_hurd.in: Likewise.
15697 * util/grub.d/10_kfreebsd.in: Likewise.
15698 * util/grub.d/10_linux.in: Likewise.
15699 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15700 way.
15701
15702 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 Enable acpi shutdown on all ACPI platforms.
15705
15706 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15707 on coreboo, multiboot and EFI.
15708 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15709 (grub_acpi_halt): Likewise.
15710 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15711 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15712 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15713 * grub-core/lib/i386/halt.c (grub_halt)
15714 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15715
15716 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15719 context.
15720
15721 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15724 * grub-core/video/efi_uga.c: Likewise.
15725
15726 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 Filter devaliases and never open same device twice.
15729
15730 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15731 (last_ihandle): Likewise.
15732 (ofdisk_hash_ent): New member shortest.
15733 (ofdisk_hash_add): Add canonical path too.
15734 (scan): New function.
15735 (grub_ofdisk_iterate): Iterate over hashed entries.
15736 (compute_dev_path): Don't add :0.
15737 (grub_ofdisk_open): Don't really open the disk.
15738 (grub_ofdisk_close): Avoid closing unrelated disk.
15739 (grub_ofdisk_read): Implement reopen logic.
15740 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15741 New function.
15742 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15743 New proto.
15744
15745 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 Fix sparc64.
15748
15749 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15750 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15751 right address. Add sparc64_ieee1275_ldflags.
15752 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15753 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15754 to grub_host_to_target_addr
15755 (load_image): Likewise.
15756
15757 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * grub-core/normal/completion.c (complete_file): Handle device
15760 containing slash.
15761 Fix based on patch by Doug Nazar.
15762
15763 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 grub-mknetdir script.
15766
15767 * Makefile.util.def (grub-mknetdir): New module.
15768 * tests/util/grub-shell.in: Support boot=net
15769 * util/grub-mknetdir.in: New file.
15770
15771 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 videoinfo on non-vbe.
15774
15775 * grub-core/Makefile.core.def (vbeinfo): Removed.
15776 (vbetest): Removed.
15777 (videoinfo): New module.
15778 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15779 * grub-core/commands/i386/pc/vbetest.c: Removed.
15780 * grub-core/commands/videoinfo.c: New file.
15781 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15782 specification.
15783 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15784 as vbetest.
15785 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15786 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15787 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15788 mode_number. New parameter mode. All users updated.
15789 (grub_video_gop_iterate): New function.
15790 (grub_video_efi_gop): New member iterate.
15791 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15792 (grub_vbe_set_video_mode): Remove setting useless fields.
15793 (vbe2videoinfo): New function.
15794 (grub_video_vbe_iterate): Likewise.
15795 (grub_video_vbe_setup): Use vbe2videoinfo.
15796 (grub_video_vbe_print_adapter_specific_info): New function.
15797 (grub_video_vbe_adapter): New fields iterate and
15798 print_adapter_specific_info.
15799 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15800 All users updated.
15801 (grub_video_mode_info): New field mode_number.
15802 (grub_video_adapter): New fields iterate and
15803 print_adapter_specific_info.
15804
15805 2010-09-13 Tristan Gingold <gingold@free.fr>
15806 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15807 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * grub-core/commands/efi/lsefisystab.c: New file.
15810 * grub-core/commands/efi/lssal.c: Likewise.
15811 * grub-core/Makefile.core.def (lsacpi): New module.
15812 (lsefisystab): Likewise.
15813 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15814 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15815 (grub_efi_sal_system_table): New struct.
15816 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15817 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15818 (grub_efi_sal_system_table_platform_features): Likewise.
15819 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15820 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15821 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15822 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15823
15824 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15825
15826 Support explicit user claim that a device is BIOS-visible.
15827
15828 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15829 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15830 * grub-core/kern/emu/hostdisk.c
15831 (convert_system_partition_to_system_disk): Support mdX.
15832 (find_system_device): New parameter add. All users updated.
15833 (grub_util_biosdisk_is_present): New function.
15834 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15835 proto.
15836
15837 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 Search hints support.
15840
15841 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15842 All users updated.
15843
15844 2010-09-13 Yves Blusseau <blusseau@zetam.org>
15845
15846 Bash completion script for util commands
15847
15848 * Makefile.am: Add util/bash-completion.d directory
15849 * configure.ac: Likewise.
15850 * util/bash-completion.d/Makefile.am: New file.
15851 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15852
15853 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15856 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15857 Reported by: Yves Blusseau.
15858
15859 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15862 partition size and offset.
15863
15864 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15867
15868 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15871
15872 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15875 (grub_xvasprintf): Likewise.
15876
15877 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15880
15881 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15884 args ending with NULL.
15885
15886 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15889 pointer.
15890
15891 2010-09-11 Szymon Janc <szymon@janc.net.pl>
15892
15893 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15894
15895 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 Shutdown using ACPI.
15898
15899 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15900 * grub-core/commands/acpihalt.c: New file.
15901 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15902 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15903 (grub_acpi_halt): New proto.
15904 (GRUB_ACPI_SLP_EN): New const.
15905 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15906 (GRUB_ACPI_OPCODE_*): New enum.
15907 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15908
15909 2010-09-11 Tristan Gingold <gingold@free.fr>
15910 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15911 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * commands/lsacpi.c: New file.
15914 * grub-core/Makefile.core.def (lsacpi): New module.
15915 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15916 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15917 (grub_acpi_madt_entry_header): New struct.
15918 (grub_acpi_madt): Likewise.
15919 (grub_acpi_madt_entry_interrupt_override): Likewise.
15920 (grub_acpi_madt_entry_sapic): Likewise.
15921 (grub_acpi_madt_entry_lsapic): Likewise.
15922 (grub_acpi_madt_entry_platform_int_source): Likewise.
15923 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15924 (PRIuGRUB_UINT32_T): Likewise.
15925 (PRIxGRUB_UINT64_T): Likewise.
15926
15927 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 Implement loading palette on ieee1275_fb.
15930
15931 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15932 (have_setcolors): Likewise.
15933 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15934 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15935 (grub_video_ieee1275_set_palette): Implement.
15936
15937 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15938 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15939
15940 * util/grub-install.in (grub_partition): New variable.
15941 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15942 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15943 Fixes a bug reported by Yves Blusseau.
15944
15945 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 Fix emu on mipsel.
15948
15949 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15950 =grub_cpu_flush_cache on all mips and not only yeeloong.
15951 * configure.ac (COND_mips): New conditional.
15952 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15953 platforms.
15954 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15955 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15956 [GRUB_LINKER_HAVE_INIT]: New function.
15957 (grub_emu_post_init): Likewise.
15958 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15959 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15960 * include/grub/cache.h (_mips): Include mips/cache.h.
15961 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15962 LVM and RAID prototypes.
15963 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15964 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15965 function.
15966
15967 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15968
15969 * util/grub-install.in: Don't try to verify core.img until after
15970 running grub-mkimage to create it.
15971
15972 2010-09-10 Robert Millan <rmh@gnu.org>
15973
15974 * util/grub.d/10_hurd.in: Add misc readability checks.
15975 * util/grub.d/10_kfreebsd.in: Likewise.
15976 * util/grub.d/10_linux.in: Likewise.
15977
15978 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15979
15980 * util/grub-install.in: ${imgext} won't be defined here until the
15981 install branch is merged. For the meantime, only verify core.img on
15982 i386-pc and sparc64-ieee1275 platforms.
15983
15984 2010-09-10 Robert Millan <rmh@gnu.org>
15985
15986 Solaris support in grub_find_zpool_from_dir(). Thanks
15987 Seth Goldberg for referring to getextmntent() facility.
15988
15989 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15990 `sys/mkdev.h'.
15991 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15992 `<sys/mnttab.h>'.
15993 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15994 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15995 method for finding zpool name.
15996
15997 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15998
15999 grub-fstest needs the host and hostfs modules while other utilities
16000 actively require those modules to be absent, so grub-fstest needs
16001 its own initialisation and finalisation code.
16002
16003 * Makefile.am (grub_fstest.pp): New target.
16004 (grub_fstest_init.lst): Likewise.
16005 (grub_fstest_init.c): Likewise.
16006 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16007
16008 2010-09-10 Robert Millan <rmh@gnu.org>
16009
16010 * configure.ac: Check for `struct statfs.f_fstypename' and
16011 `struct statfs.f_mntfromname'.
16012
16013 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16014 kFreeBSD-specific code.
16015
16016 2010-09-10 Robert Millan <rmh@gnu.org>
16017
16018 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16019 on ZFS. Now non-main filesystems are supported as / too.
16020
16021 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
16022
16023 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16024 and grub-core/disk/host.c to ...
16025 (grub-fstest): ... here. Having the host disk implementation
16026 present confuses grub-probe and other utility programs.
16027
16028 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16029 when writing to a file, not when writing to stdout.
16030
16031 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16032
16033 * tests/partmap_test.in: New test for partitions.
16034 * Makefile.util.def: Rules for new test.
16035
16036 2010-09-09 Robert Millan <rmh@gnu.org>
16037
16038 * util/grub-probe.c (probe): Fix a pair of unhandled error
16039 conditions.
16040
16041 2010-09-09 Robert Millan <rmh@gnu.org>
16042
16043 Basic Btrfs support (detection and UUID).
16044
16045 * grub-core/fs/btrfs.c: New file.
16046 * Makefile.util.def (library): Register btrfs.c.
16047 * grub-core/Makefile.core.def: Likewise.
16048
16049 2010-09-08 Robert Millan <rmh@gnu.org>
16050
16051 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16052 with (optional) parameters to specify device and relative path.
16053 * util/grub-install.in: Use is_path_readable_by_grub() to
16054 verify readability of a few critical files.
16055 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16056 verify readability of grub.cfg.new.
16057
16058 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 Split minix.mod into minix.mod and minix2.mod.
16061
16062 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16063 * grub-core/Makefile.core.def (minix2): New module.
16064 * grub-core/fs/minix.c: Use definitions instead of runtime version
16065 checking.
16066 * grub-core/fs/minix2.c: New file.
16067
16068 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16069
16070 Add new --boot-directory option to replace --root-directory
16071
16072 * util/grub-install.in: Add new --boot-directory option
16073 * util/grub-reboot.in: Likewise.
16074 * util/grub-set-default.in: Likewise.
16075
16076 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16077
16078 * util/grub-mkconfig.in: Use new variable.
16079
16080 2010-09-08 Yves Blusseau <blusseau@zetam.org>
16081
16082 * configure.ac: Define some useful variables.
16083
16084 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16087 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16088 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16089 Use terminfo and don't use cursor-on/cursor-off unless it's known
16090 to work.
16091 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16092 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16093
16094 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
16095
16096 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16097 starts with "(,", fill the drive containing the loaded image in
16098 between those two characters, but expect that a full partition
16099 specification including partition map names will follow.
16100
16101 2010-09-08 Robert Millan <rmh@gnu.org>
16102
16103 * configure.ac: Remove `--enable-grub-fstest' option.
16104 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16105
16106 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16107 `grub-fstest' instead of `grub-probe' for readability verification.
16108 * util/grub-probe.c (probe): Remove readability verification kludge.
16109
16110 2010-09-08 Robert Millan <rmh@gnu.org>
16111
16112 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16113 initializing `GRUB_FS'.
16114
16115 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16116
16117 Not command (!) support to GRUB script.
16118
16119 * tests/grub_script_not.in: New test.
16120 * Makefile.util.def: Rules for new test.
16121
16122 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16123 ! command as a special case.
16124 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16125
16126 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16127
16128 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16129 grub_free.
16130
16131 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16132
16133 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16134
16135 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16136
16137 * docs/grub.texi (Shell-like scripting): Documentation for break,
16138 continue, shift and return commands.
16139
16140 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 Rename CD-ROM to cd on BIOS.
16143
16144 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16145 "cd".
16146 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16147
16148 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16151 * util/grub-probe.c (main): Likewise.
16152 * util/i386/pc/grub-setup.c (main): Likewise.
16153 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16154 Reported and debugged by: alexxy
16155
16156 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16159 diagnostic info.
16160
16161 2010-09-05 Jo Shields <directhex@apebox.org>
16162
16163 * util/grub.d/30_os-prober.in: Add missing classes.
16164
16165 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16166
16167 * docs/grub.texi (Theme file format): Document new position format.
16168
16169 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16172 a table. Use @code instead of @verbatim.
16173
16174 2010-09-05 Colin D Bennett <colin@gibibit.com>
16175
16176 Gfxmenu documentation.
16177
16178 * docs/grub.texi (Theme file format): New chapter.
16179
16180 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16181
16182 * grub-core/Makefile.core.def (xzio): New module.
16183 * grub-core/io/xzio.c: New file.
16184 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16185 * grub-core/lib/xzembed/xz_config.h: Likewise.
16186 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16187 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16188 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16189 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16190 * grub-core/lib/xzembed/xz_private.h: Likewise.
16191 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16192 * include/grub/file.h (grub_file_filter_id): New compression filter
16193 GRUB_FILE_FILTER_XZIO.
16194
16195 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16198 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16199 size.
16200
16201 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16204 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16205
16206 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Uncompressed checksum support.
16209
16210 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16211 (check_list): New parameter uncompress.
16212 (grub_cmd_hashsum): Handle --uncompress.
16213
16214 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16215
16216 Reintroduce testload.
16217
16218 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16219 from here ...
16220 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16221 (GRUB_MOD_INIT): New function.
16222 (GRUB_MOD_FINI): Likewise.
16223 * grub-core/Makefile.core.def (testload): New module.
16224
16225 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16226
16227 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16228 (uint8_t): New type.
16229 (uint16_t): Likewise.
16230 (uint32_t): Likewise.
16231 (uint64_t): Likewise.
16232
16233 2010-09-05 Szymon Janc <szymon@janc.net.pl>
16234
16235 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16236
16237 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16240 Made static.
16241 (grub_gzfile_open): Removed. All users updated.
16242 (GRUB_MOD_INIT): New function.
16243 (GRUB_MOD_FINI): Likewise.
16244 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16245 (grub_file_filters_enabled): Likewise.
16246 (grub_file_open): Handle filters.
16247 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16248 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16249 * include/grub/file.h (grub_file_filter_id_t): New type.
16250 (grub_file_filter_t): Likewise.
16251 (grub_file_filters_all): New extern variable.
16252 (grub_file_filters_enabled): Likewise.
16253 (grub_file_filter_register): New inline function.
16254 (grub_file_filter_unregister): Likewise.
16255 (grub_file_filter_disable): Likewise.
16256 (grub_file_filter_disable_compression): Likewise.
16257 * include/grub/gzio.h: Removed.
16258
16259 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16260
16261 Filename expansion support for wildcards in GRUB script.
16262
16263 * tests/grub_script_expansion.in: New test.
16264 * Makefile.util.def: Rule for new test.
16265
16266 * grub-core/commands/wildcard.c: New file, implements filename
16267 expansion support for GRUB script.
16268 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16269 * grub-core/script/argv.c: Cosmetic changes.
16270 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16271 Refactored to perform wildcard expansion on arguments.
16272 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16273 struct.
16274
16275 * tests/util/grub-shell.in: Fix quoting for read input.
16276
16277 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16278
16279 Support for updating environment variables with matched substrings
16280 of regexp.
16281
16282 * tests/grub_cmd_regexp.in: New test.
16283 * Makefile.util.def: Rule for new test.
16284
16285 * grub-core/commands/regexp.c: New option -s to update environment
16286 variables with regexp matches.
16287
16288 2010-09-04 Szymon Janc <szymon@janc.net.pl>
16289
16290 * include/grub/file.h (grub_file): New member not_easly_seekable.
16291 (grub_file_seekable): New inline function.
16292 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16293 easily seekable.
16294 (grub_gzio_open): Set not_easly_seekable.
16295 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16296 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16297
16298 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16299
16300 Support for options to appear multiple times on cmdline.
16301
16302 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16303 * grub-core/commands/extcmd.c: Support for repeatable option.
16304 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16305 repeatable option support.
16306
16307 Refactor menuentry into a regular command.
16308
16309 * grub-core/commands/menuentry.c: New file, menuentry command
16310 implementation.
16311 * grub-core/Makefile.core.def: Rule update for normal.mod.
16312 * grub-core/normal/main.c: Moved menuentry creation to
16313 grub-core/commands/menuentry.c.
16314 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16315 (grub_menu_execute_entry_real): Removed.
16316 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16317 function.
16318 (grub_script_execute_menuentry): Removed.
16319 * grub-core/script/parser.y (menuentry): Removed.
16320 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16321 * grub-core/script/yylex.l (menuentry): Removed.
16322 * include/grub/menu.h (grub_menu_init): New prototype.
16323 (grub_menu_fini): New prototype.
16324 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16325 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16326 (grub_script_execute_sourcecode): New prototype.
16327
16328 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16329
16330 "return" command for GRUB script functions.
16331
16332 * tests/grub_script_return.in: New test.
16333 * Makefile.util.def: Rules for new test.
16334
16335 * grub-core/script/execute.c (grub_script_return): New function.
16336 * grub-core/script/main.c: Register/unregister return commaond.
16337 * include/grub/script_sh.h (grub_script_return): New prototype.
16338
16339 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16340
16341 "setparams" command to update positional parameters.
16342
16343 * tests/grub_script_setparams.in: New test.
16344 * Makefile.util.def: Rules for new test.
16345
16346 * grub-core/script/argv.c (grub_script_argv_make): New function.
16347 * grub-core/script/execute.c (replace_scope): New function.
16348 (grub_script_setparams): New function.
16349 * grub-core/script/lexer.c: Remove unused variables.
16350 * grub-core/script/main.c: Register/unregister setparams command.
16351 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16352 (grub_script_setparams): New prototype.
16353
16354 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16355
16356 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16357 grub_free order.
16358
16359 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16360
16361 Support for passing block of commands as an argument to extcmds.
16362
16363 * Makefile.util.def: Rules for new test.
16364 * tests/grub_script_blockarg.in: New test.
16365 * grub-core/tests/test_blockarg.c: New file, block argument
16366 command used in the test.
16367
16368 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16369 (grub_register_extcmd_prio): New function prototype.
16370 (grub_extcmd_dispatcher): New function prototype.
16371 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16372 type.
16373 * include/grub/script_sh.h (struct grub_script): New members
16374 `children', `next_siblings' and `refcnt' for block arguments and
16375 reference counting.
16376 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16377 (grub_script_arg): New member `script' for block argument.
16378 (grub_script_argv): New member `script' for block argument.
16379 (grub_parser_param): New member `scripts' for block argument.
16380 (grub_script_mem_free): New extern function prototype.
16381 (grub_script_ref): New function prototype.
16382 (grub_script_unref): New function prototype.
16383
16384 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16385 extcmd form to support block arguments.
16386 * grub-core/script/argv.c: Block arguments support.
16387 * grub-core/script/execute.c: Likewise.
16388 * grub-core/script/lexer.c: Likewise.
16389 * grub-core/script/main.c: Likewise.
16390 * grub-core/script/script.c: Likewise.
16391 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16392 non-terminals.
16393
16394 * grub-core/commands/acpi.c: Update extcmd implementations with
16395 grub_extcmd_context_t.
16396 * grub-core/commands/cat.c: Likewise.
16397 * grub-core/commands/echo.c: Likewise.
16398 * grub-core/commands/extcmd.c: Likewise.
16399 * grub-core/commands/hashsum.c: Likewise.
16400 * grub-core/commands/hdparm.c: Likewise.
16401 * grub-core/commands/help.c: Likewise.
16402 * grub-core/commands/hexdump.c: Likewise.
16403 * grub-core/commands/i386/cpuid.c: Likewise.
16404 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16405 * grub-core/commands/i386/pc/halt.c: Likewise.
16406 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16407 * grub-core/commands/iorw.c: Likewise.
16408 * grub-core/commands/keystatus.c: Likewise.
16409 * grub-core/commands/loadenv.c: Likewise.
16410 * grub-core/commands/ls.c: Likewise.
16411 * grub-core/commands/lspci.c: Likewise.
16412 * grub-core/commands/memrw.c: Likewise.
16413 * grub-core/commands/probe.c: Likewise.
16414 * grub-core/commands/search_wrap.c: Likewise.
16415 * grub-core/commands/setpci.c: Likewise.
16416 * grub-core/commands/sleep.c: Likewise.
16417 * grub-core/disk/loopback.c: Likewise.
16418 * grub-core/hello/hello.c: Likewise.
16419 * grub-core/loader/i386/bsd.c: Likewise.
16420 * grub-core/loader/xnu.c: Likewise.
16421 * grub-core/term/gfxterm.c: Likewise.
16422 * grub-core/term/serial.c: Likewise.
16423 * grub-core/tests/lib/functional_test.c: Likewise.
16424
16425 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16426
16427 Multi-line quoted strings support.
16428
16429 * grub-core/script/lexer.c (append_newline): Removed.
16430 (grub_script_lexer_yywrap): Refactored.
16431 (grub_script_lexer_init): Refactored.
16432 * grub-core/script/yylex.l (yywrap): New function.
16433 (grub_lexer_resplit): New function.
16434 (grub_lexer_unput): New function.
16435 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16436 and resplit.
16437 * tests/grub_script_echo1.in: Added few more testcases.
16438
16439 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 * grub-core/kern/misc.c: Don't add abort alias in utils.
16442 Reported by: echoline.
16443
16444 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16445
16446 Add missing files into "make dist" tarball for other platforms.
16447
16448 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16449 * conf/Makefile.common (dist_noinst_DATA): New variable.
16450 * conf/Makefile.extra-dist: Added missing make dist files.
16451 * grub-core/Makefile.core.def: Likewise.
16452
16453 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 Compress grub_prefix.
16456
16457 * grub-core/boot/i386/pc/lnxboot.S: Use
16458 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16459 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16460 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16461 GRUB_MACHINE_PREFIX_END. All users updated.
16462 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16463 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16464 + 0x40.
16465 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16466 * util/grub-mkimage.c (image_target_desc): Change data_end to
16467 prefix_end. All users updated.
16468
16469 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16472 value.
16473 (grub_openbsd_boot): Likewise.
16474 (grub_netbsd_boot): Likewise.
16475 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16476 (grub_xnu_boot): Likewise.
16477
16478 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 * configure.ac: Clean LIBS variable after tests.
16481
16482 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16483
16484 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16485
16486 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16489 echo if libdevmapper will be used.
16490
16491 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16492
16493 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16494 constant for the same file.
16495
16496 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16499
16500 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16501
16502 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16503 grub-core/*.pp.
16504
16505 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16506
16507 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16508 required by the boot protocol.
16509
16510 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16511 ebp and edi members.
16512 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16513 state.ebp and state.edi.
16514 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16515 %ebp and %edi according to grub_relocator32_ebp and
16516 grub_relocator32_edi respectively.
16517 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16518 and state.edi.
16519
16520 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 Add i386-pc-pxe image target.
16523
16524 * util/grub-mkimage.c (image_target_desc): New enum value
16525 IMAGE_I386_PC_PXE.
16526 (image_targets): New target i386-pc-pxe.
16527 (generate_image): Handle i386-pc-pxe image.
16528
16529 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 Fix grub_pxe_scan.
16532
16533 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16534 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16535 All users updated.
16536 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16537 (grub_pxe_pxenv): Correct type.
16538
16539 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16540
16541 * NEWS: Document most of the important changes since 1.98.
16542
16543 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16544
16545 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16546 generated manual page) a little.
16547
16548 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16549
16550 * docs/grub.texi: Add myself as an author.
16551
16552 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * Makefile.util.def (libgrub.a): Add missing sunpc.
16555 Reported by: Seth Goldberg.
16556
16557 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 Interrupt wrapping and code simplifications.
16560
16561 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16562 x86_noieee1275 which are functionaly equivalent in this case.
16563 (grub-install): Make source on each platform explicit. Enable on
16564 all noemu.
16565 * gentpl.py (x86_efi_pc): Removed group.
16566 (x86_noefi): Likewise.
16567 (i386_noefi): Likewise.
16568 (x86_noieee1275): Likewise.
16569 (i386_noieee1275): Likewise.
16570 (i386_noefi_noieee1275): Likewise.
16571 (i386_pc_qemu_coreboot): Likewise.
16572 (i386_coreboot_multiboot): Likewise.
16573 (i386_pc_coreboot_multiboot_qemu): Likewise.
16574 (x86_noefi_mips): Likewise.
16575 (noieee1275): Likewise.
16576 (ieee1275_mips): Likewise.
16577 (noemu_noieee1275): Likewise.
16578 (cmos): New group.
16579 (usb): Likewise.
16580 (videoinkernel): Likewise.
16581 (videomodules): Likewise.
16582 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16583 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16584 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16585 include/grub/loader.h, include/grub/msdos_partition.h,
16586 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16587 include/grub/machine/console.h, include/grub/machine/vga.h,
16588 include/grub/machine/vbe.h, include/grub/machine/init.h,
16589 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16590 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16591 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16592 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16593 * grub-core/Makefile.core.def (kernel): Explicit the source for
16594 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16595 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16596 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16597 Use videoinkernel tag.
16598 (usb): Enable on all usb.
16599 (usbserial_common): Likewise.
16600 (usbserial_pl2303): Likewise.
16601 (usbserial_ftdi): Likewise.
16602 (uhci): Enable on all x86.
16603 (ohci): Enable on all pci.
16604 (cmostest): Enable on all CMOS.
16605 (acpi): Include commands/acpi.c on all platforms.
16606 (halt): Add relevant lib/*/halt.c.
16607 (hdparm): Enable on all pci.
16608 (lspci): Likewise.
16609 (usbtest): Enable on all usb.
16610 (ata): Enable on all pci.
16611 (ata_pthru): Likewise.
16612 (usbms): Enable on all usb.
16613 (usb_keyboard): Likewise.
16614 (font): Use tag videomodules.
16615 (bufio): Likewise.
16616 (datetime): Use tag cmos. Enable on all noemu.
16617 (mmap): Use tags common and x86.
16618 (gfxterm): Use tag videomodules.
16619 (bitmap): Likewise.
16620 (bitmap_scale): Likewise.
16621 (video_fb): Likewise.
16622 (video): Likewise.
16623 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16624 adjust padding accordingly. All users updated.
16625 (grub_ohci_transaction): Fix bad format specification.
16626 (GRUB_MOD_INIT): Add asserts for struct size.
16627 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16628 (grub_alloc_td): Likewise.
16629 (grub_free_queue): Likewise.
16630 (grub_uhci_transfer): Likewise.
16631 (grub_uhci_transaction): Fix bad format specification.
16632 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16633 (grub_usb_bulk_readwrite): Likewise.
16634 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16635 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16636 Made static.
16637 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16638 Made static.
16639 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16640 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16641 Transformed into C.
16642 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16643 Moved from here ...
16644 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16645 ... here. Transformed into C. Made static.
16646 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16647 Moved from here ...
16648 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16649 ... here. Transformed into C. Made static.
16650 * grub-core/kern/i386/pc/startup.S
16651 (grub_biosdisk_check_int13_extensions): Moved from here ...
16652 * grub-core/disk/i386/pc/biosdisk.c
16653 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16654 Made static.
16655 * grub-core/kern/i386/pc/startup.S
16656 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16657 * grub-core/disk/i386/pc/biosdisk.c
16658 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16659 Transformed into C. Made static.
16660 * grub-core/kern/i386/pc/startup.S
16661 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16662 * grub-core/disk/i386/pc/biosdisk.c
16663 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16664 Transformed into C. Made static.
16665 * grub-core/kern/i386/pc/startup.S
16666 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16667 * grub-core/disk/i386/pc/biosdisk.c
16668 (grub_biosdisk_get_diskinfo_standard): ... here.
16669 Transformed into C. Made static.
16670 * grub-core/kern/i386/pc/startup.S
16671 (grub_biosdisk_get_num_floppies): Moved from here ...
16672 * grub-core/disk/i386/pc/biosdisk.c
16673 (grub_biosdisk_get_num_floppies): ... here.
16674 Transformed into C. Made static.
16675 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16676 New function.
16677 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16678 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16679 Transformed into C. Made static.
16680 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16681 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16682 Transformed into C. Made static.
16683 * grub-core/kern/i386/ieee1275/init.c: Removed.
16684 * grub-core/kern/i386/misc.S: Likewise.
16685 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16686 Splitted from here ...
16687 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16688 Transformed into C. Made static. All users updated.
16689 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16690 Transformed into C. Made static. All users updated.
16691 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16692 Moved from here...
16693 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16694 Transformed into C. Made static. All users updated.
16695 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16696 Moved from here...
16697 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16698 Transformed into C. Made static. All users updated.
16699 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16700 Removed (replaced by C version).
16701 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16702 Moved from here...
16703 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16704 Transformed into C. Made static.
16705 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16706 Moved from here...
16707 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16708 ... here. Transformed into C.
16709 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16710 Moved from here...
16711 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16712 ... here. Transformed into C.
16713 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16714 Moved from here...
16715 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16716 ... here. Transformed into C. Made static.
16717 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16718 Moved from here...
16719 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16720 ... here. Transformed into C.
16721 * grub-core/kern/i386/pc/startup.S
16722 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16723 * grub-core/video/i386/pc/vbe.c
16724 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
16725 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16726 Moved from here...
16727 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16728 ... here. Transformed into C.
16729 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16730 Moved from here...
16731 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16732 ... here. Transformed into C.
16733 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16734 Moved from here...
16735 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16736 ... here. Transformed into C.
16737 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16738 Moved from here...
16739 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16740 ... here. Transformed into C.
16741 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16742 Moved from here...
16743 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16744 ... here. Transformed into C. Made static.
16745 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16746 Moved from here...
16747 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16748 ... here. Transformed into C. Made static.
16749 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16750 Moved from here...
16751 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16752 ... here. Transformed into C. Made static.
16753 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16754 pxe_rm_entry as third argument.
16755 (grub_bios_interrupt): New function.
16756 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16757 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16758 of calling grub_stop.
16759 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16760 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16761 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16762 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16763 * grub-core/lib/i386/halt.c: Moved from here ...
16764 * grub-core/lib/i386/halt.c: ... here.
16765 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16766 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16767 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16768 grub_stop_floppy.
16769 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16770 * include/grub/i386/coreboot/init.h: Removed.
16771 * include/grub/i386/multiboot/init.h: Likewise.
16772 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16773 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16774 * include/grub/i386/pc/int.h: New file.
16775 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16776 (grub_pxe_scan): Removed.
16777 (grub_pxe_call): Update prototype.
16778 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16779 prototypes.
16780 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16781 * include/grub/i386/qemu/init.h: Removed.
16782 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16783 noreturn.
16784 (grub_halt): Likewise.
16785 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16786 (grub_reboot): Likewise.
16787 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16788 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
16789 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16790
16791 2010-08-30 Robert Millan <rmh@gnu.org>
16792
16793 * NEWS: Document addition of ZFS support in `grub-install' and
16794 `grub-mkconfig'.
16795
16796 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16797
16798 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16799 dprintf output.
16800
16801 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 Remove leftover embedding of font objects.
16804
16805 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16806 * util/grub-install.in (font): Removed.
16807 * util/grub-mkimage.c (generate_image): Remove font support. All users
16808 updated.
16809
16810 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 Remove leftover embedding of font objects.
16813
16814 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16815 * util/grub-install.in (font): Removed.
16816 * util/grub-mkimage.c (generate_image): Remove font support. All users
16817 updated.
16818
16819 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * docs/grub.texi (Network): Fix reference to pxe_blksize.
16822 Reported by: Ian Turner
16823
16824 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16827 timeout to avoid indefinite boot stalling.
16828
16829 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16832 (grub_env_write_color_highlight): Likewise.
16833
16834 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 * grub-core/normal/term.c (print_more): Return to normal and not
16837 to standard state after printing "---MORE---".
16838
16839 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16842 Mask out the bit 0x80 since it has other meaning that specifiing color.
16843
16844 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16845
16846 New relocator. Allows for more kernel support and more straightforward
16847 loader writing.
16848
16849 * Makefile.am (BOOTTARGET): New variable.
16850 (QEMU32): Likewise.
16851 (linux.init.x86_64): New target.
16852 (linux.init.i386): Likewise.
16853 (multiboot.elf): Likewise.
16854 (kfreebsd.elf): Likewise.
16855 (kfreebsd.aout): Likewise.
16856 (pc-chainloader.elf): Likewise.
16857 (pc-chainloader.bin): Likewise.
16858 (ntldr.elf): Likewise.
16859 (ntldr.bin): Likewise.
16860 (multiboot2.elf): Likewise.
16861 (kfreebsd.init.x86_64): Likewise.
16862 (kfreebsd.init.i386): Likewise.
16863 (knetbsd.init.i386): Likewise.
16864 (kopenbsd.init.i386): Likewise.
16865 (knetbsd.init.x86_64): Likewise.
16866 (kopenbsd.init.x86_64): Likewise.
16867 (linux-initramfs.i386): Likewise.
16868 (linux-initramfs.x86_64): Likewise.
16869 (kfreebsd-mfsroot.i386.img): Likewise.
16870 (knetbsd.image.i386): Likewise.
16871 (kopenbsd.image.i386): Likewise.
16872 (kopenbsd.image.x86_64): Likewise.
16873 (knetbsd.miniroot-image.i386.img): Likewise.
16874 (kfreebsd-mfsroot.x86_64.img): Likewise.
16875 (knetbsd.image.x86_64): Likewise.
16876 (knetbsd.miniroot-image.x86_64.img): Likewise.
16877 (kfreebsd-mfsroot.i386.gz): Likewise.
16878 (bootcheck-kfreebsd-i386): Likewise.
16879 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16880 (bootcheck-kfreebsd-x86_64): Likewise.
16881 (knetbsd.miniroot-image.i386.gz): Likewise.
16882 (bootcheck-knetbsd-i386): Likewise.
16883 (bootcheck-kopenbsd-i386): Likewise.
16884 (bootcheck-kopenbsd-x86_64): Likewise.
16885 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16886 (bootcheck-knetbsd-x86_64): Likewise.
16887 (bootcheck-linux-i386): Likewise.
16888 (bootcheck-linux-x86_64): Likewise.
16889 (bootcheck-linux16-i386): Likewise.
16890 (bootcheck-linux16-x86_64): Likewise.
16891 (bootcheck-multiboot): Likewise.
16892 (bootcheck-multiboot2): Likewise.
16893 (bootcheck-kfreebsd-aout): Likewise.
16894 (bootcheck-pc-chainloader): Likewise.
16895 (bootcheck-ntldr): Likewise.
16896 (CLEANFILES): Add new targets.
16897 (BOOTCHECKS): New variable.
16898 (.PHONY): Add bootchecks.
16899 (SUCCESSFUL_BOOT_STRING): New variable.
16900 (BOOTCHECK_TIMEOUT): Likewise.
16901 (bootcheck): New target
16902 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16903 * configure.ac: Correct efiemu excuse.
16904 * docs/grub.texi (Supported kernels): New chapter.
16905 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16906 include/grub/mm_private.h. Simplify inclusion of
16907 include/grub/boot.h, include/grub/loader.h
16908 and include/grub/msdos_partition.h
16909 (KERNEL_HEADER_FILES) [i386_coreboot]:
16910 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16911 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16912 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16913 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16914 include/grub/machine/loader.h.
16915 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16916 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16917 extra_dist.
16918 (pci.mod): Enable on i386-multiboot.
16919 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16920 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16921 i386-qemu.
16922 (relocator.mod): Rewritten.
16923 (aout.mod): Enable on all x86.
16924 (bsd.mod): Likewise.
16925 (ntldr.mod): New module.
16926 (linux.mod): Use loader/i386/linux.c on all x86.
16927 (xnu.mod): Enable on all x86.
16928 (vga_text.mod): disable on EFI and QEMU.
16929 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16930 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16931 * grub-core/efiemu/loadcore.c: Likewise.
16932 * grub-core/efiemu/main.c: Likewise.
16933 (grub_efiemu_exit_boot_services): Removed.
16934 (grub_efiemu_finish_boot_services): Likewise.
16935 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16936 function.
16937 * grub-core/efiemu/i386/nocfgtables.c: New file.
16938 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16939 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16940 (grub_efi_finish_boot_services): Moved from here ...
16941 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16942 Fille finish memory map and related data.
16943 (finish_mmap_buf): New variable.
16944 (grub_efi_uintn_t finish_mmap_size): Likewise.
16945 (grub_efi_uintn_t finish_key): Likewise.
16946 (grub_efi_uintn_t finish_desc_size): Likewise.
16947 (grub_efi_uint32_t finish_desc_version): Likewise.
16948 (grub_efi_is_finished): Likewise.
16949 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16950 finished.
16951 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16952 (grub_elf64_phdr_iterate): Likewise.
16953 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16954 (grub_os_area_size): Likewise.
16955 (grub_machine_init): Don't reserve os area.
16956 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16957 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16958 * grub-core/kern/i386/loader.S: Removed.
16959 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16960 (grub_os_area_size): Likewise.
16961 (grub_machine_init): Don't reserve os area.
16962 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16963 Don't call grub_dl_unload_all.
16964 Don't include loader.S.
16965 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16966 Declare the memory after _end as available.
16967 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16968 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16969 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16970 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16971 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16972 * include/grub/mm_private.h (grub_mm_header): ... here.
16973 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16974 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16975 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16976 (grub_mm_region): ..here. Removed addr. Added pre_size.
16977 All users updated.
16978 * grub-core/kern/mm.c (base): Renamed to ...
16979 (grub_mm_base): ... this. Made global.
16980 (grub_real_malloc): Alloc from end of region.
16981 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16982 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16983 * grub-core/kern/powerpc/cache_flush.S: ... here.
16984 * grub-core/lib/efi/relocator.c: New file.
16985 * grub-core/lib/i386/relocator.c: Rewritten.
16986 * grub-core/lib/i386/relocator16.S: New file.
16987 * grub-core/lib/i386/relocator32.S: Likewise.
16988 * grub-core/lib/i386/relocator64.S: Likewise.
16989 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16990 * grub-core/lib/i386/relocator_common.S: New file.
16991 * grub-core/lib/ieee1275/relocator.c: Likewise.
16992 * grub-core/lib/mips/relocator.c: Rewritten.
16993 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16994 stylistic adjustments.
16995 * grub-core/lib/powerpc/relocator.c: New file.
16996 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16997 * grub-core/lib/relocator.c: Rewritten.
16998 * grub-core/lib/x86_64/relocator_asm.S: New file.
16999 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17000 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17001 (bsd_tag): New struct.
17002 (tags): New variable.
17003 (tags_last): Likewise.
17004 (netbsd_module): New struct.
17005 (netbsd_mods): New variable.
17006 (netbsd_mods_last): Likewise.
17007 (openbsd_opts): New parameter "serial".
17008 (OPENBSD_SERIAL_ARG): New definition.
17009 (netbsd_opts): New parameter "serial".
17010 (NETBSD_SERIAL_ARG): New definition.
17011 (grub_freebsd_add_meta): Reorganised into ...
17012 (grub_bsd_add_meta): ...this. All users updated.
17013 (grub_freebsd_add_mmap): Reorganised into ...
17014 (generate_e820_mmap): ...this...
17015 (grub_bsd_add_mmap): ...and this. All users updated.
17016 (grub_freebsd_list_modules): Use tags.
17017 (grub_netbsd_add_meta_module): New function.
17018 (grub_netbsd_list_modules): Likewise.
17019 (grub_freebsd_boot): Use relocator and finish EFI.
17020 (grub_openbsd_boot): Likewise.
17021 (grub_netbsd_setup_video): New function.
17022 (grub_netbsd_add_modules): Likewise.
17023 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17024 and finish EFI.
17025 (grub_bsd_unload): Unload tags.
17026 (grub_bsd_load_aout): Use relocator.
17027 (grub_bsd_elf32_size_hook): New function.
17028 (grub_bsd_elf32_hook): Use relocator.
17029 (grub_bsd_elf64_size_hook): New function.
17030 (grub_bsd_elf64_hook): Use relocator.
17031 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17032 (grub_bsd_load): Zero-out openbsd_ramdisk.
17033 (grub_bsd_load): Use relocator.
17034 (grub_cmd_openbsd): Support serial.
17035 (grub_cmd_netbsd): Support modules.
17036 (grub_cmd_freebsd_module): Use relocator.
17037 (grub_netbsd_module_load): New function.
17038 (grub_cmd_netbsd_module): Likewise.
17039 (grub_cmd_openbsd_ramdisk): Likewise.
17040 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17041 kopenbsd_ramdisk.
17042 (GRUB_MOD_FINI): Unregister new commands.
17043 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17044 (grub_freebsd_load_elfmodule_obj): Use relocator.
17045 (grub_freebsd_load_elfmodule): Likewise.
17046 (grub_freebsd_load_elf_meta): Likewise.
17047 (grub_netbsd_load_elf_meta): New function.
17048 (grub_openbsd_find_ramdisk): Likewise.
17049 * grub-core/loader/i386/bsd_helper.S: Removed.
17050 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17051 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17052 * grub-core/loader/i386/efi/linux.c: Likewise.
17053 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17054 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17055 (DEFAULT_VIDEO_MODE): Likewise.
17056 (real_mode_target): New variable.
17057 (prot_mode_target): Likewise.
17058 (initrd_mem_target): Likewise.
17059 (relocator): Likewise.
17060 (efi_mmap_buf): Likewise.
17061 (efi_mmap_size): Likewise.
17062 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17063 (free_pages): Use relocator.
17064 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17065 (grub_linux_setup_video): Return error.
17066 (grub_linux_trampoline_start): Removed.
17067 (grub_linux_trampoline_end): Likewise.
17068 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17069 andd video parameters depending on firmware.
17070 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17071 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17072 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17073 (grub_cmd_initrd): Use relocator.
17074 * grub-core/loader/i386/linux_trampoline.S: Removed.
17075 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17076 (elf_sec_entsize): Likewise.
17077 (elf_sec_shstrndx): Likewise.
17078 (elf_sections): Likewise.
17079 (grub_multiboot_load): Use relocator.
17080 (grub_multiboot_get_mbi_size): Account for sections.
17081 (grub_multiboot_make_mbi): Use relocator and support sections.
17082 (grub_multiboot_add_elfsyms): New function.
17083 (grub_multiboot_free_mbi): Free sections.
17084 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17085 (grub_linux_real_target): Likewise.
17086 (grub_linux_real_chunk): Likewise.
17087 (grub_linux16_prot_size): Likewise.
17088 (grub_linux16_boot): Use relocator.
17089 (grub_linux_unload): Unload relocator.
17090 (grub_cmd_linux): Use relocator.
17091 (grub_cmd_initrd): Likewise.
17092 * grub-core/loader/i386/pc/ntldr.c: New file.
17093 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17094 Don't try to guess CPU frequency.
17095 (grub_xnu_set_video): Stretch bitmap.
17096 (grub_xnu_boot): Use relocator.
17097 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17098 (grub_linux_unload): Free relocator.
17099 (grub_linux_load32): Use relocator.
17100 (grub_linux_load64): Likewise.
17101 (grub_cmd_initrd): Likewise.
17102 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17103 (grub_multiboot_unload): Unload relocator.
17104 (grub_cmd_multiboot): Use relocator.
17105 (grub_cmd_module): Likewise.
17106 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17107 Use relocator and support sections.
17108 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17109 (elf_sec_entsize): Likewise.
17110 (elf_sec_shstrndx): Likewise.
17111 (elf_sections): Likewise.
17112 (grub_multiboot_load): Use relocator.
17113 (grub_multiboot_get_mbi_size): Account for sections.
17114 (grub_multiboot_make_mbi): Use relocator and support sections.
17115 (grub_multiboot_add_elfsyms): New function.
17116 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17117 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17118 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17119 Prototype changed. All users updated.
17120 (grub_xnu_align_heap): Simplified.
17121 (grub_xnu_writetree_toheap): Likewise.
17122 (grub_xnu_unload): Unload relocator.
17123 (grub_cmd_xnu_kernel): Use relocator.
17124 (grub_cmd_xnu_kernel64): Likewise.
17125 (grub_xnu_register_memory): Simplified.
17126 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
17127 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17128 EFI is finished.
17129 (grub_console_checkkey): Likewise.
17130 (grub_console_getkey): Likewise.
17131 (grub_console_getwh): Likewise.
17132 (grub_console_getxy): Likewise.
17133 (grub_console_gotoxy): Likewise.
17134 (grub_console_cls): Likewise.
17135 (grub_console_setcolorstate): Likewise.
17136 (grub_console_setcursor): Likewise.
17137 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17138 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17139 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17140 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17141 * grub-core/tests/boot/kernel-8086.S: Likewise.
17142 * grub-core/tests/boot/kernel-i386.S: Likewise.
17143 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17144 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17145 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17146 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17147 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17148 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17149 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17150 * grub-core/tests/boot/linux.cfg: Likewise.
17151 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17152 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17153 * grub-core/tests/boot/linux16.cfg: Likewise.
17154 * grub-core/tests/boot/multiboot.cfg: Likewise.
17155 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17156 * grub-core/tests/boot/ntldr.cfg: Likewise.
17157 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17158 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17159 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17160 New definition.
17161 * include/grub/dl.h (grub_dl_unload_all): Removed.
17162 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17163 (grub_efi_finish_boot_services): Change prototype.
17164 (grub_efi_is_finished): New variable.
17165 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17166 Changed prototype.
17167 (grub_efiemu_finish_boot_services): Removed.
17168 (grub_machine_efiemu_init_tables): New prototype.
17169 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17170 (grub_elf64_phdr_iterate): Likewise.
17171 * include/grub/i386/bsd.h: Include relocator.h.
17172 (freebsd_tag_header): New struct.
17173 (grub_openbsd_bios_mmap): Removed.
17174 (grub_unix_real_boot): Removed.
17175 (grub_freebsd_load_elfmodule32): Changed prototype.
17176 (grub_freebsd_load_elfmodule_obj64): Likewise.
17177 (grub_freebsd_load_elf_meta32): Likewise.
17178 (grub_freebsd_load_elf_meta64): Likewise.
17179 (grub_freebsd_add_meta): Removed.
17180 (grub_netbsd_load_elf_meta32): New prototype.
17181 (grub_netbsd_load_elf_meta64): Likewise.
17182 (grub_bsd_add_meta): Likewise.
17183 (grub_openbsd_ramdisk_descriptor): New struct.
17184 (grub_openbsd_find_ramdisk32): New prototype.
17185 (grub_openbsd_find_ramdisk64): Likewise.
17186 * include/grub/i386/coreboot/loader.h: Removed.
17187 * include/grub/i386/efi/loader.h: Likewise.
17188 * include/grub/i386/ieee1275/loader.h: Likewise.
17189 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17190 to grub_uint32_t.
17191 * include/grub/i386/loader.h: Removed.
17192 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17193 value.
17194 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17195 (grub_phys_addr_t): New type.
17196 (grub_vtop): New inline function.
17197 (grub_map_memory): Likewise.
17198 (grub_unmap_memory): Likewise.
17199 * include/grub/i386/multiboot/loader.h: Removed.
17200 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17201 (NETBSD_BTINFO_CONSOLE): New definition.
17202 (NETBSD_BTINFO_SYMTAB): Likewise.
17203 (NETBSD_BTINFO_MODULES): Likewise.
17204 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17205 (grub_netbsd_bootinfo): New struct.
17206 (grub_netbsd_btinfo_common): Use explicit bitsize.
17207 (grub_netbsd_btinfo_mmap_entry): Removed.
17208 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17209 (grub_netbsd_btinfo_bootdisk): New struct.
17210 (grub_netbsd_btinfo_symtab): Likewise.
17211 (grub_netbsd_btinfo_serial): Likewise.
17212 (grub_netbsd_btinfo_modules): Likewise.
17213 (grub_netbsd_btinfo_framebuf): Likewise.
17214 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17215 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17216 Likewise.
17217 (grub_openbsd_bootargs): Use explicit bitsize.
17218 (grub_openbsd_bootarg_console): New struct.
17219 (GRUB_OPENBSD_COM_MAJOR): New definition.
17220 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17221 * include/grub/i386/pc/efiemu.h: Removed.
17222 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17223 * include/grub/i386/qemu/loader.h: Removed.
17224 * include/grub/i386/relocator.h: Rewritten.
17225 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17226 * include/grub/mips/memory.h: New file.
17227 * include/grub/mips/multiboot.h: Rewritten.
17228 * include/grub/mips/relocator.h: Rewritten.
17229 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17230 (grub_vtop): New function.
17231 (grub_map_memory): Likewise.
17232 (grub_unmap_memory): Likewise.
17233 * include/grub/misc.h (ALIGN_DOWN): New definition.
17234 * include/grub/mm.h (grub_mm_check_real): New proto.
17235 (GRUB_MM_CHECK): New definition.
17236 * include/grub/mm_private.h: New file.
17237 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17238 (grub_multiboot_get_mbi_size): Removed.
17239 (grub_multiboot_make_mbi): Change prottype.
17240 (grub_multiboot_set_accepts_video): New proto.
17241 (grub_multiboot_add_elfsyms): Likewise.
17242 (grub_multiboot_payload_eip): New variable.
17243 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17244 New prototype.
17245 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17246 New definition.
17247 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17248 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17249 * include/grub/powerpc/ieee1275/loader.h: Removed.
17250 * include/grub/powerpc/memory.h: New file.
17251 * include/grub/powerpc/relocator.h: Likewise.
17252 * include/grub/relocator.h: Likewise.
17253 * include/grub/relocator_private.h: Likewise.
17254 * include/grub/sparc64/ieee1275/loader.h: Removed.
17255 * include/grub/x86_64/memory.h: New file.
17256 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17257 (grub_xnu_heap_malloc): Likewise.
17258 (grub_xnu_heap_real_start): Removed.
17259 (grub_xnu_heap_start): Likewise.
17260 (grub_xnu_relocator): New variable.
17261 (grub_xnu_heap_target_start): Likewise.
17262 * tests/util/grub-shell.in: Support non-pc.
17263 * util/grub-mkimage.c (image_targets): Fix multiboot target.
17264
17265 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17268 on malloc error.
17269 (grub_bidi_logical_to_visual): Check that malloc succeded.
17270 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17271 puts.
17272 (grub_xputs_normal): Likewise.
17273
17274 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17277 extra_dist.
17278
17279 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17280
17281 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17282
17283 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17286
17287 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17288
17289 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17290 dprintf.
17291
17292 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17293
17294 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17295
17296 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * grub-core/normal/term.c (print_more): Fix a memory leak.
17299 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17300 (grub_xputs_normal): Likewise.
17301
17302 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17305 the begining of the string
17306
17307 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 * grub-core/script/script.c (grub_script_parse): Free parsed on
17310 failure.
17311
17312 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17315 on failure.
17316
17317 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17320 return.
17321
17322 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17325 (scroll_up): Fix a memory leak.
17326
17327 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17330 errors.
17331
17332 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17333
17334 Handle USB pendrives exposed as floppies.
17335
17336 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17337 floppy.
17338 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17339 Check for partitions on all devices.
17340
17341 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17344 (readkey): Likewise.
17345
17346 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17347
17348 Multiple variable names support to "export" command.
17349
17350 * normal/context.c (grub_cmd_export): "export" command supports
17351 multiple variable names.
17352
17353 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17354
17355 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17356 --target=drive output to Mach device name.
17357
17358 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17359
17360 New Automake based build system for GRUB.
17361
17362 * ABOUT-NLS: New file.
17363 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17364 in Makefile.util.def file.
17365 * Makefile.util.def: New file. Autogen build definitions file for
17366 GRUB host utils.
17367 * conf/Makefile.common: New file. Common variables for GRUB host
17368 utils and target modules.
17369 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17370 * docs/Makefile.am: New file. Automake file for docs.
17371 * gentpl.py: New file. Python script to generate Autogen
17372 template.
17373 * grub-core/Makefile.am: New file. GRUB target modules' rules
17374 that doesn't fit in Makefile.core.def file.
17375 * grub-core/Makefile.core.def: New file. Autogen build
17376 definitions file for GRUB target modules.
17377 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17378 specific setjmp.S file.
17379 * po/Makefile.am: New file.
17380
17381 * .bzrignore: New ignores.
17382 * INSTALL: New requirements, without Ruby.
17383 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17384 * autogen.sh: Updated to invoke autogen as necessary.
17385 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17386 and defines for Automake conditionals.
17387 * geninit.sh: Refactoring.
17388
17389 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17390 necessary.
17391 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17392 New prototype.
17393
17394 * include/grub/test.h: Fix functional test modules' naming.
17395 * grub-core/tests/example_functional_test.c: Fix test module name.
17396
17397 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17398 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17399 * util/grub-editenv.c: Likewise.
17400 * util/grub-fstest.c: Likewise.
17401 * util/grub-mkdevicemap.c: Likewise.
17402 * util/grub-mkfont.c: Likewise.
17403 * util/grub-mkimage.c: Likewise.
17404 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17405 * util/grub-probe.c: Likewise.
17406 * util/grub-script-check.c: Likewise.
17407 * util/i386/pc/grub-setup.c: Likewise.
17408 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17409
17410 * tests/util/grub-shell.in: Fix override directory path.
17411 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17412 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17413
17414 * util/lvm.c: Update #includes.
17415 * util/raid.c: Likewise.
17416 * util/resolve.c: Likewise.
17417 * grub-core/bus/emu/pci.c: Likewise.
17418 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17419 * grub-core/lib/posix_wrap/string.h: Likewise.
17420 * grub-core/kern/emu/main.c: Likewise.
17421
17422 * grub-core/gensymlist.sh: New file. Script for generating kernel
17423 symbols file.
17424 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17425
17426 * grub-core/gentrigtables.c: Fix unused variable warnings.
17427
17428 * Makefile.in: Removed.
17429 * conf/any-emu.rmk: Removed.
17430 * conf/common.rmk: Removed.
17431 * conf/i386-coreboot.rmk: Removed.
17432 * conf/i386-efi.rmk: Removed.
17433 * conf/i386-ieee1275.rmk: Removed.
17434 * conf/i386-multiboot.rmk: Removed.
17435 * conf/i386-pc.rmk: Removed.
17436 * conf/i386-qemu.rmk: Removed.
17437 * conf/i386.rmk: Removed.
17438 * conf/mips-yeeloong.rmk: Removed.
17439 * conf/mips.rmk: Removed.
17440 * conf/powerpc-ieee1275.rmk: Removed.
17441 * conf/sparc64-ieee1275.rmk: Removed.
17442 * conf/tests.rmk: Removed.
17443 * conf/x86-efi.rmk: Removed.
17444 * conf/x86_64-efi.rmk: Removed.
17445 * gendistlist.sh: Removed.
17446 * geninitheader.sh: Removed.
17447 * genkernsyms.sh.in: Removed.
17448 * genmk.rb: Removed.
17449 * gensymlist.sh.in: Removed.
17450 * mkinstalldirs: Removed.
17451 * boot: Moved ...
17452 * grub-core/boot: ... to here.
17453 * bus: Moved ...
17454 * grub-core/bus: ... to here.
17455 * commands: Moved ...
17456 * grub-core/commands: ... to here.
17457 * disk: Moved ...
17458 * grub-core/disk: ... to here.
17459 * efiemu: Moved ...
17460 * grub-core/efiemu: ... to here.
17461 * font: Moved ...
17462 * grub-core/font: ... to here.
17463 * fs: Moved ...
17464 * grub-core/fs: ... to here.
17465 * gencmdlist.sh: Moved ...
17466 * grub-core/gencmdlist.sh: ... to here.
17467 * genemuinit.sh: Moved ...
17468 * grub-core/genemuinit.sh: ... to here.
17469 * genemuinitheader.sh: Moved ...
17470 * grub-core/genemuinitheader.sh: ... to here.
17471 * genfslist.sh: Moved ...
17472 * grub-core/genfslist.sh: ... to here.
17473 * genhandlerlist.sh: Moved ...
17474 * grub-core/genhandlerlist.sh: ... to here.
17475 * genmoddep.awk: Moved ...
17476 * grub-core/genmoddep.awk: ... to here.
17477 * genmodsrc.sh: Moved ...
17478 * grub-core/genmodsrc.sh: ... to here.
17479 * genpartmaplist.sh: Moved ...
17480 * grub-core/genpartmaplist.sh: ... to here.
17481 * genparttoollist.sh: Moved ...
17482 * grub-core/genparttoollist.sh: ... to here.
17483 * genterminallist.sh: Moved ...
17484 * grub-core/genterminallist.sh: ... to here.
17485 * gentrigtables.c: Moved ...
17486 * grub-core/gentrigtables.c: ... to here.
17487 * genvideolist.sh: Moved ...
17488 * grub-core/genvideolist.sh: ... to here.
17489 * gettext: Moved ...
17490 * grub-core/gettext: ... to here.
17491 * gfxmenu: Moved ...
17492 * grub-core/gfxmenu: ... to here.
17493 * gnulib: Moved ...
17494 * grub-core/gnulib: ... to here.
17495 * hello: Moved ...
17496 * grub-core/hello: ... to here.
17497 * hook: Moved ...
17498 * grub-core/hook: ... to here.
17499 * io: Moved ...
17500 * grub-core/io: ... to here.
17501 * kern: Moved ...
17502 * grub-core/kern: ... to here.
17503 * lib: Moved ...
17504 * grub-core/lib: ... to here.
17505 * loader: Moved ...
17506 * grub-core/loader: ... to here.
17507 * mmap: Moved ...
17508 * grub-core/mmap: ... to here.
17509 * normal: Moved ...
17510 * grub-core/normal: ... to here.
17511 * partmap: Moved ...
17512 * grub-core/partmap: ... to here.
17513 * parttool: Moved ...
17514 * grub-core/parttool: ... to here.
17515 * script: Moved ...
17516 * grub-core/script: ... to here.
17517 * term: Moved ...
17518 * grub-core/term: ... to here
17519 * tests/example_functional_test.c: Moved ...
17520 * grub-core/tests/example_functional_test.c: ... to here.
17521 * tests/lib/functional_test.c: Moved ...
17522 * grub-core/tests/lib/functional_test.c: ... to here.
17523 * tests/lib/test.c: Moved ...
17524 * grub-core/tests/lib/test.c: ... to here.
17525 * video: Moved ...
17526 * grub-core/video: ... to here.
17527
17528 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17529
17530 Replace --enable-grub-emu-modules with grub-emu-lite.
17531
17532 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17533 cache.S.
17534
17535 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17536 * kern/emu/full.c: New file. For grub-emu specific initialization.
17537 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17538 * kern/emu/main.c: Call initialization function grub_emu_init.
17539
17540 * Makefile.in: Include grub-emu-lite in install.
17541 * commands/parttool.c: Use grub_no_autoload to differentiate
17542 between grub-emu and grub-emu-lite.
17543 * include/grub/misc.h: New variable grub_no_autoload.
17544
17545 * conf/any-emu.rmk: New rules for grub-emu-lite.
17546 * configure.ac: Remove --enable-grub-emu-modules.
17547 * genmk.rb: Cleanup unnecessary rules.
17548 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17549
17550 * normal/main.c: Don't load list files on grub-emu-lite.
17551 * util/misc.c (grub_arch_sync_caches): Removed.
17552
17553 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17554
17555 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17556 grub-mkimage rather than grub-mkelfimage.
17557 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17558
17559 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17560
17561 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17562 a key after CapsLock or NumLock. It's just a qemu bug.
17563
17564 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17565
17566 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17567 needed by libusb wrapper.
17568
17569 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17570
17571 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17572
17573 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17576 --nounzip is passed.
17577
17578 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17579
17580 USB hotunplugging and USB serial support.
17581
17582 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17583 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17584 (grub_uhci_transfer): Respect timeout and set *actual.
17585 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17586 non-standard length.
17587 (grub_usb_device_attach): Autoload modules.
17588 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17589 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17590 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17591 users updated.
17592 (grub_usb_add_hub): Fill nports and children.
17593 (attach_root_port): Receive hub instead of controller.
17594 All users updated. Fill hub->devices.
17595 (grub_usb_root_hub): Allocate hub->devices.
17596 (detach_device): New function.
17597 (poll_nonroot_hub): Fill children and detach devices.
17598 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17599 actual arguments. All users updated.
17600 (grub_usb_bulk_read_extended): New function.
17601 * bus/usb/serial/common.c: New file.
17602 * bus/usb/serial/ftdi.c: Likewise.
17603 * bus/usb/serial/pl2303.c: Likewise.
17604 * commands/terminal.c (handle_command): Support wildcard.
17605 * commands/usbtest.c: Output "Unknown" instead of empty string.
17606 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17607 (usbserial_common_mod_SOURCES): New variable.
17608 (usbserial_common_mod_CFLAGS): Likewise.
17609 (usbserial_common_mod_LDFLAGS): Likewise.
17610 (pkglib_MODULES): Add usbserial_pl2303.mod.
17611 (usbserial_pl2303_mod_SOURCES): New variable.
17612 (usbserial_pl2303_mod_CFLAGS): Likewise.
17613 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17614 (pkglib_MODULES): Add usbserial_ftdi.mod.
17615 (usbserial_ftdi_mod_SOURCES): New variable.
17616 (usbserial_ftdi_mod_CFLAGS): Likewise.
17617 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17618 (pkglib_MODULES): Add serial.mod.
17619 (serial_mod_SOURCES): New variable.
17620 (serial_mod_CFLAGS): Likewise.
17621 (serial_mod_LDFLAGS): Likewise.
17622 * conf/i386-pc.rmk: Likewise.
17623 * conf/mips-yeeloong.rmk: Likewise.
17624 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17625 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17626 * disk/usbms.c (first_available_slot): New variable.
17627 (grub_usbms_attach): Don't reuse free slots due to potential cache
17628 problems.
17629 * include/grub/serial.h: Moved to ..
17630 * include/grub/ns8250.h: ...this.
17631 * include/grub/serial.h: New file.
17632 * include/grub/term.h (grub_term_poll_usb): New variable.
17633 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17634 readkey. All users updated.
17635 (grub_terminfo_output_state): Pass term to put.
17636 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17637 (grub_usb_controller_dev): Add timeout and actual arguments to
17638 transfer. All users updated.
17639 (grub_usb_interface): New field detach_data.
17640 (grub_usb_device): New fields children and nports.
17641 (grub_usb_ep_type_t): New type.
17642 (grub_usb_get_ep_type): New function.
17643 (grub_usb_bulk_read_extended): Likewise.
17644 * include/grub/usbdesc.h (grub_usb_desc): New type.
17645 * include/grub/usbserial.h: New file.
17646 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17647 * kern/term.c (grub_term_poll_usb): New variable.
17648 (grub_getkey): Call grub_term_poll_usb if set.
17649 (grub_checkkey): Likewise.
17650 (grub_getkeystatus): Likewise.
17651 * term/serial.c: Moved controller-specific parts to ...
17652 * term/ns8250.c: ... here.
17653 * term/serial.c: Mostly rewritten.
17654 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17655 according to spec.
17656
17657 2010-08-20 Robert Millan <rmh@gnu.org>
17658
17659 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17660 a separate module and maybe other interesting combinations.
17661
17662 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17663 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17664 (kfreebsd_entry): Add generic filesystem module load routine.
17665 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17666
17667 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17668
17669 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17670 "numcenter" (I misunderstood the purpose of this entry).
17671 * docs/grub.texi (sendkey): Likewise.
17672
17673 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17674
17675 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17676 status flag options; simply omitting the option is equivalent and
17677 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17678 (keysym_table): Rename "num5numlock" to "numlock".
17679 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17680 can uniformly say that only the last of multiple `sendkey'
17681 invocations has any effect.
17682 * docs/grub.texi (sendkey): New section.
17683
17684 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
17685
17686 * commands/i386/pc/sendkey.c (options): Fix three typos.
17687
17688 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17689
17690 Implement sendkey support.
17691
17692 * commands/i386/pc/sendkey.c: New file.
17693 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17694 (sendkey_mod_SOURCES): New variable.
17695 (sendkey_mod_CFLAGS): Likewise.
17696 (sendkey_mod_LDFLAGS): Likewise.
17697
17698 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17699
17700 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17701 fix warnings from Autoconf.
17702
17703 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17704
17705 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17706 to avoid false positives with some assemblers that output things
17707 like "someprefix_func" as part of their output.
17708
17709 2010-08-15 Robert Millan <rmh@gnu.org>
17710
17711 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17712 errors.
17713 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17714 grub_get_libzfs_handle() errors.
17715
17716 2010-08-14 Robert Millan <rmh@gnu.org>
17717
17718 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17719 filesystem is not ZFS.
17720
17721 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17722
17723 Fix for misspelled color names defaulting to black/black (bug
17724 reported by Doug Nazar)
17725
17726 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17727 status to prototype.
17728 * normal/color.c (grub_parse_color_name_pair): Return failure
17729 status.
17730 (grub_env_write_color_normal): Ignore bad color names.
17731 (grub_env_write_color_highlight): Likewise.
17732 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17733
17734 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17735
17736 "shift" command support to GRUB script.
17737
17738 * include/grub/script_sh.h (grub_script_shift): New prototype.
17739 * script/execute.c (grub_script_shift): New function.
17740 * script/main.c (grub_script_init): Register shift command.
17741 (grub_script_fini): Unregister shift command.
17742 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17743
17744 * tests/grub_script_shift.in: New testcase.
17745 * conf/tests.rmk: Rules for new testcase.
17746
17747 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17748
17749 "continue" command support to GRUB script.
17750
17751 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17752 (grub_script_break): Continue support.
17753 * script/main.c (grub_script_init): Register continue command.
17754 (grub_script_fini): Unregister continue command.
17755
17756 * tests/grub_script_continue.in: New testcase.
17757 * conf/tests.rmk: Rules for new testcase.
17758
17759 2010-08-12 BVK Chaitanya <bvk@dbook>
17760
17761 "break" command support to GRUB script.
17762
17763 * conf/common.rmk: Rule updates to grub-script-check.
17764 * include/grub/misc.h (grub_min): New function.
17765 * include/grub/script_sh.h (grub_script_init): New prototype.
17766 (grub_script_fini): New prototype.
17767 (grub_script_break): New prototype.
17768 * script/main.c (grub_script_init): New function.
17769 (grub_script_fini): New function.
17770 * script/execute.c (grub_script_break): New function.
17771 * normal/main.c: Calls to grub_script_{init,fini}.
17772 * util/grub-script-check.c (grub_script_break): New function.
17773
17774 * tests/grub_script_break.in: New testcase.
17775 * conf/tests.rmk: Rules for new test case.
17776
17777 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17778
17779 Function parameters support to GRUB script.
17780
17781 * script/yylex.l (VARIABLE): Regular expression update.
17782 * script/function.c (grub_script_function_call): Moved ...
17783 * script/execute.c (grub_script_function_call): ... to here.
17784 (grub_script_execute_arglist_to_argv): Removed.
17785 (grub_script_arglist_to_argv): New function.
17786 * script/argv.c: New file.
17787 (grub_script_argv_free): New function.
17788 (grub_script_argv_next): Likewise.
17789 (grub_script_argv_append): Likewise.
17790 (grub_script_argv_split_append): Likewise.
17791 * include/grub/script_sh.h (grub_script_argv): New struct.
17792 (grub_script_argv_free): New function.
17793 (grub_script_argv_next): Likewise.
17794 (grub_script_argv_append): Likewise.
17795 (grub_script_argv_split_append): Likewise.
17796
17797 * conf/common.rmk (normal.mod): New source script/argv.c.
17798
17799 * tests/grub_script_echo1.in: More tests.
17800 * tests/grub_script_vars1.in: Likewise.
17801 * tests/grub_script_functions.in: New test case.
17802 * conf/tests.rmk: Rules for new testcase.
17803
17804 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17805
17806 Remove grub_script_cmdblock struct.
17807
17808 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17809 * script/parser.y: Likewise.
17810 * script/execute.c: Rename cmdblock suffix to cmdlist.
17811 * script/script.c: Likewise.
17812 * util/grub-script-check.c: Likewise.
17813
17814 2010-08-11 Yves Blusseau <blusseau@zetam.org>
17815
17816 * .bzrignore: add grub-macho2img
17817
17818 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17821
17822 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 Remove the dump of sm712 initialisation sequence.
17825
17826 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17827 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17828 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17829 (GRUB_VGA_CR_*): Added many registers.
17830 (GRUB_VGA_SR_*): Likewise.
17831 (GRUB_VGA_GR_*): Likewise.
17832 (grub_vga_write_arx): New function.
17833 (grub_video_hw_config): New struct.
17834 (grub_vga_set_geometry): New function.
17835 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17836 GRUB_PCI_CLASS_SUBCLASS_VGA.
17837 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17838 * video/sm712.c (grub_sm712_write_reg): New function
17839 (grub_sm712_read_reg): Likewise.
17840 (grub_sm712_sr_write): Likewise.
17841 (grub_sm712_gr_write): Likewise.
17842 (grub_sm712_cr_write): Likewise.
17843 (grub_sm712_write_arx): Likewise.
17844 (grub_sm712_cr_shadow_write): Likewise.
17845 (grub_sm712_write_dda_lookup): Likewise.
17846 (grub_video_sm712_setup): Initialise the video rather then
17847 blindly replay the dump.
17848 (main) [TEST]: Add a routine to be able to compile as standalone for
17849 tests.
17850 * video/sm712_init.c (sm712_init): Removed.
17851 (sm712_sr_seq1): New array.
17852 (sm712_sr_seq2): Likewise.
17853
17854 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17855
17856 * include/grub/vga.h: Add missing grub/pci.h include.
17857
17858 2010-08-10 Yves Blusseau <blusseau@zetam.org>
17859
17860 * util/grub-macho2img.c (main): fix typo
17861
17862 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17865 (grub_vga_gr_read): Likewise.
17866 (grub_vga_cr_write): Likewise.
17867 (grub_vga_cr_read): Likewise.
17868 (grub_vga_sr_write): Likewise.
17869 (grub_vga_sr_read): Likewise.
17870 (grub_vga_palette_read): Likewise.
17871 (grub_vga_palette_write): Likewise.
17872 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17873 (grub_sm712_sr_read): New function.
17874 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17875 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17876
17877 2010-08-09 Robert Millan <rmh@gnu.org>
17878
17879 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17880 out unused variables on non-ZFS build.
17881
17882 2010-08-08 Robert Millan <rmh@gnu.org>
17883
17884 Fix path generation for sub-filesystems in ZFS.
17885
17886 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17887 missing slash.
17888
17889 2010-08-08 Robert Millan <rmh@gnu.org>
17890
17891 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17892
17893 2010-08-08 Robert Millan <rmh@gnu.org>
17894
17895 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17896 exist, issue a proper error message (rely on `ls' for translated
17897 strings).
17898
17899 2010-08-08 Robert Millan <rmh@gnu.org>
17900
17901 Fix grub-probe invocation.
17902
17903 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17904
17905 2010-08-04 Robert Millan <rmh@gnu.org>
17906
17907 * configure.ac: Remove checks for getfsstat() and getmntany().
17908 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17909 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17910 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17911 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17912 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17913 function.
17914 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17915 via find_mount_point_from_dir() and getfsstat() / getmntany().
17916
17917 2010-08-04 Robert Millan <rmh@gnu.org>
17918
17919 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17920 (grub_find_zpool_from_mount_point): Merge into ...
17921 (grub_find_zpool_from_dir): ... this.
17922 * kern/emu/misc.c: Likewise.
17923
17924 * kern/emu/misc.c
17925 (grub_make_system_path_relative_to_its_root): Replace
17926 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17927 with grub_find_zpool_from_dir().
17928 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17929
17930 2010-08-04 Robert Millan <rmh@gnu.org>
17931
17932 Support OpenSolaris in ZFS device resolution.
17933
17934 * configure.ac: Check for getmntany().
17935 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17936 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17937 support.
17938
17939 2010-08-03 Robert Millan <rmh@gnu.org>
17940
17941 Fix grub-emu build.
17942
17943 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17944 * include/grub/emu/misc.h: ... here.
17945
17946 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17947 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17948
17949 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17950 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17951 (grub_get_libzfs_handle): Move to ...
17952 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17953 (grub_get_libzfs_handle): ... here.
17954
17955 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17956
17957 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17958 as command name case.
17959
17960 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17961
17962 * disk/raid.c (insert_array): Select unique numbers for named arrays
17963 as well, for use as keys in the disk cache.
17964
17965 2010-08-01 Robert Millan <rmh@gnu.org>
17966
17967 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17968 kFreeBSD device name, except on ZFS where the filesystem label is
17969 used.
17970 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17971 `/boot/zfs/zpool.cache'.
17972 Set mountfrom kernel variable using ${kfreebsd_device}.
17973
17974 2010-08-01 Robert Millan <rmh@gnu.org>
17975
17976 Make it even harder to use uninitialized `libzfs_handle' (and
17977 make the interface a bit simpler).
17978
17979 * include/grub/util/misc.h (grub_util_init_libzfs)
17980 (libzfs_handle): Remove.
17981 (grub_get_libzfs_handle): New prototype.
17982
17983 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17984 attribute.
17985 (grub_util_init_libzfs): Remove.
17986 (grub_get_libzfs_handle): New function.
17987
17988 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17989 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17990 accessing `libzfs_handle' directly.
17991
17992 2010-08-01 Robert Millan <rmh@gnu.org>
17993
17994 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17995 (grub_find_zpool_from_mount_point): New function prototypes.
17996
17997 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17998 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17999
18000 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18001 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18002 `static' attribute.
18003
18004 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18005 finding zpool from mount point into ...
18006 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18007
18008 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18009 requested path is part of a ZFS pool, use
18010 grub_find_zpool_from_mount_point() to detect its filesystem name,
18011 and generate a path with `/fsname@path' syntax.
18012
18013 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18014
18015 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18016 (void) rather than () so that this is a proper prototype.
18017
18018 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18019
18020 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18021
18022 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18025 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18026
18027 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18028
18029 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18030
18031 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18032
18033 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18034
18035 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18036
18037 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18038 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18039 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18040 disable gfxpayload.
18041 (Shell-like scripting): Add real content.
18042 (Serial terminal): Suggest `terminal_input serial; terminal_output
18043 serial' rather than putting the two commands on separate lines,
18044 since console input will be inoperative after the first command.
18045 (menuentry): Document --class, --users, and --hotkey options.
18046 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18047 Vladimir Serbinenko).
18048
18049 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18050 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18051
18052 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18053
18054 2010-08-01 Robert Millan <rmh@gnu.org>
18055
18056 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18057 (grub_find_zpool_from_mount_point): New function prototypes.
18058
18059 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18060 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18061
18062 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18063 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18064 `static' attribute.
18065
18066 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18067 finding zpool from mount point into ...
18068 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18069
18070 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18071 requested path is part of a ZFS pool, use
18072 grub_find_zpool_from_mount_point() to detect its filesystem name,
18073 and generate a path with `/fsname@path' syntax.
18074
18075 2010-08-01 Robert Millan <rmh@gnu.org>
18076
18077 Prevent accidental use of uninitialized libzfs_handle.
18078
18079 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18080 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18081 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18082
18083 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
18084
18085 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18086 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18087
18088 2010-08-01 Robert Millan <rmh@gnu.org>
18089
18090 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
18091
18092 2010-07-31 Robert Millan <rmh@gnu.org>
18093
18094 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18095
18096 2010-07-31 Robert Millan <rmh@gnu.org>
18097
18098 * kern/emu/misc.c: Add missing license header.
18099
18100 2010-07-31 Robert Millan <rmh@gnu.org>
18101
18102 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18103
18104 * include/grub/util/libnvpair.h: Include `<config.h>'.
18105 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18106 declaring libnvpair prototypes ourselves.
18107 * include/grub/util/libzfs.h: Include `<config.h>'.
18108 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18109 declaring libzfs prototypes ourselves.
18110
18111 (libzfs_handle): Moved to ...
18112 * include/grub/util/misc.h (libzfs_handle): ... here.
18113 Include `<grub/util/libzfs.h>'.
18114
18115 2010-07-30 Robert Millan <rmh@gnu.org>
18116
18117 * include/grub/emu/misc.h: Add missing license header.
18118
18119 2010-07-30 Robert Millan <rmh@gnu.org>
18120
18121 Enable `grub-probe -t device' resolution on ZFS.
18122
18123 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18124 * include/grub/util/libnvpair.h: New file.
18125 * include/grub/util/libzfs.h: New file.
18126
18127 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18128 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18129 `<grub/util/libnvpair.h>'.
18130 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18131
18132 (find_mount_point_from_dir): New static function.
18133 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18134 function.
18135 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18136 find_root_device_from_libzfs() before ressorting to find_root_device().
18137
18138 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18139 prototype.
18140 * util/misc.c: Include `<grub/util/libzfs.h>'.
18141 (grub_util_init_libzfs): New function.
18142 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18143 [HAVE_LIBZFS] (fini_libzfs): New static function.
18144 (grub_util_init_libzfs): New function.
18145 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18146
18147 2010-07-30 Robert Millan <rmh@gnu.org>
18148
18149 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18150 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18151 `warn_unused_result' attribute.
18152 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18153 (grub_xasprintf, grub_xvasprintf): Likewise.
18154 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18155
18156 2010-07-29 Robert Millan <rmh@gnu.org>
18157
18158 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18159 (probe): Handle `PRINT_FS_LABEL'.
18160 (main): Handle `-t fs_label'.
18161
18162 2010-07-29 Robert Millan <rmh@gnu.org>
18163
18164 * configure.ac: Remove grub-mkisofs checks.
18165
18166 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18167
18168 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18169 Reported by: Lennart Sorensen.
18170
18171 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18174 prior to terminal_input/terminal_output separation. It's been over 1.5
18175 years and those versions weren't widely deployed.
18176
18177 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
18178
18179 * disk/raid.c (insert_array): Don't count named arrays when looking
18180 for unused array numbers.
18181 Reported and tested by: Michael Guntsche.
18182
18183 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18186 implementation of this so that grub-emu links again, with a note
18187 that this should support hotplugging in the future.
18188
18189 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18190
18191 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18192
18193 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18194
18195 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18196 handle on failure.
18197 (grub_loopback_close): Remove empty function.
18198 (grub_loopback_dev): Remove close method.
18199
18200 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18201
18202 Disable EFI cursor when the EFI console becomes inactive.
18203
18204 * term/efi/console.c (grub_efi_console_init): New function.
18205 (grub_efi_console_fini): New function.
18206 (grub_console_term_output): Register init and fini methods.
18207
18208 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18211 sh script.
18212
18213 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18214
18215 * disk/loopback.c (grub_loopback): Replace filename with file.
18216 (delete_loopback): Handle new semantics.
18217 (grub_cmd_loopback): Likewise.
18218 (grub_loopback_iterate): Likewise.
18219 (grub_loopback_close): Likewise.
18220
18221 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18224 with -p "".
18225 Reported by: Tito Keitel.
18226
18227 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * docs/grub.texi (Naming convention): Document new naming convention.
18230
18231 2010-07-20 Vadim Solomin <vadic052@gmail.com>
18232 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18233
18234 Generate device.map in something closer to the old ordering.
18235
18236 * util/deviceiter.c (struct device): New declaration.
18237 (compare_file_names): Rename to ...
18238 (compare_devices): ... this. Sort by kernel name in preference to
18239 the stable by-id name, but keep the latter as a fallback comparison.
18240 Update header comment.
18241 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18242 of `struct device' rather than of plain file names.
18243
18244 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18245
18246 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18247 on i386.
18248
18249 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18252 hardcoding size.
18253 (setv1table): Likewise.
18254
18255 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18256
18257 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18258 removing the homehost if present.
18259 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18260 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18261 removing the homehost if present.
18262 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18263 if possible.
18264 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18265
18266 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18267 parameter. Set its pointer target to 0.
18268 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18269 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18270 `data_offset' value from the superblock for 1.x metadata.
18271 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18272 data on the device.
18273 (insert_array): Record the start sector of data on the device.
18274 (grub_raid_register): Pass start_sector parameters to
18275 grub_raid_list->detect and insert_array.
18276 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18277 member.
18278 (struct grub_raid): Add start_sector parameter to `detect'.
18279
18280 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18281 __attribute__ ((packed)), leaving a comment.
18282 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18283 (grub_mdraid_detect_09): ... here and ...
18284 (grub_mdraid_detect_1x): ... here.
18285
18286 2010-07-20 Peter Henn <peter.henn@web.de>
18287
18288 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18289 chunk size and disk size, which are already given as sector counts
18290 as distinct from the 0.90 units. Fetch the correct device number
18291 from the role table instead of using the table index.
18292
18293 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
18294
18295 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18296 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18297 (WriteMostly1): New macro.
18298 Set array->name to NULL for metadata format 0.90. Add support for
18299 metadata 1.x. Fix some comments.
18300 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18301 few comments.
18302 * util/getroot.c (grub_util_get_grub_dev): Add support for
18303 /dev/md/name style devices.
18304
18305 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
18306
18307 * .bzrignore: Ignore 20_linux_xen.
18308
18309 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
18310
18311 * util/import_unicode.py: Remove unnecessary imports.
18312
18313 2010-07-17 Aleš Nesrsta <starous@volny.cz>
18314
18315 Hotplugging and USB hub support.
18316
18317 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18318 (grub_ohci): Likewise.
18319 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18320 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18321 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18322 (GRUB_OHCI_CTRL_EDS): Likewise.
18323 (GRUB_OHCI_BULK_EDS): Likewise.
18324 (GRUB_OHCI_TDS): Likewise.
18325 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18326 (grub_ohci_ed_phys2virt): New function.
18327 (grub_ohci_virt_to_phys): Likewise.
18328 (grub_ohci_td_phys2virt): Likewise.
18329 (grub_ohci_td_virt2phys): Likewise.
18330 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18331 attachment.
18332 (grub_ohci_find_ed): New function.
18333 (grub_ohci_alloc_td): Likewise.
18334 (grub_ohci_free_td): Likewise.
18335 (grub_ohci_free_tds): Likewise.
18336 (grub_ohci_transfer): Use previously allocated memory.
18337 (grub_ohci_portstatus): Reset status changed bit.
18338 (grub_ohci_detect_dev): Supply status changed.
18339 (grub_ohci_fini_hw): Free memory.
18340 (grub_ohci_restore_hw): Reallocate memory.
18341 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18342 Reset status change.
18343 (grub_uhci_detect_dev): Supply status_change.
18344 * bus/usb/usb.c (attach_hooks): New var.
18345 (grub_usb_device_attach): New function.
18346 (grub_usb_register_attach_hook_class): Likewise.
18347 (grub_usb_unregister_attach_hook_class): Likewise.
18348 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18349 (grub_usb_add_hub): Reset connection changed bit.
18350 (attach_root_port): New function.
18351 (grub_usb_root_hub): Likewise.
18352 (poll_nonroot_hub): Likewise.
18353 (grub_usb_poll_devices): Likewise.
18354 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18355 * disk/usbms.c (grub_usbms_open): Use device hooks.
18356 (grub_usbms_iterate) :Poll devices.
18357 (grub_usbms_finddevs): Split into ...
18358 (grub_usbms_attach): ... this ...
18359 (grub_usbms_attach): ... and this.
18360 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18361 in detect_dev.
18362 (grub_usb_interface): New fields attached and detach_hook.
18363 (grub_usb_attach_hook_class): New type.
18364 (grub_usb_attach_desc): New struct.
18365 (grub_usb_register_attach_hook_class): New function.
18366 (grub_usb_unregister_attach_hook_class): Likewise.
18367 (grub_usb_poll_devices): Likewise.
18368 (grub_usb_device_attach): Likewise.
18369 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18370 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18371
18372 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18373
18374 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18375 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18376 delta determination style. Works with most NetBSD partitions too.
18377
18378 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18381 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18382
18383 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18386
18387 2010-07-14 Anton Blanchard <anton@samba.org>
18388
18389 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18390 ET_DYN files.
18391
18392 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18393
18394 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18395
18396 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18397
18398 * kern/partition.c (grub_partition_check_containment): New function to
18399 check that a partition is physically contained in a parent. Since
18400 offsets are relative (and non-negative), this reduces to checking that
18401 the partition ends before its parent.
18402 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18403 (grub_partition_iterate): Likewise.
18404 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18405 comments.
18406 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18407 partitions that start before their parent, and add debug printfs.
18408
18409 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18410
18411 * Makefile.in (.SUFFIX): Spell correctly, as ...
18412 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18413 bare module name without `.mod', e.g. `test') tried to invoke a
18414 Modula-2 compiler.
18415
18416 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18417
18418 * README: Point to the Info manual.
18419
18420 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18421
18422 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18423 2nd superblock position from partition size.
18424
18425 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18426
18427 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18428 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18429 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18430 outputs.
18431
18432 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18433
18434 Restructure SCSI .id handling.
18435 Reported and tested by: Aleš Nesrsta.
18436
18437 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18438 (grub_atapi_dev): Changed .name to "ata". New field .id.
18439 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18440 (grub_usbms_dev): New field .id.
18441 * disk/scsi.c (grub_scsi_iterate): Generate name.
18442 (grub_scsi_open): Parse name.
18443 * include/grub/scsi.h (grub_make_scsi_id): New function.
18444 (grub_scsi_dev): Change iterate and open to number instead of naming
18445 busses. All users updated.
18446 (grub_scsi): Remove name. Add .bus.
18447
18448 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18449
18450 * commands/help.c (grub_cmd_help): Fix a typo.
18451
18452 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18455 Reported and tested by: Colin Watson.
18456
18457 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18458
18459 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18460 in this context.
18461
18462 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18463
18464 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18465
18466 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18467
18468 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18469 indentation.
18470
18471 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18472
18473 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18474 and disk/raid6_recover.c.
18475 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18476 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18477
18478 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18479
18480 * term/gfxterm.c (repaint_schedulded): Rename to ...
18481 (repaint_scheduled): ... this. Update all callers.
18482 (repaint_was_schedulded): Rename to ...
18483 (repaint_was_scheduled): ... this. Update all callers.
18484
18485 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18486
18487 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18488 which we expect to be handled by upper layers.
18489
18490 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18491
18492 * bus/usb/usbhub.c: #include time.h header.
18493
18494 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18495
18496 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18497 entry_name also for entries without stat blocks (e.g. ".."); fixes
18498 corruption of the first entry in a directory.
18499
18500 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18501
18502 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18503 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18504 doesn't work otherwise.
18505
18506 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18507
18508 * docs/grub.texi (Features): Update list of supported file systems.
18509 (GNU/Linux): Update for GRUB 2.
18510 (Serial terminal): Remove mention of --disable-serial, which was a
18511 GRUB Legacy configure option. Update instructions to use
18512 `terminal_input' and `terminal_output' rather than `terminal'.
18513 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18514 configuration' and `Installing GRUB using grub-install'.
18515 (Menu entry editor): Update for GRUB 2.
18516 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18517 Document new -a, -u, and -v options.
18518 (initrd): New section.
18519 (initrd16): New section.
18520 (linux): New section.
18521 (linux16): New section.
18522 (search): The `var' argument to `--set' is optional.
18523 (GRUB only offers a rescue shell): Go into a little more detail on
18524 drive ordering.
18525
18526 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18527
18528 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18529
18530 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18531
18532 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18533 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18534
18535 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18536
18537 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18538 install_prefix, in line with install_dos_part and install_bsd_part.
18539 Add new prefix variable, which is copied to install_prefix after
18540 comparing core.img in memory with the one read from disk in the
18541 no-embedding case, and use that rather than overwriting
18542 install_prefix immediately when installing to a partition.
18543 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18544 Bicakci.
18545
18546 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18547
18548 * configure.ac: Avoid == in test command, it's not portable.
18549 * util/grub.d/30_os-prober.in: Likewise.
18550
18551 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18552
18553 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18554
18555 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18556
18557 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18558 multiple (top-level) partmaps.
18559
18560 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18563 Reported by: Tino Keitel.
18564
18565 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 Bidi and diacritics support.
18568
18569 * Makefile.in (widthspec.bin): New target.
18570 (widthspec.h): Likewise.
18571 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18572 * autogen.sh: Generate unidata.c.
18573 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18574 * commands/ls.c (grub_ls_list_devices): Likewise.
18575 (grub_ls_list_files): Likewise.
18576 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18577 (grub_mini_cmd_lsmod): Likewise.
18578 * commands/read.c: Likewise.
18579 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18580 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18581 * lib/arg.c (grub_arg_show_help): Likewise.
18582 * lib/crypto.c (grub_password_get): Likewise.
18583 * normal/auth.c (grub_username_get): Likewise.
18584 * normal/misc.c (grub_normal_print_device_info): Likewise.
18585 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18586 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18587 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18588 (normal/charset.c_DEPENDENCIES): New variable.
18589 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18590 (pkglib_MODULES): Remove charset.mod.
18591 (charset_mod_SOURCES): Removed.
18592 (charset_mod_CFLAGS): Likewise.
18593 (charset_mod_LDFLAGS): Likewise.
18594 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18595 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18596 and term/tparm.c.
18597 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18598 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18599 (kernel_img_HEADERS): Add terminfo.h.
18600 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18601 Fill ->font. Reverse ascii bitmaps.
18602 (grub_font_get_xheight): New function.
18603 * font/font.c (grub_font_get_string_width): Moved from here ...
18604 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18605 * font/font.c (grub_font_draw_string): Moved from here ...
18606 * gfxmenu/font.c (grub_font_draw_string): ... here.
18607 * font/font.c (grub_font_dup_glyph): New function.
18608 (grub_font_blit_glyph): Likewise.
18609 (grub_font_blit_glyph_mirror): Likewise.
18610 (blit_comb): Likewise.
18611 (grub_font_construct_dry_run): Likewise.
18612 (grub_font_get_constructed_device_width): Likewise.
18613 (grub_font_construct_glyph): Likewise.
18614 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18615 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18616 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18617 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18618 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18619 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18620 (grub_font_get_xheight): New proto.
18621 (grub_font_get_constructed_device_width): Likewise.
18622 (grub_font_construct_glyph): Likewise.
18623 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18624 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18625 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18626 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18627 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18628 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18629 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18630 (grub_console_getcharwidth): Likewise.
18631 * include/grub/misc.h (grub_xputs): New proto.
18632 (grub_puts): Inlined.
18633 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18634 (grub_normal_get_line_counter): Removed.
18635 (grub_install_newline_hook): Likewise.
18636 (grub_normal_get_char_counter): New proto.
18637 (grub_normal_reset_more): Likewise.
18638 (grub_xputs_normal): Likewise.
18639 * include/grub/powerpc/ieee1275/console.h: Removed.
18640 * include/grub/sparc64/ieee1275/console.h: Likewise.
18641 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18642 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18643 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18644 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18645 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18646 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18647 (grub_term_input): Pass reference to self. All users updated.
18648 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18649 Pass reference to self. New fields normal_color, highlight_color and
18650 data. All users updated.
18651 (grub_putchar): Removed.
18652 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18653 (grub_unicode_estimate_width): New function.
18654 (grub_term_getcharwidth): Add defaults.
18655 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18656 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18657 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18658 (grub_cls): Remove EXPORT_FUNC.
18659 (grub_setcolorstate): Inline.
18660 (grub_newline_hook): Removed.
18661 * include/grub/terminfo.h: Rewritten. All users updated.
18662 * include/grub/unicode.h: New file.
18663 * include/grub/video.h (grub_video_signed_rect): New type.
18664 * kern/emu/console.c (grub_console_highlight_color): Removed.
18665 (grub_console_normal_color): Likewise.
18666 (grub_console_standard_color): Made static.
18667 (grub_ncurses_putchar): Remove mapping.
18668 (grub_ncurses_getcharwidth): Removed.
18669 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18670 (grub_ncurses_setcolor): Removed.
18671 (grub_ncurses_getcolor): Likewise.
18672 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18673 (grub_console_putchar): ... this.
18674 (grub_console_putchar): Handle argument difference.
18675 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18676 console_init_early and console_init_lately.
18677 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18678 * kern/misc.c (grub_puts): Removed.
18679 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18680 (grub_vsnprintf_real): Remove str = NULL support.
18681 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18682 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18683 * kern/term.c (grub_putcode): Renamed to ...
18684 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18685 (grub_putchar): Removed.
18686 (grub_xputs_dumb): New function.
18687 (grub_xputs): New variable.
18688 * lib/charset.c: Move from here ...
18689 * normal/charset.c: ... to here.
18690 (grub_ucs4_to_utf8): New function.
18691 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18692 (join_types): New variable.
18693 (unpack_join): New function.
18694 (bidi_types): New variable.
18695 (unpack_bidi): New function.
18696 (get_bidi_type): Likewise.
18697 (get_join_type): Likewise.
18698 (is_mirrored): Likewise.
18699 (grub_unicode_get_comb_type): Likewise.
18700 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18701 (is_type_after): Likewise.
18702 (grub_unicode_aglomerate_comb): Likewise.
18703 (bidi_line_wrap): Likewise.
18704 (grub_bidi_line_logical_to_visual): Likewise.
18705 (grub_bidi_logical_to_visual): Likewise.
18706 (grub_unicode_mirror_code): Likewise.
18707 (grub_unicode_shape_code): Likewise.
18708 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18709 Don't use grub_putchar.
18710 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18711 (grub_normal_reader_init): Likewise.
18712 (grub_xputs_saved): New variable.
18713 (GRUB_MOD_INIT): Set grub_xputs.
18714 (GRUB_MOD_FINI): Restore grub_xputs.
18715 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18716 (menu_init): Avoid printing gfxmenu error.
18717 (show_menu): Use grub_normal_get_char_counter.
18718 * normal/menu_entry.c (update_screen): Fix out-of-array.
18719 (complete): Avoid NULL dereferencing.
18720 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18721 * normal/menu_text.c (print_spaces): Removed.
18722 (grub_print_ucs4): Likewise.
18723 (grub_print_message_indented): Use grub_print_ucs4.
18724 (print_message): Use grub_putcode.
18725 (print_entry): Hanlde diacritics.
18726 * normal/term.c (term_state): New type.
18727 (grub_more_lines): Removed.
18728 (term_states): New variable.
18729 (grub_normal_line_counter): Renamed to ..
18730 (grub_normal_char_counter): ...this. All users updated.
18731 (grub_normal_get_line_counter): Renamed to ...
18732 (grub_normal_get_char_counter): ... this.
18733 (grub_normal_reset_more): New function.
18734 (process_newline): Removed.
18735 (print_more): New function.
18736 (grub_install_newline_hook): Removed.
18737 (map_code): New function.
18738 (grub_puts_terminal): Use grub_print_ucs4.
18739 (putglyph): New function.
18740 (putcode_real): Likewise.
18741 (grub_putcode): Use putcode_real.
18742 (get_maxwidth): New function.
18743 (get_startwidth): Likewise.
18744 (print_ucs4_terminal): Likewise.
18745 (find_term_state): Likewise.
18746 (put_glyphs_terminal): Likewise.
18747 (print_backlog): Likewise.
18748 (print_ucs4_real): Likewise.
18749 (grub_print_ucs4): Likewise.
18750 (grub_xputs_normal): Likewise.
18751 * term/efi/console.c (grub_console_putchar): Output diacritics.
18752 (grub_console_getcharwidth): Removed.
18753 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18754 * term/gfxterm.c (clear_char): Free chars.
18755 (scroll_up): Avoid leaking memory.
18756 (grub_gfxterm_putchar): Support diacritics.
18757 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18758 * term/i386/pc/console.c (grub_console_term_output): Declare as
18759 GRUB_TERM_CODE_TYPE_VGA.
18760 * term/i386/pc/vga.c (grub_vga_term): Declare as
18761 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18762 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18763 GRUB_TERM_CODE_TYPE_VGA.
18764 * term/i386/vga_common.c (map_char): Removed.
18765 (grub_console_putchar): Likewise.
18766 (grub_console_getcharwidth): Likewise.
18767 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18768 (colors): Reordered to match terminfo.
18769 (grub_ofconsole_normal_color): Removed.
18770 (grub_ofconsole_writeesc): Likewise.
18771 (grub_ofconsole_highlight_color): Likewise.
18772 (grub_ofconsole_getcharwidth): Likewise.
18773 (grub_ofconsole_setcolorstate): Likewise.
18774 (grub_ofconsole_setcolor): Likewise.
18775 (grub_ofconsole_getcolor): Likewise.
18776 (grub_ofconsole_readkey): Renamed to ...
18777 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18778 key.
18779 (grub_ofconsole_checkkey): Removed.
18780 (grub_ofconsole_getkey): Likewise.
18781 (grub_ofconsole_getxy): Likewise.
18782 (grub_ofconsole_gotoxy): Likewise.
18783 (grub_ofconsole_cls): Likewise.
18784 (grub_ofconsole_refresh): Likewise.
18785 (grub_ofconsole_terminfo_input): New struct.
18786 (grub_ofconsole_terminfo_output): Likewise.
18787 (grub_ofconsole_term_input): Use terminfo.
18788 (grub_ofconsole_term_output): Likewise.
18789 (grub_console_init): Split into ...
18790 (grub_console_init_early): ...this and ...
18791 (grub_console_init_lately): ...this. Use terminfo.
18792 (grub_ofconsole_putchar): Renamed to ...
18793 (put): ... this. Remove mapping.
18794 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18795 * term/serial.c: Simplify using terminfo.
18796 (xpos): Removed.
18797 (ypos): Likewise.
18798 (keep_track): Likewise.
18799 (registered): Likewise.
18800 (input_buf): Likewise.
18801 (npending): Likewise.
18802 (serial_translate_key_sequence): Likewise.
18803 (fill_input_buf): Likewise.
18804 (grub_serial_checkkey): Likewise.
18805 (grub_serial_getkey): Likewise.
18806 (grub_serial_getxy): Likewise.
18807 (grub_serial_gotoxy): Likewise.
18808 (grub_serial_putchar): Likewise.
18809 (grub_serial_cls): Likewise.
18810 (grub_serial_setcolorstate): Likewise.
18811 (grub_serial_setcursor): Likewise.
18812 (serial_hw_init): Use serial_hw_fetch.
18813 (grub_serial_terminfo_input): New variable.
18814 (grub_serial_terminfo_output): Likewise.
18815 (grub_serial_term_input): Use terminfo.
18816 (grub_serial_term_output): Likewise.
18817 * term/terminfo.c (putstr): Use put.
18818 (grub_terminfo_all_free): New function
18819 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18820 (grub_terminfo_output_register): New function.
18821 (grub_terminfo_output_unregister): Likewise.
18822 (grub_terminfo_getxy): Likewise.
18823 (grub_terminfo_readkey): Likewise.
18824 (grub_terminfo_checkkey): Likewise.
18825 (grub_terminfo_getkey): Likewise.
18826 (grub_terminfo_input_init): Likewise.
18827 (print_terminfo): Likewise.
18828 (grub_cmd_terminfo): Handle encoding.
18829 (grub_terminfo_gotoxy): Track position.
18830 (grub_terminfo_cls): Likewise.
18831 (grub_terminfo_putchar): Likewise.
18832 (grub_terminfo_setcolorstate): Handle colors
18833 (grub_terminfo_cursor_on): This ...
18834 (grub_terminfo_cursor_off): ... and this merged into ...
18835 (grub_terminfo_setcursor): ... this.
18836 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18837 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18838 * unicode/BidiMirroring.txt: Likewise.
18839 * unicode/UnicodeData.txt: Likewise.
18840 * unicode/COPYING: Likewise.
18841 * util/grub-editenv.c (grub_putchar): Removed.
18842 (grub_xputs_real): New function.
18843 (grub_xputs): New variable.
18844 * util/grub-fstest.c (grub_putchar): Removed.
18845 (grub_xputs_real): New function.
18846 (grub_xputs): New variable.
18847 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18848 (grub_xputs_real): New function.
18849 (grub_xputs): New variable.
18850 * util/grub-probe.c (grub_putchar): Removed.
18851 (grub_xputs_real): New function.
18852 (grub_xputs): New variable.
18853 * util/grub-script-check.c (grub_putchar): Removed.
18854 (grub_xputs_real): New function.
18855 (grub_xputs): New variable.
18856 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18857 (grub_xputs_real): New function.
18858 (grub_xputs): New variable.
18859 * util/import_unicode.py: New file.
18860 * util/grub-mkfont.c (ft_errmsgs): New array.
18861 (grub_glyph_info): Make bitmap a pointer.
18862 (file_formats): New type WIDTH_SPEC.
18863 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18864 (options): Add width-spec.
18865 (help): Likewise.
18866 (add_char): Renamed to ...
18867 (add_glyph): ... this.
18868 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18869 (glyph_replace): New type.
18870 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18871 (add_char): New function.
18872 (add_subst): Likewise.
18873 (process_cursive): Likewise.
18874 (add_font): Handle GSUB.
18875 (write_font_width_spec): New function.
18876 (main): Sort glyphs.
18877 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18878 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18879 * kern/term.c (grub_cls): Moved from here...
18880 * normal/term.c (grub_cls): ... here.
18881
18882 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18883
18884 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18885 suitable for using within the format argument of printf when
18886 converting grub_size_t.
18887 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18888 "x" to convert grub_size_t arguments.
18889
18890 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18891
18892 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18893 too long captions.
18894 (list_get_minimal_size): Take selection box into account.
18895
18896 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18899 NULL font.
18900
18901 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18902
18903 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18904 devices when iterating over /dev/disk/by-id; they will be handled
18905 later if appropriate, which they aren't always (e.g. LVM).
18906
18907 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18908
18909 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18910 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18911 fails.
18912 (grub_halt): Likewise.
18913 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18914 reset-all fails.
18915 (grub_halt): Don't return, even if all of shut-down, power-off, and
18916 poweroff fail.
18917
18918 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18919
18920 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18921 arguments, not three.
18922
18923 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18924
18925 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18926 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18927 LVM-on-RAID is handled correctly.
18928
18929 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18930
18931 * docs/grub.texi (Changes from GRUB Legacy): New section.
18932 (Future): Fix typo.
18933
18934 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18935
18936 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18937 grub.d/README accidentally ends up executable for one reason or
18938 another. Ignore it.
18939
18940 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18941
18942 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18943 (gpt_partition_map_iterate): Support non-512B sectors.
18944
18945 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18948 Tested by: Seth Goldberg.
18949
18950 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18953 Properly align mbi.
18954 Reported by: Seth Goldberg.
18955
18956 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * util/grub-mkrescue.in: Avoid module duplication.
18959
18960 2010-07-01 Sean Finney <seanius@seanius.net>
18961
18962 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18963
18964 2010-07-01 Sean Finney <seanius@seanius.net>
18965
18966 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18967
18968 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * disk/lvm.c (grub_lvm_checkvalue): New function.
18971 (grub_lvm_check_flag): Likewise.
18972
18973 2010-07-01 Robert Millan <rmh@gnu.org>
18974
18975 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18976 Support 'p' as partition separator on kernel of FreeBSD (used
18977 with GPT labels).
18978 (grub_util_biosdisk_get_grub_dev): Likewise.
18979
18980 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 Yeeloong firmware port.
18983
18984 * boot/mips/yeeloong/fwstart.S: New file.
18985 * bus/cs5536.c (gpiodump): New const.
18986 (set_io_space): New function.
18987 (set_iod): Likewise.
18988 (set_p2d): Likewise.
18989 (grub_cs5536_init_geode): Likewise.
18990 * commands/mips/yeeloong/lsspd.c: New file.
18991 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18992 (serial_mod_SOURCES): New variable.
18993 (serial_mod_CFLAGS): Likewise.
18994 (serial_mod_LDFLAGS): Likewise.
18995 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18996 term/terminfo.c and term/tparm.c.
18997 (pkglib_IMAGES): Add fwstart.img.
18998 (fwstart_img_SOURCES): New variable.
18999 (fwstart_img_CFLAGS): Likewise.
19000 (fwstart_img_ASFLAGS): Likewise.
19001 (fwstart_img_LDFLAGS): Likewise.
19002 (fwstart_img_FORMAT): Likewise.
19003 (pkglib_MODULES): Add lsspd.mod.
19004 (lsspd_mod_SOURCES): New variable.
19005 (lsspd_mod_CFLAGS): Likewise.
19006 (lsspd_mod_LDFLAGS): Likewise.
19007 (pkglib_MODULES): Add halt.mod.
19008 (halt_mod_SOURCES): New variable.
19009 (halt_mod_CFLAGS): Likewise.
19010 (halt_mod_LDFLAGS): Likewise.
19011 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19012 (serial_mod_SOURCES): Removed.
19013 (serial_mod_CFLAGS): Likewise.
19014 (serial_mod_LDFLAGS): Likewise.
19015 * disk/ata.c (check_device): New function.
19016 (grub_ata_device_initialize): Use check_device.
19017 (grub_ata_iterate): Recheck devices.
19018 (grub_ata_open): Likewise.
19019 (grub_atapi_iterate): Likewise.
19020 (grub_atapi_open): Likewise.
19021 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19022 (GRUB_ATA_CH1_PORT1): Likewise.
19023 (GRUB_ATA_CH0_PORT2): Likewise.
19024 (GRUB_ATA_CH1_PORT2): Likewise.
19025 * include/grub/mips/loongson.h: New file.
19026 * include/grub/mips/yeeloong/ec.h: Likewise.
19027 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19028 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19029 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19030 * include/grub/misc.h (grub_halt): Declare as noreturn.
19031 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19032 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19033 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19034 (UART_ENABLE_DTRRTS): Likewise.
19035 (UART_ENABLE_MODEM): Removed.
19036 (UART_ENABLE_OUT2): New const.
19037 * include/grub/term.h (grub_term_register_input_active): New function.
19038 (grub_term_register_output_active): Likewise.
19039 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19040 argument.
19041 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19042 (init_pci): New function.
19043 (grub_machine_init): Execute platform init when firmware. Init serial.
19044 (grub_halt): Implement.
19045 (grub_exit): Likewise.
19046 (grub_reboot): Likewise.
19047 * term/serial.c (serial_hw_init): Update macros.
19048 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19049 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19050 (image_targets): New target mipsel-yeeloong-flash.
19051 (generate_image): Support IMAGE_YEELOONG_FLASH.
19052 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19053 (grub_video_sm712_setup): Init card.
19054 (grub_video_sm712_set_palette): Removed.
19055 * video/sm712_init.c: New file.
19056
19057 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
19058
19059 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19060 PATH when running help2man and then run it on the unadorned
19061 executable names, rather than passing $(builddir)/* paths to
19062 help2man. This avoids the build directory ending up in generated
19063 manual pages.
19064
19065 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
19066
19067 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19068 to avoid accidents when debugging with 'sh -x'.
19069 * util/grub-mkrescue.in: Likewise.
19070 * util/grub.d/00_header.in: Likewise.
19071 * util/grub.d/10_hurd.in: Likewise.
19072 * util/grub.d/10_kfreebsd.in: Likewise.
19073 * util/grub.d/10_linux.in: Likewise.
19074 * util/grub.d/10_netbsd.in: Likewise.
19075 * util/grub.d/10_windows.in: Likewise.
19076 * util/grub.d/20_linux_xen.in: Likewise.
19077 * util/grub.d/30_os-prober.in: Likewise.
19078 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19079
19080 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
19081
19082 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19083 last character in the buffer.
19084 Reported by: Vladimir Serbinenko.
19085
19086 2010-06-29 Robert Millan <rmh@gnu.org>
19087
19088 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19089 (Command-line and menu entry commands): Document `badram' command.
19090
19091 2010-06-28 Robert Millan <rmh@gnu.org>
19092
19093 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19094 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19095 command using ${GRUB_BADRAM} as parameter.
19096
19097 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19098
19099 * docs/grub.texi (Device map): New section.
19100 (Themes): New section (stub).
19101 * Makefile.in (docs/grub.info): The info documentation now builds
19102 without errors. Make sure it stays that way.
19103
19104 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 Use normal parser for menu entries.
19107 Reported by: Thomas Frauendorfer
19108
19109 * include/grub/parser.h (grub_parser_execute): Don't export.
19110 * normal/menu.c (grub_menu_execute_entry_real): New function.
19111 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19112
19113 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19114
19115 * docs/grub.texi (Embedded configuration): New section (replacing
19116 old "Preset Menu" stub).
19117 (Images): New section.
19118 (configfile): Note that any menu entries defined in `file' are shown
19119 immediately.
19120
19121 2010-06-28 Josh Triplett <josh@joshtriplett.org>
19122
19123 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19124
19125 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19126
19127 * util/grub-install.in: Add --debug-image= option.
19128
19129 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19130
19131 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19132 possible on Linux.
19133
19134 * util/deviceiter.c (check_device): Rename to ...
19135 (check_device_readable_unique): ... this. Update all callers.
19136 Maintain and check a list of which devices (by canonicalized name)
19137 have already been seen.
19138 (clear_seen_devices): New function.
19139 (compare_file_names) [__linux__]: New function.
19140 (grub_util_iterate_devices): Clear the list of seen devices on exit
19141 and (just in case) on entry.
19142 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19143 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19144 seen-devices list, superseded by general code in check_device.
19145
19146 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
19147
19148 * commands/cat.c (options): New variable.
19149 (grub_cmd_cat): Parse options. If the --dos option is given, print
19150 DOS-style "\r\n" line endings as simple newlines (Debian bug
19151 #586358).
19152 (GRUB_MOD_INIT): Use extcmd.
19153 (GRUB_MOD_FINI): Likewise.
19154 * docs/grub.texi (cat): Document --dos.
19155
19156 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19157
19158 XEN with Linux grub-mkconfig support.
19159
19160 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19161 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19162 GRUB_CMDLINE_XEN_DEFAULT.
19163 * util/grub.d/20_linux_xen.in: New file.
19164
19165 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 Initialise VGA video on qemu ourselves.
19168
19169 * boot/i386/qemu/boot.S: Don't call 0xc000.
19170 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19171 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19172 (kernel_img_HEADERS): Add pci.h.
19173 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19174 * configure.ac: Force unifont on qemu and yeeloong.
19175 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19176 (grub_vga_palette_write): Use correct register.
19177 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19178 Call grub_qemu_init_cirrus.
19179 * kern/i386/qemu/init.c: New file.
19180 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19181
19182 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19183
19184 2010-06-26 Pavel Roskin <proski@gnu.org>
19185
19186 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19187 13.
19188
19189 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19190
19191 * docs/grub.texi (Simple configuration): Explain that
19192 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19193 set to `true' to disable their respective recovery entries, not
19194 merely set.
19195
19196 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
19197
19198 Make the `source' command slightly faster.
19199
19200 * normal/main.c (grub_normal_execute): Don't re-read list files when
19201 nested.
19202
19203 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19204
19205 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19206 field position and mask size to red fields from mode_info, not
19207 green.
19208 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19209 Remove redundant tag->common.framebuffer_type assignment.
19210 Reported by: Seth Goldberg.
19211
19212 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
19213
19214 Sync up other versions of the Linux loader with Robert Millan's
19215 change of 2010-01-09, "Make loader output a bit more user-friendly".
19216
19217 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19218 grub_dprintf().
19219 (grub_cmd_linux): Likewise.
19220 (grub_cmd_initrd): Likewise.
19221 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19222 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19223
19224 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
19225
19226 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19227 larger than MEMORY_MAP_SIZE.
19228
19229 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19230
19231 Fix parallel build.
19232
19233 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19234 dependency.
19235 * script/parser.y: #include grub_script.tab.h header.
19236
19237 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 Support >3GiB and <16MiB RAM in i386-qemu.
19240
19241 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19242 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19243 (grub_lower_mem): Removed.
19244 (grub_upper_mem): Likewise.
19245 (mem_size): Made static.
19246 (above_4g): New variable.
19247 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19248 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19249 support.
19250
19251 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 Cirrus 5446 and Bochs video cards support.
19254
19255 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19256 video_bochs.mod
19257 (video_cirrus_mod_SOURCES): New variable.
19258 (video_cirrus_mod_CFLAGS): Likewise.
19259 (video_cirrus_mod_LDFLAGS): Likewise.
19260 (video_bochs_mod_SOURCES): Likewise.
19261 (video_bochs_mod_CFLAGS): Likewise.
19262 (video_bochs_mod_LDFLAGS): Likewise.
19263 * include/grub/vga.h: New file.
19264 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19265 (grub_video_fb_set_page_t): New type.
19266 (grub_video_fb_setup): New prototype.
19267 (grub_video_fb_swap_buffers): Likewise.
19268 (grub_video_fb_get_info_and_fini): Likewise.
19269 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19270 (CRTC_DATA_PORT): Likewise.
19271 (CRTC_CURSOR): Likewise.
19272 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19273 (CRTC_CURSOR_ADDR_LOW): Likewise.
19274 (CRTC_CURSOR_DISABLE): Likewise.
19275 (update_cursor): Use grub_vga_cr_write.
19276 (grub_vga_text_setcursor): Likewise.
19277 * video/bochs.c: New file.
19278 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19279 (palette): Likewise.
19280 (palette_size): Likewise.
19281 (framebuffer): New variable.
19282 (grub_video_fb_init): Use 'framebuffer'.
19283 (grub_video_fb_fini): Likewise.
19284 (grub_video_fb_get_info): Likewise.
19285 (grub_video_fb_get_palette): Likewise.
19286 (grub_video_fb_set_palette): Likewise.
19287 (grub_video_fb_set_viewport): Likewise.
19288 (grub_video_fb_get_viewport): Likewise.
19289 (grub_video_fb_map_color): Likewise.
19290 (grub_video_fb_map_rgb): Likewise.
19291 (grub_video_fb_map_rgba): Likewise.
19292 (grub_video_fb_unmap_color): Likewise.
19293 (grub_video_fb_unmap_color_int): Likewise.
19294 (grub_video_fb_fill_rect): Likewise.
19295 (grub_video_fb_blit_bitmap): Likewise.
19296 (grub_video_fb_blit_render_target): Likewise.
19297 (grub_video_fb_scroll): Likewise.
19298 (grub_video_fb_create_render_target): Likewise.
19299 (grub_video_fb_doublebuf_blit_init): Likewise.
19300 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19301 (doublebuf_pageflipping_update_screen): New function.
19302 (doublebuf_pageflipping_init): Likewise.
19303 (grub_video_fb_setup): Likewise.
19304 (grub_video_fb_swap_buffers): Likewise.
19305 (grub_video_fb_get_info_and_fini): Likewise.
19306 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19307 All users updated.
19308 (doublebuf_pageflipping_commit): Restructured into ...
19309 (doublebuf_pageflipping_set_page): ... this.
19310 (doublebuf_pageflipping_update_screen): Removed.
19311 (doublebuf_pageflipping_init): Likewise.
19312 (double_buffering_init): Likewise.
19313 (grub_video_vbe_setup): Use grub_video_fb_setup.
19314 (grub_video_vbe_swap_buffers): Removed.
19315 (grub_video_vbe_set_active_render_target): Likewise.
19316 (grub_video_vbe_get_active_render_target): Likewise.
19317 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19318 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19319 grub_video_fb_set_active_render_target and
19320 grub_video_fb_get_active_render_target.
19321 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19322 (SEQUENCER_DATA_PORT): Likewise.
19323 (MAP_MASK_REGISTER): Likewise.
19324 (CRTC_ADDR_PORT): Likewise.
19325 (CRTC_DATA_PORT): Likewise.
19326 (START_ADDR_HIGH_REGISTER): Likewise.
19327 (START_ADDR_LOW_REGISTER): Likewise.
19328 (GRAPHICS_ADDR_PORT): Likewise.
19329 (GRAPHICS_DATA_PORT): Likewise.
19330 (READ_MAP_REGISTER): Likewise.
19331 (INPUT_STATUS1_REGISTER): Likewise.
19332 (INPUT_STATUS1_VERTR_BIT): Likewise.
19333 (get_map_mask): Use grub_vga_sr_read.
19334 (set_map_mask): Use grub_vga_sr_write.
19335 (set_read_map): Use grub_vga_gr_write.
19336 (set_start_address): Use grub_vga_cr_write.
19337 * video/sm712.c (framebuffer): Remove leftover fields.
19338
19339 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
19340
19341 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19342 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19343 instead. Replace the gfxterm backend check with a check that
19344 ${GRUB_PREFIX}/video.lst is non-empty.
19345 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19346 again.
19347 (load_video): New generated function. Call it before loading
19348 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19349 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19350 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19351 * docs/grub.texi (Simple configuration): Document
19352 GRUB_VIDEO_BACKEND.
19353
19354 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 Use video functions in linux and xnu loaders.
19357
19358 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19359 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19360 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19361 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19362 loader/i386/pc/linux.c.
19363 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19364 (find_line_len): Removed.
19365 (find_framebuf): Likewise.
19366 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19367 * loader/i386/efi/xnu.c: Removed.
19368 * loader/i386/pc/xnu.c: Moved from here...
19369 * loader/i386/xnu.c: ...here.
19370
19371 Enable priorities in video drivers.
19372
19373 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19374 (grub_video_adapter): New field prio.
19375 (grub_video_register): Respect prio when inserting.
19376 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19377 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19378 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19379 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19380 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19381 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19382 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19383
19384 Fix SDL driver ID.
19385
19386 * include/grub/video.h (grub_video_driver_id_t): New value
19387 GRUB_VIDEO_DRIVER_SDL.
19388 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19389
19390 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19391
19392 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19393 argument to printf.
19394 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19395
19396 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19397
19398 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19399 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19400
19401 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19402
19403 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19404 directly, and recommend grub-install instead.
19405 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19406
19407 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19408
19409 Fix i386-pc prefix handling with nested partitions (Debian bug
19410 #585068). Note that the case where the core image is booted using
19411 multiboot and relocated from its original location still requires
19412 more work.
19413
19414 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19415 with "(,", fill the boot drive in between those two characters, but
19416 expect that a full partition specification including partition map
19417 names will follow.
19418 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19419 specified, write a prefix without the drive name but including a
19420 full partition specification.
19421
19422 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19423
19424 * util/grub-mkconfig.in: Ignore non-option arguments, for
19425 compatibility with older versions (before 2010-06-12) which did the
19426 same. In particular, this makes it easier to ship an update-grub
19427 wrapper which is compatible with that used with GRUB Legacy (Debian
19428 bug #586056).
19429
19430 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19431
19432 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19433 for manual page generation.
19434
19435 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19436
19437 * po/POTFILES: Remove leftover commands/handler.c.
19438
19439 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19440
19441 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19442 left this script non-functional.
19443
19444 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19445
19446 * docs/man/grub-emu.h2m: New file.
19447
19448 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19449
19450 * docs/grub.texi (Commands): Document reduced command set in rescue
19451 mode.
19452 (cpuid): New section.
19453
19454 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19455
19456 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19457 new partition naming style.
19458 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19459
19460 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19461
19462 Add "-o grub.iso" like cmdline options support.
19463
19464 * util/grub-install.in: Improve cmdline option parsing.
19465 * util/grub-mkconfig.in: Likewise.
19466 * util/grub-mkrescue.in: Likewise.
19467 * util/grub-reboot.in: Likewise.
19468 * util/grub-set-default.in: Likewise.
19469 * util/i386/efi/grub-install.in: Likewise.
19470 * util/ieee1275/grub-install.in: Likewise.
19471 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19472
19473 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19474
19475 * .bzrignore: Ignore 41_custom.
19476
19477 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19478
19479 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19480
19481 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19482
19483 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19484 prototype declarations.
19485
19486 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19487 generating fs, partmap, and video lists.
19488 * include/grub/fs.h (grub_fs_register): Omit prototype if
19489 GRUB_LST_GENERATOR is defined.
19490 * include/grub/partition.h (grub_partition_map_register): Likewise.
19491 * include/grub/video.h (grub_video_register): Likewise.
19492
19493 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19494
19495 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19496
19497 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19498
19499 * util/grub-mkrescue.in: Support --xorriso argument.
19500
19501 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19502
19503 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19504 Suggested by: Thomas Schmitt.
19505
19506 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19509 Suggested by: Thomas Schmitt.
19510
19511 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19512
19513 custom.cfg support.
19514
19515 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19516 * util/grub.d/41_custom.in: New file.
19517
19518 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19519
19520 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19521 been merged back into normal.
19522
19523 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19526 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19527
19528 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19529
19530 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19531 when generating manual pages.
19532 * docs/man/grub-bin2h.h2m: New file.
19533 * docs/man/grub-editenv.h2m: New file.
19534 * docs/man/grub-fstest.h2m: New file.
19535 * docs/man/grub-install.h2m: New file.
19536 * docs/man/grub-macho2img.h2m: New file.
19537 * docs/man/grub-mkconfig.h2m: New file.
19538 * docs/man/grub-mkdevicemap.h2m: New file.
19539 * docs/man/grub-mkfont.h2m: New file.
19540 * docs/man/grub-mkimage.h2m: New file.
19541 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19542 * docs/man/grub-mkrelpath.h2m: New file.
19543 * docs/man/grub-mkrescue.h2m: New file.
19544 * docs/man/grub-ofpathname.h2m: New file.
19545 * docs/man/grub-pe2elf.h2m: New file.
19546 * docs/man/grub-probe.h2m: New file.
19547 * docs/man/grub-reboot.h2m: New file.
19548 * docs/man/grub-script-check.h2m: New file.
19549 * docs/man/grub-set-default.h2m: New file.
19550 * docs/man/grub-setup.h2m: New file.
19551
19552 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19553
19554 Use FOR_* macros instead of *_iterate whenever possible.
19555
19556 * commands/handler.c: Removed.
19557 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19558 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19559 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19560 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19561 (grub_probe_SOURCES): Remove kern/parser.c.
19562 (util/grub-script-check.c_DEPENDENCIES): Removed.
19563 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19564 and grub_script_check_init.c.
19565 (grub_script_check_init.lst): Removed.
19566 (grub_script_check_init.h): Likewise.
19567 (grub_script_check_init.c): Likewise.
19568 (pkglib_MODULES): Remove handler.mod and sh.mod.
19569 (handler_mod_SOURCES): Removed.
19570 (handler_mod_CFLAGS): Likewise.
19571 (handler_mod_LDFLAGS): Likewise.
19572 (normal_mod_SOURCES): Remove normal/handler.c.
19573 Add script/main.c, script/script.c, script/execute.c,
19574 script/function.c, script/lexer.c, grub_script.tab.c
19575 and grub_script.yy.c.
19576 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19577 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19578 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19579 (grub_setup_SOURCES): Remove kern/parser.c.
19580 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19581 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19582 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19583 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19584 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19585 (grub_setup_SOURCES): Remove kern/parser.c.
19586 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19587 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19588 * include/grub/command.h (grub_command_iterate): Removed.
19589 (FOR_COMMANDS): New macro.
19590 * include/grub/dl.h (grub_dl): New member next.
19591 (grub_dl_iterate): Removed.
19592 (grub_dl_head): New variable declaration.
19593 (FOR_DL_MODULES): New macro.
19594 * include/grub/fs.h: Include list.h.
19595 (grub_fs): Make next first element.
19596 (grub_fs_list): New variable declaration.
19597 (grub_fs_register): Make inline.
19598 (grub_fs_unregister): Likewise.
19599 (grub_fs_iterate): Removed.
19600 (FOR_FILESYSTEMS): New macro.
19601 * include/grub/handler.h: Removed.
19602 * include/grub/list.h (grub_list_hook_t): Removed.
19603 (grub_list_test_t): Likewise.
19604 (grub_list_pop): Likewise.
19605 (grub_list_iterate): Likewise.
19606 (grub_list_insert): Likewise.
19607 (FOR_LIST_ELEMENTS): New macro.
19608 * include/grub/parser.h (grub_parser_class): Removed.
19609 (grub_parser_register): Likewise.
19610 (grub_parser_unregister): Likewise.
19611 (grub_parser_get_current): Likewise.
19612 (grub_parser_set_current): Likewise.
19613 (grub_register_rescue_parser): Likewise.
19614 (grub_rescue_parse_line): New function.
19615 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19616 * include/grub/script_sh.h (grub_script_function_list): New variable
19617 declaration.
19618 (FOR_SCRIPT_FUNCTIONS): New macro.
19619 (grub_script_function_iterate): Removed.
19620 (grub_normal_parse_line): New prototype.
19621 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19622 (FOR_DISABLED_TERM_INPUTS): Likewise.
19623 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19624 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19625 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19626 element.
19627 (grub_video_register): Inline.
19628 (grub_video_unregister): Likewise.
19629 (grub_video_adapter_list): New variable declaration.
19630 (grub_video_iterate): Removed.
19631 (FOR_VIDEO_ADAPTERS): New macro.
19632 * kern/dl.c (grub_dl_list): Removed. All users updated.
19633 (grub_dl_iterate): Removed.
19634 * kern/fs.c (grub_fs_list): Make global.
19635 (grub_fs_register): Removed.
19636 (grub_fs_unregister): Likewise.
19637 (grub_fs_iterate): Likewise.
19638 * kern/handler.c: Removed.
19639 * kern/list.c (grub_list_pop): Removed.
19640 (grub_list_iterate): Likewise.
19641 (grub_list_insert): Likewise.
19642 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19643 (grub_prio_list_insert): Don't use grub_list_insert.
19644 * kern/main.c (grub_register_rescue_parser): Don't call
19645 grub_register_rescue_parser.
19646 * kern/parser.c (grub_parser_class): Removed.
19647 (grub_parser_execute): Use grub_rescue_parse_line.
19648 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19649 (grub_rescue_parser): Removed.
19650 (grub_register_rescue_parser): Likewise.
19651 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19652 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19653 (grub_auth_check_authentication): Likewise.
19654 * normal/completion.c (iterate_command): Removed.
19655 (grub_normal_do_completion): Use FOR_COMMANDS.
19656 * normal/handler.c: Removed.
19657 * normal/main.c (read_config_file): Remove parser changing.
19658 (grub_normal_execute): Don't call read_handler_list.
19659 (grub_normal_read_line_real): Statically allocate prompt.
19660 (grub_cmdline_run): Use grub_normal_parse_line.
19661 (GRUB_MOD_FINI): Don't call free_handler_list.
19662 * normal/menu_entry.c (run): Likewise.
19663 * script/function.c (grub_script_function_list): Make global.
19664 (grub_script_function_iterate): Removed.
19665 * script/main.c (grub_normal_parse_line): Make global.
19666 (grub_sh_parser): Removed.
19667 (GRUB_MOD_INIT): Likewise.
19668 (GRUB_MOD_FINI): Likewise.
19669 * tests/lib/functional_test.c (grub_functional_test): Use
19670 FOR_LIST_ELEMENTS.
19671 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19672 (grub_test_run): Use FOR_LIST_ELEMENTS.
19673 * tests/lib/unit_test.c (main): Likewise.
19674 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19675 grub_list_pop.
19676 * util/grub-fstest.c (grub_term_input_class): Removed.
19677 (grub_term_output_class): Likewise.
19678 * util/grub-probe.c: Likewise.
19679 * util/i386/pc/grub-setup.c: Likewise.
19680 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19681 * util/grub-script-check.c (main): Don't call grub_init_all and
19682 grub_fini_all.
19683 * video/video.c (grub_video_adapter_list): Make global.
19684 (grub_video_register): Removed.
19685 (grub_video_unregister): Likewise.
19686 (grub_video_iterate): Likewise.
19687
19688 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19689
19690 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19691 reported by Henrique Ferreiro.
19692
19693 2010-06-09 Robert Millan <rmh@gnu.org>
19694
19695 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19696 ones, when both are available.
19697
19698 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19699
19700 Make --version uniform and avoid hard-coded program name.
19701
19702 * util/grub-mkimage.c (main): Use `program_name' instead of
19703 hard-coded string.
19704 * util/i386/pc/grub-setup.c (main): Likewise.
19705 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19706 * util/grub-install.in: Save the basename of $0 in $self, and use the
19707 latter in informational messages. Use the same format for --version
19708 as the binary programs.
19709 * util/grub-mkconfig.in: Likewise.
19710 * util/grub-mkrescue.in: Likewise.
19711 * util/grub-reboot.in: Likewise.
19712 * util/grub-set-default.in: Likewise.
19713 * util/i386/efi/grub-install.in: Likewise.
19714 * util/ieee1275/grub-install.in: Likewise.
19715 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19716
19717 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19718
19719 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19720 embedding area. Use <= instead of == when checking for non-emptiness.
19721
19722 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19723
19724 * configure.ac: Add `.' to the directories searched for unifont.
19725
19726 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19727
19728 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19729 grub_script.yy.h.
19730
19731 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19732
19733 * docs/grub.texi (History): Expand to cover GRUB 2.
19734 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19735 commands, not `terminal'.
19736 (serial): Likewise.
19737 (terminal_input): New section.
19738 (terminal_output): New section.
19739 (uppermem): New section (stub).
19740 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19741
19742 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19743
19744 * docs/grub.texi (Security): Menu entries are unrestricted by
19745 default, not restricted to superusers as I had previously thought.
19746 Reword to account for this.
19747
19748 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19749
19750 * kern/emu/misc.c (device_mapper_null_log): New function.
19751 (grub_device_mapper_supported): New function.
19752 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19753 prototype.
19754 * kern/emu/hostdisk.c (find_partition_start): Check whether
19755 device-mapper is supported before trying to use it.
19756 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19757
19758 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19759
19760 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19761 (File name syntax): Likewise.
19762 (help): --all is no longer supported in GRUB 2. Be more precise
19763 about pattern matching.
19764
19765 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19766
19767 * normal/completion.c (grub_normal_do_completion): When completing
19768 arguments to "set" and the current word contains an equals sign,
19769 skip to after the equals sign before starting completion.
19770
19771 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19772
19773 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19774
19775 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19776
19777 * docs/grub.texi (Network): New section.
19778 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19779 `(nd)' as in GRUB Legacy.
19780 (pxe_unload): New section.
19781
19782 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19783
19784 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19785 in the rescue shell, so recommend using `set' instead. Thanks,
19786 Jordan Uggla.
19787
19788 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19789
19790 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19791 (password): New section.
19792 (password_pbkdf2): New section.
19793 (search): New section.
19794 (Security): New section.
19795 (Troubleshooting): New section, currently very incomplete.
19796 (Invoking grub-mkpasswd-pbkdf2): New section.
19797 (Internals): New section, currently very incomplete.
19798
19799 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19800
19801 * util/grub.d/00_header.in: Add some more quoting (of
19802 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19803 work again.
19804 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19805
19806 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19807
19808 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19809 to `count', fixing variable shadowing that broke the -c option.
19810
19811 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
19812
19813 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19814 in case they contain spaces.
19815
19816 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19817
19818 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19819 "part_" to partmap module names, in line with grub-install.
19820 Reported by: Jindřich Makovička (Debian bug #584426).
19821
19822 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19823
19824 * util/grub-mkimage.c: Make target-related error messages slightly
19825 more helpful; -O talks about "format". Explicitly point to the use
19826 of -O if no target is specified.
19827 Reported by: Didier Raboud (Debian bug #584415).
19828
19829 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
19830
19831 * INSTALL: Document several build requirements for optional features
19832 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19833
19834 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19835
19836 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19837 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19838 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19839
19840 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19841
19842 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19843 Thanks to Jordan Uggla for spotting this.
19844
19845 2010-06-02 Aleš Nesrsta <starous@volny.cz>
19846
19847 Finally make USB usable.
19848
19849 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19850 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19851 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19852 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19853 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19854 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19855 (GRUB_OHCI_FSMPS): Likewise.
19856 (GRUB_OHCI_PERIODIC_START): Likewise.
19857 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19858 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19859 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19860 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19861 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19862 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19863 (grub_ohci_transaction): Likewise.
19864 (grub_ohci_transfer): Improve condition detection algorithms.
19865 Handle toggle property. Program the transactions correctly.
19866 Improve error handling. Various important fixups.
19867 (grub_ohci_portstatus): Put register writes in right order.
19868 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19869 (grub_uhci_transfer): Don't show "failed" message on success.
19870 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19871 array.
19872 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19873 determine its size.
19874 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19875 before initialization is completed. Use IN direction for empty
19876 transfers. Use last_trans and compute toggle.
19877 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19878 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19879 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19880 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19881 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19882 (grub_usb_device): Increase toggle to 256.
19883 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19884 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19885 GRUB_USBMS_SUBCLASS_SFF8070.
19886 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19887 (grub_scsi_inquiry): New member page and alloc_length.
19888 (grub_scsi_request_sense): New structure.
19889 (grub_scsi_request_sense_data): Likewise.
19890 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19891 control.
19892 * disk/scsi.c (grub_scsi_request_sense): New function.
19893 (grub_scsi_test_unit_ready): Likewise.
19894 (grub_scsi_inquiry): Fill new fields.
19895 (grub_scsi_read_capacity): Likewise.
19896 (grub_scsi_read10): Add request sense at the end.
19897 (grub_scsi_read12): Likewise.
19898 (grub_scsi_write10): Likewise.
19899 (grub_scsi_write12): Likewise.
19900 (grub_scsi_open): Add Test Unit Ready.
19901 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19902 Support additional subclasses. Con't clear halt yet. Activate the
19903 proper config. Calculate LUNs correctly.
19904 (grub_usbms_transfer): Various important fixups.
19905
19906 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19909 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19910 (grub_ohci_fini_hw): New function.
19911 (grub_ohci_restore_hw): Likewise.
19912 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19913 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19914 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19915
19916 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 Dedicated DMA allocations.
19919
19920 * bus/pci.c (grub_memalign_dma32): New function
19921 (grub_dma_free): Likewise.
19922 (grub_dma_get_virt): Likewise.
19923 (grub_dma_get_phys): Likewise.
19924 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19925 (grub_ohci_pci_iter): Use dma32_alloc.
19926 (grub_ohci_transfer): Likewise.
19927 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19928 (grub_usb_bulk_readwrite): Likewise.
19929 * include/grub/pci.h: Add declarations.
19930
19931 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 CS5536 support.
19934
19935 * bus/cs5536.c: New file.
19936 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19937 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19938 (cs5536_mod_SOURCES): New variable.
19939 (cs5536_mod_CFLAGS): Likewise.
19940 (cs5536_mod_LDFLAGS): Likewise.
19941 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19942 machine/pci.h.
19943 (kernel_img_SOURCES): Add bus/cs5536.c.
19944 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19945 usb_keyboard.mod.
19946 (usb_mod_SOURCES): New variable.
19947 (usb_mod_CFLAGS): New variable.
19948 (usb_mod_LDFLAGS): New variable.
19949 (usbtest_mod_SOURCES): New variable.
19950 (usbtest_mod_CFLAGS): New variable.
19951 (usbtest_mod_LDFLAGS): New variable.
19952 (ohci_mod_SOURCES): New variable.
19953 (ohci_mod_CFLAGS): New variable.
19954 (ohci_mod_LDFLAGS): New variable.
19955 (usbms_mod_SOURCES): New variable.
19956 (usbms_mod_CFLAGS): New variable.
19957 (usbms_mod_LDFLAGS): New variable.
19958 (usb_keyboard_mod_SOURCES): New variable.
19959 (usb_keyboard_mod_CFLAGS): New variable.
19960 (usb_keyboard_mod_LDFLAGS): New variable.
19961 * include/grub/smbus.h: New file.
19962 * include/grub/cs5536.h: New file.
19963
19964 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19965
19966 * util/grub.d/00_header.in: Add safety check to make sure that
19967 ${locale_dir} exists before trying to probe it.
19968
19969 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19970
19971 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19972 per the GNU Coding Standards; this is now too obscure to be worth
19973 documenting.
19974 (QNX): Likewise.
19975 (chainloader): Remove cross-reference to `SCO UnixWare'.
19976
19977 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19978
19979 * docs/grub.texi (Chain-loading): New section.
19980 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19981 adjusted for GRUB 2.
19982 (SCO UnixWare): Likewise.
19983 (QNX): Likewise.
19984 (chainloader): Add reference to `Block list syntax'.
19985 (drivemap): New section.
19986 (parttool): New section.
19987
19988 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19989
19990 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19991 the grub shell'.
19992 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19993 (Installing GRUB using grub-install): Remove reference to the grub
19994 shell; mention `grub-mkimage' and `grub-setup' instead.
19995 (Invoking grub-install): Likewise.
19996 (Interface): Add reference to `Menu entry editor'.
19997 (serial): Remove `--device' option.
19998
19999 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20000
20001 * docs/grub.texi (Configuration): New section, documenting
20002 configuration file generation using grub-mkconfig. I've left a slot
20003 for documenting the full shell scripting format but have not yet
20004 started on writing that up.
20005 (Invoking grub-mkconfig): New section.
20006
20007 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20008
20009 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20010 (GNU GRUB manual): Likewise.
20011 (General commands): Update description of `terminfo' for GRUB 2.
20012
20013 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20014
20015 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20016 (GRUB_MOD_INIT): Fix capitalisation.
20017 * docs/grub.texi (Command-line and menu entry commands): Document
20018 gettext and gptsync commands.
20019
20020 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
20021
20022 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20023 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20024
20025 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
20026
20027 Add btrfs probing support, currently only in the single-device case.
20028
20029 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20030 function.
20031 (grub_guess_root_device): Call find_root_device_from_mountinfo
20032 before looking in /dev.
20033
20034 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20035
20036 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20037 GRUB_DISK_SIZE_UNKNOWN.
20038 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20039
20040 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
20041
20042 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20043 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20044 corrupted or not synced properly.
20045
20046 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20049 Reported by: Seth Goldberg.
20050
20051 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20054 addition of dest.
20055 Reported by: Seth Goldberg.
20056
20057 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20060 Reported by: Seth Goldberg.
20061
20062 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20065 64-bit address as signed on MIPS.
20066
20067 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
20068
20069 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20070 to the empty string.
20071
20072 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20073
20074 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20075
20076 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20077 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20078 * kern/misc.c (__enable_execute_stack): Disable on
20079 GRUB_MACHINE_EMU.
20080
20081 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
20082
20083 Make grub-probe work with symbolic links under /dev/mapper as well
20084 as with real block devices. The Linux world seems to be (at best)
20085 in transition here, and GRUB shouldn't get caught in the middle.
20086
20087 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20088 /dev/mapper.
20089
20090 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20091
20092 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20093 input files (in which case exit zero).
20094
20095 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20096
20097 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20098 return NULL for various reasons even if it has a maximum-length
20099 buffer: for example, there might be a symlink loop, or the path
20100 might exceed PATH_MAX. If this happens, return NULL.
20101
20102 2010-05-27 Robert Millan <rmh@gnu.org>
20103
20104 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20105 partmap module to handle cross-partmap setups.
20106 Reported by Orestes Mas. Gràcies!
20107
20108 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
20109
20110 * util/grub-mkrescue.in: Initialise override_dir rather than
20111 assuming that it's unset or empty in the environment.
20112
20113 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20114
20115 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20116 variable index into p_index to suppress a warning with -Wshadow.
20117
20118 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20119
20120 * INSTALL: Added flex >= 2.5.35 requirement.
20121
20122 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20123
20124 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20125
20126 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 cmostest support.
20129
20130 * commands/i386/cmostest.c: New file.
20131 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20132 (cmostest_mod_SOURCES): New variable.
20133 (cmostest_mod_CFLAGS): Likewise.
20134 (cmostest_mod_LDFLAGS): Likewise.
20135 * conf/i386-pc.rmk: Likewise.
20136 * docs/grub.texi (Vendor power-on keys): New section.
20137 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20138 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20139 and GRUB_BUTTON_CMOS_ADDRESS.
20140 * util/grub.d/00_header.in: Handle powering-on by separate button.
20141
20142 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20145 Removed drawing_scrollbar argument. All users updated
20146 Fixes #29792.
20147 Reported by Jo Shields
20148
20149 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20150
20151 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20152 buffer since gfxterm handles double repaint.
20153
20154 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20155
20156 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20157 * term/gfxterm.c (real_scroll): Likewise.
20158
20159 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20160
20161 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20162 before calling BIOS.
20163
20164 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20165
20166 * include/grub/i18n.h: Always enable grub_gettext.
20167
20168 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20171 partition naming style.
20172
20173 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
20174
20175 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20176 not the first option.
20177
20178 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20179
20180 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20181
20182 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
20183
20184 * util/misc.c: Move inclusion of <limits.h> to ...
20185 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20186
20187 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20188
20189 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20190 Fix merge error in NetBSD code.
20191 (find_partition_start) [__NetBSD__]: Likewise.
20192
20193 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20194
20195 Fix grub-mkrescue usage unit testing.
20196
20197 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20198
20199 2010-05-18 Christian Franke <franke@computer.org>
20200
20201 * util/grub.d/10_windows.in: Use path names instead of
20202 drive letters to prevent warning from Cygwin 1.7.
20203 Add drivemap command to menuentry if needed.
20204
20205 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20206
20207 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20208 gnumach and gnumach.gz.
20209
20210 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20211
20212 * include/grub/i18n.h (gettext): Inline instead of using #define.
20213 (grub_gettext): Likewise.
20214 (_): Likewise.
20215
20216 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20219 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20220 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20221 (main): Add a slash after pkglibdirroot.
20222
20223 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * util/grub-install.in: Add missing "in" keyword.
20226
20227 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20230 Reported by: Seth Goldberg.
20231
20232 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20235
20236 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20237
20238 * configure.ac: Check for Linux device-mapper support.
20239
20240 * util/hostdisk.c (device_is_mapped): New function.
20241 (find_partition_start): New function, partly broken out from
20242 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20243 device-mapper support added.
20244 (linux_find_partition): Use find_partition_start.
20245 (convert_system_partition_to_system_disk): Add `st' argument.
20246 Support Linux /dev/mapper/* devices if device-mapper support is
20247 available; only DM-RAID devices are understood at present.
20248 (find_system_device): Add `st' argument. Pass it to
20249 convert_system_partition_to_system_disk.
20250 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20251 find_system_device and convert_system_partition_to_system_disk. Use
20252 find_partition_start.
20253
20254 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20255 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20256 * util/deviceiter.c [__linux__]: Define MINOR.
20257 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20258 * util/mkdevicemap.c (grub_putchar): New function.
20259 (grub_getkey): New function.
20260 (grub_refresh): New function.
20261 (main): Set debug=all if -v -v is used.
20262
20263 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20264
20265 Fix build with non-GNU libcs.
20266
20267 * util/misc.c (canonicalize_file_name): Move to ...
20268 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20269 grub_make_system_path_relative_to_its_root.
20270
20271 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
20272
20273 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20274 we handle finding grub-mkimage. Default to finding grub-mkimage in
20275 ${bindir} with program_transform_name applied, and provide a
20276 --grub-mkimage option to override this.
20277
20278 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Remove grub-mkisofs.
20281
20282 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20283 (grub_mkisofs_SOURCES): Removed.
20284 (grub_mkisofs_CFLAGS): Removed.
20285 * util/mkisofs/defaults.h: Removed.
20286 * util/mkisofs/eltorito.c: Likewise.
20287 * util/mkisofs/exclude.h: Likewise.
20288 * util/mkisofs/hash.c: Likewise.
20289 * util/mkisofs/include/: Likewise.
20290 * util/mkisofs/include/fctldefs.h: Likewise.
20291 * util/mkisofs/include/mconfig.h: Likewise.
20292 * util/mkisofs/include/prototyp.h: Likewise.
20293 * util/mkisofs/include/statdefs.h: Likewise.
20294 * util/mkisofs/iso9660.h: Likewise.
20295 * util/mkisofs/joliet.c: Likewise.
20296 * util/mkisofs/match.c: Likewise.
20297 * util/mkisofs/match.h: Likewise.
20298 * util/mkisofs/mkisofs.c: Likewise.
20299 * util/mkisofs/mkisofs.h: Likewise.
20300 * util/mkisofs/msdos_partition.h: Likewise.
20301 * util/mkisofs/multi.c: Likewise.
20302 * util/mkisofs/name.c: Likewise.
20303 * util/mkisofs/rock.c: Likewise.
20304 * util/mkisofs/tree.c: Likewise.
20305 * util/mkisofs/write.c: Likewise.
20306
20307 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20308
20309 Unify grub-mkimage accross platforms.
20310
20311 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20312 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20313 (grub_mkelfimage_SOURCES): Removed.
20314 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20315 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20316 (bin_UTILITIES): Add grub-mkimage.
20317 (grub_mkimage_SOURCES): New variable.
20318 (kernel_img_HEADERS): Remove machine/kernel.h.
20319 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20320 (pkglib_PROGRAMS): Add kernel.img.
20321 (kernel_img_HEADERS): Add machine/kernel.h.
20322 (kernel_img_FORMAT): Removed.
20323 (bin_UTILITIES): Remove grub-mkimage.
20324 (grub_mkimage_SOURCES): Removed.
20325 (grub_mkimage_CFLAGS): Likewise.
20326 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20327 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20328 (pkglib_PROGRAMS): Add kernel.img.
20329 (bin_UTILITIES): Remove grub-mkimage.
20330 (grub_mkimage_SOURCES): Removed.
20331 (grub_mkimage_CFLAGS): Likewise.
20332 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20333 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20334 (pkglib_PROGRAMS): Add kernel.img.
20335 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20336 (pkglib_PROGRAMS): Add kernel.img.
20337 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20338 (grub_mkimage_SOURCES): Removed.
20339 (grub_mkimage_CFLAGS): Likewise.
20340 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20341 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20342 (pkglib_PROGRAMS): Add kernel.img.
20343 (bin_UTILITIES): Remove grub-mkimage.
20344 (grub_mkimage_SOURCES): Removed.
20345 (grub_mkimage_CFLAGS): Likewise.
20346 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20347 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20348 (grub_mkimage_SOURCES): Removed.
20349 (grub_mkimage_CFLAGS): Likewise.
20350 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20351 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20352 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20353 (grub_pe32_optional_header): ... this.
20354 (grub_pe64_optional_header): ... and this. All users updated.
20355 (GRUB_PE32_PE32_MAGIC): Split into ..
20356 (GRUB_PE32_PE32_MAGIC): .. this.
20357 (GRUB_PE32_PE64_MAGIC): .. and this.
20358 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20359 * include/grub/elf.h (PT_GNU_STACK): New definition.
20360 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20361 * include/grub/i386/efi/kernel.h: Likewise.
20362 * include/grub/i386/kernel.h: Likewise.
20363 * include/grub/i386/pc/kernel.h: Likewise.
20364 * include/grub/i386/qemu/boot.h: Likewise.
20365 * include/grub/mips/kernel.h: Likewise.
20366 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20367 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20368 * include/grub/powerpc/kernel.h: Likewise.
20369 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20370 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20371 * include/grub/sparc64/kernel.h: Likewise.
20372 * include/grub/x86_64/efi/kernel.h: Likewise.
20373 * include/grub/x86_64/kernel.h: Likewise.
20374 * include/grub/offsets.h: New file.
20375 * include/grub/kernel.h (grub_module_info): Split into ...
20376 (grub_module_info32): ... this.
20377 (grub_module_info64): ... and this.
20378 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20379 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20380 (grub_boot_blocklist): Moved from here ...
20381 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20382 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20383 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20384 * include/grub/types.h (grub_target_to_host16): Removed.
20385 (grub_target_to_host32): Likewise.
20386 (grub_target_to_host64): Likewise.
20387 (grub_host_to_target16): Likewise.
20388 (grub_host_to_target32): Likewise.
20389 (grub_host_to_target64): Likewise.
20390 (grub_host_to_target_addr): Likewise.
20391
20392 Support grub-mkrescue for efi, coreboot and qemu.
20393
20394 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20395 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20396 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20397 * util/grub-mkrawimage.c: Moved from here ...
20398 * util/grub-mkimage.c: ... here. All users updated.
20399 (ALIGN_ADDR): Use image_target.
20400 (TARGET_NO_FIELD): New const.
20401 (image_target_desc): New type.
20402 (image_targets): New array.
20403 (grub_target_to_host64): Use image_target.
20404 (grub_target_to_host32): Likewise.
20405 (grub_target_to_host16): Likewise.
20406 (grub_host_to_target64): Likewise.
20407 (grub_host_to_target32): Likewise.
20408 (grub_host_to_target16): Likewise.
20409 (grub_host_to_target_addr): Likewise.
20410 (generate_image): Handle multiimage.
20411 (main): Require -O parameter. All users updated.
20412 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20413 util/efi/grub-mkimage.c
20414 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20415 New option --rom-directory.
20416 Use xorriso.
20417 * util/i386/efi/grub-mkimage.c: Removed.
20418 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20419 (grub_target_to_host32): Likewise.
20420 (grub_target_to_host64): Likewise.
20421 (grub_host_to_target16): Likewise.
20422 (grub_host_to_target32): Likewise.
20423 (grub_host_to_target64): Likewise.
20424 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20425 (grub_target_to_host32): Likewise.
20426 (grub_target_to_host64): Likewise.
20427 (grub_host_to_target16): Likewise.
20428 (grub_host_to_target32): Likewise.
20429 (grub_host_to_target64): Likewise.
20430
20431 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20432
20433 Source tree is reorganized for emu build.
20434
20435 * include/grub/util/console.h: Move from here...
20436 * include/grub/emu/console.h: ...to here.
20437 * include/grub/util/getroot.h: Move from here...
20438 * include/grub/emu/getroot.h: ...to here.
20439 * include/grub/util/hostdisk.h: Move from here...
20440 * include/grub/emu/hostdisk.h: ...to here.
20441 * util/console.c: Move from here...
20442 * kern/emu/console.c: ...to here.
20443 * util/getroot.c: Move from here...
20444 * kern/emu/getroot.c: ...to here.
20445 * util/grub-emu.c: Move from here...
20446 * kern/emu/main.c: ...to here.
20447 * util/hostdisk.c: Move from here...
20448 * kern/emu/hostdisk.c: ...to here.
20449 * util/hostfs.c: Move from here...
20450 * kern/emu/hostfs.c: ...to here.
20451 * util/mm.c: Move from here...
20452 * kern/emu/mm.c: ...to here.
20453 * util/pci.c: Move from here...
20454 * bus/emu/pci.c: ...to here.
20455 * util/sdl.c: Move from here...
20456 * video/emu/sdl.c: ...to here.
20457 * util/time.c: Move from here...
20458 * kern/emu/time.c: ...to here.
20459 * util/usb.c: Move from here...
20460 * bus/usb/emu/usb.c: ...to here.
20461
20462 * include/grub/emu/misc.h: New header for grub-emu functions.
20463 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20464
20465 * conf/any-emu.rmk: Rule updates for above renames.
20466 * conf/common.rmk: Likewise.
20467 * conf/i386-pc.rmk: Likewise.
20468 * conf/i386-qemu.rmk: Likewise.
20469 * conf/mips.rmk: Likewise.
20470 * conf/sparc64-ieee1275.rmk: Likewise.
20471 * conf/x86-efi.rmk: Likewise.
20472
20473 * disk/lvm.h: #include updates for above renames.
20474 * util/grub-mkrelpath.c: Likewise.
20475 * util/grub-probe.c: Likewise.
20476 * util/i386/pc/grub-setup.c: Likewise.
20477 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20478 * kern/emu/console.c: Likewise.
20479 * kern/emu/getroot.c: Likewise.
20480 * kern/emu/hostdisk.c: Likewise.
20481 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20482
20483 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20484 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20485 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20486 * util/misc.c: Remove grub-emu functions.
20487
20488 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 Fix gfxmenu crash.
20491 Reported by: Thorsten Grützmacher.
20492
20493 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20494 timeout hook.
20495 (circprog_set_property): Register and unregister timeout hook.
20496 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20497 (label_destroy): Free template. and unregister hook.
20498 (label_set_state): New function.
20499 (label_set_property): Handle templates and hooks.
20500 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20501 timeout hook.
20502 (progress_bar_set_property): Register and unregister timeout hook.
20503 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20504 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20505 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20506 (update_timeout_visit): Removed.
20507 (update_timeouts): New function.
20508 (redraw_timeouts): Likewise.
20509 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20510 (grub_gfxmenu_clear_timeout): Likewise.
20511 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20512 (grub_gfxmenu_timeout_notify): Likewise.
20513 (grub_gfxmenu_timeout_notifications): New external variable.
20514 (grub_gfxmenu_timeout_register): New function.
20515 (grub_gfxmenu_timeout_unregister): Likewise.
20516
20517 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 Transform (broken) vga terminal into (working) vga video driver.
20520
20521 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20522 video/i386/pc/vga.c.
20523 * include/grub/video.h (grub_video_driver_id):
20524 Add GRUB_VIDEO_DRIVER_VGA.
20525 * term/i386/pc/vga.c: Renamed to ...
20526 * video/i386/pc/vga.c: ...this
20527 (DEBUG_VGA): Removed.
20528 (CHAR_WIDTH): Likewise.
20529 (CHAR_HEIGHT): Likewise.
20530 (TEXT_WIDTH): Likewise.
20531 (TEXT_HEIGHT): Likewise.
20532 (DEFAULT_FG_COLOR): Likewise.
20533 (DEFAULT_BG_COLOR): Likewise.
20534 (colored_char): Likewise.
20535 (xpos): Likewise.
20536 (ypos): Likewise.
20537 (cursor_state): Likewise.
20538 (fg_color): Likewise.
20539 (bg_color): Likewise.
20540 (text_buf): Likewise.
20541 (page): Likewise.
20542 (font): Likewise.
20543 (framebuffer): New variable.
20544 (set_read_map): Disabled.
20545 (setup): New variable.
20546 (is_target): Likewise.
20547 (grub_vga_mod_init): Likewise.
20548 (grub_vga_mod_fini): Likewise.
20549 (check_vga_mem): Likewise.
20550 (write_char): Likewise.
20551 (write_cursor): Likewise.
20552 (scroll_up): Likewise.
20553 (grub_vga_putchar): Likewise.
20554 (grub_vga_getcharwidth): Likewise.
20555 (grub_vga_getwh): Likewise.
20556 (grub_vga_getxy): Likewise.
20557 (grub_vga_gotoxy): Likewise.
20558 (grub_vga_cls): Likewise.
20559 (grub_vga_setcolorstate): Likewise.
20560 (grub_vga_setcursor): Likewise.
20561 (grub_video_vga_init): New function.
20562 (grub_video_vga_setup): Likewise.
20563 (grub_video_vga_fini): Likewise.
20564 (update_target): Likewise.
20565 (grub_video_vga_blit_bitmap): Likewise.
20566 (grub_video_vga_blit_render_target): Likewise.
20567 (grub_video_vga_set_active_render_target): Likewise.
20568 (grub_video_vga_get_active_render_target): Likewise.
20569 (grub_video_vga_swap_buffers): Likewise.
20570 (grub_video_vga_set_palette): Likewise.
20571 (grub_video_vga_get_info_and_fini): Likewise.
20572 (grub_vga_term): Removed.
20573 (grub_video_vga_adapter): New variable.
20574 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20575 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20576
20577 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 * video/readers/jpeg.c: Indented.
20580
20581 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20582
20583 Various jpeg cleanups.
20584
20585 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20586 (grub_jpeg_decode_quan_table): Use sizeof.
20587 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20588
20589 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20590
20591 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20592 tables. Ignore non-last ac bit.
20593 (grub_jpeg_decode_quan_table): Likewise.
20594
20595 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20596
20597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20598 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20599 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20600 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20601 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20602 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20603
20604 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20605
20606 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20607 error.
20608
20609 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20612
20613 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20614
20615 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20616 condition.
20617
20618 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20621 part.
20622
20623 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20626 pointers.
20627
20628 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20631
20632 2010-05-01 Christian Franke <franke@computer.org>
20633
20634 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20635 Remove broken Cygwin path conversion.
20636 * util/misc.c: [__CYGWIN__] Add include and define.
20637 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20638 for Cygwin 1.7.
20639 (make_system_path_relative_to_its_root): Simplify loop, replace early
20640 return by break.
20641 [__CYGWIN__] Add conversion to win32 path.
20642 Include "/" case in trailing slash removal.
20643
20644 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20645
20646 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20647 Reported by: Seth Goldberg
20648
20649 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20650
20651 * commands/help.c (grub_cmd_help): Fix a typo.
20652 Reported by: Seth Goldberg
20653
20654 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20655
20656 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20657 name and add N_.
20658 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20659 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20660 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20661 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20662 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20663 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20664 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20665 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20666 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20667 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20668 * normal/context.c (GRUB_MOD_INIT): Likewise.
20669 * normal/main.c (GRUB_MOD_INIT): Likewise.
20670 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20671 * term/serial.c (GRUB_MOD_INIT): Likewise.
20672 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20673
20674 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20675
20676 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20677 extra == 0.
20678
20679 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 * commands/iorw.c: New file.
20682 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20683 (iorw_mod_SOURCES): New variable.
20684 (iorw_mod_CFLAGS): Likewise.
20685 (iorw_mod_LDFLAGS): Likewise.
20686
20687 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 Hotkey support
20690
20691 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20692 * normal/main.c (hotkey_aliases): New variable.
20693 (grub_normal_add_menu_entry): Parse "--hotkey".
20694 * normal/menu_text.c (run_menu): Handle hotkeys.
20695
20696 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 * kern/i386/coreboot/init.c (grub_machine_init): Call
20699 grub_machine_mmap_init on qemu.
20700
20701 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20702
20703 * boot/i386/qemu/boot.S: Add a missing .code16.
20704
20705 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 Use LBIO on coreboot.
20708
20709 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20710 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20711 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20712 New declaration.
20713 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20714 grub_machine_mmap_init on coreboot.
20715 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20716 GRUB_LINUXBIOS_MEMBER_LINK.
20717 (grub_machine_mmap_iterate): Fix declaration.
20718 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20719
20720 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20721
20722 Split coreboot and multiboot ports.
20723
20724 * conf/i386-multiboot.rmk: New file.
20725 * configure.ac: Add multiboot port.
20726 * include/grub/i386/multiboot/boot.h: New file.
20727 * include/grub/i386/multiboot/console.h: Likewise.
20728 * include/grub/i386/multiboot/init.h: Likewise.
20729 * include/grub/i386/multiboot/kernel.h: Likewise.
20730 * include/grub/i386/multiboot/loader.h: Likewise.
20731 * include/grub/i386/multiboot/memory.h: Likewise.
20732 * include/grub/i386/multiboot/serial.h: Likewise.
20733 * include/grub/i386/multiboot/time.h: Likewise.
20734 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20735 * loader/multiboot.c: Likewise.
20736 * loader/multiboot_mbi2.c: Likewise.
20737 * util/grub-mkrescue.in: Generate multiboot rescue.
20738
20739 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20742
20743 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20744
20745 Merge handling of input and output terminals. Fix a hang.
20746
20747 * commands/terminal.c (abstract_terminal): New struct.
20748 (handle_command): New function. Based on grub_cmd_terminal_input.
20749 (grub_cmd_terminal_input): Use handle_command.
20750 (grub_cmd_terminal_output): Use handle_command.
20751
20752 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20753
20754 Fix comment handling.
20755
20756 * tests/grub_script_comments.in: New testcase.
20757 * conf/tests.rmk: Rules for new testcase.
20758 * script/yylex.l: Updated flex rules.
20759
20760 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20761
20762 * docs/grub.texi (play): Document that zero pitches produce rests.
20763 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20764 if argc is 1.
20765
20766 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20767
20768 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20769 autogen issues.
20770
20771 2010-04-26 Christian Franke <franke@computer.org>
20772
20773 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20774 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20775 (grub_get_prefix): Remove function.
20776 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20777 make_system_path_relative_to_its_root ().
20778 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20779
20780 2010-04-24 Christian Franke <franke@computer.org>
20781
20782 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20783 (kernel_img_LDFLAGS): Remove -static-libgcc.
20784
20785 2010-04-24 Christian Franke <franke@computer.org>
20786
20787 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20788 and CHECK_END_SYMBOL if grub-emu is built.
20789 Unset TARGET_OBJ2ELF if grub-emu is built
20790 without module support.
20791
20792 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
20793
20794 Nilfs2 support.
20795
20796 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20797 (grub_fstest_SOURCES): Likewise.
20798 (pkglib_MODULES): Add nilfs2.mod.
20799 (nilfs2_mod_SOURCES): New variable.
20800 (nilfs2_mod_CFLAGS): Likewise.
20801 (nilfs2_mod_LDFLAGS): Likewise.
20802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20803 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20804 * fs/nilfs2.c: New file.
20805
20806 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20809 is not supported.
20810
20811 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20812
20813 Add grub-mkconfig support for NetBSD.
20814
20815 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20816 * util/grub-mkconfig.in: export new NetBSD specific variables.
20817 * po/POTFILES-shell: added 10_netbsd.in.
20818 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20819
20820 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20821
20822 Fix emu build with grub-emu-pci and grub-emu-modules.
20823
20824 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20825 functions.
20826 * include/grub/libpciaccess.h: New file.
20827 * conf/any-emu.rmk: Update kernel headers for emu build.
20828
20829 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20830
20831 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20832
20833 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20834
20835 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20836
20837 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20838
20839 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20840 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20841 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20842 util/ieee1275/ofpath.c.
20843 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20844 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20845 * include/grub/sparc64/ieee1275/boot.h
20846 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20847 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20848 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20849 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20850 const char *.
20851 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20852 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20853 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20854 install.
20855
20856 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20857
20858 * util/grub-mkconfig.in: Corrected two == equality tests.
20859 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20860 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20861 expect a number appended to it.
20862 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20863 expects a number appended to it.
20864
20865 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20868
20869 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20870
20871 * util/hostdisk.c (make_device_name): Change to new partition naming.
20872
20873 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20874
20875 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20876
20877 2010-04-17 Christian Franke <franke@computer.org>
20878
20879 * Makefile.in: Add missing localedir setting.
20880
20881 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
20882
20883 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20884 mistake in r2156. Noticed by Anthony Fok.
20885
20886 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20887 @localedir@.
20888 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20889
20890 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20891
20892 Fix a spurious, uninitialized variable warning.
20893
20894 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20895 Initialize variable, shdr.
20896 (grub_freebsd_load_elfmodule): Likewise.
20897 (grub_freebsd_load_elf_meta): Likewise.
20898
20899 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20900
20901 Fix for escaped dollar in double quoted strings.
20902
20903 * script/yylex.l: Updated flex rules.
20904 * conf/tests.rmk: Rule for new testcase.
20905 * tests/grub_script_dollar.in: New testcase.
20906
20907 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20908 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20909
20910 Enclose all translated strings in grub.cfg in single quotes, and
20911 escape them appropriately (Ubuntu bug #552921).
20912
20913 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20914 * util/grub.d/10_hurd.in: Use it.
20915 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20916 * util/grub.d/10_linux.in (linux_entry): Likewise.
20917
20918 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20919
20920 Fix cygwin compilation.
20921
20922 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20923 * include/grub/misc.h (__register_frame_info)
20924 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20925 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20926 * kern/misc.c (__register_frame_info)
20927 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20928 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20929
20930 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20933
20934 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20935
20936 Unify libgcc processing.
20937
20938 * Makefile.in (kernel_img_LDFLAGS): New variable.
20939 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20940 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20941 overwriting.
20942 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20943 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20944 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20945 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20946 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20947 overwriting. Remove -lgcc and -static-libgcc
20948 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20949 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20950 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20951 (kernel_img_LDFLAGS): Append instead of overwriting.
20952 Remove -lgcc and -static-libgcc
20953 * conf/sparc64-ieee1275.rmk: Likewise.
20954 * include/grub/powerpc/libgcc.h: Move to ...
20955 * include/grub/libgcc.h: .. this.
20956 * include/grub/libgcc.h: Don't export most of the function on x86.
20957 (__bswapsi2): New export.
20958 (__bswapdi2): Likewise.
20959 * include/grub/mips/libgcc.h: Removed.
20960 * include/grub/sparc64/libgcc.h: Likewise.
20961
20962 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20965 disk_info_msg (conflicts with gettexting into languages with cases).
20966
20967 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20968
20969 Add grub-probe support for NetBSD.
20970
20971 * util/getroot.c (find_root_device): Convert block device to
20972 character device on NetBSD.
20973 * util/probe.c (probe): Require character device on NetBSD.
20974 * util/hostdisk.c: NetBSD specific headers.
20975 (configure_device_driver): new function to tune device driver
20976 parameters (currently only for NetBSD floppy driver).
20977 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20978 via disklabel ioctl).
20979 (open_device): call configure_device_driver on NetBSD.
20980 (convert_system_partition_to_system_disk): NetBSD specific code.
20981 (device_is_wholedisk): Likewise.
20982 (grub_util_biosdisk_get_grub_dev): Likewise.
20983 (make_device_name): Fixed a typo in bsd_part_str.
20984 * configure.ac: check for opendisk() and getrawpartition() on
20985 NetBSD and set LIBUTIL.
20986 * Makefile.in: add LIBUTIL to LIBS.
20987
20988 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20989
20990 Documentation fix.
20991
20992 * util/grub-script-check.c: Better help message.
20993
20994 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20995
20996 Fix FreeBSD build.
20997
20998 * configure.ac: Flex version check.
20999 * conf/common.rmk: Add -Wno-error to sh.mod.
21000 * script/yylex.l: Remove all #pragma.
21001
21002 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21005 prototype.
21006 Reported by: Seth Goldberg.
21007
21008 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21009
21010 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21011 Rename "module" to "module2".
21012 Reported by: Seth Goldberg.
21013
21014 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21017 EXPORT_FUNC.
21018 Reported by: Seth Goldberg.
21019
21020 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21021
21022 * lib/posix_wrap/locale.h: Add missing file.
21023 Reported by: Seth Goldberg.
21024
21025 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21026
21027 grub-emu module load support.
21028
21029 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21030 NO_DYNAMIC_MODULES switched to this.
21031 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21032 (CFLAGS): Likewise.
21033 * conf/any-emu.rmk: Generate symlist.
21034 (kernel_img_HEADERS): Add util/datetime.h.
21035 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21036 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21037 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21038 kern/$(target_cpu)/cache.S.
21039 * configure.ac (grub-emu-modules): New option.
21040 * genmk.rb: Handle multiple source lists.
21041 * include/grub/sdl.h: New file.
21042 * include/grub/libusb.h: Likewise.
21043 * util/grub-emu.c (main): Hanle (host) root.
21044 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21045 GRUB_ERR_UNKNOWN_DEVICE.
21046 * util/misc.c: Move mm functions to ...
21047 * util/mm.c: ... here. All users updated.
21048
21049 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21050
21051 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21052 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21053 missing files.
21054 (maintainer-clean): Remove libgcrypt-grub.
21055
21056 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21059
21060 2010-04-09 EFI Coder <eficoder@hotmail.com>
21061
21062 * normal/menu_text.c (print_message): Clean up the message and show
21063 the Fn information when on EFI
21064 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21065
21066 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21067
21068 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21069 All users updated.
21070 * normal/crypto.c (read_crypto_list): Likewise.
21071 * normal/dyncmd.c (read_command_list): Likewise.
21072 * normal/term.c (read_terminal_list): Likewise.
21073 * normal/main.c (read_lists): Use explicit prefix.
21074 (read_lists_hook): Use read_lists.
21075 (grub_normal_execute): Likewise.
21076
21077 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21078
21079 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21080 Reported by: Thomas Schmitt.
21081 Add -no-emul-boot to grub-mkisofs parameters.
21082
21083 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * font/font.c: Indented.
21086
21087 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21088
21089 Elif support to GRUB script (by Deepak Vankadaru).
21090
21091 * tests/grub_script_if.in: New testcase.
21092 * conf/tests.rmk: Rule for new testcase.
21093 * script/parser.y: Grammar rules for elif.
21094
21095 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21096
21097 While and until loops support to GRUB script.
21098
21099 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21100 (grub_script_create_cmdwhile): New function prototype.
21101 (grub_script_execute_cmdwhile): New function prototype.
21102 * script/execute.c (grub_script_execute_cmdwhile): New function.
21103 * script/parser.y (command): New commands.
21104 (whilecmd): New grammar rule.
21105 (untilcmd): New grammar rule.
21106 * script/script.c (grub_script_create_cmdwhile): New function.
21107 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21108 function.
21109
21110 * tests/grub_script_while1.in: New testcase.
21111 * conf/tests.rmk: Rule for new testcase.
21112
21113 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21116 as *.jpg.
21117
21118 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
21119
21120 GRUB_BACKGROUND support.
21121
21122 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21123 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21124
21125 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21126
21127 Load fonts and modules for gfxmenu in grub-mkconfig.
21128 Idea by: Mario Vazquez
21129
21130 * util/grub.d/00_header.in: Load pf2 and image modules.
21131
21132 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21133
21134 grub-mkconfig multiple terminal support.
21135
21136 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21137 * util/grub.d/00_header.in: Likewise.
21138
21139 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21140
21141 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21142 we use cd $(srcdir).
21143
21144 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
21145
21146 * util/grub.d/10_linux.in: Only use the first word of
21147 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21148 spaces in GRUB_DISTRIBUTOR.
21149 * util/grub.d/10_kfreebsd.in: Likewise.
21150 * util/grub.d/10_hurd.in: Likewise.
21151
21152 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21153
21154 Fix unit testing framework for Qemu 0.12.
21155
21156 * tests/util/grub-shell.in: Remove -serial stdio option.
21157
21158 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21159
21160 POSIX header file wrappers.
21161
21162 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21163 equivalents.
21164 * lib/posix_wrap/ctype.h: Likewise.
21165 * lib/posix_wrap/errno.h: Likewise.
21166 * lib/posix_wrap/langinfo.h: Likewise.
21167 * lib/posix_wrap/limits.h: Likewise.
21168 * lib/posix_wrap/localcharset.h: Likewise.
21169 * lib/posix_wrap/stdint.h: Likewise.
21170 * lib/posix_wrap/stdio.h: Likewise.
21171 * lib/posix_wrap/stdlib.h: Likewise.
21172 * lib/posix_wrap/string.h: Likewise.
21173 * lib/posix_wrap/sys/types.h: Likewise.
21174 * lib/posix_wrap/unistd.h: Likewise.
21175 * lib/posix_wrap/wchar.h: Likewise.
21176 * lib/posix_wrap/wctype.h: Likewise.
21177 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21178 (grub_script.yy.h): Likewise.
21179 * script/yylex.l: Remove POSIX emulation #defines.
21180 * Makefile.in (POSIX_CFLAGS): New variable.
21181 (GNULIB_UTIL_CFLAGS): Likewise.
21182
21183 Regexp support.
21184
21185 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21186 (regexp_mod_SOURCES): New variable.
21187 (regexp_mod_CFLAGS): Likewise.
21188 (regexp_mod_LDFLAGS): Likewise.
21189 * commands/regexp.c: New file.
21190 * gnulib/regcomp.c: New file. Imported from gnulib.
21191 * gnulib/regex.c: Likewise.
21192 * gnulib/regex_internal.c: Likewise.
21193 * gnulib/regex_internal.h: Likewise.
21194 * gnulib/regexec.c: Likewise.
21195 * gnulib/regex.h: Likewise.
21196
21197 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21198
21199 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21200 unsupported video mode types.
21201
21202 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21205
21206 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21207
21208 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21209 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21210
21211 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 Remove unused grub_vga_get_font.
21214
21215 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21216 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21217
21218 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21219
21220 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21221 * include/grub/misc.h: Likewise.
21222
21223 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21224
21225 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21226 for which failure is fatal.
21227
21228 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21229
21230 * util/grub-install.in: Use mkdir -p to create grub directory.
21231 * util/i386/efi/grub-install.in: Likewise.
21232 * util/ieee1275/grub-install.in: Likewise.
21233
21234 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21235
21236 * Makefile.in (LEX): new variable.
21237
21238 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21239
21240 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21241 `=' and added double quotes on operands of this equality test.
21242
21243 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 * Makefile.in (uninstall): Remove a leftover debug echo.
21246 Reported by: Grégoire Sutre
21247
21248 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21249
21250 MIPS multiboot2 support.
21251
21252 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21253 (multiboot2_mod_SOURCES): New variable.
21254 (multiboot2_mod_CFLAGS): Likewise.
21255 (multiboot2_mod_LDFLAGS): Likewise.
21256 (multiboot2_mod_ASFLAGS): Likewise.
21257 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21258 definition.
21259 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21260 (MULTIBOOT_MBI_REGISTER): Likewise.
21261 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21262 (MULTIBOOT_ELF32_MACHINE): Likewise.
21263 (MULTIBOOT_ELF64_MACHINE): Likewise.
21264 * include/grub/mips/multiboot.h: New file.
21265 * include/grub/video.h (grub_video_driver_id): New type
21266 GRUB_VIDEO_DRIVER_SM712.
21267 (grub_video_get_info_and_fini): Export.
21268 (grub_video_get_palette): Likewise.
21269 (grub_video_get_driver_id): Likewise.
21270 * include/multiboot2.h: Resynced with spec.
21271 * loader/i386/multiboot.c: Moved from here ...
21272 * loader/multiboot.c: ... here. All users updated.
21273 (grub_multiboot_boot): Use platform-specific macros.
21274 * loader/i386/multiboot_elfxx.c: Moved from here ...
21275 * loader/multiboot_elfxx.c: ... here. All users updated.
21276 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21277 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21278 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21279
21280 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 Import gnulib argp module.
21283
21284 * gnulib/argp-ba.c: New file.
21285 * gnulib/argp-eexst.c: Likewise.
21286 * gnulib/argp-fmtstream.c: Likewise.
21287 * gnulib/argp-fmtstream.h: Likewise.
21288 * gnulib/argp-fs-xinl.c: Likewise.
21289 * gnulib/argp-help.c: Likewise.
21290 * gnulib/argp-namefrob.h: Likewise.
21291 * gnulib/argp-parse.c: Likewise.
21292 * gnulib/argp-pin.c: Likewise.
21293 * gnulib/argp-pv.c: Likewise.
21294 * gnulib/argp-pvh.c: Likewise.
21295 * gnulib/argp-version-etc.c: Likewise.
21296 * gnulib/argp-version-etc.h: Likewise.
21297 * gnulib/argp-xinl.c: Likewise.
21298 * gnulib/argp.h: Likewise.
21299
21300 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 * kern/device.c (grub_device_iterate): Clear errors after failed
21303 opening device.
21304
21305 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21308 returned by firmware.
21309
21310 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21311
21312 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21313 compilation on coreboot and qemu
21314
21315 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21316
21317 * include/multiboot2.h: Resync with spec.
21318
21319 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 Multiboot2 tag support
21322
21323 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21324 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21325 Remove loader/multiboot_loader.c.
21326 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21327 (grub_multiboot2_real_boot): Likewise.
21328 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21329 (grub_get_multiboot_mmap_count): New proto.
21330 (grub_fill_multiboot_mmap): Likewise.
21331 (grub_multiboot_set_video_mode): Likewise.
21332 (grub_multiboot_set_console): Likewise.
21333 (grub_multiboot_load): Likewise.
21334 (grub_multiboot_load_elf): Likewise.
21335 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21336 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21337 * include/multiboot.h: Resynced with specification.
21338 * include/multiboot2.h: Resynced with specification.
21339 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21340 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21341 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21342 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21343 users updated.
21344 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21345 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21346 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21347 Removed.
21348 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21349 Moved from here...
21350 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21351 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21352 Moved from here...
21353 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21354 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21355 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21356 All users updated.
21357 * loader/i386/multiboot_mbi2.c: New file.
21358
21359 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 Resync with gnulib.
21362
21363 * Makefile.in (GNULIB_CFLAGS): New variable.
21364 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21365 (grub_script_check_CFLAGS): New variable.
21366 * gnulib/alloca.h: Resync with gnulib.
21367 * gnulib/error.c: Likewise.
21368 * gnulib/error.h: Likewise.
21369 * gnulib/fnmatch.c: Likewise.
21370 * gnulib/fnmatch_loop.c: Likewise.
21371 * gnulib/getdelim.c: Likewise.
21372 * gnulib/getline.c: Likewise.
21373 * gnulib/getopt.c: Likewise.
21374 * gnulib/getopt1.c: Likewise.
21375 * gnulib/getopt_int.h: Likewise.
21376 * gnulib/gettext.h: Likewise.
21377 * gnulib/progname.c: Likewise.
21378 * gnulib/progname.h: Likewise.
21379
21380 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21381
21382 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21383 which is the case with --disabled-nls.
21384
21385 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21386 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21387 * util/misc.c: Likewise.
21388 * util/mkisofs/mkisofs.c: Likewise.
21389 * util/mkisofs/mkisofs.h: Likewise.
21390
21391 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 Simplify Apple CC support.
21394
21395 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21396 Add 0 byte at the end not to have a symbol with empty target.
21397 * mmap/i386/pc/mmap_helper.S: Likewise.
21398 * genmk.rb: Ignore errors 2030 and 2050.
21399 * kern/i386/pc/startup.S: Use LOCAL when possible.
21400
21401 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21402
21403 Testcase and the fix for final semicolon on cmdline.
21404
21405 * tests/grub_script_final_semicolon.in: New testcase.
21406 * conf/tests.rmk: Rules for the new testcase.
21407 * script/parser.y: Grammar fix.
21408
21409 2010-03-26 BVK Chaitanya <bvk@localhost>
21410
21411 Blank lines testcase for GRUB script.
21412
21413 * tests/grub_script_blanklines.in: New testcase.
21414 * conf/tests.rmk: Rules for the new testcase.
21415
21416 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 Don't use __FILE__.
21419
21420 * genmk.rb: Add -DGRUB_FILE to all C targets.
21421 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21422 * include/grub/list.h: Likewise.
21423 * include/grub/misc.h: Likewise.
21424 * include/grub/mm.h: Likewise.
21425 * include/grub/test.h: Likewise.
21426 * kern/mm.c: Likewise.
21427 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21428
21429 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21430
21431 Sunpc partitions support.
21432
21433 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21434 (grub_fstest_SOURCES): Likewise.
21435 (pkglib_MODULES): Add part_sunpc.mod.
21436 (part_sunpc_mod_SOURCES): New variable.
21437 (part_sunpc_mod_CFLAGS): Likewise.
21438 (part_sunpc_mod_LDFLAGS): Likewise.
21439 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21440 * partmap/sunpc.c: New file.
21441
21442 2010-03-26 BVK Chaitanya <bvk@localhost>
21443
21444 For loop support to GRUB script.
21445
21446 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21447 (grub_script_create_cmdfor): New function prototype.
21448 (grub_script_execute_cmdfor): New function prototype.
21449 * script/execute.c (grub_script_execute_cmdfor): New function.
21450 * script/parser.y (command): New for command.
21451 (forcmd): New grammar rule.
21452 * script/script.c (grub_script_create_cmdfor): New function.
21453 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21454 function.
21455 * tests/grub_script_for1.in: New testcase.
21456 * conf/tests.rmk: Rules for new testcase.
21457
21458 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 Nested partitions
21461
21462 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21463 'partition' is NULL, grub_partition_get_start already does that.
21464 * commands/loadenv.c (check_blocklists): Likewise.
21465 (write_blocklists): Likewise.
21466 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21467 (grub_fstest_SOURCES): Likewise.
21468 (pkglib_MODULES): Add part_bsd.mod.
21469 (part_bsd_mod_SOURCES): New variable.
21470 (part_bsd_mod_CFLAGS): Likewise.
21471 (part_bsd_mod_LDFLAGS): Likewise.
21472 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21473 (grub_emu_SOURCES): Likewise.
21474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21475 * include/grub/bsdlabel.h: New file.
21476 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21477 'get_name'.
21478 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21479 (grub_partition_map_list): New variable.
21480 (grub_partition_map_register): Inline.
21481 (grub_partition_map_unregister): Likewise.
21482 (FOR_PARTITION_MAPS): New macro.
21483 (grub_partition_map_iterate): Removed.
21484 (grub_partition_get_start): Handle nested partitions.
21485 * include/grub/msdos_partition.h: Remove bsd-related entries.
21486 (grub_pc_partition): Remove.
21487 * kern/disk.c (grub_disk_close): Free partition data.
21488 (grub_disk_adjust_range): Handle nested partitions.
21489 * kern/partition.c (grub_partition_map_probe): New function.
21490 (grub_partition_probe): Parse name to number, handle subpartitions.
21491 (get_partmap): New function.
21492 (grub_partition_iterate): Handle subpartitions.
21493 (grub_partition_get_name): Likewise.
21494 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21495 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21496 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21497 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21498 Set 'number'.
21499 (acorn_partition_map_probe): Remove.
21500 (acorn_partition_map_get_name): Likewise.
21501 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21502 Set 'number'.
21503 Set 'index' to 0 since there can be only one partition entry per sector.
21504 (amiga_partition_map_probe): Remove.
21505 (amiga_partition_map_get_name): Likewise.
21506 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21507 Set 'number'.
21508 Set 'offset' and 'index' to real positions of partitions.
21509 (apple_partition_map_probe): Remove.
21510 (apple_partition_map_get_name): Likewise.
21511 * partmap/bsdlabel.c: New file.
21512 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21513 Set 'number'.
21514 Allocate 'data' so it can be correctly freed.
21515 Set 'index' to offset inside sector.
21516 (gpt_partition_map_probe): Remove.
21517 (gpt_partition_map_get_name): Likewise.
21518 * partmap/msdos.c (grub_partition_parse): Remove.
21519 (pc_partition_map_iterate): Don't force raw access.
21520 Set 'number'.
21521 Make 'ext_offset' a local variable.
21522 (pc_partition_map_probe): Remove.
21523 (pc_partition_map_get_name): Remove.
21524 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21525 Set 'number'.
21526 (sun_partition_map_probe): Remove.
21527 (sun_partition_map_get_name): Likewise.
21528 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21529 (grub_pcpart_type): Likewise.
21530 * util/hostdisk.c (open_device): Handle new numbering scheme.
21531 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21532 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21533 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21534 * util/grub-install.in: Insert all subpartition modules.
21535 * util/ieee1275/grub-install.in: Likewise.
21536
21537 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21538
21539 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21540 grammar.
21541
21542 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21543
21544 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21545
21546 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21547
21548 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21549 match where 'make install' puts them.
21550 * util/i386/efi/grub-install.in: Likewise.
21551
21552 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21553
21554 * .bzrignore: Add gentrigtables, grub-script-check,
21555 grub_script_check_init.c, grub_script_check_init.h, and
21556 trigtables.c.
21557
21558 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * kern/parser.c: Indented.
21561
21562 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21563
21564 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21565
21566 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21569 alpha_mask_size == 0 case.
21570
21571 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21572
21573 GRUB shell lexer and parser improvements.
21574
21575 * conf/any-emu.rmk: Build rule updates.
21576 * conf/common.rmk: Likewise.
21577 * conf/i386-coreboot.rmk: Likewise.
21578 * conf/i386-efi.rmk: Likewise.
21579 * conf/i386-ieee1275.rmk: Likewise.
21580 * conf/i386-pc.rmk: Likewise.
21581 * conf/powerpc-ieee1275.rmk: Likewise.
21582 * conf/x86_64-efi.rmk: Likewise.
21583
21584 * configure.ac: Configure check for flex.
21585
21586 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21587 types.
21588 (grub_lexer_param): Struct member updates.
21589 (grub_parser_param): Likewise.
21590 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21591 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21592 (grub_script_lexer_init): Prototype update.
21593 (grub_script_lexer_record_start): Likewise.
21594 (grub_script_lexer_record_stop): Likewise.
21595 (grub_script_lexer_yywrap): New function prototype.
21596 (grub_script_lexer_fini): Likewise.
21597 (grub_script_execute_argument_to_string): Removed by...
21598 (grub_script_execute_argument_to_argv): ...better version.
21599
21600 * script/execute.c (ROUND_UPTO): New macro.
21601 (grub_script_execute_cmdline): Out of memory fixes.
21602 (grub_script_execute_menuentry): Likewise.
21603 (grub_script_execute_argument_to_string): Removed. Update all
21604 users by...
21605 (grub_script_execute_argument_to_argv): ...better version.
21606 * script/function.c (grub_script_function_create): Use
21607 grub_script_execute_argument_to_argv instead of
21608 grub_script_execute_argument_to_string.
21609
21610 * script/lexer.c (check_varstate): Removed.
21611 (check_textstate): Removed.
21612 (grub_script_lexer_record_start): Likewise.
21613 (grub_script_lexer_record_stop): Likewise.
21614 (recordchar): Replaced with...
21615 (grub_script_lexer_record): ...new function.
21616 (nextchar): Removed.
21617 (grub_script_lexer_init): Rewritten.
21618 (grub_script_yylex): Rewritten.
21619 (append_newline): New function.
21620 (grub_script_lexer_yywrap): New function.
21621 (grub_script_lexer_fini): New function.
21622 (grub_script_yyerror): Sets error flag.
21623
21624 * script/yylex.l: New file.
21625 (grub_lexer_yyfree): Wrapper for flex yyffre.
21626 (grub_lexer_yyalloc): Likewise.
21627 (grub_lexer_yyrealloc): Likewise.
21628 * script/parser.y: Refactored.
21629
21630 * script/script.c (grub_script_arg_add): Out of memory fixes.
21631 (grub_script_add_arglist): Likewise.
21632 (grub_script_create_cmdline): Likewise.
21633 (grub_script_create_cmdmenu): Likewise.
21634 (grub_script_add_cmd): Likewise.
21635 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21636 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21637 unnecessary code.
21638
21639 * tests/grub_script_echo1.in: New testcase.
21640 * tests/grub_script_vars1.in: New testcase.
21641 * tests/grub_script_echo_keywords.in: New testcase.
21642
21643 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 Remove some redundancy in build system.
21646
21647 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21648 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21649 (TARGET_LDFLAGS): Add -nostdlib.
21650 (TARGET_IMG_LDFLAGS): Likewise.
21651 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21652 anything since mmap isn't available.
21653 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21654 Add util/time.c.
21655 (pkglib_MODULES): Remove reboot.mod.
21656 (reboot_mod_SOURCES): Removed.
21657 (reboot_mod_CFLAGS): Likewise.
21658 (reboot_mod_LDFLAGS): Likewise.
21659 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21660 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21661 (DEFSYMFILES): Add kernel_syms.lst.
21662 (kernel_img_HEADERS): Add common headers.
21663 (symlist.c): New target.
21664 (kernel_syms.lst): Likewise.
21665 (pkglib_MODULES): Add memdisk.mod.
21666 (memdisk_mod_SOURCES): New variable.
21667 (memdisk_mod_CFLAGS): Likewise.
21668 (memdisk_mod_LDFLAGS): Likewise.
21669 (pkglib_MODULES): Add reboot.mod.
21670 (reboot_mod_SOURCES): New variable.
21671 (reboot_mod_CFLAGS): Likewise.
21672 (reboot_mod_LDFLAGS): Likewise.
21673 (pkglib_MODULES): Add date.mod.
21674 (date_mod_SOURCES): New variable.
21675 (date_mod_CFLAGS): Likewise.
21676 (date_mod_LDFLAGS): Likewise.
21677 (pkglib_MODULES): Add datehook.mod.
21678 (datehook_mod_SOURCES): New variable.
21679 (datehook_mod_CFLAGS): Likewise.
21680 (datehook_mod_LDFLAGS): Likewise.
21681 (pkglib_MODULES): Add lsmmap.mod.
21682 (lsmmap_mod_SOURCES): New variable.
21683 (lsmmap_mod_CFLAGS): Likewise.
21684 (lsmmap_mod_LDFLAGS): Likewise.
21685 (pkglib_MODULES): Add boot.mod.
21686 (boot_mod_SOURCES): New variable.
21687 (boot_mod_CFLAGS): Likewise.
21688 (boot_mod_LDFLAGS): Likewise.
21689 * conf/i386-coreboot.rmk: Removed redundant parts.
21690 * conf/i386-ieee1275.rmk: Likewise.
21691 * conf/i386-pc.rmk: Likewise.
21692 * conf/mips-yeeloong.rmk: Likewise.
21693 * conf/mips.rmk: Likewise.
21694 * conf/powerpc-ieee1275.rmk: Likewise.
21695 * conf/sparc64-ieee1275.rmk: Likewise.
21696 * conf/x86_64-efi.rmk: Likewise.
21697 * conf/i386-coreboot.rmk: Moved qemu parts ..
21698 * conf/i386-qemu.rmk: ... here
21699 * conf/i386-efi.rmk: Moved common parts to...
21700 * conf/x86-efi.rmk: ... here.
21701 * conf/i386.rmk: Added modules common to all x86 variants.
21702 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21703 * disk/memdisk.c: Remove grub/machine/kernel.h.
21704 * gensymlist.sh.in: Include symbol.h.
21705 * hook/datehook.c: Correct module name.
21706 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21707 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21708 * include/grub/i386/efi/serial.h: New file.
21709 * include/grub/x86_64/efi/serial.h: Likewise.
21710 * util/time.c: Likewise.
21711 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21712
21713 2010-03-14 Colin King <colin.king@ubuntu.com>
21714 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21715
21716 Shrink the pre-partition-table part of boot.img by eight bytes.
21717
21718 * boot/i386/pc/boot.S (ERR): New macro.
21719 (chs_mode): Use ERR.
21720 (geometry_error): Likewise.
21721 (hd_probe_error): Remove. This is only used once, so we wrwite
21722 it inline instead.
21723 (read_error): Instead of printing read_error_string, just set up
21724 %si and fall through to ...
21725 (error_message): ... this new function, also used by ERR.
21726
21727 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21728
21729 Speed up consecutive hostdisk operations on the same device.
21730
21731 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21732 (grub_util_biosdisk_open): Initialise disk->data.
21733 (struct linux_partition_cache): New structure.
21734 (linux_find_partition): Cache partition start positions; these are
21735 expensive to compute on every read and write.
21736 (open_device): Cache open file descriptor in disk->data, so that we
21737 don't have to reopen it and flush the buffer cache for consecutive
21738 operations on the same device.
21739 (grub_util_biosdisk_close): New function.
21740 (grub_util_biosdisk_dev): Set `close' member.
21741
21742 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21743 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21744 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21745 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21746 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21747
21748 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21749
21750 Compile parts of grub-emu as modules.
21751
21752 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21753 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21754 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21755 (all-local): Add $(GRUB_EMU).
21756 (install-local): Install $(GRUB_EMU).
21757 (uninstall): Uninstall $(GRUB_EMU).
21758 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21759 * kern/dl.c: Likewise.
21760 * commands/sleep.c: Not include machine/time.h.
21761 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21762 (COMMON_CFLAGS): Likewise.
21763 (sbin_UTILITIES): Remove grub-emu.
21764 (grub_emu_SOURCES): Removed.
21765 (kernel_img_RELOCATABLE): New variable.
21766 (pkglib_PROGRAMS): Add kernel.img.
21767 (kernel_img_SOURCES): New variable
21768 (kernel_img_CFLAGS): Likewise.
21769 (kernel_img_LDFLAGS): Likewise.
21770 (TARGET_NO_STRIP): Likewise.
21771 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21772 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21773 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21774 (grub-emu): New target.
21775 (GRUB_EMU): New variable.
21776 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21777 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21778 * loader/xnu.c: Likewise.
21779 * include/grub/pci.h: Likewise.
21780 * genemuinit.sh: New file.
21781 * genemuinitheader.sh: Likewise.
21782 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21783 Support TARGET_NO_DYNAMIC_MODULES.
21784 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21785 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21786 * disk/loopback.c: Likewise.
21787 * font/font_cmd.c: Likewise.
21788 * partmap/acorn.c: Likewise.
21789 * partmap/amiga.c: Likewise.
21790 * partmap/apple.c: Likewise.
21791 * partmap/gpt.c: Likewise.
21792 * partmap/msdos.c: Likewise.
21793 * partmap/sun.c: Likewise.
21794 * parttool/msdospart.c: Likewise.
21795 * term/gfxterm.c: Likewise.
21796 * video/bitmap.c: Likewise.
21797 * video/readers/jpeg.c: Likewise.
21798 * video/readers/png.c: Likewise.
21799 * video/readers/tga.c: Likewise.
21800 * video/video.c: Likewise.
21801 * util/grub-emu.c (read_command_list): Removed.
21802 (main): Don't call util_init_nls.
21803 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21804 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21805
21806 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21807
21808 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21809 date.mod, datehook.mod.
21810 (datetime_mod_SOURCES): New variable.
21811 (datetime_mod_CFLAGS): Likewise.
21812 (datetime_mod_LDFLAGS): Likewise.
21813 (date_mod_SOURCES): Likewise.
21814 (date_mod_CFLAGS): Likewise.
21815 (date_mod_LDFLAGS): Likewise.
21816 (datehook_mod_SOURCES): Likewise.
21817 (datehook_mod_CFLAGS): Likewise.
21818 (datehook_mod_LDFLAGS): Likewise.
21819 * conf/sparc64-ieee1275.rmk: Likewise.
21820 * lib/ieee1275/datetime.c: New file.
21821
21822 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21823
21824 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21825 (ieee1275_fb_mod_SOURCES): New variable.
21826 (ieee1275_fb_mod_CFLAGS): Likewise.
21827 (ieee1275_fb_mod_LDFLAGS): Likewise.
21828 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21829 New proto.
21830 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21831 (HEAP_MAX_ADDR): Likewise.
21832 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21833 type.
21834 Correct stop condition.
21835 (grub_ieee1275_devices_iterate): New function.
21836 * video/ieee1275.c: New file.
21837
21838 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21841
21842 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21843 as scratch.
21844 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21845 SCRATCH_PAD_DISKBOOT as scratch.
21846 (bootit): Pass Openfirmware pointer in %o4.
21847 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21848 of 0x200000.
21849 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21850 with util/grub-mkrawimage.c.
21851 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21852 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21853 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21854 (grub_aout_load) [GRUB_UTIL]: Likewise.
21855 * include/grub/kernel.h (grub_modules_get_end): New proto.
21856 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21857 (SCRATCH_PAD_BOOT): New definition.
21858 (SCRATCH_PAD_DISKBOOT): Likewise.
21859 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21860 * include/grub/sparc64/ieee1275/ieee1275.h
21861 (grub_ieee1275_original_stack): New variable
21862 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21863 New definition
21864 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21865 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21866 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21867 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21868 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21869 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21870 (grub_platform_image_format_t): New type.
21871 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21872 * kern/main.c (grub_modules_get_end)
21873 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21874 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21875 (codestart): Switch stacks.
21876 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21877 variable.
21878 (grub_heap_init): Use grub_modules_get_end.
21879 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21880 stack.
21881 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21882 (main): Likewise.
21883 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21884
21885 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
21886
21887 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21888
21889 2010-03-08 Matt Kraai <kraai@ftbfs.org>
21890
21891 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21892 bug #559005).
21893
21894 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21895
21896 * genmoddep.awk: Output all missing symbols and not only first.
21897
21898 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 * NEWS: Put the date of 1.98 release.
21901
21902 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21905 ft2build.h.
21906
21907 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21908
21909 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21910 completition in the middle of string.
21911
21912 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 * util/grub-mkrescue.in: Use mktemp with explicit template.
21915
21916 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21917
21918 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21919
21920 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21921
21922 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21923 right pointer.
21924
21925 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 Fix FreeBSD compilation.
21928
21929 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21930 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21931
21932 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21933
21934 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21935
21936 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21937
21938 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21939
21940 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21943
21944 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21945
21946 Support relative image path in theme file.
21947
21948 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21949 (image_set_property): Handle theme_dir and relative path.
21950
21951 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 * configure.ac: Alias amd64 to x86_64.
21954
21955 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21956
21957 * NEWS: mention multiboot on EFI.
21958
21959 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21960
21961 * kern/main.c (grub_load_modules): Handle errors from init functions of
21962 embeded modules.
21963
21964 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 * normal/autofs.c (autoload_fs_module): Handle errors.
21967
21968 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21969
21970 Disable linux.mod on qemu-mips since it's not functional and leads
21971 to compilation failure.
21972
21973 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21974 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21975 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21976 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21977 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21978 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21979 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21980 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21981 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21982 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21983 Reported by: BVK Chaitanya
21984
21985 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21986
21987 * INSTALL: Add gettext as a dependency and add qemu to a new section
21988 "Prerequisites for make-check".
21989
21990 2010-03-04 Christian Franke <franke@computer.org>
21991
21992 * util/grub-pe2elf.c: Add missing include "progname.h".
21993
21994 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * normal/crypto.c (read_crypto_list): Fix a typo.
21997 Reported by: Seth Goldberg.
21998
21999 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
22002 Reported by: Seth Goldberg.
22003
22004 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22007 ascii.bitmaps.
22008
22009 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 * genmk.rb: Remove terminal*.lst in make clean.
22012 Reported by: Seth Goldberg.
22013
22014 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22015
22016 * util/i386/efi/grub-install.in: Copy gettext files.
22017
22018 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22019
22020 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22021
22022 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22023
22024 Wait for user entry basing on presence of output rather than on errors.
22025
22026 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22027 (grub_install_newline_hook): Likewise.
22028 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22029 * normal/menu.c (show_menu): Check line_counter to determine presence
22030 of output.
22031 * normal/term.c (grub_normal_line_counter): New variable.
22032 (grub_normal_get_line_counter): New function.
22033 (grub_install_newline_hook): Likewise.
22034
22035 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22038
22039 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22040
22041 * configure.ac: Update version to 1.98.
22042
22043 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 * util/grub.d/10_linux.in (linux_entry): Don't default to
22046 gfxpayload=keep if Linux doesn't support video handover.
22047
22048 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22049
22050 Don't compile video modules on yeeloong since video subsystem is part
22051 of kernel.
22052
22053 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22054 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22055 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22056 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22057 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22058 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22059 * include/grub/bitmap_scale.h: Likewise.
22060 * include/grub/bufio.h: Likewise.
22061 * include/grub/font.h: Likewise.
22062 * include/grub/gfxterm.h: Likewise.
22063 * include/grub/video.h: Likewise.
22064 * include/grub/vbe.h: Don't include video_fb.h.
22065 * video/i386/pc/vbe.c: Include video_fb.h.
22066 * commands/i386/pc/vbetest.c: Include video.h.
22067
22068 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22069
22070 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22071 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22072 default entry if GRUB_SAVEDEFAULT=true. This allows using
22073 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22074 saving a new default on every boot.
22075
22076 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22079 * normal/term.c (read_terminal_list): Likewise.
22080 * normal/main.c (grub_normal_init_page): Likewise.
22081 (grub_normal_read_line_real): Likewise.
22082
22083 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22086 memory leak.
22087 Reported by: Seth Goldberg.
22088
22089 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22090
22091 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22092 duplicate declaration of `start'.
22093
22094 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22097 filename.
22098 Reported by: Georgy Buranov
22099
22100 2010-02-20 Carles Pina i Estany <carles@pina.cat>
22101
22102 * util/grub-mkrawimage.c (usage): Change string formatting to
22103 improve gettext.
22104
22105 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22106
22107 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22108 backspace keys.
22109
22110 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22113 Reported by: Michael Suchanek.
22114
22115 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
22116
22117 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22118 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22119
22120 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 Remove any reference to non-free fonts.
22123
22124 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22125 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22126 uses non-free components.
22127 * font/font.c (grub_font_get_name): Remove example name.
22128 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22129 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22130 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22131 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22132
22133 2010-02-16 Georgy Buranov <gburanov@gmail.com>
22134
22135 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22136
22137 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22140 Double divisor.
22141 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22142 features.
22143 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22144
22145 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22148
22149 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22150
22151 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22152 * docs/grub.texi (Command-line and menu entry commands): Document play
22153 command.
22154
22155 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22156
22157 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22158 parse arguments as inline tempo and notes. Move code for playing notes
22159 to...
22160 (play): ... new function.
22161
22162 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22163
22164 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22165 grub_uint16_t instead of short.
22166 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22167 disk from little endian to cpu endianness.
22168
22169 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22170
22171 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22172 GRUB_TICKS_PER_SECOND instead of 120.
22173
22174 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22175
22176 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22177 escape sequence after \e.
22178
22179 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22182 non-ASCII characters.
22183
22184 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22187 set root in single quotes to prevent \, from being unescaped.
22188
22189 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 Prevent unknown commands from stopping menuentry execution.
22192
22193 * script/execute.c (grub_script_execute_cmdline): Print error after
22194 unknown command.
22195
22196 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22197
22198 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22199 Reported by: Pavel Pisa.
22200
22201 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22202
22203 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22204
22205 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22206
22207 Merge grub_ieee1275_map_physical into grub_map and rename to
22208 grub_ieee1275_map
22209
22210 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22211 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22212 Remove.
22213 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22214 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22215 necessary.
22216 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22217
22218 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22219
22220 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22221 opening and not after.
22222
22223 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22226 constants.
22227
22228 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22231 (alloc_phys): Use ALIGN_UP instead of align_addr.
22232
22233 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22236
22237 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22238
22239 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22240
22241 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22242
22243 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22244 verbose dprintf.
22245
22246 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22247
22248 Fix over-4GiB seek on sparc64.
22249
22250 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22251 Replace pos_i and pos_lo with pos. All users updated.
22252 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22253 New constant.
22254 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22255 Likewise.
22256 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22257 and pos_lo.
22258
22259 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22260
22261 * util/grub-mkrawimage.c (main): Call set_program_name.
22262
22263 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22264
22265 Properly align 64-bit targets.
22266
22267 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22268 (generate_image): Use ALIGN_ADDR.
22269
22270 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22271
22272 Properly create cross-endian images.
22273
22274 * include/grub/types.h (grub_host_to_target_addr): New macro
22275 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22276
22277 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22278
22279 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22280
22281 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22282
22283 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22284
22285 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22286 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22287 (grub_linux_boot): Divide by 64K when on VESA.
22288
22289 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 Support GRUB_GFXPAYLOAD_LINUX.
22292
22293 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22294 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22295
22296 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22297
22298 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22299 to show messages instead of discarding them.
22300 Process errors after executing command and not before. Keep old method
22301 too as precaution.
22302
22303 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22304
22305 * configure.ac: Check for ft2build.h.
22306
22307 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22308
22309 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22310
22311 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22312
22313 * genkernsyms.sh.in: Use TARGET_CC.
22314
22315 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
22316
22317 * NEWS: Update.
22318
22319 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 * include/grub/multiboot2.h: Remove leftover file.
22322 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22323 * include/grub/partition.h [GRUB_UTIL]: Likewise.
22324
22325 2010-02-07 Yves Blusseau <blusseau@zetam.org>
22326
22327 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
22328
22329 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22330
22331 Fix warnings in grub-emu when compiling with maximum warning options.
22332
22333 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22334 (grub_arch_modules_addr): Return 0 and not NULL.
22335 * util/misc.c (ENABLE_RELOCATABLE): New definition.
22336 (xstrdup): Use newstr instead of dup.
22337 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22338 of disk to dsk to avoid shadowing.
22339 (find_free_slot): Fix prototype.
22340 * util/getroot.c (grub_util_is_dmraid): Make static.
22341 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22342 Add missing prototype.
22343 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
22344
22345 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22348 appropriately.
22349
22350 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22351
22352 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22353 code out.
22354
22355 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22358 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22359 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22360 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22361 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22362 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22363
22364 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 * include/grub/err.h (grub_err_printf): Don't export.
22367
22368 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22371
22372 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22375 * kern/misc.c (grub_gettext_dummy): Make static.
22376
22377 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22378
22379 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22380 by non-valid ones.
22381 * kern/term.c (grub_putchar): Likewise.
22382
22383 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22386 buggy hook call and memory leak.
22387
22388 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22389
22390 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22391
22392 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22395
22396 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22397
22398 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22399 modevar.
22400 Return grub_errno on allocation error.
22401
22402 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22405
22406 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22407
22408 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22409 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22410
22411 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22412
22413 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22414 non-pxe disk.
22415 (grub_pxefs_open): Likewise.
22416
22417 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22418
22419 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22420 * util/grub.d/10_kfreebsd.in: Likewise.
22421 * util/grub.d/10_linux.in: Likewise.
22422
22423 2010-02-06 Colin D Bennett <colin@gibibit.com>
22424
22425 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22426 (gfxmenu_mod_SOURCES): New variable.
22427 (gfxmenu_mod_CFLAGS): Likewise.
22428 (gfxmenu_mod_LDFLAGS): Likewise.
22429 * include/grub/term.h (grub_term_set_current_output): Declare
22430 argument as const.
22431 * docs/gfxmenu-theme-example.txt: New file.
22432 * gfxmenu/gfxmenu.c: Likewise.
22433 * gfxmenu/gui_box.c: Likewise.
22434 * gfxmenu/gui_canvas.c: Likewise.
22435 * gfxmenu/gui_circular_progress.c: Likewise.
22436 * gfxmenu/gui_image.c: Likewise.
22437 * gfxmenu/gui_label.c: Likewise.
22438 * gfxmenu/gui_list.c: Likewise.
22439 * gfxmenu/gui_progress_bar.c: Likewise.
22440 * gfxmenu/gui_string_util.c: Likewise.
22441 * gfxmenu/gui_util.c: Likewise.
22442 * gfxmenu/icon_manager.c: Likewise.
22443 * gfxmenu/model.c: Likewise.
22444 * gfxmenu/named_colors.c: Likewise.
22445 * gfxmenu/theme_loader.c: Likewise.
22446 * gfxmenu/view.c: Likewise.
22447 * gfxmenu/widget-box.c: Likewise.
22448 * include/grub/gfxmenu_model.h: Likewise.
22449 * include/grub/gfxmenu_view.h: Likewise.
22450 * include/grub/gfxwidgets.h: Likewise.
22451 * include/grub/gui.h: Likewise.
22452 * include/grub/gui_string_util.h: Likewise.
22453 * include/grub/icon_manager.h: Likewise.
22454
22455 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22456
22457 Agglomerate scrolling in gfxterm.
22458
22459 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22460 (grub_virtual_screen_setup): Initialise 'total_screen'.
22461 (write_char): Split to ...
22462 (paint_char): ... this ...
22463 (write_char): ... and this.
22464 (paint_char): Handle delayed scrolling.
22465 (draw_cursor): Likewise.
22466 (scroll_up): Split to ...
22467 (real_scroll): ... this ...
22468 (scroll_up): ... and this.
22469 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22470 characters.
22471 (grub_gfxterm_refresh): Call real_scroll.
22472
22473 2010-02-06 Colin D Bennett <colin@gibibit.com>
22474
22475 * include/grub/misc.h (grub_iscntrl): New inline function.
22476 (grub_isalnum): Likewise.
22477 (grub_strtol): Likewise.
22478
22479 2010-02-06 Colin D Bennett <colin@gibibit.com>
22480
22481 * normal/menu_text.c (get_entry_number): Move from here ...
22482 * normal/menu.c (get_entry_number): ... moved here.
22483 * include/grub/menu.h (grub_menu_get_default_entry_index):
22484 New prototype.
22485 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22486 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22487 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22488 (grub_menu_viewer_should_return): Likewise.
22489 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22490 * normal/menu_text.c (run_menu): Enable menu switching.
22491 * normal/menu_viewer.c (should_return): New variable.
22492 (menu_viewer_changed): Likewise.
22493 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22494 (grub_menu_viewer_should_return): New function.
22495 (menuviewer_write_hook): Likewise.
22496 (grub_menu_viewer_init): Likewise.
22497
22498 2010-02-06 Colin D Bennet <colin@gibibit.com>
22499 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22500
22501 Support for gfxterm in a window.
22502
22503 * include/grub/gfxterm.h: New file.
22504 * include/grub/video.h (struct grub_video_rect): New declaration.
22505 (grub_video_rect_t): Likewise.
22506 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22507 (refcount): New variable.
22508 (render_target): Likewise.
22509 (window): Likewise.
22510 (repaint_callback): Likewise.
22511 (grub_virtual_screen_setup): Use 'render_target'.
22512 (init_window): New function.
22513 (grub_gfxterm_init_window): Likewise.
22514 (grub_gfxterm_init): Check reference counter.
22515 Use init_window.
22516 (destroy_window): New function.
22517 (grub_gfxterm_destroy_window): Likewise.
22518 (grub_gfxterm_fini): Check reference counter.
22519 Use destroy_window.
22520 (redraw_screen_rect): Restore viewport.
22521 Use 'render_target' and 'window'.
22522 Call 'repaint_callback'.
22523 (write_char): Use 'render_target'.
22524 (draw_cursor): Likewise.
22525 (scroll_up): Restore viewport.
22526 Use 'render_target' and 'window'.
22527 Call 'repaint_callback'.
22528 (grub_gfxterm_cls): Likewise.
22529 (grub_gfxterm_refresh): Use 'window'.
22530 (grub_gfxterm_set_repaint_callback): New function.
22531 (grub_gfxterm_background_image_cmd): Use 'window'.
22532 (grub_gfxterm_get_term): New function.
22533 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22534
22535 2010-02-06 Colin D Bennett <colin@gibibit.com>
22536
22537 Bitmap scaling support.
22538
22539 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22540 (bitmap_scale_mod_SOURCES): New variable.
22541 (bitmap_scale_mod_CFLAGS): Likewise.
22542 (bitmap_scale_mod_LDFLAGS): Likewise.
22543 * include/grub/bitmap_scale.h: New file.
22544 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22545 (background_image_cmd_options): New variable.
22546 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22547 (cmd): Rename and change type to ...
22548 (background_image_cmd_handle): ... this. All users updated.
22549 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22550 * video/bitmap_scale.c: New file.
22551
22552 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 SDL support.
22555
22556 * Makefile.in (LIBSDL): New variable.
22557 (enable_grub_emu_sdl): Likewise.
22558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22559 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22560 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22561 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22562 * util/sdl.c: New file.
22563
22564 2010-02-06 Colin D Bennett <colin@gibibit.com>
22565 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22566
22567 Double buffering support.
22568
22569 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22570 * include/grub/video.h: Update comment.
22571 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22572 New type.
22573 (grub_video_fb_doublebuf_blit_init): New prototype.
22574 * term/gfxterm.c (scroll_up): Support double buffering.
22575 (grub_gfxterm_refresh): Likewise.
22576 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22577 (grub_video_fb_doublebuf_blit_init): Likewise.
22578 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22579 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22580 'displayed_page', 'render_page' and 'update_screen'.
22581 (grub_video_vbe_fini): Free offscreen buffer.
22582 (doublebuf_pageflipping_commit): New function.
22583 (doublebuf_pageflipping_update_screen): Likewise.
22584 (doublebuf_pageflipping_init): Likewise.
22585 (double_buffering_init): Likewise.
22586 (grub_video_vbe_setup): Enable doublebuffering.
22587 (grub_video_vbe_swap_buffers): Implement.
22588 (grub_video_vbe_set_active_render_target): Handle double buffering.
22589 (grub_video_vbe_get_active_render_target): Likewise.
22590 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22591 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22592 (grub_video_vbe_enable_double_buffering): Likewise.
22593 (grub_video_vbe_swap_buffers): Use update_screen.
22594 (grub_video_set_mode): Use double buffering.
22595
22596 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22597
22598 * maintainance/gentrigtables.py: Remove.
22599 * lib/trig.c: Likewise.
22600
22601 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22602
22603 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22604 `trigtables.c'.
22605 (trigtables.c): New rule.
22606 (gentrigtables): Likewise.
22607 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22608
22609 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22610
22611 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22612 integer constants.
22613
22614 2010-02-06 Colin D Bennet <colin@gibibit.com>
22615
22616 Trigonometry support.
22617
22618 * include/grub/trig.h: New file.
22619 * lib/trig.c: Likewise.
22620 * maintainance/gentrigtables.py: Likewise.
22621 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22622 (trig_mod_SOURCES): New variable.
22623 (trig_mod_CFLAGS): Likewise.
22624 (trig_mod_LDFLAGS): Likewise.
22625
22626 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22627
22628 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22629 disk devices.
22630
22631 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22632
22633 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22634 error.
22635
22636 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22637
22638 * util/hostdisk.c (open_device): Don't use partition device when reading
22639 before the partition.
22640 (grub_util_biosdisk_read): Don't read from partition and before the
22641 partition in single operation.
22642 (grub_util_biosdisk_write): Don't write to partition and before the
22643 partition in single operation.
22644
22645 2010-02-03 Torsten Landschoff <torsten@debian.org>
22646
22647 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22648 last sectors.
22649
22650 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22653 CDROM reads.
22654 (grub_biosdisk_write): Refuse to write to CDROM.
22655
22656 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22659
22660 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22661
22662 * font/font.c (find_glyph): Check that bmp_idx is available before
22663 using it.
22664 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22665 with (font == NULL).
22666
22667 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
22668
22669 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22670
22671 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22672
22673 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22674 * util/grub-script-check.c (getline): Fix empty lines case.
22675
22676 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22677
22678 * Makefile.in (check): Exit with fail status when one of the tests
22679 fails.
22680 * tests/example_functional_test.c (example_test): Fix reversed assert.
22681 * tests/example_unit_test.c (example_test): Likewise.
22682
22683 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
22684
22685 * util/grub.d/10_linux.in: This script does not use any of the
22686 contents of gettext.sh, only the external command `gettext', so stop
22687 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22688 the same prefix as GRUB.)
22689 * util/grub.d/10_kfreebsd.in: Likewise.
22690
22691 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22692
22693 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22694 of the line.
22695
22696 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22697
22698 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22699 last sectors.
22700
22701 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22702
22703 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22704 having a 4KiB and not 32KiB buffer size.
22705
22706 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22707
22708 * util/hostfs.c: Include `<errno.h>'.
22709 (grub_hostfs_read): Handle errors from fseeko() and fread().
22710
22711 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22712
22713 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22714 loop when using read hooks on files whose size isn't sector-aligned.
22715
22716 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22717
22718 Remove unused parameter.
22719
22720 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22721 (grub_iso9660_open): Remove initialization of `data->length'.
22722
22723 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22724
22725 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22726 memleak conditions.
22727
22728 2010-01-27 Carles Pina i Estany <carles@pina.cat>
22729
22730 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22731 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22732
22733 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22734
22735 * util/bin2h.c (usage): Fix warning (space after backslash).
22736
22737 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22738
22739 * font/font.c: Include `grub/fontformat.h.
22740 Remove font file format constants.
22741 (grub_font_load): Use the new macros.
22742 * include/grub/fontformat.h: New file.
22743 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22744 (write_font_pf2): Use the new macros.
22745
22746 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22747
22748 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22749 does.
22750
22751 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22752
22753 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22754
22755 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22756 (_start): Macroify `0x7F'.
22757
22758 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22759 (make_install_device): Use "(pxe)" as fallback prefix when booting
22760 via PXE.
22761
22762 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22763
22764 * configure.ac: Reset LIBS after check for libgcc symbols.
22765
22766 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
22767
22768 * util/hostdisk.c (open_device): Add trailing newline to debug
22769 message.
22770
22771 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22772
22773 * configure.ac: Check for `limits.h'.
22774 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22775
22776 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22777
22778 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22779 capitalize error strings.
22780
22781 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22782
22783 * util/grub.d/10_hurd.in: Add a recovery mode.
22784
22785 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22786
22787 * configure.ac: Check for libgcc symbols with -nostdlib.
22788
22789 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22790
22791 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22792
22793 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22796 stack since heap may be unavailable at that point.
22797 (grub_ofconsole_gotoxy): Likewise.
22798
22799 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22800
22801 * configure.ac: Check for _restgpr_14_x.
22802 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22803 and _savegpr_* prototypes.
22804
22805 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22806
22807 Use generic grub_reboot() for i386-efi.
22808
22809 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22810 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22811 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22812
22813 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22814
22815 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22816 presence of "prefix" variable as it breaks when normal.mod is
22817 embedded.
22818
22819 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22820
22821 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22822 stack since heap is unavailable at that point.
22823
22824 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22825
22826 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22827 (grub_freebsd_bootinfo): Rewritten.
22828 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22829
22830 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22833
22834 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22835
22836 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22837 domain now.
22838
22839 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
22840
22841 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22842 around for handling "/" to the correct fix. Fix a memory leak. Use
22843 xstrdup instead of strdup.
22844
22845 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22848
22849 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22850
22851 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22852
22853 * font/font.c (struct grub_font): New member 'bmp_idx'.
22854 (font_init): Initialise 'bmp_idx'.
22855 (load_font_index): Fill 'bmp_idx'.
22856 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22857
22858 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22859
22860 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22861 unnecessary calls.
22862
22863 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 Move context handling out of the kernel.
22866
22867 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22868 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22869 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22870 * conf/i386-efi.rmk: Likewise.
22871 * conf/i386-ieee1275.rmk: Likewise.
22872 * conf/i386-pc.rmk: Likewise.
22873 * conf/powerpc-ieee1275.rmk: Likewise.
22874 * conf/sparc64-ieee1275.rmk: Likewise.
22875 * conf/x86_64-efi.rmk: Likewise.
22876 * include/grub/env.h: Include grub/menu.h.
22877 (grub_env_var_type): Removed.
22878 (grub_env_var): Replaced field 'type' with 'global'.
22879 (grub_env_find): New prototype.
22880 (grub_env_context_open): Remove EXPORT_FUNC.
22881 (grub_env_context_close): Likewise.
22882 (grub_env_export): Likewise.
22883 (grub_env_set_data_slot): Removed.
22884 (grub_env_get_data_slot): Likewise.
22885 (grub_env_unset_data_slot): Likewise.
22886 (grub_env_unset_menu): New prototype.
22887 (grub_env_set_menu): Likewise.
22888 (grub_env_get_menu): Likewise.
22889 * include/grub/env_private.h: New file.
22890 * include/grub/normal.h (grub_context_init): New prototype.
22891 (grub_context_fini): Likewise.
22892 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22893 * normal/context.c (grub_cmd_export): ... to here.
22894 * kern/env.c: Include env_private.h.
22895 (HASHSZ): Moved to include/grub/env_private.h.
22896 (grub_env_context): Likewise.
22897 (grub_env_sorted_var): Likewise.
22898 (current_context): Renamed from this ...
22899 (grub_current_context): ...to this. 'static' removed. All users updated.
22900 (grub_env_find): Removed 'static'.
22901 (grub_env_context_open): Moved to normal/context.c.
22902 (grub_env_context_close): Likewise.
22903 (grub_env_export): Likewise.
22904 (mangle_data_slot_name): Removed.
22905 (grub_env_set_data_slot): Likewise.
22906 (grub_env_get_data_slot): Likewise.
22907 (grub_env_unset_data_slot): Likewise.
22908 * kern/main.c (grub_set_root_dev): Don't export root.
22909 It will be done later.
22910 (grub_main): Don't export prefix.
22911 It will be done later.
22912 * normal/context.c: New file.
22913 * normal/main.c (free_menu): Use grub_env_unset_menu.
22914 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22915 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22916 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22917 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22918
22919 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22920
22921 setpci support.
22922
22923 * commands/setpci.c: New file.
22924 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22925 (setpci_mod_SOURCES): New variable.
22926 (setpci_mod_CFLAGS): Likewise.
22927 (setpci_mod_LDFLAGS): Likewise.
22928
22929 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22930
22931 Byte-addressable PCI configuration space.
22932
22933 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22934 dword address.
22935 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22936 GRUB_PCI_REG_CACHELINE.
22937 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22938 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22939 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22940 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22941 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22942 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22943 grub_pci_make_address.
22944 (lock_rom_area): Likewise.
22945 * commands/lspci.c (grub_lspci_iter): Use macroses
22946 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22947 of grub_pci_make_address.
22948 * disk/ata.c (grub_ata_pciinit): Likewise.
22949 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22950 (GRUB_PCI_REG_VENDOR): Likewise.
22951 (GRUB_PCI_REG_DEVICE): Likewise.
22952 (GRUB_PCI_REG_COMMAND): Likewise.
22953 (GRUB_PCI_REG_STATUS): Likewise.
22954 (GRUB_PCI_REG_REVISION): Likewise.
22955 (GRUB_PCI_REG_CLASS): Likewise.
22956 (GRUB_PCI_REG_CACHELINE): Likewise.
22957 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22958 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22959 (GRUB_PCI_REG_BIST): Likewise.
22960 (GRUB_PCI_REG_ADDRESSES): Likewise.
22961 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22962 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22963 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22964 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22965 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22966 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22967 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22968 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22969 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22970 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22971 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22972 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22973 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22974 (GRUB_PCI_REG_MIN_GNT): Likewise.
22975 (GRUB_PCI_REG_MAX_LAT): Likewise.
22976 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22977 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22978 * video/efi_uga.c (find_framebuf): Likewise.
22979 * video/sm712.c (grub_video_sm712_setup): Likewise.
22980 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22981 space.
22982
22983 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22984
22985 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22986 can be reliably determined to be supported.
22987
22988 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22989
22990 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22991 that VESA is supported.
22992 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22993 supported.
22994
22995 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22996
22997 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22998
22999 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23000
23001 * util/misc.c (make_system_path_relative_to_its_root): Work around
23002 special-casing of "/", as previous incarnation of this routine did.
23003
23004 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 Fix any-emu compilation.
23007
23008 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23009 * grub_bin2h_SOURCES: New variable.
23010
23011 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23012
23013 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23014
23015 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23016
23017 * util/grub.d/00_header.in: Fix handling of locale_dir.
23018
23019 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23020
23021 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23022 as possible unifont location (Gentoo).
23023 Reported by: Alexander Brüning
23024
23025 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23026
23027 Don't try to generate lists for kernel.img.
23028
23029 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23030 (pkglib_MODULES): Remove kernel.img.
23031 (kernel_img_EXPORTS): Removed.
23032 (kernel_img_RELOCATABLE): New variable.
23033 * conf/x86_64-efi.rmk: Likewise.
23034 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23035
23036 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23037
23038 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23039 grub_xasprintf or grub_snprintf.
23040 (grub_vsprintf): Likewise.
23041 (grub_snprintf): New proto.
23042 (grub_vsnprintf): Likewise.
23043 (grub_xasprintf): Likewise.
23044 (grub_xvasprintf): Likewise.
23045 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23046 (grub_sprintf): Removed.
23047 (grub_vsnprintf): New function.
23048 (grub_snprintf): Likewise.
23049 (grub_xvasprintf): Likewise.
23050 (grub_xasprintf): Likewise.
23051 (grub_vsprintf): Renamed to ...
23052 (grub_vsnprintf_real): ...this. New argument max_len.
23053
23054 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23055
23056 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23057 fix grub-script-check warning.
23058
23059 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23060
23061 * include/grub/font.h (grub_font_load): Fix prototype.
23062
23063 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23066
23067 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23068
23069 * include/grub/x86_64/at_keyboard.h: New file.
23070
23071 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23072
23073 * loader/mips/linux.c: Include missing grub/i18n.h.
23074
23075 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23076
23077 * normal/menu.c (notify_execution_failure): Clarify error message.
23078
23079 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23080
23081 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23082 return value (and revert all return statements). Update users.
23083
23084 2010-01-20 Dan Merillat <debian@dan.merillat.org>
23085
23086 * kern/device.c (grub_device_iterate): Allocate new part_ent
23087 structure based on sizeof (*p) rather than sizeof (p->next), to
23088 account for structure padding.
23089
23090 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23091 disk is NULL, which might happen for LVM physical volumes with no
23092 LVM signature.
23093
23094 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23095
23096 * loader/mips/linux.c (grub_cmd_initrd)
23097 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23098
23099 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23100
23101 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23102 (grub_video_video_init, grub_video_bitmap_init)
23103 (grub_font_manager_init, grub_term_gfxterm_init)
23104 (grub_at_keyboard_init): New extern declarations.
23105 (grub_machine_init): Initialize gfxterm and at_keyboard.
23106
23107 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23108
23109 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23110 `gfxterm.mod' into core image.
23111
23112 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23113 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23114 (kernel_img_FORMAT): Copy to ...
23115
23116 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23117 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23118 (kernel_img_FORMAT): ... here, and ...
23119
23120 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23121 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23122 (kernel_img_FORMAT): ... here.
23123
23124 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23125 and input (at_keyboard) terminals in kernel.
23126 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23127
23128 (pkglib_MODULES): Remove `pci.mod'.
23129 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23130 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23131 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23132 (at_keyboard_mod_LDFLAGS): Remove variables.
23133
23134 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
23135
23136 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23137
23138 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23139
23140 * include/grub/mips/libgcc.h: Only export symbols for functions
23141 that libgcc provides.
23142
23143 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23144
23145 MIPS support.
23146
23147 * bus/bonito.c: New file.
23148 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23149 GRUB_PCI_NUM_DEVICES.
23150 * term/i386/pc/serial.c: Move to ...
23151 * term/serial.c: ... here. All users updated.
23152 * util/i386/pc/grub-mkimage.c: Move to ...
23153 * util/grub-mkrawimage.c: ... here. All users updated.
23154 * term/i386/pc/at_keyboard.c: Move to ...
23155 * term/at_keyboard.c: ... here. All users updated.
23156 * conf/mips-qemu-mips.rmk: New file.
23157 * conf/mips-yeeloong.rmk: Likewise.
23158 * conf/mips.rmk: Likewise.
23159 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23160 mipsel-qemu-mips.
23161 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23162 to port addresses.
23163 (grub_ata_pciinit): Support CS5536.
23164 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23165 * font/font_cmd.c (loadfont_command): Open file before passing it to
23166 grub_font_load.
23167 (pseudo_file_read): New function.
23168 (pseudo_file_close): Likewise.
23169 (pseudo_fs): New structure.
23170 (load_font_module): New function.
23171 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23172 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23173 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23174 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23175 * include/grub/i386/at_keyboard.h: Split into ...
23176 * include/grub/at_keyboard.h: ... this ...
23177 * include/grub/i386/at_keyboard.h: ... and this.
23178 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23179 New prototype.
23180 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23181 updated.
23182 (grub_elf64_size): Likewise.
23183 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23184 filename.
23185 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23186 * include/grub/i386/coreboot/serial.h: Rewritten.
23187 * include/grub/i386/ieee1275/serial.h: Include
23188 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23189 * include/grub/i386/pc/serial.h: Moved from here ...
23190 * include/grub/serial.h: ... to here. All users updated.
23191 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23192 (GRUB_PCI_NUM_BUS): Likewise.
23193 (GRUB_PCI_NUM_DEVICES): Likewise.
23194 (grub_pci_device_map_range): Add missing volatile keyword.
23195 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23196 * include/grub/mips/at_keyboard.h: New file.
23197 * include/grub/mips/cache.h: Likewise.
23198 * include/grub/mips/io.h: Likewise.
23199 * include/grub/mips/kernel.h: Likewise.
23200 * include/grub/mips/libgcc.h: Likewise.
23201 * include/grub/mips/pci.h: Likewise.
23202 * include/grub/mips/qemu-mips/boot.h: Likewise.
23203 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23204 * include/grub/mips/qemu-mips/loader.h: Likewise.
23205 * include/grub/mips/qemu-mips/memory.h: Likewise.
23206 * include/grub/mips/qemu-mips/serial.h: Likewise.
23207 * include/grub/mips/qemu-mips/time.h: Likewise.
23208 * include/grub/mips/relocator.h: Likewise.
23209 * include/grub/mips/time.h: Likewise.
23210 * include/grub/mips/types.h: Likewise.
23211 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23212 * include/grub/mips/yeeloong/boot.h: Likewise.
23213 * include/grub/mips/yeeloong/kernel.h: Likewise.
23214 * include/grub/mips/yeeloong/loader.h: Likewise.
23215 * include/grub/mips/yeeloong/memory.h: Likewise.
23216 * include/grub/mips/yeeloong/pci.h: Likewise.
23217 * include/grub/mips/yeeloong/serial.h: Likewise.
23218 * include/grub/mips/yeeloong/time.h: Likewise.
23219 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23220 * kern/elf.c (grub_elf32_size): New parameter. All users
23221 updated.
23222 (grub_elf64_size): Likewise.
23223 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23224 Load modules before saying "Welcome to GRUB!".
23225 Call grub_refresh after saying "Welcome to GRUB!".
23226 * kern/mips/cache.S: New file.
23227 * kern/mips/cache_flush.S: Likewise.
23228 * kern/mips/dl.c: Likewise.
23229 * kern/mips/init.c: Likewise.
23230 * kern/mips/qemu-mips/init.c: Likewise.
23231 * kern/mips/startup.S: Likewise.
23232 * kern/mips/yeeloong/init.c: Likewise.
23233 * kern/term.c (grub_putcode): Handle NULL terminal.
23234 (grub_getcharwidth): Likewise.
23235 (grub_getkey): Likewise.
23236 (grub_checkkey): Likewise.
23237 (grub_getkeystatus): Likewise.
23238 (grub_getxy): Likewise.
23239 (grub_getwh): Likewise.
23240 (grub_gotoxy): Likewise.
23241 (grub_cls): Likewise.
23242 (grub_setcolorstate): Likewise.
23243 (grub_setcolor): Likewise.
23244 (grub_getcolor): Likewise.
23245 (grub_refresh): Likewise.
23246 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23247 (write_jump): Add hatch nop.
23248 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23249 * lib/mips/setjmp.S: New file.
23250 * loader/mips/linux.c: Likewise.
23251 * term/i386/pc/at_keyboard.c: Move from here ...
23252 * term/at_keyboard.c: ... to here.
23253 * term/i386/pc/serial.c: Moved from here ...
23254 * term/serial.c: ... to here. All users updated.
23255 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23256 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23257 (serial_translate_key_sequence): Avoid deadlock.
23258 (grub_serial_getkey): Handle backspace.
23259 (grub_serial_putchar): Fix newline handling.
23260 * util/i386/pc/grub-mkimage.c: Move from here ...
23261 * util/grub-mkrawimage.c: ... to here. All users updated.
23262 (generate_image): New parameters 'font_path' and 'format'.
23263 Support embedding font.
23264 Use grub_host_to_target* instead of grub_cpu_to_le*.
23265 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23266 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23267 (options): New option "--font".
23268 (usage): Likewise.
23269 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23270 (main): Handle "--font".
23271 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23272 (grub_virtual_screen_setup): Set bg_color_display.
23273 (redraw_screen_rect): Use bg_color_display instead of incorrect
23274 bg_color.
23275 (grub_gfxterm_cls): Likewise.
23276 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23277 Support embedding config file.
23278 (add_segments): Likewise.
23279 (options): New option "--config".
23280 (main): Handle "--config".
23281 * video/sm712.c: New file.
23282
23283 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23284
23285 Fix parallel builds.
23286
23287 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23288 font.c depend on ascii.h).
23289
23290 2010-01-12 Carles Pina i Estany <carles@pina.cat>
23291
23292 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23293
23294 2010-01-11 Carles Pina i Estany <carles@pina.cat>
23295
23296 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23297 By default: disabled.
23298 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23299 parameter.
23300
23301 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23302
23303 * font/font.c: Update copyright years.
23304 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23305
23306 2010-01-10 Carles Pina i Estany <carles@pina.cat>
23307
23308 * font/font.c: Include `ascii.h'.
23309 (ASCII_BITMAP_SIZE): New macro.
23310 (ascii_font_glyph): Define.
23311 (ascii_glyph_lookup): New function.
23312 (grub_font_get_string_width): Change comment. If glyph not found, use
23313 ascii_glyph_lookup.
23314 (grub_font_get_glyph_with_fallback): If glyph not available returns
23315 ascii_glyph_lookup.
23316 * util/grub-mkfont.c (file_formats): New enum.
23317 (options): Add `ascii-bitmaps' new option.
23318 (usage): Add `asii-bitmaps' new option.
23319 (write_font_ascii_bitmap): New function.
23320 (write_font): Rename to ...
23321 (write_font_p2): ... this. Remove print_glyphs call.
23322 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23323 used. Call print_glyphs.
23324 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23325
23326 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23327
23328 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23329 (grub_bin2h_SOURCES): New variable.
23330 * util/bin2h.c: New file.
23331
23332 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23333
23334 * include/multiboot.h: Resynced with spec.
23335 * include/multiboot2.h: Likewise.
23336 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23337 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23338
23339 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23340
23341 * include/grub/term.h (grub_term_register_input,
23342 grub_term_register_output): Check return of terminal init()
23343 routines, and abort if errors are raised.
23344
23345 * commands/terminal.c: Update copyright year.
23346
23347 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23348
23349 * commands/terminal.c (grub_cmd_terminal_input)
23350 (grub_cmd_terminal_output): Check return of terminal init()
23351 routines, and abort if errors are raised.
23352
23353 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23354
23355 * include/grub/i386/bsd.h: Fix include pathes.
23356
23357 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23358
23359 Add missing *BSD copyright headers.
23360
23361 * include/grub/aout.h: Add BSD licence.
23362 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23363 * include/grub/i386/freebsd_linker.h: ... here,
23364 * include/grub/i386/freebsd_reboot.h: ... here,
23365 * include/grub/i386/netbsd_bootinfo.h: ... here,
23366 * include/grub/i386/netbsd_reboot.h: ... here,
23367 * include/grub/i386/openbsd_bootarg.h: ... here,
23368 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23369 licence to each file.
23370
23371 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23372
23373 * acinclude.m4: Remove `nop' assembly instruction; it's not
23374 implemented by all architectures.
23375
23376 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23377
23378 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23379 ELILO. This is no longer necessary.
23380
23381 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23382
23383 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23384
23385 * util/grub-script-check.c: grub-script-check tool.
23386 * conf/common.rmk: Make rules for grub-script-check.
23387
23388 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23389
23390 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23391 spotting it back in 2008. Shame on me for forgetting he did.
23392
23393 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23394
23395 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23396
23397 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23398 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23399 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23400 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23401 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23402 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23403
23404 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23405
23406 * include/grub/test.h: Add license header.
23407 * tests/example_functional_test.c: Likewise.
23408 * tests/example_unit_test.c: Likewise.
23409 * tests/lib/functional_test.c: Likewise.
23410 * tests/lib/test.c: Likewise.
23411 * tests/lib/unit_test.c: Likewise.
23412
23413 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23414
23415 Use flag-based instead of hook-based video mode selection and "auto"
23416 keyword.
23417
23418 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23419 (grub_video_set_mode): Changed prototype. All users updated.
23420 (grub_video_check_mode_flag): New inline function.
23421 * video/video.c (parse_modespec): New function.
23422 (grub_video_set_mode): Parse flags and keywords.
23423
23424 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23425
23426 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23427 fprintf call.
23428
23429 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23430
23431 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23432
23433 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23434
23435 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23436 string.
23437 * util/grub-emu.c (usage): Likewise.
23438 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23439 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23440 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23441 * util/i386/pc/grub-setup.c (usage): Likewise.
23442
23443 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23444
23445 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23446 the message.
23447 (grub_util_info): Likewise.
23448 (grub_util_error): Likewise.
23449 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23450 and/or new lines in `grub_util_warna', `grub_util_info',
23451 `grub_util_error' calls.
23452 * util/getroot.c: Likewise.
23453 * util/grub-editenv.c: Likewise.
23454 * util/grub-emu.c: Likewise.
23455 * util/grub-fstest.c: Likewise.
23456 * util/grub-mkdevicemap.c: Likewise.
23457 * util/grub-mkfont.c: Likewise.
23458 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23459 * util/grub-mkrelpath.c: Likewise.
23460 * util/grub-pe2elf.c: Likewise.
23461 * util/grub-probe.c: Likewise.
23462 * util/hostdisk.c: Likewise.
23463 * util/i386/efi/grub-mkimage.c: Likewise.
23464 * util/i386/pc/grub-mkimage.c: Likewise.
23465 * util/i386/pc/grub-setup.c: Likewise.
23466 * util/ieee1275/ofpath.c: Likewise.
23467 * util/mkisofs/eltorito.c: Likewise.
23468 * util/mkisofs/rock.c: Likewise.
23469 * util/mkisofs/write.c: Likewise.
23470 * util/raid.c: Likewise.
23471 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23472 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23473
23474 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23475
23476 Enable multiboot on non-pc.
23477
23478 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23479 multiboot.mod and multiboot2.mod to ...
23480 * conf/i386.rmk (pkglib_MODULES): ... here.
23481 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23482 Moved to ...
23483 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23484 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23485 Moved to ...
23486 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23487 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23488 Moved to ...
23489 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23490 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23491 Moved to ...
23492 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23493 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23494 relocator.mod.
23495 (ata_mod_SOURCES): Removed.
23496 (ata_mod_CFLAGS): Likewise.
23497 (ata_mod_LDFLAGS): Likewise.
23498 (relocator_mod_SOURCES): Removed.
23499 (relocator_mod_CFLAGS): Likewise.
23500 (relocator_mod_ASFLAGS): Likewise.
23501 (relocator_mod_LDFLAGS): Likewise.
23502 Include i386.mk.
23503 * include/grub/x86_64/multiboot.h: New file.
23504 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23505 Terminate EFI.
23506
23507 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 Video multiboot support.
23510
23511 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23512 New prototype.
23513 * include/multiboot.h: Resynced with multiboot specification.
23514 * include/multiboot2.h: Likewise.
23515 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23516 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23517 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23518 (HAS_VGA_TEXT): Likewise.
23519 (accepts_video): New variable.
23520 (grub_multiboot_set_accepts_video): New function.
23521 (grub_multiboot_get_mbi_size): Account for video structures.
23522 (set_video_mode): New function.
23523 (retrieve_video_parameters): Likewise.
23524 (grub_multiboot_make_mbi): Fill video fields.
23525
23526 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23527
23528 Video driver ids.
23529
23530 * include/grub/video.h (grub_video_driver_id): New type.
23531 (grub_video_adapter): New member 'id'. All users updated.
23532 (grub_video_get_driver_id): New proto.
23533 * video/video.c (grub_video_get_driver_id): New function.
23534
23535 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23536
23537 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23538 `var=val'.
23539
23540 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23541
23542 * normal/cmdline.c (print_completion): Gettextizze.
23543
23544 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23545
23546 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23547
23548 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23549
23550 * gettext/gettext.c (grub_gettext_translate): Push and pop
23551 grub_errno.
23552 (grub_gettext_delete_list): Change comment style.
23553 * kern/err.c (grub_error): Gettextizze.
23554 (grub_fatal): Gettextizze.
23555
23556 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23557
23558 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23559 (grub_linux16_real_boot): ... this.
23560 * kern/i386/loader.S: Likewise.
23561 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23562 (grub_linux16_boot): New function. Switches to text mode and calls
23563 grub_linux16_real_boot().
23564
23565 * loader/i386/bsd.c: Include `<grub/video.h>'.
23566 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23567 text mode before calling grub_unix_real_boot().
23568
23569 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23570 (grub_multiboot_boot): Switch to text mode before calling
23571 grub_relocator32_boot().
23572
23573 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23574 (grub_chainloader_boot): Switch to text mode before calling
23575 grub_chainloader_real_boot().
23576
23577 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23578 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23579
23580 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23581 non-empty value.
23582
23583 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23584 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23585
23586 * util/grub.d/00_header.in: Define a "savedefault" function for use
23587 in menu entries.
23588 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23589
23590 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23591 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23592
23593 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23594 saved_entry if boot_once is unset.
23595 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23596 previous saved entry (i.e. grub-reboot).
23597
23598 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23599
23600 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23601
23602 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23603
23604 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23605 `var=val'.
23606 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23607
23608 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23609
23610 * util/grub-reboot.in: Fix --version output.
23611 * util/grub-set-default.in: Likewise.
23612
23613 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23614
23615 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23616 blocks.
23617
23618 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23619
23620 * util/grub.d/00_header.in: Quote the value assigned to `default',
23621 in case it contains spaces.
23622
23623 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23624
23625 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23626 `save_default_entry' call from the macosx case to the linux case.
23627
23628 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23629 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23630
23631 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23632 in `chosen' environment variable.
23633 * normal/menu_text.c (get_entry_number): Check if the variable
23634 matches the title of a menu entry.
23635 (run_menu): Pass menu to get_entry_number.
23636
23637 * util/grub-reboot.in: New file.
23638 * util/grub-set-default.in: New file.
23639 * conf/common.rmk (grub-reboot): New utility.
23640 (grub-set-default): New utility.
23641
23642 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23643 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23644 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23645 move it to `saved_entry' for the next boot. Load environment on
23646 initialisation.
23647 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23648 * util/grub.d/10_hurd.in: Likewise.
23649 * util/grub.d/10_linux.in (linux_entry): Likewise.
23650 * util/grub.d/10_windows.in: Likewise.
23651 * util/grub.d/30_os-prober.in: Likewise.
23652
23653 * util/grub-install.in: Create environment block.
23654 * util/i386/efi/grub-install.in: Likewise.
23655 * util/ieee1275/grub-install.in: Likewise.
23656 * util/sparc64/ieee1275/grub-install.in: Likewise.
23657
23658 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23659
23660 Unit testing framework for GRUB.
23661
23662 * Makefile.in: Test framework build rules for 'make check'.
23663 * conf/tests.rmk: Build rules for individual tests and framework.
23664
23665 * include/grub/test.h: Header file for whitebox tests.
23666 * tests/lib/functional_test.c: Framework support for whitebox
23667 functional tests.
23668 * tests/lib/test.c: Common whitebox testing code for unit and
23669 functional tests.
23670 * tests/lib/unit_test.c: Framework support for whitebox unit
23671 tests.
23672
23673 * tests/util/grub-shell-tester.in: Support utility for grub-script
23674 tests.
23675 * tests/util/grub-shell.in: Utility to execute grub-script
23676 commands in a Qemu instance.
23677
23678 * tests/example_functional_test.c: Example whitebox functional
23679 test.
23680 * tests/example_grub_script_test.in: Example grub-script test.
23681 * tests/example_scripted_test.in: Example scripted test.
23682 * tests/example_unit_test.c: Example whitebox unit test.
23683
23684 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23687 Add loader/i386/multiboot_mbi.c.
23688 (multiboot2_mod_SOURCES): Likewise.
23689 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23690 (multiboot2_mod_SOURCES): Likewise.
23691 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23692 (grub_multiboot_make_mbi): Likewise.
23693 (grub_multiboot_free_mbi): Likewise.
23694 (grub_multiboot_init_mbi): Likewise.
23695 (grub_multiboot_add_module): Likewise.
23696 (grub_multiboot_set_bootdev): Likewise.
23697 * loader/i386/multiboot.c (mbi): Removed.
23698 (mbi_dest): Likewise.
23699 (alloc_mbi): New variable.
23700 (grub_multiboot_payload_size): Removed. All users updated.
23701 (grub_multiboot_pure_size): New variable.
23702 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23703 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23704 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23705 (grub_fill_multiboot_mmap): Likewise.
23706 (grub_multiboot_get_bootdev): Likewise.
23707 (grub_multiboot): Use multiboot_mbi functions.
23708 * loader/i386/multiboot_mbi.c: New file.
23709
23710 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23711
23712 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23713 it would result in module crash.
23714
23715 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23716
23717 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23718 (grub_ofconsole_getwh): Split to ...
23719 (grub_ofconsole_getwh): ... this.
23720 (grub_ofconsole_dimensions): ...and this.
23721 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23722
23723 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23724
23725 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23726
23727 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23728
23729 * loader/i386/pc/multiboot2.c: Removed stalled file.
23730
23731 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23732
23733 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23734 Reported by: Grégoire Sutre
23735
23736 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 * util/misc.c (canonicalize_file_name): New function.
23739 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23740 instead of realpath().
23741
23742 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
23743
23744 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23745 and make it clearer that it's optional. Based on confusion
23746 witnessed on IRC.
23747
23748 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23749
23750 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23751 in premature implicit newline.
23752
23753 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23756 which resulted in garbled command line at the end of screen.
23757
23758 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23759
23760 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23761 initialization with similar approach as with other Linux loaders.
23762
23763 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23764
23765 Fix i386-ieee1275 build.
23766
23767 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23768 and grub_term_height() for video_{width,height} initialization.
23769
23770 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23771
23772 Fix grub-emu build.
23773
23774 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23775
23776 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23777 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23778
23779 Support for multiple terminals.
23780
23781 * Makefile.in (pkglib_DATA): terminal.lst.
23782 (terminal.lst): New target.
23783 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23784 (GRUB_MOD_INIT(handler)): Likewise.
23785 (GRUB_MOD_FINI(handler)): Likewise.
23786 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23787 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23788 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23789 (grub_cmd_sleep): Use grub_term_save_pos.
23790 * commands/terminal.c: New file.
23791 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23792 commands/terminal.c and lib/charset.c.
23793 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23794 (pkglib_MODULES): Add terminal.mod.
23795 (terminal_mod_SOURCES): New variable.
23796 (terminal_mod_CFLAGS): Likewise.
23797 (terminal_mod_LDFLAGS): Likewise.
23798 * genhandlerlist.sh: Don't handle terminals.
23799 * genmk.rb: Generate terminal-*.lst.
23800 * genterminallist.sh: New file.
23801 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23802 (grub_is_valid_utf8): Likewise.
23803 (grub_utf8_to_ucs4_alloc): Likewise.
23804 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23805 (grub_menu_register_viewer): Changed argument.
23806 (grub_menu_try_text): New proto.
23807 (grub_gfxmenu_try_hook): New declaration.
23808 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23809 (grub_menu_init_page): Additional argument term.
23810 (grub_normal_init_page): Likewise.
23811 (grub_cmdline_get): Arguments simplified.
23812 (grub_utf8_to_ucs4_alloc): Removed.
23813 (grub_print_ucs4): Additional argument term.
23814 (grub_getstringwidth): Likewise.
23815 (grub_print_message_indented): Likewise.
23816 (grub_menu_text_register_instances): New proto.
23817 (grub_show_menu): Likewise.
23818 (read_terminal_list): Likewise.
23819 (grub_set_more): Likewise.
23820 * include/grub/parser.h: Include handler.h.
23821 * include/grub/reader.h: Rewritten.
23822 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23823 (GRUB_TERM_WIDTH): Changed to function.
23824 (GRUB_TERM_HEIGHT): Likewise.
23825 (GRUB_TERM_BORDER_WIDTH): Likewise.
23826 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23827 (GRUB_TERM_NUM_ENTRIES): Likewise.
23828 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23829 (GRUB_TERM_CURSOR_X): Likewise.
23830 (grub_term_input_class): Likewise.
23831 (grub_term_output_class): Likewise.
23832 (grub_term_outputs_disabled): New declaration.
23833 (grub_term_inputs_disabled): Likewise.
23834 (grub_term_outputs): Likewise.
23835 (grub_term_inputs): Likewise.
23836 (grub_term_register_input): Rewritten.
23837 (grub_term_register_output): Likewise.
23838 (grub_term_unregister_input): Likewise.
23839 (grub_term_unregister_output): Likewise.
23840 (FOR_ACTIVE_TERM_INPUTS): New macro.
23841 (FOR_DISABLED_TERM_INPUTS): Likewise.
23842 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23843 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23844 * include/grub/terminfo.h: Add oterm argument to all protypes.
23845 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23846 Use grub_rescue_run.
23847 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23848 All users updated.
23849 * kern/reader.c: Removed. All users updated.
23850 * kern/rescue_reader.c (grub_rescue_init): Removed.
23851 (grub_rescue_reader): Likewise.
23852 (grub_register_rescue_reader): Likewise.
23853 (grub_rescue_run): New function based on kern/reader.c.
23854 * kern/term.c: Adapted for multiterm.
23855 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23856 (grub_is_valid_utf8): Likewise.
23857 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23858 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23859 right terminal.
23860 * loader/i386/linux.c (grub_linux_boot): Likewise.
23861 * normal/auth.c (grub_username_get): New function.
23862 (grub_auth_check_authentication): Use grub_username_get.
23863 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23864 * normal/color.c: Adapt for multiterm.
23865 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23866 (grub_normal_init_page): Additional argument term.
23867 (read_lists): Call read_terminal_lists.
23868 (grub_enter_normal_mode): Call grub_cmdline_run.
23869 Handle grub_normal_exit_level.
23870 (grub_cmd_normal): Make reentrant.
23871 (grub_cmd_normal_exit): New function.
23872 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23873 * normal/menu.c: Adapt for multiterm.
23874 * normal/menu_entry.c: Likewise.
23875 * normal/menu_text.c: Likewise.
23876 * normal/menu_viewer.c: Removed. All users updated.
23877 * normal/term.c: New file.
23878 * util/console.c: Change order of includes to workaround a bug in
23879 ncurses headers.
23880 * term/terminfo.c: New argument oterm on all exported functions.
23881 All users updated.
23882 * util/grub-editenv.c (grub_term_input_class): Removed.
23883 (grub_term_output_class): Likewise.
23884
23885 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23886
23887 Make loader output a bit more user-friendly.
23888
23889 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23890 is being loaded. Likewise for the Hurd.
23891
23892 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23893 that kernel of FreeBSD ${version} is being loaded.
23894
23895 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23896 grub_dprintf().
23897 (grub_cmd_initrd): Likewise.
23898 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23899 that Linux ${version} is being loaded. Likewise for initrd.
23900
23901 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23902
23903 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23904
23905 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23906
23907 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23908 (GRUB_MOD_INIT): Gettextizze.
23909 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23910 (GRUB_MOD_INIT): Gettextizze.
23911 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23912 (grub_cmd_linux): Capitalise Linux.
23913 (GRUB_MOD_INIT): Gettextizze.
23914 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23915 (grub_cmd_linux): Capitalise Linux.
23916 (GRUB_MOD_INIT): Gettextizze.
23917 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23918 (grub_cmd_linux): Capitalise Linux.
23919 (GRUB_MOD_INIT): Gettextizze.
23920 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23921 (GRUB_MOD_INIT): Gettextizze.
23922 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23923 (grub_cmd_linux): Capitalise Linux.
23924 (GRUB_MOD_INIT): Gettextizze.
23925 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23926 (grub_cpu_xnu_init): Gettextizze.
23927 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23928 (GRUB_MOD_INIT): Gettextizze.
23929 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23930 (GRUB_MOD_INIT): Gettextizze.
23931 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23932 (grub_linux_load64): Capitalise Linux.
23933 (GRUB_MOD_INIT): Gettextizze.
23934 * loader/xnu.c: Include `<grub/i18n.h>'.
23935 (GRUB_MOD_INIT): Gettextizze.
23936 * po/POTFILES: Add `loader/efi/appleloader.c',
23937 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23938 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23939 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23940 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23941 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23942 and `loader/xnu.c'.
23943
23944 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23945
23946 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23947
23948 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23949
23950 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23951 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23952 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23953
23954 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23955
23956 Reset Multiboot 2 support. New loader implements the draft in
23957 /branches/multiboot2 and shares as much code as possible with the
23958 production Multiboot 1 implementation.
23959
23960 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23961 * loader/multiboot2.c: Likewise.
23962 * loader/i386/multiboot_helper.S: Likewise.
23963 * include/multiboot2.h: Replace with latest version from the draft
23964 in /branches/multiboot2.
23965
23966 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23967 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23968 and `loader/multiboot2.c'.
23969 (pkglib_MODULES): Add `multiboot2.mod'.
23970 (multiboot2_mod_SOURCES): New variable.
23971 (multiboot2_mod_LDFLAGS): Likewise.
23972 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23973
23974 * conf/i386-pc.rmk: Likewise.
23975
23976 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23977 (multiboot_mod_SOURCES): Remove variable.
23978 (multiboot_mod_LDFLAGS): Likewise.
23979 (multiboot_mod_CFLAGS): Likewise.
23980
23981 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23982 `<multiboot2.h>' instead of `<multiboot.h>'.
23983 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23984 (MULTIBOOT_HEADER_MAGIC): New macros.
23985
23986 * loader/multiboot_loader.c (module_version_status): Remove variable.
23987 (find_multi_boot2_header): Remove function.
23988 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23989 logic. Always check for the Multiboot version we're compiling for.
23990 (grub_cmd_module_loader): Likewise.
23991 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23992 command instead of `multiboot'.
23993
23994 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23995
23996 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23997 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23998 all users.
23999
24000 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24001 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24002
24003 Fix breakage introduced with previous commit.
24004
24005 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24006 commands.
24007 * normal/handler.c (read_handler_list): Revert part of previous commit
24008 affecting this file.
24009 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24010 (grub_normal_execute): ... here.
24011
24012 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24013
24014 Merge prefix-redefinition-fix branch.
24015
24016 * normal/autofs.c (read_fs_list): Make function capable of being
24017 run multiple times, gracefuly replacing the previous data
24018 structures.
24019 * normal/dyncmd.c (read_command_list): Likewise.
24020 * normal/handler.c (read_handler_list): Likewise.
24021 * normal/main.c (read_lists): New function. Calls all the
24022 list reading functions.
24023 (grub_normal_execute): Use read_lists() instead of calling all
24024 list reading functions explicitly. Register read_lists() as a
24025 variable hook attached to ${prefix}.
24026
24027 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24028
24029 Merge crypto branch.
24030
24031 * Makefile.in (pkglib_DATA): Add crypto.lst.
24032 (crypto.lst): New target.
24033 * commands/hashsum.c: New file.
24034 * commands/password.c (check_password): Use grub_crypto_memcmp.
24035 * commands/password_pbkdf2.c: New file.
24036 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24037 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24038 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24039 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24040 -I$(srcdir)/lib/libgcrypt_wrap.
24041 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24042 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24043 password_pbkdf2.mod.
24044 (crypto_mod_SOURCES): New variable.
24045 (crypto_mod_CFLAGS): Likewise.
24046 (crypto_mod_LDFLAGS): Likewise.
24047 (hashsum_mod_SOURCES): New variable.
24048 (hashsum_mod_CFLAGS): Likewise.
24049 (hashsum_mod_LDFLAGS): Likewise.
24050 (pbkdf2_mod_SOURCES): New variable.
24051 (pbkdf2_mod_CFLAGS): Likewise.
24052 (pbkdf2_mod_LDFLAGS): Likewise.
24053 (password_pbkdf2_mod_SOURCES): New variable.
24054 (password_pbkdf2_mod_CFLAGS): Likewise.
24055 (password_pbkdf2_mod_LDFLAGS): Likewise.
24056 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24057 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24058 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24059 Include conf/gcry.rmk.
24060 * include/grub/auth.h: Rewritten.
24061 * include/grub/crypto.h: New file.
24062 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24063 * include/grub/normal.h (read_crypto_list): New prototype.
24064 * lib/crypto.c: New file.
24065 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24066 * lib/pbkdf2.c: Likewise.
24067 * normal/auth.c (grub_auth_strcmp): Removed.
24068 (grub_iswordseparator): Likewise.
24069 (grub_auth_strword): Likewise.
24070 (is_authenticated): Use grub_strword.
24071 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24072 and grub_strword. Pass entered password to authentication callback.
24073 * normal/crypto.c: New file.
24074 * normal/main.c: Call read_crypto_list.
24075 * util/grub-mkpasswd-pbkdf2.c: New file.
24076 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24077
24078 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24079
24080 Fix descent and ascent calculation.
24081
24082 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24083 (options): New option "asce".
24084 (usage): Likewise.
24085 (add_char): Ignore invalid glyphs for descent calculation.
24086 Calculate ascent from actual content.
24087 (print_glyphs): Use 'asce'.
24088 (write_font): Likewise. Allow ascent override.
24089 (main): Handle "asce" option.
24090
24091 2010-01-06 Carles Pina i Estany <carles@pina.cat>
24092
24093 * kern/err.c: Include `<grub/i18n.h>'.
24094 (grub_print_error): Add full stop. Gettextizze.
24095 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24096 (grub_bsd_load_elf): Capitalise ELF.
24097 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24098 (grub_cmd_freebsd_module): Likewise.
24099 (grub_cmd_freebsd_module_elf): Likewise.
24100 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24101
24102 2010-01-06 Carles Pina i Estany <carles@pina.cat>
24103
24104 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24105 * commands/search_file.c (HELP_MESSAGE): New macro.
24106 * commands/search_label.c (HELP_MESSAGE): Likewise.
24107 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24108 * po/POTFILES: Add `commands/search_file.c',
24109 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24110 `commands/search.c'.
24111
24112 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24113
24114 * config.rpath: Update from Gnulib.
24115
24116 2010-01-05 Yves Blusseau <blusseau@zetam.org>
24117
24118 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24119
24120 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24121
24122 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24123
24124 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24125
24126 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24127 arguments to fread so that we get a return value in bytes, rather
24128 than something that will normally be rounded down to 0.
24129 Adjust error handling to avoid producing garbage when size_t is not
24130 the same size as long long.
24131
24132 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
24133
24134 * util/mkisofs/write.c (padblock_write): Check return value of
24135 fread.
24136
24137 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24138
24139 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24140 floppy images now.
24141
24142 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24143
24144 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24145
24146 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24147 instead of manual alignment.
24148 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24149 verbose). Avoid attempts to read past end of the device
24150 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24151 but GRUB_DISK_CACHE_SIZE may exceed that).
24152
24153 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24154
24155 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24156 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24157 it to upper layer.
24158
24159 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24160
24161 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24162 New constant.
24163 (grub_efi_piwg_device_path): New structure
24164 (grub_efi_piwg_device_path_t): New type.
24165 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24166 (devpath_1): Transform to a structure. All users updated.
24167 (devpath_2): Likewise.
24168 (devpath_3): Likewise.
24169 (devpath_4): Likewise.
24170 (devpath_5): Likewise.
24171
24172 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24173
24174 * loader/efi/appleloader.c: Restored. Update all users.
24175
24176 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24177
24178 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24179
24180 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24181 (struct boot_blocklist): Move from here ...
24182 * include/grub/i386/pc/boot.h [ASM_FILE]
24183 (struct grub_boot_blocklist): ... to here. Update all users.
24184 (setup): Only initialize `start' member of `first_block'
24185 structure. Add assert() calls to verify the other members.
24186
24187 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24188 (generate_image): Fix broken blocklist length initialization.
24189 Add assert() call to verify blocklist `segment' field.
24190
24191 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24192
24193 * loader/efi/appleloader.c: Remove. Update all users.
24194
24195 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24196
24197 * boot/i386/pc/boot.S: Update copyright year.
24198 * boot/i386/pc/cdboot.S: Likewise.
24199 * boot/i386/pc/diskboot.S: Likewise.
24200 * boot/i386/pc/lnxboot.S: Likewise.
24201 * boot/i386/pc/pxeboot.S: Likewise.
24202 * bus/pci.c: Likewise.
24203 * commands/cmp.c: Likewise.
24204 * commands/help.c: Likewise.
24205 * commands/hexdump.c: Likewise.
24206 * commands/i386/pc/halt.c: Likewise.
24207 * commands/i386/pc/play.c: Likewise.
24208 * commands/i386/pc/vbeinfo.c: Likewise.
24209 * commands/ls.c: Likewise.
24210 * commands/test.c: Likewise.
24211 * disk/dmraid_nvidia.c: Likewise.
24212 * disk/i386/pc/biosdisk.c: Likewise.
24213 * disk/ieee1275/nand.c: Likewise.
24214 * disk/ieee1275/ofdisk.c: Likewise.
24215 * disk/lvm.c: Likewise.
24216 * disk/raid.c: Likewise.
24217 * disk/raid6_recover.c: Likewise.
24218 * disk/scsi.c: Likewise.
24219 * fs/affs.c: Likewise.
24220 * fs/cpio.c: Likewise.
24221 * fs/ext2.c: Likewise.
24222 * fs/hfs.c: Likewise.
24223 * fs/iso9660.c: Likewise.
24224 * fs/ntfs.c: Likewise.
24225 * fs/sfs.c: Likewise.
24226 * fs/udf.c: Likewise.
24227 * fs/ufs.c: Likewise.
24228 * fs/xfs.c: Likewise.
24229 * gencmdlist.sh: Likewise.
24230 * genmk.rb: Likewise.
24231 * include/grub/disk.h: Likewise.
24232 * include/grub/efi/api.h: Likewise.
24233 * include/grub/efi/efi.h: Likewise.
24234 * include/grub/efi/pe32.h: Likewise.
24235 * include/grub/elf.h: Likewise.
24236 * include/grub/fs.h: Likewise.
24237 * include/grub/i386/at_keyboard.h: Likewise.
24238 * include/grub/i386/pc/memory.h: Likewise.
24239 * include/grub/i386/pc/vbe.h: Likewise.
24240 * include/grub/i386/pci.h: Likewise.
24241 * include/grub/i386/tsc.h: Likewise.
24242 * include/grub/ieee1275/ieee1275.h: Likewise.
24243 * include/grub/ntfs.h: Likewise.
24244 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24245 * include/grub/sparc64/libgcc.h: Likewise.
24246 * include/grub/symbol.h: Likewise.
24247 * include/grub/types.h: Likewise.
24248 * include/multiboot2.h: Likewise.
24249 * io/gzio.c: Likewise.
24250 * kern/device.c: Likewise.
24251 * kern/disk.c: Likewise.
24252 * kern/efi/efi.c: Likewise.
24253 * kern/efi/mm.c: Likewise.
24254 * kern/elf.c: Likewise.
24255 * kern/file.c: Likewise.
24256 * kern/i386/dl.c: Likewise.
24257 * kern/i386/pc/init.c: Likewise.
24258 * kern/i386/pc/startup.S: Likewise.
24259 * kern/ieee1275/ieee1275.c: Likewise.
24260 * kern/ieee1275/init.c: Likewise.
24261 * kern/main.c: Likewise.
24262 * kern/mm.c: Likewise.
24263 * kern/powerpc/dl.c: Likewise.
24264 * kern/sparc64/dl.c: Likewise.
24265 * kern/x86_64/dl.c: Likewise.
24266 * lib/hexdump.c: Likewise.
24267 * loader/efi/appleloader.c: Likewise.
24268 * loader/i386/ieee1275/linux.c: Likewise.
24269 * loader/i386/pc/chainloader.c: Likewise.
24270 * loader/i386/pc/linux.c: Likewise.
24271 * loader/i386/pc/multiboot2.c: Likewise.
24272 * loader/ieee1275/multiboot2.c: Likewise.
24273 * loader/multiboot2.c: Likewise.
24274 * loader/multiboot_loader.c: Likewise.
24275 * loader/powerpc/ieee1275/linux.c: Likewise.
24276 * normal/completion.c: Likewise.
24277 * normal/menu_entry.c: Likewise.
24278 * partmap/apple.c: Likewise.
24279 * util/grub.d/10_hurd.in: Likewise.
24280 * util/hostfs.c: Likewise.
24281 * video/readers/png.c: Likewise.
24282
24283 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
24284
24285 * include/grub/misc.h (GNUC_PREREQ): New macro.
24286 (ATTRIBUTE_ERROR): New macro.
24287 * include/grub/list.h (grub_bad_type_cast_real): Use
24288 ATTRIBUTE_ERROR.
24289
24290 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24291
24292 * normal/menu_text.c (print_message): Change messages.
24293
24294 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24295
24296 * normal/menu_entry.c (store_completion): Gettextizze.
24297
24298 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24299
24300 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24301
24302 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24303
24304 * po/POTFILES: Sort correctly.
24305
24306 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24307
24308 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24309 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24310 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24311 full stop.
24312 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24313 summary. Gettextizze the strings.
24314 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24315 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24316 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24317 full stop.
24318 (GRUB_MOD_INIT): Remove command name from summary.
24319 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24320 summary.
24321 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24322 * term/i386/pc/serial.c (options): Add full stops.
24323 (GRUB_MOD_INIT): Remove command name from the summary.
24324
24325 2010-01-03 Carles Pina i Estany <carles@pina.cat>
24326
24327 * commands/acpi.c: Gettextizze help strings and/or options. Include
24328 `grub/i18n.h' if needed.
24329 * commands/blocklist.c: Likewise.
24330 * commands/boot.c: Likewise.
24331 * commands/cat.c: Likewise.
24332 * commands/cmp.c: Likewise.
24333 * commands/configfile.c: Likewise.
24334 * commands/crc.c: Likewise.
24335 * commands/date.c: Likewise.
24336 * commands/echo.c: Likewise.
24337 * commands/efi/fixvideo.c: Likewise.
24338 * commands/efi/loadbios.c: Likewise.
24339 * commands/gptsync.c: Likewise.
24340 * commands/halt.c: Likewise.
24341 * commands/handler.c: Likewise.
24342 * commands/hdparm.c: Likewise.
24343 * commands/hexdump.c: Likewise.
24344 * commands/i386/cpuid.c: Likewise.
24345 * commands/i386/pc/drivemap.c: Likewise.
24346 * commands/i386/pc/halt.c: Likewise.
24347 * commands/i386/pc/pxecmd.c: Likewise.
24348 * commands/i386/pc/vbeinfo.c: Likewise.
24349 * commands/i386/pc/vbetest.c: Likewise.
24350 * commands/ieee1275/suspend.c: Likewise.
24351 * commands/keystatus.c: Likewise.
24352 * commands/loadenv.c: Likewise.
24353 * commands/ls.c: Likewise.
24354 * commands/lsmmap.c: Likewise.
24355 * commands/lspci.c: Likewise.
24356 * commands/memrw.c: Likewise.
24357 * commands/minicmd.c: Likewise.
24358 * commands/parttool.c: Likewise.
24359 * commands/password.c: Likewise.
24360 * commands/probe.c: Likewise.
24361 * commands/read.c: Likewise.
24362 * commands/reboot.c: Likewise.
24363 * commands/search.c: Likewise.
24364 * commands/sleep.c: Likewise.
24365 * commands/test.c: Likewise.
24366 * commands/true.c: Likewise.
24367 * commands/usbtest.c: Likewise.
24368 * commands/videotest.c: Likewise.
24369 * commands/xnu_uuid.c: Likewise.
24370 * disk/loopback.c: Likewise.
24371 * hello/hello.c: Likewise.
24372 * loader/i386/bsd.c: Likewise.
24373 * term/i386/pc/serial.c: Likewise.
24374 * po/POTFILES: Add new files.
24375
24376 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
24377
24378 * term/i386/pc/at_keyboard.c
24379 (keyboard_controller_wait_untill_ready): Rename to ...
24380 (keyboard_controller_wait_until_ready): ... this. Update all users.
24381
24382 2010-01-01 Carles Pina i Estany <carles@pina.cat>
24383
24384 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24385 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24386 string using string width.
24387 * normal/menu_text.c (grub_print_message_indented): Use
24388 grub_print_spaces and not print_spaces.
24389 (print_timeout): Likewise.
24390 (print_spaces): Move to...
24391 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24392
24393 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24394
24395 Import from Gnulib.
24396
24397 * gnulib/getdelim.c: New file.
24398 * gnulib/getline.c: Likewise.
24399
24400 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24401
24402 * include/grub/list.h (grub_assert_fail): Removed.
24403 (grub_bad_type_cast_real): New function.
24404 (grub_bad_type_cast): New macro.
24405 (GRUB_AS_LIST): Use grub_bad_type_cast.
24406 (GRUB_AS_LIST_P): Likewise.
24407 (GRUB_AS_NAMED_LIST): Likewise.
24408 (GRUB_AS_NAMED_LIST_P): Likewise.
24409 (GRUB_AS_PRIO_LIST): Likewise.
24410 (GRUB_AS_PRIO_LIST_P): Likewise.
24411 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24412
24413 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24414
24415 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24416 Fix syntax error.
24417
24418 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24419
24420 * configure.ac: Check for TARGET_CFLAGS initialization before we
24421 initialize it ourselves (sigh).
24422 Move a few modifications to TARGET_CFLAGS to be unconditional
24423 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24424 eh_frame)
24425
24426 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24427 * term/i386/pc/at_keyboard.c
24428 (keyboard_controller_wait_untill_ready): Likewise.
24429 (keyboard_controller_led): Rename `led_status' paramter to avoid
24430 name conflict.
24431
24432 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24433
24434 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24435 quotes.
24436
24437 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24438
24439 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24440
24441 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 * normal/menu_text.c (grub_print_message_indented): Prevent
24444 past-the-end-of-array dereference.
24445
24446 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24447
24448 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24449 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24450
24451 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24452
24453 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24454 * normal/main.c (grub_normal_read_line): Remove a space from the
24455 default prompt.
24456
24457 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24458
24459 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24460 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24461 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24462 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24463 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24464 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24465 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24466
24467 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24468
24469 * video/readers/jpeg.c (cmd): Declare.
24470 (grub_cmd_jpegtest): Use `grub_command_t' type.
24471 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24472 Assign to `cmd'.
24473 (GRUB_MOD_FINI): Use `cmd' to unregister.
24474 * video/readers/png.c (cmd): Declare.
24475 (grub_cmd_pngtest): Use `grub_command_t' type.
24476 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24477 Assign to `cmd'.
24478 (GRUB_MOD_FINI): Use `cmd' to unregister.
24479 * video/readers/tga.c (cmd): Declare.
24480 (grub_cmd_tgatest): Use `grub_command_t' type.
24481 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24482 Assign to `cmd'.
24483 (GRUB_MOD_FINI): Use `cmd' to unregister.
24484
24485 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24486
24487 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24488 stops.
24489 * kern/corecmd.c (grub_register_core_commands): Likewise.
24490 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24491 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24492 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24493 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24494 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24495 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24496 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24497 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24498 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24499 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24500 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24501 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24502 * normal/handler.c (insert_handler): Likewise.
24503 * normal/main.c (GRUB_MOD_INIT): Likewise.
24504 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24505
24506 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24507
24508 * commands/help.c (grub_cmd_help): Print the command name before the
24509 summary.
24510 (GRUB_MOD_INIT): Remove command name from the summary.
24511 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24512 string as summary.
24513 * lib/arg.c (find_long): Print the command name before the summary.
24514 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24515 summary.
24516 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24517 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24518 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24519 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24520 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24521 * commands/date.c (GRUB_MOD_INIT): Likewise.
24522 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24523 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24524 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24525 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24526 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24527 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24528 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24529 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24530 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24531 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24532 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24533 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24534 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24535 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24536 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24537 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24538 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24539 * commands/password.c (GRUB_MOD_INIT): Likewise.
24540 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24541 * commands/read.c (GRUB_MOD_INIT): Likewise.
24542 * commands/search.c (GRUB_MOD_INIT): Likewise.
24543 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24544 * commands/test.c (GRUB_MOD_INIT): Likewise.
24545 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24546 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24547 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24548 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24549 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24550 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24551 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24552 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24553 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24554 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24555 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24556 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24557 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24558 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24559
24560 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24561
24562 Use search command for preliminar UUID search.
24563
24564 * commands/search.c: Split into ...
24565 * commands/search_wrap.c: ...this
24566 * commands/search.c: ...and this.
24567 * commands/search_file.c: New file.
24568 * commands/search_label.c: New file.
24569 * commands/search_uuid.c: New file.
24570 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24571 Add commands/search_wrap.c, commands/search_file.c,
24572 commands/search_label.c and commands/search_uuid.c.
24573 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24574 (search_mod_SOURCES): Set to commands/search_wrap.c.
24575 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24576 search_label.mod.
24577 (search_fs_file_mod_SOURCES): New variable.
24578 (search_fs_file_mod_CFLAGS): Likewise.
24579 (search_fs_file_mod_LDFLAGS): Likewise.
24580 (search_label_mod_SOURCES): Likewise.
24581 (search_label_mod_CFLAGS): Likewise.
24582 (search_label_mod_LDFLAGS): Likewise.
24583 (search_fs_uuid_mod_SOURCES): New variable.
24584 (search_fs_uuid_mod_CFLAGS): Likewise.
24585 (search_fs_uuid_mod_LDFLAGS): Likewise.
24586 (fs_file_mod_SOURCES): Removed.
24587 (fs_file_mod_CFLAGS): Likewise.
24588 (fs_file_mod_LDFLAGS): Likewise.
24589 (fs_uuid_mod_SOURCES): Removed.
24590 (fs_uuid_mod_CFLAGS): Likewise.
24591 (fs_uuid_mod_LDFLAGS): Likewise.
24592 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24593 Set to util/grub-install.in.
24594 * disk/fs_file.c: Removed.
24595 * disk/fs_uuid.c: Likewise.
24596 * include/grub/search.h: New file.
24597 * util/grub-install.in: Handle sparc64.
24598 Create and use load.cfg.
24599 * util/sparc64/ieee1275/grub-install.in: Removed.
24600
24601 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24602
24603 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24604 Ignore return status if CF is cleared.
24605 (grub_biosdisk_get_diskinfo_standard): Likewise.
24606
24607 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24608
24609 * term/i386/pc/at_keyboard.c
24610 (keyboard_controller_wait_untill_ready): New function.
24611 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24612 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24613 for keyboard polling, rather than duplicate the same loop. This
24614 saves a few bytes in code size.
24615
24616 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 Support for (pxe[:server[:gateway]]) syntax and
24619 use environment variable for PXE.
24620
24621 * commands/i386/pc/pxecmd.c (options): Removed.
24622 (print_ip): Removed.
24623 (grub_cmd_pxe): Removed
24624 (grub_cmd_pxe_unload): New function.
24625 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24626 (grub_pxe_your_ip): Made static.
24627 (grub_pxe_default_server_ip): Likewise.
24628 (grub_pxe_default_gateway_ip): Likewise.
24629 (grub_pxe_blksize): Likewise.
24630 (parse_ip): New function.
24631 (grub_pxe_open): Support server and gateway specification.
24632 (grub_pxe_close): Free disk->data.
24633 (grub_pxefs_open): Use disk->data.
24634 (grub_pxefs_read): Likewise.
24635 (grub_env_write_readonly): New function.
24636 (set_mac_env): Likewise.
24637 (set_env_limn_ro): Likewise.
24638 (parse_dhcp_vendor): Likewise.
24639 (grub_pxe_detect): Set the environment variables.
24640 (set_ip_env): New function.
24641 (write_ip_env): Likewise.
24642 (grub_env_write_pxe_default_server): Likewise.
24643 (grub_env_write_pxe_default_gateway): Likewise.
24644 (grub_env_write_pxe_blocksize): Likewise.
24645 (GRUB_MOD_INIT(pxe)): Set environment variables.
24646 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24647 (grub_pxe_mac_addr_t): ... this. All users updated.
24648 (grub_pxe_your_ip): Removed.
24649 (grub_pxe_server_ip): Likewise.
24650 (grub_pxe_gateway_ip): Likewise.
24651 (grub_pxe_blksize): Likewise.
24652
24653 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24654
24655 * commands/help.c: Include `<grub/i18n.h>'.
24656 (grub_cmd_help): Gettextizze.
24657 (GRUB_MOD_INIT): Likewise.
24658 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24659 (GRUB_MOD_INIT): Gettextizze.
24660 * commands/search.c: Include `<grub/i18n.h>'.
24661 (options): Gettextizze.
24662 (GRUB_MOD_INIT): Gettextizze.
24663 * lib/arg.c: Include `<grub/i18n.h>'.
24664 (help_options): Gettextizze.
24665 (find_long): Likewise.
24666 (grub_arg_show_help): Likewise.
24667 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24668 (read_command_list): Gettextizze.
24669 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
24670 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
24671
24672 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24673
24674 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24675 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24676 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24677 (led_status): New variable.
24678 (keyboard_controller_led): New function.
24679 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24680 update led status for caps lock, num lock and scroll lock.
24681
24682 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
24683
24684 * util/hostdisk.c (open_device): Fix a comment.
24685
24686 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24687
24688 * util/grub-install.in (host_os): New variable.
24689 * util/i386/efi/grub-install.in (host_os): Likewise.
24690
24691 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24692
24693 * util/mkisofs/write.c (padblock_write): Abort when given an
24694 excedingly large embed image, instead of silently truncating it.
24695
24696 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24697
24698 * include/multiboot.h: Indentation fixes.
24699
24700 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24701
24702 * include/multiboot.h (struct multiboot_aout_symbol_table)
24703 (struct multiboot_elf_section_header_table): New structure
24704 declarations (stolen from GRUB Legacy).
24705 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24706 table information.
24707
24708 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24709 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24710 type aliases.
24711
24712 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24713
24714 * include/multiboot.h: Make comments src2texi-friendly.
24715
24716 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24717
24718 For consistency with [multiboot]/docs/boot.S.
24719
24720 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24721 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24722 (MULTIBOOT_MAGIC2): Rename from this ...
24723 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24724
24725 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24726
24727 * include/multiboot.h: Remove `<grub/types.h>'.
24728 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24729 types. Update all users.
24730
24731 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24732
24733 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24734 `couldn't' and `can not' by `cannot'.
24735 * commands/i386/pc/drivemap.c: Likewise.
24736 * disk/ata.c: Likewise.
24737 * disk/ieee1275/nand.c: Likewise.
24738 * fs/affs.c: Likewise.
24739 * fs/fat.c: Likewise.
24740 * fs/hfs.c: Likewise.
24741 * fs/hfsplus.c: Likewise.
24742 * fs/iso9660.c: Likewise.
24743 * fs/jfs.c: Likewise.
24744 * fs/minix.c: Likewise.
24745 * fs/reiserfs.c: Likewise.
24746 * fs/sfs.c: Likewise.
24747 * fs/udf.c: Likewise.
24748 * fs/ufs.c: Likewise.
24749 * fs/xfs.c: Likewise.
24750 * loader/powerpc/ieee1275/linux.c: Likewise.
24751 * loader/sparc64/ieee1275/linux.c: Likewise.
24752 * util/grub-probe.c: Likewise.
24753 * util/misc.c: Likewise.
24754
24755 2009-12-24 Carles Pina i Estany <carles@pina.cat>
24756
24757 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24758 grub_errno calls.
24759 * commands/acpi.c: Likewise.
24760 * commands/blocklist.c: Likewise.
24761 * commands/efi/loadbios.c: Likewise.
24762 * commands/i386/pc/drivemap.c: Likewise.
24763 * commands/loadenv.c: Likewise.
24764 * commands/memrw.c: Likewise.
24765 * commands/password.c: Likewise.
24766 * commands/videotest.c: Likewise.
24767 * disk/ata.c: Likewise.
24768 * disk/ata_pthru.c: Likewise.
24769 * disk/dmraid_nvidia.c: Likewise.
24770 * disk/ieee1275/nand.c: Likewise.
24771 * disk/ieee1275/ofdisk.c: Likewise.
24772 * disk/loopback.c: Likewise.
24773 * disk/lvm.c: Likewise.
24774 * disk/mdraid_linux.c: Likewise.
24775 * disk/raid.c: Likewise.
24776 * disk/raid6_recover.c: Likewise.
24777 * disk/scsi.c: Likewise.
24778 * efiemu/main.c: Likewise.
24779 * efiemu/mm.c: Likewise.
24780 * efiemu/pnvram.c: Likewise.
24781 * efiemu/symbols.c: Likewise.
24782 * font/font.c: Likewise.
24783 * fs/cpio.c: Likewise.
24784 * fs/hfsplus.c: Likewise.
24785 * fs/iso9660.c: Likewise.
24786 * fs/jfs.c: Likewise.
24787 * fs/minix.c: Likewise.
24788 * fs/ntfs.c: Likewise.
24789 * fs/ntfscomp.c: Likewise.
24790 * fs/reiserfs.c: Likewise.
24791 * fs/ufs.c: Likewise.
24792 * fs/xfs.c: Likewise.
24793 * gettext/gettext.c: Likewise.
24794 * include/grub/auth.h: Likewise.
24795 * kern/elf.c: Likewise.
24796 * kern/file.c: Likewise.
24797 * kern/ieee1275/init.c: Likewise.
24798 * kern/ieee1275/mmap.c: Likewise.
24799 * kern/ieee1275/openfw.c: Likewise.
24800 * kern/powerpc/dl.c: Likewise.
24801 * kern/sparc64/dl.c: Likewise.
24802 * lib/arg.c: Likewise.
24803 * loader/i386/bsd.c: Likewise.
24804 * loader/i386/bsdXX.c: Likewise.
24805 * loader/i386/efi/linux.c: Likewise.
24806 * loader/i386/efi/xnu.c: Likewise.
24807 * loader/i386/ieee1275/linux.c: Likewise.
24808 * loader/i386/linux.c: Likewise.
24809 * loader/i386/multiboot.c: Likewise.
24810 * loader/i386/pc/linux.c: Likewise.
24811 * loader/i386/pc/multiboot2.c: Likewise.
24812 * loader/i386/xnu.c: Likewise.
24813 * loader/ieee1275/multiboot2.c: Likewise.
24814 * loader/macho.c: Likewise.
24815 * loader/machoXX.c: Likewise.
24816 * loader/multiboot2.c: Likewise.
24817 * loader/multiboot_loader.c: Likewise.
24818 * loader/powerpc/ieee1275/linux.c: Likewise.
24819 * loader/sparc64/ieee1275/linux.c: Likewise.
24820 * loader/xnu.c: Likewise.
24821 * loader/xnu_resume.c: Likewise.
24822 * mmap/i386/pc/mmap.c: Likewise.
24823 * normal/menu_viewer.c: Likewise.
24824 * partmap/acorn.c: Likewise.
24825 * partmap/amiga.c: Likewise.
24826 * partmap/apple.c: Likewise.
24827 * script/lexer.c: Likewise.
24828 * term/gfxterm.c: Likewise.
24829 * term/i386/pc/serial.c: Likewise.
24830 * term/i386/pc/vga.c: Likewise.
24831 * term/ieee1275/ofconsole.c: Likewise.
24832 * term/terminfo.c: Likewise.
24833 * video/bitmap.c: Likewise.
24834 * video/efi_gop.c: Likewise.
24835 * video/efi_uga.c: Likewise.
24836 * video/fb/video_fb.c: Likewise.
24837 * video/i386/pc/vbe.c: Likewise.
24838 * video/readers/tga.c: Likewise.
24839 * video/video.c: Likewise.
24840
24841 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
24842
24843 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24844 * commands/lspci.c: Likewise.
24845 * commands/probe.c: Likewise.
24846 * commands/xnu_uuid.c: Likewise.
24847 * conf/i386-coreboot.rmk: Likewise.
24848 * conf/i386-efi.rmk: Likewise.
24849 * conf/i386-ieee1275.rmk: Likewise.
24850 * conf/i386-pc.rmk: Likewise.
24851 * conf/powerpc-ieee1275.rmk: Likewise.
24852 * conf/sparc64-ieee1275.rmk: Likewise.
24853 * conf/x86_64-efi.rmk: Likewise.
24854 * fs/i386/pc/pxe.c: Likewise.
24855 * gettext/gettext.c: Likewise.
24856 * include/grub/efi/graphics_output.h: Likewise.
24857 * include/grub/i386/pc/memory.h: Likewise.
24858 * kern/env.c: Likewise.
24859 * kern/i386/qemu/startup.S: Likewise.
24860 * lib/i386/pc/biosnum.c: Likewise.
24861 * lib/i386/relocator.c: Likewise.
24862 * lib/i386/relocator_asm.S: Likewise.
24863 * lib/relocator.c: Likewise.
24864 * loader/i386/bsd.c: Likewise.
24865 * loader/i386/multiboot.c: Likewise.
24866 * loader/i386/pc/chainloader.c: Likewise.
24867 * loader/i386/xnu.c: Likewise.
24868 * loader/xnu.c: Likewise.
24869 * normal/main.c: Likewise.
24870 * normal/menu_text.c: Likewise.
24871 * util/getroot.c: Likewise.
24872 * util/grub-mkconfig_lib.in: Likewise.
24873 * util/grub.d/00_header.in: Likewise.
24874 * util/i386/pc/grub-mkimage.c: Likewise.
24875 * util/mkisofs/eltorito.c: Likewise.
24876 * util/mkisofs/exclude.h: Likewise.
24877 * util/mkisofs/hash.c: Likewise.
24878 * util/mkisofs/iso9660.h: Likewise.
24879 * util/mkisofs/joliet.c: Likewise.
24880 * util/mkisofs/mkisofs.c: Likewise.
24881 * util/mkisofs/mkisofs.h: Likewise.
24882 * util/mkisofs/multi.c: Likewise.
24883 * util/mkisofs/name.c: Likewise.
24884 * util/mkisofs/rock.c: Likewise.
24885 * util/mkisofs/tree.c: Likewise.
24886 * util/mkisofs/write.c: Likewise.
24887 * video/efi_gop.c: Likewise.
24888
24889 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24890
24891 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24892 size counting.
24893
24894 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24895
24896 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24897 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24898
24899 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24902 (GRUB_MOD_INIT(memrw)): Update help line.
24903
24904 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24905
24906 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24907 Use grub_extcmd_t. All users updated.
24908 (options): New variable.
24909 (grub_cmd_read): Restructure for readability. Support "-v" option.
24910 (grub_cmd_write): Restructure for readability.
24911
24912 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24913
24914 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24915
24916 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24917
24918 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24919 with the actual contents of the correspondending make variable.
24920 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24921 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24922 specifying `*.lst' and `efiemu??.o'
24923
24924 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24925
24926 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24927 after function name.
24928 Noticed by Rene Engelhard <rene@debian.org>.
24929
24930 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24931
24932 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24933 (options): New variable.
24934 (iospace): Likewise.
24935 (grub_lspci_iter): List IO spaces if "-i" was given.
24936 (grub_cmd_lspci): Parse options.
24937 (GRUB_MOD_INIT(lspci)): Use extcmd.
24938 (GRUB_MOD_FINI(lspci)): Likewise.
24939
24940 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24941
24942 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24943 `function' keyword.
24944 Patch by Tony Mancill <tmancill@debian.org>.
24945
24946 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24947
24948 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24949 (grub_uhci_portstatus): Likewise.
24950 (grub_uhci_portstatus): Add necessary delay.
24951 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24952
24953 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24954
24955 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24956 (GRUB_MOD_INIT): Likewise.
24957 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24958 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24959 * commands/echo.c (options): Fix capitalizations and/or full stops.
24960 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24961 (enable_rom_area): Likewise.
24962 (GRUB_MOD_INIT): Likewise.
24963 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24964 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24965 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24966 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24967 * commands/hexdump.c (options): Likewise.
24968 * commands/i386/cpuid.c (options): Likewise.
24969 (GRUB_MOD_INIT): Likewise.
24970 * commands/i386/pc/drivemap.c (options): Likewise.
24971 (GRUB_MOD_INIT): Likewise.
24972 * commands/i386/pc/halt (options): Likewise.
24973 (GRUB_MOD_INIT): Likewise.
24974 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24975 * commands/i386/pc/pxecmd.c (options): Likewise.
24976 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24977 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24978 * commands/keystatus.c (options): Likewise.
24979 (GRUB_MOD_INIT): Likewise.
24980 * commands/loadenv.c (options): Likewise.
24981 * commands/ls.c (options): Likewise.
24982 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24983 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24984 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24985 * commands/parttool.c (helpmsg): Likewise.
24986 * commands/probe.c (options): Likewise.
24987 * commands/read.c (GRUB_MOD_INIT): Likewise.
24988 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24989 * commands/search.c (options): Likewise.
24990 * commands/sleep.c (options): Likewise.
24991 * commands/test.c (GRUB_MOD_INIT): Likewise.
24992 * commands/true.c (GRUB_MOD_INIT): Likewise.
24993 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24994 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24995 * lib/arg.c (help_options): Likewise.
24996 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24997 `$(XGETTEXT)'.
24998 * po/POTFILES: Add `commands/loadenv.c'.
24999
25000 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
25001
25002 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
25003 instead of specifying them explicit.
25004
25005 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25006
25007 * NEWS: Add grub-probe support for GNU/Hurd.
25008
25009 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25010
25011 * NEWS: gettext was added after 1.97.
25012
25013 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25014
25015 * util/mkisofs/msdos_partition.h: New file (based on
25016 include/grub/msdos_partition.h).
25017 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25018 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25019 (ld_options, main): Recognize --protective-msdos-label.
25020 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25021 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25022 (padblock_write): If `use_protective_msdos_label' is set, patch a
25023 protective DOS-style label in the output image.
25024
25025 * util/grub-mkrescue.in: Use --protective-msdos-label.
25026
25027 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25028
25029 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25030 boot.
25031
25032 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25033
25034 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25035 variables.
25036 (ld_options, main): Recognize `--embedded-boot'.
25037 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25038 declarations.
25039 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25040 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25041 (padblock_write): Likewise. Rewrite to support embedded boot image.
25042
25043 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25044 for BIOS-based disk boot instead of only ElTorito.
25045
25046 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25047
25048 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25049 build (not needed for bootstrap).
25050
25051 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25052
25053 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25054 from i386-pc build (not needed for bootstrap).
25055 Rewrite a pair of strings.
25056
25057 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25058
25059 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25060
25061 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
25062
25063 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25064
25065 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25066
25067 * kern/env.c (grub_env_context_open): Mark exported variable for
25068 reexport.
25069
25070 2009-12-21 Andreas Born <futur.andy@googlemail.com>
25071
25072 * kern/env.c (grub_env_export): Create nonexistent variables before
25073 exporting.
25074
25075 2009-12-20 Carles Pina i Estany <carles@pina.cat>
25076
25077 * include/grub/auth.h: Include `<grub/i18n.h>'.
25078 (GRUB_GET_PASSWORD): Gettextizze string.
25079 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25080 menu_text.c.
25081 (grub_utf8_to_ucs4_alloc): Fix indentation.
25082 (grub_print_ucs4): Likewise.
25083 (grub_getstringwidth): Likewise.
25084 (print_message_indented): New declaration.
25085 * normal/auth.c: Include `<grub/i18n.h>'.
25086 (grub_auth_check_authentication): Gettexttize string.
25087 * normal/cmdline.c: Include `<grub/i18n.h>'.
25088 (grub_cmdline_get): Gettextizze.
25089 * normal/color.c: Include `<grub/i18n.h>'.
25090 (grub_parse_color_name_pair): Gettexttize strings.
25091 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25092 string (use `print_message_indented').
25093 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25094 `include/grub/normal.h'.
25095 (print_message_indented): Renamed to ...
25096 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25097 used in normal/main.c).
25098 (print_message): Use `grub_print_message_indented' instead of
25099 `print_message_indented'.
25100 (print_timeout): Likewise.
25101 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25102 (grub_normal_print_device_info): Gettexttize strings.
25103 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25104
25105 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25106
25107 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25108 of arguments. Return number of tokens and not arguments. All users
25109 updated.
25110
25111 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25112
25113 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25114 non-MSDOS paritions.
25115
25116 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25117
25118 * include/grub/types.h (UNUSED): Removed since it conflicts with
25119 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25120 Reported by Grégoire Sutre.
25121
25122 2009-12-19 Carles Pina i Estany <carles@pina.cat>
25123
25124 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25125 (grub_print_ucs4_alloc): Likewise.
25126 (grub_getstringwidth): Likewise.
25127 * normal/main.c (grub_normal_init_page): Gettextize version string.
25128 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25129 (getstringwidth): Renamed to ...
25130 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25131 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25132 (grub_print_ucs4): Remove `static' qualifer (now used in
25133 normal/main.c).
25134 * po/POTFILES: Add normal/main.c.
25135
25136 2009-12-19 Carles Pina i Estany <carles@pina.cat>
25137
25138 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25139 (print_message_indented): Add `margin_left' and `margin_right'
25140 parameters.
25141 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25142 strings.
25143 (print_timeout): Use `print_message_indented' to print the message.
25144 Deletes `second_stage' parameter.
25145 (run_menu): Update `print_timeout' calls.
25146
25147 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25148
25149 Fix console palette on OpenFirmware.
25150
25151 * term/ieee1275/ofconsole.c (MAX): Removed.
25152 (colors): Redone based on VGA palette.
25153 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25154 colors are supported.
25155 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25156
25157 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25158
25159 Fix potential EfiEmu double prepare.
25160
25161 * efiemu/main.c (prepared): New variable
25162 (grub_efiemu_unload): Set prepare to '0'.
25163 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25164
25165 set_virtual_address_map support.
25166
25167 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25168 prototype.
25169 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25170 prototype.
25171 (grub_efiemu_crc32): Likewise.
25172 (grub_efiemu_crc64): Likewise.
25173 (grub_efiemu_set_virtual_address_map): Likewise.
25174 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25175 New definition.
25176 (grub_autoefi_set_virtual_address_map): Likewise.
25177 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25178 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25179 Restructure flow to accomodate it.
25180 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25181 (grub_efiemu_crc): Recompute CRC32.
25182 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25183 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25184 * efiemu/symbols.c (relocated_handle): New variable.
25185 (grub_efiemu_free_syms): Free relocated_handle.
25186 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25187 (grub_efiemu_write_sym_markers): New function.
25188 (grub_efiemu_set_virtual_address_map): Likewise.
25189
25190 Newer XNU parameters.
25191
25192 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25193 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25194 (grub_xnu_fill_devicetree): New prototype.
25195 (grub_xnu_heap_real_start): New variable.
25196 * loader/xnu.c (get_name_ptr): New function.
25197 (grub_xnu_load_driver): Fill namelen and name.
25198
25199 64-bit xnu support.
25200
25201 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25202 and 'loader/macho64.c'.
25203 * conf/i386-pc.rmk: Likewise.
25204 * conf/x86_64-efi.rmk: Likewise.
25205 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25206 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25207 * include/grub/macho.h (grub_macho_segment64): New structure.
25208 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25209 (grub_macho_size32): ... to this.
25210 (grub_macho32_get_entry_point): Renamed from ...
25211 (grub_macho_get_entry_point32): ... to this.
25212 (grub_macho_contains_macho64): New prototype.
25213 (grub_macho_size64): Likewise.
25214 (grub_macho_get_entry_point64): Likewise.
25215 (grub_macho32_load): Renamed from ...
25216 (grub_macho_load32): ... to this.
25217 (grub_macho32_filesize): Renamed from ...
25218 (grub_macho_filesize32): ... to this.
25219 (grub_macho32_readfile): Renamed from ...
25220 (grub_macho_readfile32): ... to this.
25221 (grub_macho_filesize64): New prototype.
25222 (grub_macho_readfile64): Likewise.
25223 (grub_macho_parse32): Likewise.
25224 (grub_macho_parse64): Likewise.
25225 * loader/macho.c: Split into ...
25226 * loader/machoXX.c: ... and this. Replace 32 with XX.
25227 * loader/macho32.c: New file.
25228 * loader/macho64.c: Likewise.
25229 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25230 (grub_cmd_xnu_kernel): Make 32-bit only.
25231 (grub_cmd_xnu_kernel64): New function.
25232 (grub_xnu_load_driver): Support Mach-O 64.
25233 (grub_cmd_xnu_mkext): Likewise.
25234 * util/grub.d/30_os-prober.in (osx_entry): New function.
25235 Generate entries for 64-bit boot too.
25236
25237 Eliminate ad-hoc tree format in XNU and EfiEmu.
25238
25239 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25240 * efiemu/pnvram.c: Rewritten to use environment variables.
25241 All users updated.
25242
25243 Inline utf16_to_utf8.
25244
25245 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25246 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25247 All users updated.
25248 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25249
25250 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25251 * commands/usbtest.c (grub_usb_get_string): ... move here.
25252 (usb_print_str): Fix error handling.
25253 * include/grub/usb.h (grub_usb_get_string): Remove.
25254
25255 UTF-8 to UTF-16 transformation.
25256
25257 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25258 (charset_mod_SOURCES): New variable.
25259 (charset_mod_CFLAGS): Likewise.
25260 (charset_mod_LDFLAGS): Likewise.
25261 * include/grub/utf.h: New file.
25262 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25263
25264 Support for device properties.
25265
25266 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25267 (grub_xnu_devprop_device_header): Likewise.
25268 (grub_xnu_devprop_device_descriptor): Likewise.
25269 (grub_xnu_devprop_add_device): New prototype.
25270 (grub_xnu_devprop_remove_device): Likewise.
25271 (grub_xnu_devprop_remove_property): Likewise.
25272 (grub_xnu_devprop_add_property_utf8): Likewise.
25273 (grub_xnu_devprop_add_property_utf16): Likewise.
25274 (grub_cpu_xnu_init): Likewise.
25275 (grub_cpu_xnu_fini): Likewise.
25276 (grub_cpu_xnu_unload): Likewise.
25277 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25278 (property_descriptor): Likewise.
25279 (devices): New variable.
25280 (grub_xnu_devprop_remove_property): New function.
25281 (grub_xnu_devprop_add_device): Likewise.
25282 (grub_xnu_devprop_remove_device): Likewise.
25283 (grub_xnu_devprop_add_property): Likewise.
25284 (grub_xnu_devprop_add_property_utf8): Likewise.
25285 (grub_xnu_devprop_add_property_utf16): Likewise.
25286 (hextoval): Likewise.
25287 (grub_cpu_xnu_fill_devprop): Likewise.
25288 (grub_cmd_devprop_load): Likewise.
25289 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25290 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25291 (cmd_devprop_load): New variable.
25292 (grub_cpu_xnu_init): New function.
25293 (grub_cpu_xnu_fini): Likewise.
25294 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25295 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25296 (grub_cmd_xnu_devtree): Likewise.
25297 (hextoval): New function.
25298 (unescape): Likewise.
25299 (grub_xnu_fill_devicetree): Likewise.
25300
25301 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25302 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25303
25304 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25305
25306 Workaround for broken ATI VBE.
25307
25308 * video/i386/pc/vbe.c (last_set_mode): New variable.
25309 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25310 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25311 (grub_video_vbe_setup): Don't check for reserved flag.
25312
25313 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
25314
25315 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25316 the `find' command.
25317
25318 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25319
25320 UUID support for HFS.
25321
25322 * fs/hfs.c (grub_hfs_uuid): New function.
25323 (grub_hfs_fs): New value .uuid.
25324 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25325
25326 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
25327
25328 Fix a segfault with parsing unknown long options.
25329
25330 * util/grub-mkrelpath.c (options): Zero terminate it.
25331
25332 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25333
25334 * include/grub/misc.h (grub_puts): New declaration.
25335 (grub_puts_): Likewise.
25336 * kern/misc.c (grub_puts): New definition.
25337 (grub_puts_): Likewise.
25338
25339 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25340
25341 * util/grub-probe.c (probe): Improve error message.
25342
25343 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25344
25345 * loader/i386/multiboot_elfxx.c
25346 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25347 initialization.
25348
25349 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25350
25351 Relocator framework
25352
25353 * loader/i386/xnu_helper.S: Removed. All users updated.
25354 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25355 (relocator_mod_SOURCES): New variable.
25356 (relocator_mod_CFLAGS): Likewise.
25357 (relocator_mod_LDFLAGS): Likewise.
25358 (relocator_mod_ASFLAGS): Likewise.
25359 * conf/x86_64.rmk: Likewise.
25360 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25361 (grub_multiboot_payload_entry_offset): Likewise.
25362 (grub_multiboot_forward_relocator): Likewise.
25363 (grub_multiboot_forward_relocator_end): Likewise.
25364 (grub_multiboot_backward_relocator): Likewise.
25365 (grub_multiboot_backward_relocator_end): Likewise.
25366 (grub_multiboot_payload_eip): New variable.
25367 (grub_multiboot_payload_orig): Likewise.
25368 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25369 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25370 * include/grub/i386/memory.h
25371 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25372 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25373 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25374 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25375 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25376 * include/grub/i386/relocator.h: New file.
25377 * include/grub/x86_64/relocator.h: Likewise.
25378 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25379 (XNU_RELOCATOR): New macro.
25380 (grub_xnu_launcher_start): Remove.
25381 (grub_xnu_launcher_end): Likewise.
25382 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25383 (grub_xnu_heap_real_start): Remove.
25384 (grub_xnu_heap_start): Change to void *. All users updated.
25385 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25386 * lib/i386/relocator.c: New file.
25387 * lib/i386/relocator_asm.S: Likewise.
25388 * lib/i386/relocator_backward.S: Likewise.
25389 * lib/mips/relocator.c: Likewise.
25390 * lib/mips/relocator_asm.S: Likewise.
25391 * lib/relocator.c: Likewise.
25392 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25393 (entry): Removed.
25394 (playground): Likewise.
25395 (grub_multiboot_payload_orig): New variable.
25396 (grub_multiboot_payload_dest): Likewise.
25397 (grub_multiboot_payload_size): Likewise.
25398 (grub_multiboot_payload_eip): Likewise.
25399 (grub_multiboot_payload_esp): Likewise.
25400 (grub_multiboot_boot): Use grub_relocator32_boot.
25401 (grub_multiboot_unload): Free relocators.
25402 (grub_multiboot): Setup stack. Use relocators.
25403 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25404 (grub_multiboot_load_elfXX): Use relocators.
25405 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25406 (grub_multiboot_payload_size): Likewise.
25407 (grub_multiboot_payload_dest): Likewise.
25408 (grub_multiboot_payload_entry_offset): Likewise.
25409 (grub_multiboot_forward_relocator): Likewise.
25410 (grub_multiboot_backward_relocator): Likewise.
25411 (grub_multiboot_real_boot): Likewise.
25412 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25413 (grub_xnu_entry_point): Likewise.
25414 (grub_xnu_arg1): Likewise.
25415 (grub_xnu_stack): Likewise.
25416 (grub_xnu_launch): Removed.
25417 (grub_xnu_boot_resume): New function.
25418 (grub_xnu_boot): Use relocators.
25419 * loader/i386/xnu_helper.S: Removed.
25420 * loader/xnu.c (grub_xnu_heap_start): New variable.
25421 (grub_xnu_heap_size): Likewise.
25422 (grub_xnu_heap_malloc): Use relocators.
25423 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25424
25425 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25428 anything.
25429
25430 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25431
25432 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25433 GRUB_ERR_NONE before calling grub_env_set.
25434
25435 2009-12-12 Robert Millan <rmh@aybabtu.com>
25436
25437 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25438 * genmk.rb (video): New variable.
25439 (CLEANFILES, VIDEOFILES): Add #{video}.
25440 (#{video}): New target rule.
25441 * genvideolist.sh: New file.
25442 * Makefile.in (pkglib_DATA): Add video.lst.
25443 (video.lst): New target rule.
25444 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25445 `video.lst'.
25446 * util/grub.d/30_os-prober.in: Replace `vbe' with
25447 ${GRUB_VIDEO_BACKEND}.
25448
25449 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25450
25451 * THANKS: Add David Miller.
25452
25453 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25454
25455 libpciaccess support.
25456
25457 * Makefile.in (LIBPCIACCESS): New variable.
25458 (enable_grub_emu_pci): Likewise.
25459 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25460 util/pci.c and commands/lspci.c.
25461 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25462 * configure.ac (grub-emu-pci): New option.
25463 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25464 (grub_pci_device_unmap_range): Likewise.
25465 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25466 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25467 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25468 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25469 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25470 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25471 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25472 * include/grub/pciutils.h: New file.
25473 * util/pci.c: Likewise.
25474
25475 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25476
25477 * util/misc.c: Don't include <errno.h> twice.
25478
25479 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25480
25481 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25482 name in an error message.
25483 (grub_biosdisk_rw): Likewise.
25484
25485 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25486
25487 Eliminate NTFS 4Gib barrier.
25488
25489 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25490 (read_run_data): Likewise.
25491 (grub_ntfs_read_run_list): Likewise.
25492 (grub_ntfs_read_block): Likewise.
25493 (grub_ntfs_iterate_dir): Likewise.
25494 (read_mft): Likewise.
25495 (read_data): Likewise.
25496 Use COM_LOG_LEN.
25497 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25498 to avoid 64-bit division
25499 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25500 (grub_ntfs_rlst): Use grub_disk_addr_t.
25501
25502 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 Eliminate grub-fstest 4Gib barrier.
25505
25506 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25507 (read_file): Fix error reporting.
25508
25509 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25510
25511 Eliminate hexdump 4Gib barrier.
25512
25513 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25514 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25515
25516 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25517
25518 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25519 Fixes amarsh bug.
25520
25521 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25522
25523 Remove miscellaneous files in distclean target.
25524
25525 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25526
25527 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25528
25529 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25530 if they're already set. This resolves the conflict between my
25531 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25532 fixing the --grub-probe option again.
25533 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25534 change on 2009-10-06, so that we now once again source
25535 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25536
25537 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25538
25539 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25540 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25541 `util/devicemap.c'.
25542
25543 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25544
25545 * include/grub/misc.h (grub_printf_): New declaration.
25546 * kern/misc.c (grub_printf_): New definition.
25547 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25548 instead of `grub_printf' and `_'.
25549 * normal/menu_entry.c (store_completion): Likewise.
25550 (run): Likewise.
25551 (grub_menu_entry_run): Likewise.
25552 * normal/menu_text.c (grub_wait_after_message): Likewise.
25553 (notify_booting): Likewise.
25554 (notify_fallback): Likewise.
25555 (notify_execution_failure): Likewise.
25556
25557 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25558
25559 * configure.ac: Check for vasprintf.
25560 * util/misc.c (asprintf): Move allocation from here ...
25561 (vasprintf): ... to here. New function.
25562 (xasprintf): New function.
25563 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25564 prototypes.
25565 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25566 * util/grub-mkfont.c (write_font): Likewise.
25567 * util/grub-probe.c (probe): Likewise.
25568 * util/hostdisk.c (make_device_name): Likewise.
25569
25570 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25571
25572 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25573 anything even prefixed with 'cdrom' as a cdrom.
25574
25575 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25576
25577 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25578 mount points.
25579
25580 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25581
25582 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25583 grub_gettext_msg_list.
25584 (grub_gettext_gettranslation_from_position): Return const char *
25585 and not char *.
25586 (grub_gettext_translate): Add the translated strings into a list,
25587 returns from the list if existing there.
25588 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25589 (grub_gettext_delete_list): Delete the list.
25590 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25591 lang environment variable is changed.
25592 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25593
25594 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25595
25596 Rename kernel.mod to kernel.img.
25597
25598 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25599 (kernel_mod_EXPORTS): Rename to ...
25600 (kernel_img_EXPORTS): ... this.
25601 (kernel_mod_SOURCES): Rename to ...
25602 (kernel_img_SOURCES): ... this.
25603 (kernel_mod_HEADERS): Rename to ...
25604 (kernel_img_HEADERS): ... this. All users updated.
25605 (kernel_mod_CFLAGS): Rename to ...
25606 (kernel_img_CFLAGS): ... this.
25607 (kernel_mod_ASFLAGS): Rename to ...
25608 (kernel_img_ASFLAGS): ... this.
25609 (kernel_mod_LDFLAGS): Rename to ...
25610 (kernel_img_LDFLAGS): ... this.
25611 * conf/x86_64-efi.rmk: Likewise.
25612 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25613 (read_kernel_image): ... this. All users updated.
25614 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25615
25616 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25617
25618 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25619 (print_spaces): New function.
25620 (grub_print_ucs4): New function.
25621 (getstringwidth): New function.
25622 (print_message_indented): New function.
25623 (print_message): Gettexttize strings using print_message_indented.
25624 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25625 width.
25626 (get_entry_number): Gettextize and uses dynamic terminal width.
25627 (notify_booting, notify_fallback, notify_execution_failure):
25628 Gettextize.
25629 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25630 string.
25631 (run): Likewise.
25632 (grub_menu_entry_run): Likewise.
25633 * PO/POTFILES: Add normal/menu_entry.c.
25634
25635 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25636
25637 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25638
25639 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25640
25641 * util/grub-install.in: Install gettext .mo files.
25642 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25643
25644 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25645
25646 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25647 grub_dprintf.
25648
25649 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25650
25651 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25652 non-firmware-dependant one in realmode.S takes precedence.
25653
25654 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25655
25656 * commands/halt.c: Replace misc arch-specific headers with
25657 `<grub/misc.h>'.
25658 * commands/reboot.c: Likewise.
25659 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25660 `<grub/misc.h>'.
25661 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25662 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25663 (kernel_img_SOURCES): ... to here.
25664
25665 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25666 * include/grub/i386/pc/init.h: Likewise.
25667 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25668 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25669
25670 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25671
25672 * include/grub/i386/halt.h: Remove.
25673 * include/grub/i386/reboot.h: Likewise.
25674
25675 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25676
25677 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
25678
25679 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25680 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25681 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25682 "progname.h"
25683 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25684 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25685 (usage): Add missing comma in printf.
25686
25687 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25688
25689 Use the same reboot approach on i386 coreboot and qemu as we do on
25690 BIOS.
25691
25692 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25693 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25694 * kern/i386/reboot.c: Remove.
25695 * include/grub/i386/reboot.h (grub_reboot): Export function.
25696 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25697 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25698 0xf000:0xfff0 instead of 0xffff:0x0000.
25699 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25700 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25701
25702 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25703
25704 Fix $srcdir != $objdir build.
25705
25706 * Makefile.in (po/%.po): Rewrite as ...
25707 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25708
25709 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25710
25711 Fix GNU/Hurd grub-install crash.
25712 * util/grub-probe.c (probe): Try to access `path' only when it is not
25713 NULL.
25714
25715 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25716
25717 Correct module naming.
25718
25719 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25720 (GRUB_MOD_INIT(efi_uga)): ... to this
25721 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25722 (GRUB_MOD_FINI(efi_uga)): ... to this
25723 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25724 (GRUB_MOD_INIT(efi_gop)): ... to this
25725 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25726 (GRUB_MOD_FINI(efi_gop)): ... to this
25727
25728 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25729
25730 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25731 translatable.
25732 (usage): Translate `arg' strings using gettext().
25733 Thanks to Jordi Mallach for the suggestion.
25734
25735 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25736
25737 GOP support. Based on patch from Bean
25738 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25739
25740 * video/efi_gop.c: New file.
25741 * include/grub/efi/graphics_output.h: Likewise.
25742 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25743 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25744 variables.
25745 * conf/x86_64-efi.rmk: Likewise.
25746
25747 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25748
25749 Rename efi_fb to efi_uga.
25750
25751 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25752 'efi_uga.mod'.
25753 (efi_fb_mod_SOURCES): Rename this ...
25754 (efi_uga_mod_SOURCES): ... to this.
25755 (efi_fb_mod_CFLAGS): Rename this ...
25756 (efi_uga_mod_CFLAGS): ... to this.
25757 (efi_fb_mod_LDFLAGS): Rename this ...
25758 (efi_uga_mod_LDFLAGS): ... to this.
25759 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25760 'efi_uga.mod'.
25761 (efi_fb_mod_SOURCES): Rename this ...
25762 (efi_uga_mod_SOURCES): ... to this.
25763 (efi_fb_mod_CFLAGS): Rename this ...
25764 (efi_uga_mod_CFLAGS): ... to this.
25765 (efi_fb_mod_LDFLAGS): Rename this ...
25766 (efi_uga_mod_LDFLAGS): ... to this.
25767 * video/efi_fb.c: Move this ...
25768 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25769
25770 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25771
25772 * po/README: New file. Explain our PO file workflow.
25773
25774 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25775
25776 * po/ChangeLog: Remove. Move relevant entries back to ...
25777 * ChangeLog: ... here.
25778 * po/ca.po: Remove (now handled by TLP).
25779 * po/id.po: Likewise.
25780 * po/zh_CN.po: Likewise.
25781 * Makefile.in (LINGUAS): Initialize in a way that supports
25782 empty set.
25783
25784 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25785
25786 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25787 reliing on po/LINGUAS.
25788 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25789 (po/%.po): ... this.
25790
25791 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25792
25793 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25794 (main): Use `program_name' instead of nonexistent `progname'.
25795
25796 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25797
25798 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25799 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25800
25801 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25802
25803 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25804 commit.
25805 * conf/i386-efi.rmk: Likewise.
25806 * conf/i386-ieee1275.rmk: Likewise.
25807 * conf/powerpc-ieee1275.rmk: Likewise.
25808 * conf/sparc64-ieee1275.rmk: Likewise.
25809 * conf/x86_64-efi.rmk: Likewise.
25810
25811 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25812
25813 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25814
25815 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25816
25817 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25818
25819 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25820
25821 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25822 (grub_mkdevicemap_SOURCES): New variable.
25823 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25824 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25825 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25826 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25827 (grub_mkdevicemap_SOURCES): Remove.
25828 * conf/i386-efi.rmk: Likewise.
25829 * conf/i386-ieee1275.rmk: Likewise.
25830 * conf/i386-pc.rmk: Likewise.
25831 * conf/powerpc-ieee1275.rmk: Likewise.
25832 * conf/sparc64-ieee1275.rmk: Likewise.
25833 * conf/x86_64-efi.rmk: Likewise.
25834 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25835 (usage): Fix strings to use `program_name'.
25836 (main): Initialize gettext.
25837 * util/grub-editenv.c: Likewise.
25838 * util/grub-emu.c: Likewise.
25839 * util/grub-fstest.c: Likewise.
25840 * util/grub-mkdevicemap.c: Likewise.
25841 * util/grub-mkfont.c: Likewise.
25842 * util/grub-mkrelpath.c: Likewise.
25843 * util/grub-pe2elf.c: Likewise.
25844 * util/grub-probe.c: Likewise.
25845 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25846 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25847 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25848
25849 * util/misc.c: Include `"progname.h"'.
25850 (progname): Remove variable.
25851 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25852
25853 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25854
25855 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25856 printf and print a newline after the menuentry header line.
25857 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25858
25859 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25860
25861 autoconf >= 2.60 support $(localedir).
25862
25863 * INSTALL: Note that autoconf 2.60 is required.
25864 * configure.ac (AC_PREREQ): Bump to 2.60.
25865 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25866 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25867
25868 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25869
25870 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25871 aclocal is run.
25872
25873 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25874
25875 * normal/main.c (grub_normal_read_line): Fix off-by-one
25876 buffer overflow.
25877
25878 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25879
25880 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25881 "parser.grub" in grub_command_execute() call.
25882
25883 2009-11-24 Carles Pina i Estany <carles@pina.cat>
25884
25885 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25886 * conf/i386-efi.rmk: Likewise.
25887 * conf/i386-ieee1275.rmk: Likewise.
25888 * conf/i386-pc.rmk: Likewise.
25889 * conf/powerpc-ieee1275.rmk: Likewise.
25890 * conf/sparc64-ieee1275.rmk: Likewise.
25891 * conf/x86_64-efi.rmk: Likewise.
25892 * gettext/gettex.c: Include <grub/i18n.h>.
25893 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25894 here ...
25895 * include/grub/i18n.h: ... to here
25896 * include/grub/i18n.h: ... to here.
25897 * kern/misc.c: Include <grub/i18n.h>
25898 (grub_gettext_dummy): Move above user.
25899
25900 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25901
25902 * util/Makefile.in (install-local): Convert a `for' into a normal
25903 shell expansion.
25904
25905 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25906
25907 * autogen.sh: Add automake call.
25908 * config.guess: Remove.
25909 * config.sub: Likewise.
25910 * install-sh: Likewise.
25911
25912 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25913
25914 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25915
25916 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25917
25918 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25919 function to a normal shell `for'.
25920
25921 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25922
25923 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25924
25925 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25926
25927 * util/grub-mkrelpath.c: New file.
25928 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25929 (grub_mkrelpath_SOURCES): New variable.
25930 * include/grub/util/misc.h: New function prototype.
25931 * util/misc.c (make_system_path_relative_to_its_root): New function.
25932
25933 * util/grub-mkconfig_lib.in (bindir): New variable.
25934 (grub_mkrelpath): Likewise.
25935 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25936
25937 * util/probe.c (probe): Make the file path relative to its root.
25938 Change a info message to use the GRUB path. Enable again the
25939 check if we can read the file with GRUB facilities.
25940
25941 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25942 to its root.
25943
25944 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25945
25946 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25947 platform.
25948
25949 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25950
25951 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25952 strncmp().
25953
25954 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25955
25956 * util/getroot.c (grub_util_is_dmraid): New function.
25957 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25958 devices as normal ones, not as LVM.
25959
25960 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25961
25962 * conf/common.rmk: Add grub-gettext_lib target and updates
25963 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25964 LDFLAGS.
25965 * gettext/gettext.c: New file. (Reads mo files).
25966 * include/grub/file.h (grub_file_pread): New prototype.
25967 * include/grub/i18n.h (_): New prototype.
25968 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25969 prototypes.
25970 * kern/misc.c (grub_gettext_dummy): New function.
25971 * normal/menu_text.c: Include <grub/i18n.h>.
25972 * normal/menu_text.c (print_timeout): Gettexttize string.
25973 * normal/menu_text.c (print_message): Gettexttize string.
25974 * po/POTFILES: Add `normal/menu_text.c'.
25975 * po/ca.po: Add new translations.
25976 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25977 gettext module and defines locale_dir and lang in grub.cfg.
25978 * NEWS: Add gettext support.
25979
25980 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25981
25982 * util/hostdisk.c: Include `<grub/i18n.h>'.
25983 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25984 (make_device_name): Rewrite using asprintf.
25985 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25986 (find_system_device): If a device is not found, generate one just
25987 by reusing the OS path name.
25988 (read_device_map): Make it permissible for device.map not to exist.
25989
25990 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25991
25992 * script/sh/execute.c: Move from here ...
25993 * script/execute.c: ... to here. Update all users.
25994 * script/sh/function.c: Move from here ...
25995 * script/function.c: ... to here. Update all users.
25996 * script/sh/lexer.c: Move from here ...
25997 * script/lexer.c: ... to here. Update all users.
25998 * script/sh/main.c: Move from here ...
25999 * script/main.c: ... to here. Update all users.
26000 * script/sh/parser.y: Move from here ...
26001 * script/parser.y: ... to here. Update all users.
26002 * script/sh/script.c: Move from here ...
26003 * script/script.c: ... to here. Update all users.
26004
26005 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26006
26007 * configure.ac: Detect all `emu' platforms. Define
26008 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26009 --enable-grub-emu logic. Disable include/grub/machine
26010 symlink on `emu' platforms.
26011
26012 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26013 * gensymlist.sh.in: Likewise.
26014
26015 * include/grub/i386/coreboot/machine.h: Remove file.
26016 * include/grub/i386/efi/machine.h: Likewise.
26017 * include/grub/i386/ieee1275/machine.h: Likewise.
26018 * include/grub/i386/pc/machine.h: Likewise.
26019 * include/grub/i386/qemu/machine.h: Likewise.
26020 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26021 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26022 * include/grub/x86_64/efi/machine.h: Likewise.
26023
26024 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26025 * commands/halt.c: Likewise.
26026 * commands/reboot.c: Likewise.
26027 * include/grub/autoefi.h: Likewise.
26028 * include/grub/i386/at_keyboard.h: Likewise.
26029 * include/grub/i386/kernel.h: Likewise.
26030 * include/grub/i386/loader.h: Likewise.
26031 * include/grub/i386/pc/memory.h: Likewise.
26032 * kern/dl.c: Likewise.
26033 * kern/i386/coreboot/init.c: Likewise.
26034 * loader/i386/bsd.c: Likewise.
26035 * loader/i386/linux.c: Likewise.
26036 * loader/multiboot_loader.c: Likewise.
26037 * term/i386/pc/serial.c: Likewise.
26038 * term/usb_keyboard.c: Likewise.
26039
26040 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26041 `<grub/machine/machine.h>'
26042 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26043 * util/misc.c: Remove `<grub/machine/machine.h>' and
26044 `<grub/machine/time.h>'.
26045
26046 * Makefile.in (enable_grub_emu): Remove variable.
26047 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26048
26049 * conf/any-emu.rmk: New file.
26050 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26051 (grub_emu_init.c): Move from here ...
26052 * conf/any-emu.rmk: ... to here.
26053
26054 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26055 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26056 * conf/any-emu.rmk: ... to here.
26057
26058 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26059
26060 * include/grub/parser.h (grub_parser_register): Document need
26061 of `name' parameter.
26062 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26063 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26064 "sh" to "grub".
26065
26066 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26067
26068 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26069 `$(XGETTEXT)'.
26070 * include/grub/i18n.h (N_): New macro.
26071 * util/mkisofs/mkisofs.h: Likewise.
26072 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26073 around N_().
26074 (usage): Use gettext() to translate help strings when printing them.
26075
26076 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26077
26078 Based on patch from Bean
26079 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26080
26081 * video/efi_fb.c: New file.
26082 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26083 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26084 variables.
26085 * conf/x86_64-efi.rmk: Likewise.
26086
26087 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26088
26089 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26090 * util/i386/pc/grub-setup.c: Likewise.
26091
26092 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26093
26094 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26095 <hurd/fs.h>
26096 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26097 file_get_storage_info to implement grub_guess_root_device.
26098
26099 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26100
26101 * Makefile.in (target): Use make's builtin $(shell) function
26102 instead of calling directly $(SHELL) to create the locale directories,
26103 inside the $(foreach) function.
26104
26105 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26106
26107 * util/grub-mkrescue.in: Print an error and usage if output option
26108 has not been given.
26109
26110 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
26111
26112 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26113 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26114 root and /boot are on different devices.
26115
26116 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26117
26118 Fix build for srcdir != objdir.
26119
26120 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26121 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26122 $(srcdir).
26123 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26124 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26125 reference for input.
26126
26127 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26128
26129 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26130 or hardlinking it). Remove -J option, Joliet is not compatible with
26131 multiple source directories.
26132
26133 2009-11-21 Carles Pina i Estany <carles@pina.cat>
26134 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26135
26136 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26137 (process_input_dir): New function. Process an arbitrary input
26138 directory.
26139 Misc adjustments to support both "override mode" and system-wide mode.
26140
26141 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
26142
26143 * configure.ac (UNIFONT_BDF): Rename to ...
26144 (FONT_SOURCE): ... this. Update all users.
26145
26146 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
26147
26148 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26149 to the list of unifont files to look for.
26150
26151 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26152
26153 Patch from Joe Auricchio <jauricchio@gmail.com>
26154 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26155 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26156 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26157
26158 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
26159
26160 * Makefile.in (install-local): Add a missing backslash.
26161
26162 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
26163
26164 * include/grub/x86_64/io.h: New file.
26165
26166 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26167
26168 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26169 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26170 Include `"progname.h"'.
26171 (main): Initialize gettext.
26172 * util/i386/pc/grub-setup.c: Gettexttize.
26173 * util/i386/pc/grub-mkimage.c: Likewise.
26174
26175 * Makefile.in (po/*.po): Redefine as ...
26176 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26177
26178 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26179
26180 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26181
26182 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26183 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26184 (program_name): Remove.
26185 (main): Initialize gettext support.
26186 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26187 Include `<libintl.h>'.
26188 (_): New macro.
26189
26190 * util/mkisofs/eltorito.c: Gettexttize.
26191 * util/mkisofs/joliet.c: Likewise.
26192 * util/mkisofs/mkisofs.c: Likewise.
26193 * util/mkisofs/multi.c: Likewise.
26194 * util/mkisofs/rock.c: Likewise.
26195 * util/mkisofs/tree.c: Likewise.
26196 * util/mkisofs/write.c: Likewise.
26197
26198 * po/POTFILES: Update with new files.
26199
26200 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26201
26202 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26203 * util/mkisofs/iso9660.h: Likewise.
26204 * util/mkisofs/joliet.c: Likewise.
26205 * util/mkisofs/mkisofs.c: Likewise.
26206 * util/mkisofs/mkisofs.h: Likewise.
26207 * util/mkisofs/rock.c: Likewise.
26208 * util/mkisofs/tree.c: Likewise.
26209 * util/mkisofs/write.c: Likewise.
26210
26211 * util/mkisofs/eltorito.c (rcsid): Remove.
26212 * util/mkisofs/hash.c: Likewise.
26213 * util/mkisofs/joliet.c: Likewise.
26214 * util/mkisofs/name.c: Likewise.
26215 * util/mkisofs/rock.c: Likewise.
26216 * util/mkisofs/tree.c: Likewise.
26217 * util/mkisofs/write.c: Likewise.
26218
26219 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26220
26221 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26222 instead of static allocation.
26223 * util/mkisofs/match.h: Likewise.
26224
26225 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26226
26227 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26228 and `util/grub.d/10_linux.in'.
26229 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26230 translatable Shell files.
26231
26232 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26233
26234 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26235
26236 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26237
26238 * INSTALL: Document Automake is needed for bootstrap.
26239 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
26240 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26241 Add gettext initialization.
26242 (kfreebsd_entry): Make menuentry output translatable.
26243
26244 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26245
26246 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26247 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26248 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26249 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26250 (LINGUAS): Auto-generate using `po/LINGUAS'.
26251 * po/LINGUAS: New file.
26252
26253 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26254
26255 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26256 other things).
26257 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26258 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26259 bindtextdomain() calls for gettext initialization.
26260
26261 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26262
26263 * gnulib/progname.c: New file (imported from Gnulib).
26264 * gnulib/progname.h: Likewise.
26265 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26266 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26267 (usage): Replace `progname' with `program_name'.
26268 (main): Use set_program_name() for program name initialization.
26269
26270 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26271
26272 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26273 from here ...
26274 * Makefile.in (CPPFLAGS): ... to here.
26275
26276 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26277
26278 * aclocal.m4: Move from here ...
26279 * acinclude.m4: ... to here.
26280 * autogen.sh: Add call to `aclocal'.
26281 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26282
26283 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26284
26285 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26286 (LINGUAS): New variable.
26287 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26288 (install-local): Install MO files.
26289 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26290 * include/grub/i18n.h: New file.
26291 * po/POTFILES: New file.
26292 * po/ca.po: New file.
26293 * util/grub.d/10_linux.in (bindir): New variable.
26294 Add gettext initialization.
26295 (linux_entry): Make menuentry output translatable.
26296 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26297 (usage): Make --help output translatable.
26298 (main): Initialize gettext.
26299
26300 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26301
26302 * import_gcry.py: New file (written by Vladimir with minor
26303 adjustments).
26304 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26305 ciphers.
26306 * INSTALL: Document that Python is required for bootstrap.
26307
26308 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26309
26310 Import ciphers from libgcrypt 1.4.4.
26311
26312 * lib/libgcrypt/cipher/ChangeLog
26313 * lib/libgcrypt/cipher/ac.c
26314 * lib/libgcrypt/cipher/arcfour.c
26315 * lib/libgcrypt/cipher/bithelp.h
26316 * lib/libgcrypt/cipher/blowfish.c
26317 * lib/libgcrypt/cipher/camellia-glue.c
26318 * lib/libgcrypt/cipher/camellia.c
26319 * lib/libgcrypt/cipher/camellia.h
26320 * lib/libgcrypt/cipher/cast5.c
26321 * lib/libgcrypt/cipher/cipher.c
26322 * lib/libgcrypt/cipher/crc.c
26323 * lib/libgcrypt/cipher/des.c
26324 * lib/libgcrypt/cipher/dsa.c
26325 * lib/libgcrypt/cipher/ecc.c
26326 * lib/libgcrypt/cipher/elgamal.c
26327 * lib/libgcrypt/cipher/hash-common.c
26328 * lib/libgcrypt/cipher/hash-common.h
26329 * lib/libgcrypt/cipher/hmac-tests.c
26330 * lib/libgcrypt/cipher/md.c
26331 * lib/libgcrypt/cipher/md4.c
26332 * lib/libgcrypt/cipher/md5.c
26333 * lib/libgcrypt/cipher/primegen.c
26334 * lib/libgcrypt/cipher/pubkey.c
26335 * lib/libgcrypt/cipher/rfc2268.c
26336 * lib/libgcrypt/cipher/rijndael-tables.h
26337 * lib/libgcrypt/cipher/rijndael.c
26338 * lib/libgcrypt/cipher/rmd.h
26339 * lib/libgcrypt/cipher/rmd160.c
26340 * lib/libgcrypt/cipher/rsa.c
26341 * lib/libgcrypt/cipher/seed.c
26342 * lib/libgcrypt/cipher/serpent.c
26343 * lib/libgcrypt/cipher/sha1.c
26344 * lib/libgcrypt/cipher/sha256.c
26345 * lib/libgcrypt/cipher/sha512.c
26346 * lib/libgcrypt/cipher/tiger.c
26347 * lib/libgcrypt/cipher/twofish.c
26348 * lib/libgcrypt/cipher/whirlpool.c
26349
26350 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26351
26352 Fix build for systems without error().
26353
26354 * gnulib/error.c: New file (imported from Gnulib).
26355 * gnulib/error.h: Likewise.
26356 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26357 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26358 (this variable is now used by error()).
26359
26360 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26361
26362 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26363 instead of relying that char is signed.
26364
26365 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26366
26367 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26368 blocksize different from specified.
26369 (grub_pxefs_read): Likewise.
26370
26371 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26372
26373 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26374
26375 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26376 (grub_ata_readwrite): Likewise. Update 2 format strings.
26377 (grub_atapi_read): Likewise.
26378
26379 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26380 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26381 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26382 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26383 (ata_mod_LDFLAGS): Move from here ...
26384 * conf/i386.rmk: ... to here ...
26385 * conf/x86_64-efi.rmk: ... and here.
26386 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26387 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26388
26389 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26390
26391 Relicense multiboot.h, with RMS' blessing.
26392
26393 * include/multiboot.h: Change to X11 license.
26394
26395 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26396
26397 Support --version in grub-mkisofs.
26398
26399 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26400 (OPTION_VERSION): New macro.
26401 (ld_options): Recognize --version.
26402 (usage): Move `program_name' from here ...
26403 (program_name): ... to here. Add `static' qualifier.
26404 (main): Recognize `OPTION_VERSION'.
26405
26406 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26407
26408 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26409 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26410
26411 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26412
26413 Fix help2man generation for mkisofs.
26414
26415 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26416 (usage): Send output to stdout (rather than stderr).
26417
26418 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26419
26420 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26421 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26422 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26423 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26424 (bin_SCRIPTS): Add `grub-mkfloppy'.
26425 (grub_mkfloppy_SOURCES): New variable.
26426
26427 * util/grub-mkrescue.in: New file.
26428 * util/i386/pc/grub-mkfloppy.in: New file.
26429
26430 * util/i386/coreboot/grub-mkrescue.in: Remove.
26431 * util/i386/pc/grub-mkrescue.in: Remove.
26432
26433 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26434
26435 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26436 from here ...
26437 * include/multiboot.h (struct multiboot_header): ... to here. Update
26438 all users.
26439 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26440 from here ...
26441 * include/multiboot.h (struct multiboot_info): ... to here. Update
26442 all users.
26443 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26444 from here ...
26445 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26446 Update all users.
26447 * include/grub/multiboot.h (struct grub_mod_list): Move
26448 from here ...
26449 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26450 Update all users.
26451
26452 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26453
26454 * include/multiboot2.h (multiboot_word): Rename from this ...
26455 (multiboot2_word): ... to this. Update all users.
26456 (multiboot_header): Rename from this ...
26457 (multiboot2_header): ... to this. Update all users.
26458 (multiboot_tag_header): Rename from this ...
26459 (multiboot2_tag_header): ... to this. Update all users.
26460 (multiboot_tag_start): Rename from this ...
26461 (multiboot2_tag_start): ... to this. Update all users.
26462 (multiboot_tag_name): Rename from this ...
26463 (multiboot2_tag_name): ... to this. Update all users.
26464 (multiboot_tag_module): Rename from this ...
26465 (multiboot2_tag_module): ... to this. Update all users.
26466 (multiboot_tag_memory): Rename from this ...
26467 (multiboot2_tag_memory): ... to this. Update all users.
26468 (multiboot_tag_unused): Rename from this ...
26469 (multiboot2_tag_unused): ... to this. Update all users.
26470 (multiboot_tag_end): Rename from this ...
26471 (multiboot2_tag_end): ... to this. Update all users.
26472
26473 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26474
26475 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26476 this platform we should support Multiboot1 first.
26477
26478 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26479 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26480 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26481
26482 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26483
26484 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26485 of write calls (converting them to fwrite() if they aren't already).
26486 (get_torito_desc): Likewise.
26487 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26488
26489 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26490
26491 * util/i386/pc/grub-install.in: Move from here ...
26492 * util/grub-install.in: ... to here. Update all users.
26493
26494 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26495
26496 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26497
26498 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 Support for El Torito without floppy emulation.
26501
26502 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26503 (init_boot_catalog): Improve error handling.
26504 (get_torito_desc): Don't use floppy emulation unless requested by
26505 user. Patch boot information table when requested via
26506 `-boot-info-table'.
26507 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26508 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26509 (use_boot_info_table): New variables.
26510 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26511 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26512 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26513 `--eltorito-emul-floppy'.
26514 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26515 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26516 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26517 (use_boot_info_table, get_731): New prototypes.
26518 * util/mkisofs/write.c (get_731): New function.
26519
26520 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26521
26522 Fix the generation of the man page.
26523
26524 * util/pc/i386/grub-install.in: Source
26525 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26526
26527 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26528
26529 Large file support for grub-mkisofs.
26530
26531 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26532 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26533 (session_start): Upgrade type to `uint64_t'. Update all users.
26534 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26535 (struct directory_entry): Upgrade type of `starting_block' and
26536 `size' to `uint64_t'. Update all users.
26537 (struct deferred): Remove unused structure.
26538 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26539 Update all users.
26540 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26541 file is larger than `UINT32_MAX'.
26542 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26543 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26544 return value.
26545 (struct deferred_write): Upgrade type of `extent' and `size' to
26546 `uint64_t'. Update all users.
26547 (last_extent_written): Upgrade type to `uint64_t'. Update all
26548 users.
26549 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26550 Update all users. Upgrade type of `remain' to `int64_t' and
26551 `use' to `size_t'. Use error() to handle fread() errors.
26552 (write_files): Rely on write_one_file() rather than calling
26553 xfwrite() directly.
26554
26555 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26556
26557 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26558
26559 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26560
26561 * util/mkisofs/fnmatch.c: Remove.
26562 * util/mkisofs/getopt1.c: Likewise.
26563 * util/mkisofs/getopt.c: Likewise.
26564 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26565 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26566 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26567 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26568 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26569
26570 * configure.ac: Detect `mingw32msvc' host_os.
26571 Check for lstat(), getuid() and getgid().
26572
26573 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26574 instances of `u_char' with `uint8_t'.
26575
26576 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26577 [!HAVE_GETUID] (getuid): New function (stub).
26578 [!HAVE_GETGID] (getgid): Likewise.
26579 [!HAVE_LSTAT] (lstat): Likewise.
26580 [!S_IROTH] (S_IROTH): New macro (dummy).
26581 [!S_IRGRP] (S_IRGRP): Likewise.
26582
26583 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26584
26585 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26586 conditional expression).
26587
26588 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 Import from Gnulib.
26591
26592 * gnulib/fnmatch.c: New file.
26593 * gnulib/fnmatch.h: Likewise.
26594 * gnulib/fnmatch_loop.c: Likewise.
26595 * gnulib/getopt.c: Likewise.
26596 * gnulib/getopt.h: Likewise.
26597 * gnulib/getopt1.c: Likewise.
26598 * gnulib/getopt_int.h: Likewise.
26599 * gnulib/gettext.h: Likewise.
26600
26601 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26602
26603 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26604 * normal/handler.c (read_handler_list): Likewise.
26605
26606 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26607
26608 Misc cleanup.
26609
26610 * kern/command.c (grub_register_command_prio): Use
26611 grub_zalloc() instead of explicitly zeroing data.
26612 * kern/list.c: Include `<grub/mm.h>'.
26613 (grub_named_list_find): Replace `0' with `NULL'.
26614 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26615 (fs_module_list): Change type to `grub_named_list_t'. Update all
26616 users.
26617 * normal/dyncmd.c (read_command_list): Add space between function
26618 call and parenthesis.
26619 * normal/handler.c (read_handler_list): Likewise.
26620
26621 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26622
26623 * normal/auth.c (punishment_delay): Moved from here ...
26624 (grub_auth_strcmp): ... to here (inside function).
26625
26626 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26627
26628 * include/grub/list.h (struct grub_named_list): Remove `const'
26629 qualifier from `name'.
26630 (struct grub_prio_list): Likewise.
26631
26632 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26633
26634 * normal/auth.c: Include `<grub/time.h>'.
26635 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26636
26637 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26638
26639 * normal/auth.c (punishment_delay): New variable.
26640 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26641 (grub_auth_check_authentication): Punish failed login attempts with
26642 an incremental (2^N) delay.
26643
26644 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26645
26646 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26647 path with $(srcdir).
26648
26649 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26650
26651 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26652
26653 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26654
26655 * util/i386/coreboot/grub-mkrescue.in: New file.
26656 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26657 variables.
26658
26659 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26660 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26661 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26662 requirements.
26663 * util/mkisofs/defaults.h: New file.
26664 * util/mkisofs/eltorito.c: Likewise.
26665 * util/mkisofs/exclude.h: Likewise.
26666 * util/mkisofs/fnmatch.c: Likewise.
26667 * util/mkisofs/getopt.c: Likewise.
26668 * util/mkisofs/getopt1.c: Likewise.
26669 * util/mkisofs/hash.c: Likewise.
26670 * util/mkisofs/include/fctldefs.h: Likewise.
26671 * util/mkisofs/include/mconfig.h: Likewise.
26672 * util/mkisofs/include/prototyp.h: Likewise.
26673 * util/mkisofs/include/statdefs.h: Likewise.
26674 * util/mkisofs/iso9660.h: Likewise.
26675 * util/mkisofs/joliet.c: Likewise.
26676 * util/mkisofs/match.c: Likewise.
26677 * util/mkisofs/match.h: Likewise.
26678 * util/mkisofs/mkisofs.c: Likewise.
26679 * util/mkisofs/mkisofs.h: Likewise.
26680 * util/mkisofs/multi.c: Likewise.
26681 * util/mkisofs/name.c: Likewise.
26682 * util/mkisofs/rock.c: Likewise.
26683 * util/mkisofs/tree.c: Likewise.
26684 * util/mkisofs/write.c: Likewise.
26685
26686 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26687
26688 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26689 being insecure.
26690
26691 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26692
26693 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26694 `grub-mkimage' (and use $0 when possible).
26695
26696 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26697
26698 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26699 error message for excessively large memory map.
26700
26701 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26702
26703 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26704 executable bit.
26705
26706 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26707
26708 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26709 message for coreboot users.
26710
26711 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26712
26713 Fix build with GNU gold.
26714
26715 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26716 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26717 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26718 link addresses.
26719 * aclocal.m4: Likewise.
26720
26721 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
26722
26723 * configure.ac (AC_PREREQ): Bump to 2.59d.
26724 * INSTALL: Make it more clear when Autoconf and Ruby are
26725 needed and when to run `./autogen.sh'.
26726
26727 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26728
26729 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26730 OSes.
26731
26732 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26733
26734 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26735
26736 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26737
26738 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26739 giving it to GNU Mach.
26740
26741 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26742
26743 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26744 GNU partition number to get internal GRUB partition number.
26745
26746 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26747
26748 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26749 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26750
26751 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26752
26753 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26754 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26755 case.
26756
26757 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
26758
26759 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26760
26761 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26762
26763 Fix build problem.
26764
26765 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26766 `-isystem=$(srcdir)/include'.
26767
26768 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26769
26770 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26771 checked (grub-install doesn't currently rely on it).
26772
26773 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26774
26775 Revert SVN r2660.
26776
26777 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26778 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26779 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26780 * conf/i386-ieee1275.rmk: Likewise.
26781 * conf/i386-pc.rmk: Likewise.
26782 * conf/powerpc-ieee1275.rmk: Likewise.
26783 * conf/sparc64-ieee1275.rmk: Likewise.
26784 * conf/x86_64-efi.rmk: Likewise.
26785
26786 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26787
26788 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26789
26790 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26791
26792 * include/grub/misc.h: Stop checking for APPLE_CC.
26793
26794 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26795
26796 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26797 doesn't cause an infinite call loop.
26798
26799 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
26800
26801 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26802 strings.
26803
26804 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26805
26806 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26807 variable.
26808 * Makefile.in: Likewise.
26809
26810 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26811
26812 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26813
26814 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26815
26816 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26817
26818 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26819
26820 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26821
26822 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26823
26824 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26825 from here ...
26826 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26827
26828 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26829
26830 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26831 in $(MAKEINFO) invocation. This makes it clear in output that
26832 errors are being ignored.
26833
26834 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26835
26836 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26837 from here ...
26838 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26839 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26840 * conf/i386-ieee1275.rmk: Likewise.
26841 * conf/i386-pc.rmk: Likewise.
26842 * conf/powerpc-ieee1275.rmk: Likewise.
26843 * conf/sparc64-ieee1275.rmk: Likewise.
26844 * conf/x86_64-efi.rmk: Likewise.
26845
26846 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26847
26848 * util/grub-editenv.c (main): If only a command is given, use
26849 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26850 (usage): FILENAME is now optional and has a default.
26851
26852 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26853
26854 Improve grub-mkconfig performance when there are several menu
26855 entries on a single filesystem.
26856
26857 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26858 prepare_grub_to_access_device.
26859 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26860 * util/grub.d/30_os-prober.in: Likewise.
26861
26862 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26863
26864 * util/grub.d/10_freebsd.in: Remove.
26865 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26866 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26867
26868 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26869
26870 * docs/grub.cfg: Fix example usage of *BSD loaders.
26871
26872 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26873
26874 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26875 grub_util_error() call.
26876
26877 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26878
26879 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26880 `reserved_first_sector' member.
26881 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26882 `reserved_first_sector' to 1.
26883 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26884 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26885 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26886 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26887 filesystems which begin at first sector.
26888 (options): New option --skip-fs-probe.
26889 (main): Handle --skip-fs-probe and pass it to setup().
26890
26891 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26892
26893 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26894 (memset): Fix function prototype.
26895
26896 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26897 2009-10-25 Vasily Averin <vvs@parallels.com>
26898
26899 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26900 `dirent.direntlen == 0'.
26901
26902 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26903
26904 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26905 `cpio'.
26906 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26907
26908 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26909
26910 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26911 `__trampoline_setup' and `__ucmpdi2'.
26912 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26913 that libgcc provides.
26914
26915 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26916
26917 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26918 * include/grub/sparc64/libgcc.h (memset): Likewise.
26919 * include/grub/misc.h (memset, memcmp): New function prototypes.
26920
26921 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26922
26923 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26924 `cpio'.
26925 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26926
26927 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26928
26929 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26930 * docs/grub.cfg: Compensate for recent change in multiboot
26931 loader (since 2009-08-14 it won't pass filename to payload).
26932 * util/grub.d/10_hurd.in: Likewise.
26933
26934 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26935
26936 * config.guess: Update to latest version from config git
26937 repository.
26938 * config.sub: Likewise.
26939
26940 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26941
26942 Fix build on sparc64.
26943
26944 * configure.ac: Perform checks for libgcc symbols before
26945 adding `-nostdlib' to LDFLAGS.
26946
26947 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26948
26949 Let user specify OpenBSD root device.
26950
26951 * loader/i386/bsd.c (openbsd_root): New variable.
26952 (openbsd_opts): New option 'root'.
26953 (OPENBSD_ROOT_ARG): New macro.
26954 (grub_openbsd_boot): Use 'openbsd_root'.
26955 (grub_cmd_openbsd): Fill 'openbsd_root'.
26956
26957 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26958
26959 * NEWS: Misc adjustments.
26960
26961 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26962
26963 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26964
26965 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26966
26967 * configure.ac: Bump version to 1.97.
26968
26969 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26970
26971 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26972 -mno-3dnow on x86 architectures. Some toolchains enable these
26973 features by default, but they rely on registers that aren't enabled
26974 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26975
26976 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26977
26978 Make entry text a bit more readable.
26979
26980 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26981
26982 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26983
26984 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26985
26986 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26987
26988 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26989 operations.
26990
26991 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26992
26993 * configure.ac: Add missing dollar.
26994
26995 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26996
26997 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26998
26999 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27000 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27001 exports.
27002 * include/grub/sparc64/libgcc.h: Likewise. Use
27003 preprocessor conditionals.
27004
27005 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27006
27007 * conf/common.rmk (grub-dumpbios): Remove rule.
27008 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27009 * util/grub-dumpbios.in: Remove file.
27010
27011 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27014 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27015
27016 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27017 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27018 users.
27019
27020 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27021 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27022 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27023 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27024 users.
27025
27026 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27027
27028 * term/tparm.c: Switch to GPLv3.
27029
27030 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27031
27032 * include/grub/i386/cpuid.h: Add header protection.
27033
27034 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27035
27036 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27037
27038 * include/grub/i386/cpuid.h: New file.
27039 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27040 (has_longmode): Rename to ...
27041 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27042 `static' attribute.
27043 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27044 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27045 on a CPU that doesn't implement AMD64 instruction set.
27046
27047 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27048
27049 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27050 that version.texi is rebuilt on version number changes.
27051
27052 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27053
27054 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27055 Fixes bug #27602.
27056
27057 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
27058
27059 * util/i386/pc/grub-install.in: Source
27060 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27061 that the --grub-probe option will work.
27062 * util/sparc64/ieee1275/grub-install.in: Likewise.
27063
27064 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27065
27066 * configure.ac: Bump version to 1.97~beta4.
27067
27068 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27069
27070 Resync grub-mkdevicemap in x86_64-efi.
27071
27072 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27073 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27074 `util/devicemap.c'.
27075
27076 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
27077
27078 * util/grub-editenv.c (create_envblk_file): Write new block with a
27079 .new suffix and then rename it into place, to ensure atomic
27080 creation.
27081
27082 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27083
27084 Do not automatically install headers.
27085
27086 * Makefile.in (include_DATA): Remove. Update all users.
27087
27088 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27089
27090 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27091 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27092
27093 * util/osdetect.lua: Remove.
27094 * script/lua/lauxlib.c: Likewise.
27095 * script/lua/ldebug.c: Likewise.
27096 * script/lua/grub_main.c: Likewise.
27097 * script/lua/lauxlib.h: Likewise.
27098 * script/lua/ldebug.h: Likewise.
27099 * script/lua/ltablib.c: Likewise.
27100 * script/lua/liolib.c: Likewise.
27101 * script/lua/lstrlib.c: Likewise.
27102 * script/lua/lualib.h: Likewise.
27103 * script/lua/ldo.c: Likewise.
27104 * script/lua/ldump.c: Likewise.
27105 * script/lua/ldo.h: Likewise.
27106 * script/lua/loslib.c: Likewise.
27107 * script/lua/lundump.c: Likewise.
27108 * script/lua/grub_lib.c: Likewise.
27109 * script/lua/ldblib.c: Likewise.
27110 * script/lua/lundump.h: Likewise.
27111 * script/lua/lmem.c: Likewise.
27112 * script/lua/grub_lib.h: Likewise.
27113 * script/lua/lmathlib.c: Likewise.
27114 * script/lua/lstate.c: Likewise.
27115 * script/lua/ltm.c: Likewise.
27116 * script/lua/lvm.c: Likewise.
27117 * script/lua/lmem.h: Likewise.
27118 * script/lua/lstate.h: Likewise.
27119 * script/lua/ltm.h: Likewise.
27120 * script/lua/ltable.c: Likewise.
27121 * script/lua/lvm.h: Likewise.
27122 * script/lua/llex.c: Likewise.
27123 * script/lua/lgc.c: Likewise.
27124 * script/lua/grub_lua.h: Likewise.
27125 * script/lua/loadlib.c: Likewise.
27126 * script/lua/lfunc.c: Likewise.
27127 * script/lua/lopcodes.c: Likewise.
27128 * script/lua/lparser.c: Likewise.
27129 * script/lua/ltable.h: Likewise.
27130 * script/lua/llex.h: Likewise.
27131 * script/lua/lgc.h: Likewise.
27132 * script/lua/lfunc.h: Likewise.
27133 * script/lua/lbaselib.c: Likewise.
27134 * script/lua/lopcodes.h: Likewise.
27135 * script/lua/lparser.h: Likewise.
27136 * script/lua/lzio.c: Likewise.
27137 * script/lua/linit.c: Likewise.
27138 * script/lua/lobject.c: Likewise.
27139 * script/lua/llimits.h: Likewise.
27140 * script/lua/lstring.c: Likewise.
27141 * script/lua/lzio.h: Likewise.
27142 * script/lua/lapi.c: Likewise.
27143 * script/lua/lcode.c: Likewise.
27144 * script/lua/lua.h: Likewise.
27145 * script/lua/lobject.h: Likewise.
27146 * script/lua/lstring.h: Likewise.
27147 * script/lua/lapi.h: Likewise.
27148 * script/lua/lcode.h: Likewise.
27149 * script/lua/luaconf.h: Likewise.
27150
27151 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
27152
27153 * docs/grub.texi (Command-line and menu entry commands): Document
27154 date and echo commands.
27155
27156 2009-09-24 Pavel Roskin <proski@gnu.org>
27157
27158 * include/grub/kernel.h (struct grub_module_header): Remove
27159 `grub_module_header_types'. Make `type' unsigned. Make `size'
27160 32-bit on all platforms.
27161 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27162 8-bit field. Use grub_host_to_target32() for `size'.
27163 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27164 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27165 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27166
27167 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27168
27169 Fix "lost keypress" bug in at_keyboard.
27170
27171 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27172 Checks for readyness of input buffer (without flushing it).
27173 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27174 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27175
27176 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27177
27178 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27179 size check within GRUB_MACHINE_PCBIOS section.
27180
27181 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27182
27183 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27184 return value.
27185 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27186 KEYBOARD_ISREADY check.
27187 (grub_at_keyboard_checkkey): Rename to ...
27188 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27189 Remove gratuitous cast.
27190
27191 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
27192
27193 * configure.ac: Call AC_PROG_MKDIR_P.
27194 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27195 version.texi in $(builddir) rather than $(srcdir).
27196 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27197 to makeinfo's @include search path.
27198
27199 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27200
27201 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27202
27203 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
27204
27205 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27206 for `*.dpkg-new'.
27207
27208 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
27209
27210 Build info documentation. Some code borrowed from Automake.
27211
27212 * configure.ac: Check for makeinfo.
27213 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27214 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27215 docs/version.texi.
27216 (MOSTLYCLEANFILES): Add vti.tmp.
27217 (docs/version.texi, docs/stamp-vti): Update automatically.
27218 (docs/grub.info): Build info documentation. Use --force and ignore
27219 errors for now.
27220 (all-local): Add $(INFOS).
27221 (install-local): Install info files.
27222 (uninstall): Uninstall info files.
27223 * docs/version.texi: Remove from revision control. This file is
27224 automatically generated on build now.
27225 * gendistlist.sh: Add `*.info'.
27226
27227 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27228
27229 * kern/term.c: Fix indentation.
27230
27231 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
27232
27233 * util/hostdisk.c: Fix a comment.
27234
27235 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27236
27237 Fix regression introduced in r2539.
27238
27239 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27240 to 0xA1.
27241
27242 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
27243
27244 * util/grub.d/30_os-prober.in: Don't throw away stderr from
27245 os-prober. Under normal operation, it does not print anything to
27246 stderr; if it does, we need to debug it, and throwing away stderr
27247 makes that excessively difficult.
27248
27249 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27250
27251 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27252
27253 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27254
27255 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27256 AC_LANG_PROGRAM from autoconf.
27257 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27258 prototypes (fixes warning).
27259
27260 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27261 `--disable-werror' was used.
27262
27263 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27264
27265 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27266 uninitialized `lastaddr'.
27267
27268 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27269
27270 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
27271
27272 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27273
27274 * commands/test.c (get_fileinfo): Return immediately if
27275 grub_fs_probe fails.
27276
27277 2009-09-14 José Martínez <xosemp@gmail.com>
27278
27279 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27280
27281 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
27282
27283 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27284 output.
27285
27286 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27287
27288 * configure.ac: Remove --enable-grub-pe2elf. Only build
27289 grub-pe2elf when needed by the build system itself.
27290 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27291
27292 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27293
27294 * configure.ac: Bump version to 1.97~beta3.
27295 * docs/version.texi: Likewise.
27296
27297 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27298
27299 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27300 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27301 from here ...
27302 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27303 (grub_linux_setup_video): ... to here (with some adjustments).
27304
27305 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27306
27307 Fix memory corruption issue (spotted by Colin Watson).
27308
27309 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27310 causing returned size to be stored in an incorrect memory location.
27311 Fix use of uninitialized value when storing the returned size.
27312
27313 2009-09-12 Yves Blusseau <blusseau@zetam.org>
27314
27315 Change clean rules to properly remove files
27316
27317 * genmk.rb: add new clean rules
27318 * Makefile.in (clean): add the new targets
27319 (mostlyclean): likewise
27320
27321 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27322
27323 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27324 to grub_uint64_t.
27325 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27326 non-resident files.
27327
27328 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
27329
27330 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27331 part of bug #27349.
27332
27333 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27334
27335 * util/grub-mkconfig.in: Make the created config mode 400 and
27336 print a warning if it fails.
27337
27338 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27339
27340 * util/grub.d/40_custom.in: Ask user to type custom entries below
27341 comment, rather than below 'exec tail' line.
27342
27343 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27344
27345 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27346 visible in grub.cfg.
27347
27348 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27349
27350 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27351 file.
27352
27353 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27354
27355 * docs/grub.cfg: Add an example menu entry for memtest86+.
27356
27357 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
27358
27359 * config.guess: Update to latest version from config git.
27360 * config.sub: Likewise.
27361
27362 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
27363
27364 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27365 unknown-command case. Fixes bug #27320.
27366
27367 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
27368
27369 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27370 `help' if the command exists.
27371
27372 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27373
27374 * INSTALL: Require GCC 4.1.3 or later.
27375
27376 2009-09-06 Yves Blusseau <blusseau@zetam.org>
27377
27378 * Makefile.in (RMKFILES): add i386-qemu.rmk
27379 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27380 $(srcdir)/stamp-h.in
27381
27382 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27383
27384 * util/grub-probe.c (probe): Comment out buggy codepath, which
27385 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27386 should be re-enabled after 1.97.
27387
27388 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
27389
27390 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27391 find searches for.
27392
27393 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27396 unnecessary calls to grub_error.
27397
27398 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
27399
27400 * NEWS: Mention `keystatus' and Unicode fonts.
27401
27402 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27403
27404 * configure.ac: Bump version to 1.97~beta2.
27405 * docs/version.texi: Likewise.
27406
27407 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27408
27409 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27410 containing unwind information in some cases where it previously did
27411 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27412 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27413 discussion.
27414
27415 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27416
27417 Embedding loadenv module into grub-emu
27418
27419 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27420 commands/loadenv.c
27421 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27422 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27423 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27425 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27426 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27427
27428 2009-09-03 Magnus Granberg <zorry@ume.nu>
27429
27430 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27431 include -fPIE in the default specs.
27432 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27433 to TARGET_CFLAGS.
27434
27435 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27436
27437 * INSTALL: Note that GNU Bison 2.3 or later is required.
27438
27439 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27440
27441 * kern/i386/pc/startup.S: Fix typo.
27442
27443 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27444
27445 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27446 according to GCS.
27447
27448 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27449
27450 * docs/grub.texi (Naming convention): Describe one-based partition
27451 numbering.
27452 (Device syntax): Likewise.
27453 (File name syntax): Likewise.
27454 (Block list syntax): Likewise.
27455 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27456 menu.lst.
27457 (File name syntax): Likewise.
27458 (Command-line and menu entry commands): Document acpi, blocklist,
27459 crc, export, insmod, keystatus, ls, set, and unset commands.
27460
27461 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27462
27463 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27464 to avoid implying that only one of --shift, --ctrl, or --alt may be
27465 used.
27466
27467 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27468
27469 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27470 rather than comparing against S_IFREG, which will almost never work.
27471
27472 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27473
27474 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27475 (write_blocklists): Likewise.
27476
27477 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27478
27479 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27480 argument to grub_printf.
27481
27482 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27483
27484 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27485 non GNU test.
27486
27487 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27488
27489 * kern/file.c (grub_file_read): Spelling fix
27490
27491 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27494 loading of headers in some cases.
27495
27496 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27497
27498 * configure.ac: Bump version to 1.97~beta1.
27499 * docs/version.texi: Likewise.
27500
27501 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 * include/grub/i386/xnu.h: Add license header.
27504 include grub/err.h explicitly.
27505
27506 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27507
27508 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27509 to `ufs' in the vfs.root.mountfrom kernel parameter.
27510
27511 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27512
27513 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27514
27515 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27516 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27517
27518 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27519 `ARRAY_SIZE' macro.
27520
27521 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27522
27523 * kern/file.c (grub_file_read): Check offset.
27524 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27525 * fs/jfs.c (grub_jfs_read_file): Likewise.
27526 * fs/ntfs.c (grub_ntfs_read): Likewise.
27527 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27528 * fs/minix.c (grub_minix_read_file): Correct offset check.
27529 * fs/ufs.c (grub_ufs_read_file): Likewise.
27530
27531 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27532
27533 * term/i386/pc/console.c (bios_data_area): Cast
27534 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27535
27536 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27537
27538 1-bit optimised blitters.
27539
27540 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27541 prototype.
27542 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27543 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27544 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27545 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27546 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27547 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27548 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27549 function.
27550 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27551 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27552 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27553 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27554 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27555 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27556 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27557 when possible.
27558 * video/video.c (grub_video_get_blit_format): Return
27559 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27560
27561 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27562
27563 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27564 the first argument to grub_printf.
27565
27566 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27567 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27568
27569 Add `getkeystatus' terminal method. Add a new `keystatus' command
27570 to query it.
27571
27572 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27573 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27574 modifier key bitmasks.
27575 (struct grub_term_input): Add `getkeystatus' member.
27576 (grub_getkeystatus): Add prototype.
27577 * kern/term.c (grub_getkeystatus): New function.
27578
27579 * include/grub/i386/pc/memory.h
27580 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27581 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27582 Data Area layout.
27583 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27584 (grub_console_term_input): Set `getkeystatus' member.
27585 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27586 constants.
27587 (grub_usb_keyboard_getreport): Likewise.
27588 (grub_usb_keyboard_checkkey): Likewise.
27589 (grub_usb_keyboard_getkeystatus): New function.
27590 (grub_usb_keyboard_term): Set `getkeystatus' member.
27591
27592 * commands/keystatus.c: New file.
27593 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27594 (keystatus_mod_SOURCES): New variable.
27595 (keystatus_mod_CFLAGS): Likewise.
27596 (keystatus_mod_LDFLAGS): Likewise.
27597 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27598 commands/keystatus.c.
27599 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27600 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27601 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27603 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27604 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27605
27606 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27607
27608 Split befs.mod and afs.mod into *_be.mod and *.mod
27609
27610 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27611 (grub_fstest_SOURCES): Likewise.
27612 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27613 (afs_be_mod_SOURCES): New variable.
27614 (afs_be_mod_CFLAGS): Likewise.
27615 (afs_be_mod_LDFLAGS): Likewise.
27616 (befs_be_mod_SOURCES): Likewise.
27617 (befs_be_mod_CFLAGS): Likewise.
27618 (befs_be_mod_LDFLAGS): Likewise.
27619 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27620 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27621 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27622 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27623 (grub_emu_SOURCES): Likewise.
27624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27625 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27626 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27627 * fs/afs_be.c: New file.
27628 * fs/befs_be.c: New file.
27629 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27630 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27631 (U16): Replaced with ...
27632 (grub_afs_to_cpu16): ...this. All users updated.
27633 (U32): Replaced with ...
27634 (grub_afs_to_cpu32): ...this. All users updated.
27635 (U64): Replaced with ...
27636 (grub_afs_to_cpu64): ...this. All users updated.
27637 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27638 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27639 (grub_afs_validate_sblock): Check only one endianness.
27640 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27641 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27642 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27643 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27644 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27645 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27646 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27647 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27648
27649 2009-08-26 Bean <bean123ch@gmail.com>
27650
27651 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27652 64-bit number.
27653 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27654 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27655 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27656
27657 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27658
27659 NetBSD memory map support.
27660
27661 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27662 (grub_netbsd_btinfo_mmap_header): New structure.
27663 (grub_netbsd_btinfo_mmap_entry): Likewise.
27664 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27665
27666 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27667
27668 Enable bsd.mod on coreboot.
27669
27670 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27671 (bsd_mod_SOURCES): New variable.
27672 (bsd_mod_CFLAGS): Likewise.
27673 (bsd_mod_LDFLAGS): Likewise.
27674 (bsd_mod_ASFLAGS): Likewise.
27675 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27676 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27677
27678 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27679
27680 Cleanup NetBSD root support.
27681
27682 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27683 grub_bsd_get_device.
27684 Fix typo.
27685
27686 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
27687
27688 * util/grub.d/00_header.in: Move check for the video backend of
27689 gfxterm from here ...
27690 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27691 a suitable video backend.
27692
27693 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27694
27695 Fix breakage in grub-setup.
27696
27697 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27698 "msdos_partition_map".
27699
27700 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27701
27702 Fix breakage in normal/auth.c.
27703
27704 * normal/auth.c (grub_iswordseparator): New function.
27705
27706 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27707
27708 Authentication support.
27709
27710 * commands/password.c: New file.
27711 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27712 (password_mod_SOURCES): New variable.
27713 (password_mod_CFLAGS): Likewise.
27714 (password_mod_LDFLAGS): Likewise.
27715 (normal_mod_SOURCES): Add normal/auth.c.
27716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27717 normal/auth.c.
27718 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27719 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27720 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27723 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27724 * include/grub/auth.h: New file.
27725 * include/grub/err.h (grub_err_t): New enum value
27726 GRUB_ERR_ACCESS_DENIED.
27727 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27728 'users'.
27729 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27730 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27731 users updated.
27732 * normal/auth.c: New file.
27733 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27734 (grub_cmdline_run): Don't allow to go to command line without
27735 authentication.
27736 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27737 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27738 menuentry without superuser rights.
27739 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27740 user isn't a superuser.
27741
27742 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27743
27744 Save space by inlining misc.c functions.
27745
27746 * kern/misc.c (grub_iswordseparator): Made static.
27747 * kern/misc.c (grub_strcat): Moved from here ...
27748 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27749 * kern/misc.c (grub_strncat): Moved from here ...
27750 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27751 * kern/misc.c (grub_strcasecmp): Moved from here ...
27752 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27753 * kern/misc.c (grub_strncasecmp): Moved from here ...
27754 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27755 * kern/misc.c (grub_isalpha): Moved from here ...
27756 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27757 * kern/misc.c (grub_isdigit): Moved from here ...
27758 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27759 * kern/misc.c (grub_isgraph): Moved from here ...
27760 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27761 * kern/misc.c (grub_tolower): Moved from here ...
27762 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27763
27764 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27765
27766 * script/sh/function.c (grub_script_function_find): Cut error message
27767 not to flood terminal.
27768 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27769 limit.
27770 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27771
27772 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
27773
27774 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27775 `report' grub_uint8_t *.
27776 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27777 Use a 50-millisecond timeout rather than just repeating
27778 grub_usb_keyboard_getreport 50 times.
27779 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27780
27781 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27782
27783 Rename *_partition_map to part_*
27784
27785 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27786 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27787 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27788 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27789 All users updated.
27790 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27791 All users updated.
27792 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27793 * util/grub-probe.c (probe_partmap): Don't transform partition name
27794 to get module name.
27795
27796 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27797
27798 Fix OpenBSD and NetBSD support.
27799
27800 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27801 memory address conflict.
27802 (OPENBSD_MMAP_ACPI): New definition.
27803 (OPENBSD_MMAP_NVS): Likewise.
27804 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27805 and OPENBSD_MMAP_NVS.
27806 Add memory map terminator
27807 Explicit cast when calling grub_unix_real_boot.
27808 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
27809
27810 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27811
27812 Let user specify NetBSD root device.
27813
27814 * loader/i386/bsd.c (netbsd_root): New variable.
27815 (netbsd_opts): New option 'root'.
27816 (NETBSD_ROOT_ARG): New macro.
27817 (grub_netbsd_boot): Use 'netbsd_root'.
27818 (grub_bsd_unload): Free 'netbsd_root'.
27819 (grub_cmd_netbsd): Fill 'netbsd_root'.
27820
27821 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27822
27823 Support for 64-bit NetBSD.
27824
27825 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27826 point when booting non-FreeBSD.
27827
27828 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27829
27830 Support --no-smp and --no-acpi for NetBSD.
27831
27832 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27833 (NETBSD_AB_NOACPI): Likewise.
27834 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27835 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27836
27837 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27840 errors.
27841 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27842 errors. Call grub_error when needed.
27843
27844 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 * commands/search.c (search_fs): Try searching without autoload first.
27847 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27848 filesystem module explicitly for faster booting.
27849
27850 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27851
27852 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27853
27854 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27855
27856 * util/grub.d/30_os-prober.in: Disable os-prober if
27857 `GRUB_DISABLE_OS_PROBER' was set to true.
27858
27859 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27860
27861 * partmap/pc.c: Rename to ...
27862 * partmap/msdos.c: ... this. Update all users.
27863 (grub_pc_partition_map): Rename to ...
27864 (grub_msdos_partition_map): ... this. Update all users.
27865
27866 * parttool/pcpart.c: Rename to ...
27867 * parttool/msdospart.c: ... this. Update all users.
27868
27869 * include/grub/pc_partition.h: Rename to ...
27870 * include/grub/msdos_partition.h: ... this. Update all users.
27871 (grub_pc_partition_bsd_entry): Rename to ...
27872 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27873 (grub_pc_partition_disk_label): Rename to ...
27874 (grub_msdos_partition_disk_label): ... this. Update all users.
27875 (grub_pc_partition_entry): Rename to ...
27876 (grub_msdos_partition_entry): ... this. Update all users.
27877 (grub_pc_partition_mbr): Rename to ...
27878 (grub_msdos_partition_mbr): ... this. Update all users.
27879 (grub_pc_partition): Rename to ...
27880 (grub_msdos_partition): ... this. Update all users.
27881 (grub_pc_partition_is_empty): Rename to ...
27882 (grub_msdos_partition_is_empty): ... this. Update all users.
27883 (grub_pc_partition_is_extended): Rename to ...
27884 (grub_msdos_partition_is_extended): ... this. Update all users.
27885 (grub_pc_partition_is_bsd): Rename to ...
27886 (grub_msdos_partition_is_bsd): ... this. Update all users.
27887
27888 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27889 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27890 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27891 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27892 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27893 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27894 (gpt_mod_LDFLAGS): Rename to ...
27895 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27896 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27897 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27898 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27899 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27900 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27901 (part_gpt_mod_LDFLAGS): ... this.
27902 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27903 `pcpart.mod' to `msdospart.mod'.
27904 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27905 to ...
27906 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27907 (msdospart_mod_LDFLAGS): ... this.
27908
27909 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27910
27911 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27912 (openbsd_opts): Likewise.
27913 (netbsd_opts): Likewise.
27914 (freebsd_flags): Added 0 terminator.
27915 (openbsd_flags): Likewise.
27916 (netbsd_flags): Likewise.
27917 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27918 (grub_cmd_freebsd): Transformed into extended command.
27919 (grub_cmd_openbsd): Likewise.
27920 (grub_cmd_netbsd): Likewise.
27921 (cmd_freebsd): Changed type to grub_extcmd_t.
27922 (cmd_openbsd): Likewise.
27923 (cmd_netbsd): Likewise.
27924 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27925 grub_cmd_openbsd as extended commands.
27926 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27927 cmd_netbsd and cmd_openbsd
27928
27929 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27930
27931 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27932
27933 2009-08-21 Pavel Roskin <proski@gnu.org>
27934
27935 * Makefile.in (install-local): When checking if a file is in the
27936 build directory, use "test -e" to detect symlinks.
27937
27938 * Makefile.in (install-local): Remove all files in
27939 $(DESTDIR)$(pkglibdir) before installing new files there.
27940
27941 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27942
27943 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27944 grub-mkelfimage.
27945
27946 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27947
27948 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27949 explicitly specified by the user.
27950
27951 2009-08-18 Pavel Roskin <proski@gnu.org>
27952
27953 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27954 grub_uint8_t pointer for data.
27955 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27956 Likewise.
27957 * video/fb/fbutil.c: Remove unnecessary casts.
27958
27959 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27960
27961 VBE cleanup.
27962
27963 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27964 (grub_vbe_set_video_mode): Save active mode info
27965 only after setting the mode.
27966 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27967 second argument.
27968
27969 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27970
27971 Rename variables for clarity.
27972
27973 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27974 (active_vbe_mode_info): ... this. All users updated.
27975 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27976 All users updated.
27977 (initial_mode): Rename to ...
27978 (initial_vbe_mode): ... this. All users updated.
27979 (mode_in_use): Rename to ..
27980 (vbe_mode_in_use): ... this. All users updated.
27981 (mode_list): Rename to ..
27982 (vbe_mode_list): ... this. All users updated.
27983 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27984 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27985 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27986 'mode_list_size' to 'vbe_mode_list_size'.
27987 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27988 'best_mode_info' to 'best_vbe_mode_info' and
27989 'best_mode' to 'best_vbe_mode'
27990
27991 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27992
27993 Remove duplicate grub_video_fb_get_video_ptr.
27994
27995 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27996 (grub_video_fb_get_video_ptr): ... this.
27997 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27998 * video/fb/fbutil.c: Add comment about addressing.
27999 (get_data_ptr): Rename to ...
28000 (grub_video_fb_get_video_ptr): ... this. All users updated.
28001 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28002
28003 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28004
28005 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28006 grub_dprintf() that was just added.
28007
28008 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28009
28010 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28011 (DEFAULT_VIDEO_MODE): Remove macros.
28012 (grub_linux_boot): Remove assumption that Linux has FB support,
28013 and use "text" as default video mode.
28014
28015 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28016
28017 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28018 grub_dprintf.
28019 * fs/fat.c (grub_fat_read_data): Likewise.
28020
28021 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28022
28023 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28024 payload.
28025 (grub_module): Likewise.
28026
28027 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28028
28029 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28030 mbi->cmdline but free playground.
28031
28032 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28033
28034 Handle group offset on UFS1.
28035
28036 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28037 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28038
28039 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 Split ufs.mod into ufs1.mod and ufs2.mod.
28042
28043 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28044 (grub_fstest_SOURCES): Likewise.
28045 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28046 (ufs_mod_SOURCES): Remove.
28047 (ufs_mod_CFLAGS): Likewise.
28048 (ufs_mod_LDFLAGS): Likewise.
28049 (ufs1_mod_SOURCES): New variable.
28050 (ufs1_mod_CFLAGS): Likewise.
28051 (ufs1_mod_LDFLAGS): Likewise.
28052 (ufs2_mod_SOURCES): New variable.
28053 (ufs2_mod_CFLAGS): Likewise.
28054 (ufs2_mod_LDFLAGS): Likewise.
28055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28056 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28057 Likewise.
28058 (grub_emu_SOURCES): Likewise.
28059 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28060 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28061 (grub_setup_SOURCES): Likewise.
28062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28063 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28064 (grub_setup_SOURCES): Likewise.
28065 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28066 Likewise.
28067 * fs/ufs2.c: New file.
28068 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28069
28070 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28071
28072 Framebuffer split.
28073
28074 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28075 subsystem at the end.
28076 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28077 (video_fb_mod_SOURCES): New variable.
28078 (video_fb_mod_CFLAGS): Likewise.
28079 (video_fb_mod_LDFLAGS): Likewise.
28080 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28081 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28082 * video/i386/pc/vbeblit.c: Moved from here ...
28083 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28084 * video/i386/pc/vbefill.c: Moved from here ...
28085 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28086 * video/i386/pc/vbeutil.c: Moved from here ...
28087 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28088 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28089 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28090 * include/grub/i386/pc/vbefill.h: Moved from here ...
28091 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28092 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28093 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28094 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28095 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28096 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28097 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28098 (grub_video_adapter): Added 'get_info_and_fini'.
28099 (grub_video_get_info_and_fini): New prototype.
28100 (grub_video_set_mode): make modestring const char *.
28101 * loader/i386/linux.c (grub_linux_setup_video): Use
28102 grub_video_get_info_and_fini.
28103 (grub_linux_boot): Move modesetting just before booting.
28104 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28105 grub_video_get_info_and_fini.
28106 * video/i386/pc/vbe.c: Moved framebuffer part ...
28107 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28108 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28109 grub_video_fbstd_colors and grub_video_fb_set_palette.
28110 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28111 grub_video_fb_init.
28112 (grub_video_vbe_fini): Use grub_video_fb_fini.
28113 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28114 render_target and use grub_video_fb_set_active_render_target and
28115 grub_video_fb_set_palette.
28116 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28117 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28118 (grub_video_vbe_adapter): Use framebuffer.
28119 * video/video.c (grub_video_get_info_and_fini): New function.
28120 (grub_video_set_mode): Make modestring const char *.
28121 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28122 values are already initialised.
28123
28124 2009-08-14 Pavel Roskin <proski@gnu.org>
28125
28126 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28127 ABS and APPLE_CC.
28128 * boot/i386/pc/diskboot.S: Likewise.
28129 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28130 sectors allow compilation on MacOSX.
28131 * conf/i386-pc.rmk: Enable unconditional compilation of
28132 lnxboot.img.
28133
28134 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
28135
28136 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28137 * util/grub.d/00_header.in: Enter interruptible sleep if
28138 GRUB_HIDDEN_TIMEOUT is set.
28139
28140 2009-08-13 Yves Blusseau <blusseau@zetam.org>
28141
28142 * include/grub/symbol.h: Add the LOCAL macro.
28143 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28144 starting with "L_".
28145
28146 2009-08-13 Pavel Roskin <proski@gnu.org>
28147
28148 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28149 any modern compilers we support.
28150
28151 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28152 Use local labels starting with "L_" so that Apple assembler
28153 knows they are local.
28154
28155 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28156
28157 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28158 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28159 (bsd_kernel_types): ... this enum.
28160
28161 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28162 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28163 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28164
28165 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28166 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28167 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28168 messages.
28169
28170 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28171
28172 * util/grub-dumpdevtree: Moved from here ...
28173 * util/i386/efi/grub-dumpdevtree: ... to here.
28174 (hexify): New function. Converts a string to its hex version.
28175 Generate hex versions of "efi" and "device-properties" by calling
28176 hexify() on the ASCII strings rather than by hardcoding numbers.
28177
28178 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28179
28180 * fs/jfs.c: Update copyright year.
28181
28182 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28183
28184 * util/grub.d/00_header.in: Fix a comment.
28185 * util/grub.d/10_linux.in: Likewise.
28186 * util/grub.d/10_windows.in: Likewise.
28187 * util/grub.d/10_hurd.in: Likewise.
28188
28189 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
28190
28191 * util/grub-mkconfig.in: Allow the user to specify the used font
28192 with GRUB_FONT.
28193
28194 2009-08-08 Pavel Roskin <proski@gnu.org>
28195
28196 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28197 available, xfs.mod needs it now.
28198
28199 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28200 the "g" modifier in sed when the intention is to strip something
28201 once. This fixes comparison of kernels with multiple dashes.
28202
28203 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28204 on it. Add missing space before closing bracket. Fix
28205 misleading formatting.
28206
28207 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28208
28209 * docs/grub.texi: Major overhaul. Remove all sections that are
28210 specific to GRUB Legacy, or mostly composed of Legacy-specific
28211 information.
28212
28213 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28214
28215 * docs/version.texi: New file. Provides version information for
28216 grub.texi.
28217
28218 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28219
28220 * docs/grub.texi: Update CVS information to SVN.
28221 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28222
28223 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28224
28225 * util/grub-mkconfig.in: Remove a wrong `fi'.
28226
28227 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28228
28229 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28230 (grub_jfs_uuid): New function.
28231 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28232
28233 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
28234
28235 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28236 of it to ...
28237 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28238 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28239
28240 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28241
28242 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28243 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28244 Update all users.
28245
28246 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28247 not just "vmlinu[zx]".
28248 Moved from here ...
28249 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28250 all users.
28251
28252 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28253 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28254 all users.
28255
28256 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28257
28258 * util/grub.d/10_freebsd.in: Use an absolute device path for
28259 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28260
28261 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
28262
28263 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28264 handling of multiple abstraction modules.
28265
28266 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28267
28268 Fix a bug resulting in black screen when loading Linux using a
28269 packed video mode.
28270
28271 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28272 function.
28273
28274 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28275 (grub_vbe_bios_getset_dac_palette_width): New function.
28276 (grub_vbe_bios_get_dac_palette_width)
28277 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28278 grub_vbe_bios_getset_dac_palette_width()).
28279
28280 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28281 check for return status.
28282 (grub_vbe_get_video_mode_info): When getting information for a packed
28283 mode (<= 8 bpp), obtain DAC palette width using
28284 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28285 {red,green,blue}_mark_size.
28286
28287 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
28288
28289 * commands/search.c (options): Fix help output to match actual code.
28290
28291 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28292
28293 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28294 of homegrown code.
28295
28296 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28297
28298 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28299 on XFS or ReiserFS.
28300
28301 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 Support Apple partition map with sector size different from 512 bytes.
28304
28305 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28306 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28307 and 'apart.partmap_size'.
28308
28309 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28310 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28311
28312 Fix cpuid command.
28313
28314 * commands/i386/cpuid.c (options): New variable.
28315 (grub_cmd_cpuid): Return real error.
28316 (GRUB_MOD_INIT(cpuid)): Declare options.
28317
28318 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28319
28320 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28321 valid.
28322
28323 2009-07-31 Bean <bean123ch@gmail.com>
28324
28325 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28326 log2_inode.
28327 (grub_fshelp_node): Move inode field to the end.
28328 (grub_xfs_data): Remove inode field.
28329 (grub_xfs_inode_block): Calculate inode size using sblock.
28330 (grub_xfs_inode_offset): Likewise.
28331 (grub_xfs_read_inode): Calculate inode size using sblock.
28332 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28333 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28334 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28335 to match inode size.
28336 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28337 not accessible when data is null.
28338 (grub_xfs_open): Likewise.
28339
28340 2009-07-31 Bean <bean123ch@gmail.com>
28341
28342 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28343 Don't change pv->disk if it's already set.
28344
28345 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28346 (grub_raid_register): ... here.
28347 (grub_raid_rescan): Removed.
28348
28349 * include/grub/raid.h (grub_raid_rescan): Removed.
28350
28351 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28352 (fstest): Replace grub_raid_rescan with module fini function followed
28353 by init function.
28354
28355 * util/grub-probe.c: Add include file <grub/raid.h>.
28356 (probe_raid_level): New function.
28357 (probe): Detect abstraction by walking the disk device, support two
28358 level of abstraction (LVM on RAID) when detecting partition map.
28359
28360 2009-07-31 Pavel Roskin <proski@gnu.org>
28361
28362 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28363 to grub_zalloc(), it was erroneous.
28364 Reported by Bean <bean123ch@gmail.com>
28365
28366 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28367
28368 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
28369 embedding zone, not only the first one.
28370
28371 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
28372
28373 * term/gfxterm.c (clear_char): New function.
28374 (grub_virtual_screen_setup): Use clear_char.
28375 (scroll_up): Likewise.
28376 (grub_virtual_screen_cls): Likewise.
28377
28378 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
28379
28380 * util/deviceiter.c (get_acceleraid_disk_name): New static
28381 function.
28382 (grub_util_iterate_devices): Handle Accelraid devices.
28383 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28384
28385 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28386
28387 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28388 separator for the suggested gfxpayload string (';' collides with the
28389 parser and needs escaping).
28390
28391 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28392
28393 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28394 Clear direction flag before jumping to OS.
28395 (grub_multiboot2_real_boot): Likewise.
28396
28397 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28398
28399 * util/i386/pc/grub-install: Fix parsing of --disk-module
28400 option.
28401
28402 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28403
28404 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28405 when embedding.
28406
28407 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28408
28409 * util/grub-mkconfig.in (package_version): New variable.
28410 Use it do display the version.
28411
28412 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28413
28414 * kern/file.c (grub_file_open): Revert to previous check with
28415 grub_errno.
28416
28417 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28418
28419 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28420 from help line. It's out of sync with code.
28421
28422 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28423
28424 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28425 entries on failed boot.
28426
28427 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28428
28429 * kern/file.c (grub_file_open): Fix an error check.
28430
28431 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28432
28433 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28434 partition map couldn't be identified.
28435
28436 2009-07-23 Pavel Roskin <proski@gnu.org>
28437
28438 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28439 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28440 case of little endian words becomes just an optimization.
28441 Respect const modifier.
28442 (md5_final): Use code that doesn't depend on endianness.
28443
28444 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28445 to avoid loss of upper bits if align is unsigned and shorter
28446 than addr.
28447
28448 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28449
28450 UUID support for UFS
28451
28452 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28453 (grub_ufs_uuid): New function.
28454 (grub_ufs_fs): add .uuid
28455
28456 2009-07-21 Pavel Roskin <proski@gnu.org>
28457
28458 * kern/dl.c (grub_dl_check_header): Make static.
28459
28460 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28461
28462 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28463 add drivemap for Vista. It breaks Windows 7.
28464
28465 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28466
28467 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28468 128 bytes
28469
28470 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28471
28472 Add BFS support
28473
28474 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28475 (grub_fstest_SOURCES): Likewise.
28476 (pkglib_MODULES): Add befs.mod.
28477 (befs_mod_SOURCES): New variable.
28478 (befs_mod_CFLAGS): Likewise.
28479 (befs_mod_LDFLAGS): Likewise.
28480 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28481 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28482 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28483 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28484 (grub_setup_SOURCES): Likewise.
28485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28486 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28487 (grub_setup_SOURCES): Likewise.
28488 * fs/befs.c: New file.
28489 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28490 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28491 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28492 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28493 (B_KEY_INDEX_ALIGN): New declaration.
28494 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28495 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28496 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28497 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28498 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28499 (grub_afs_mount) [MODE_BFS]: Likewise.
28500 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28501 (grub_afs_fs): Use GRUB_AFS_FSNAME
28502 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28503 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28504 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28505 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28506
28507 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28508
28509 * util/getroot.c (find_root_device): Add support for MacOSX.
28510 * util/hostdisk.c: Likewise.
28511
28512 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28513
28514 * font/font.c (find_glyph): Check whether a font is present to avoid
28515 segmentation fault.
28516
28517 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28518
28519 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28520
28521 2009-07-20 Pavel Roskin <proski@gnu.org>
28522
28523 * configure.ac: Trim excessively wordy excuses.
28524
28525 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28526
28527 Add symlink, mtime and label support to AtheFS.
28528
28529 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28530 (grub_afs_iterate_dir): Handle symlinks.
28531 (grub_afs_open): Use grub_afs_read_symlink.
28532 (grub_afs_dir): Likewise.
28533 Pass mtime.
28534 (grub_afs_label): New function.
28535 (grub_afs_fs): Add grub_afs_label.
28536 (grub_afs_read_symlink): New function.
28537
28538 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28539
28540 Fix AtheFS support.
28541
28542 * fs/afs.c: Fix comments style.
28543 (grub_afs_blockrun): Declare as packed.
28544 (grub_afs_datastream): Likewise.
28545 (grub_afs_bnode): Likewise.
28546 (grub_afs_btree): Likewise.
28547 (grub_afs_sblock): Likewise.
28548 Declare `name' as char.
28549 (grub_afs_inode): Declare as packed.
28550 Change void *vnode to grub_uint32_t unused.
28551 (grub_afs_iterate_dir): Check that key_size is positive.
28552 (grub_afs_mount): Don't read superblock twice.
28553 (grub_afs_dir): Don't free node in case of error,
28554 grub_fshelp_find_file already handles this.
28555 (grub_afs_open): Likewise.
28556
28557 2009-07-19 Pavel Roskin <proski@gnu.org>
28558
28559 * Makefile.in: Remove LIBLZO and enable_lzo.
28560 * conf/i386-pc.rmk: Remove lzo support.
28561 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28562 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28563 support.
28564 * kern/i386/pc/lzo1x.S: Remove.
28565 * kern/i386/pc/startup.S: Remove lzo support.
28566 * util/i386/pc/grub-mkimage.c: Likewise.
28567
28568 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28569
28570 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28571 * fs/xfs.c (grub_xfs_dir): Likewise.
28572 * fs/afs.c (grub_afs_dir): Likewise.
28573 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28574 (grub_iso9660_open): Likewise.
28575 * fs/jfs.c (grub_jfs_open): Likewise.
28576 * fs/ext2.c (grub_ext2_dir): Likewise.
28577 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28578 * script/sh/lexer.c (grub_script_yylex): Likewise.
28579
28580 2009-07-16 Pavel Roskin <proski@gnu.org>
28581
28582 * configure.ac: Never add "-c" to CFLAGS.
28583
28584 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28585
28586 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28587 grub_cv_cc_efiemu should be used.
28588
28589 * configure.ac: Typo fixes.
28590
28591 * kern/mm.c (grub_zalloc): New function.
28592 (grub_debug_zalloc): Likewise.
28593 * include/grub/mm.h: Declare grub_zalloc() and
28594 grub_debug_zalloc().
28595 * util/misc.c (grub_zalloc): New function.
28596 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28597 instead of grub_malloc(), remove unneeded initializations.
28598 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28599 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28600 * commands/parttool.c (grub_cmd_parttool): Likewise.
28601 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28602 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28603 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28604 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28605 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28606 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28607 (grub_cmd_efiemu_pnvram): Likewise.
28608 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28609 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28610 (grub_iso9660_iterate_dir): Likewise.
28611 * fs/jfs.c (grub_jfs_opendir): Likewise.
28612 * fs/ntfs.c (list_file): Likewise.
28613 (grub_ntfs_mount): Likewise.
28614 * kern/disk.c (grub_disk_open): Likewise.
28615 * kern/dl.c (grub_dl_load_core): Likewise.
28616 * kern/elf.c (grub_elf_file): Likewise.
28617 * kern/env.c (grub_env_context_open): Likewise.
28618 (grub_env_set): Likewise.
28619 (grub_env_set_data_slot): Likewise.
28620 * kern/file.c (grub_file_open): Likewise.
28621 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28622 * loader/i386/multiboot.c (grub_module): Likewise.
28623 * loader/xnu.c (grub_xnu_create_key): Likewise.
28624 (grub_xnu_create_value): Likewise.
28625 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28626 (read_config_file): Likewise.
28627 * normal/menu_entry.c (make_screen): Likewise.
28628 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28629 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28630 * script/sh/script.c (grub_script_parse): Likewise.
28631 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28632 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28633 * video/readers/png.c (grub_png_output_byte): Likewise.
28634 (grub_video_reader_png): Likewise.
28635
28636 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28637
28638 Enable all targets that can be built by default
28639
28640 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28641 grub-mkfont and grub-fstest if they can be built
28642
28643 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28644
28645 Fix hang and segmentation fault in grub-emu-usb
28646
28647 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28648 * util/usb.c (grub_libusb_devices): likewise
28649 (grub_libusb_init): rename to ...
28650 (GRUB_MOD_INIT (libusb)):...this
28651 (grub_libusb_fini): rename to ..
28652 (GRUB_MOD_FINI (libusb)):...this
28653 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28654 * include/grub/disk.h (grub_raid_init): removed, it's useless
28655 (grub_raid_fini): likewise
28656 (grub_lvm_init): likewise
28657 (grub_lvm_fini): likewise
28658 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28659 by grub_init_all
28660
28661 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28662
28663 Fix libusb
28664
28665 * Makefile.in (LIBUSB): new macro
28666 * genmk.rb (Utility/print_tail): new method
28667 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28668 (top level): call util.print_tail at the end.
28669
28670 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28671
28672 Make FreeBSD accept zpool.cache
28673
28674 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28675 type is /boot/zfs/zpool.cache
28676
28677 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28678
28679 Fix 64-bit efiemu
28680
28681 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28682 correct wrong typedef
28683 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28684
28685 2009-07-15 Pavel Roskin <proski@gnu.org>
28686
28687 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28688 * kern/disk.c (struct grub_disk_cache): Likewise.
28689
28690 * commands/probe.c (options): Typo fix.
28691
28692 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28693 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28694 accordingly.
28695 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28696
28697 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28698 the end of "Error" to make the message more readable.
28699
28700 * boot/i386/pc/boot.S (kernel_segment): Remove.
28701 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28702 for destination.
28703
28704 * boot/i386/pc/boot.S (boot_version): Remove.
28705 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28706 Remove.
28707
28708 * include/grub/i386/pc/boot.h: Sort all offsets.
28709 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28710 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28711 * boot/i386/pc/boot.S: Assert location of every offset listed in
28712 include/grub/i386/pc/boot.h.
28713
28714 2009-07-13 Pavel Roskin <proski@gnu.org>
28715
28716 * include/grub/i386/coreboot/machine.h: Rename
28717 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28718 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28719 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28720
28721 * kern/dl.c: Force native word size to suppress warnings when
28722 compiling grub-emu.
28723
28724 * kern/device.c (grub_device_iterate): Change struct part_ent to
28725 hold the name, not a pointer to it. Use one grub_malloc() per
28726 partition, not two. Free partition_name if grub_malloc() fails.
28727 Set ents to NULL only before grub_partition_iterate() is called.
28728
28729 2009-07-11 Bean <bean123ch@gmail.com>
28730
28731 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28732 childname.
28733
28734 2009-07-10 Bean <bean123ch@gmail.com>
28735 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28736
28737 * kern/ieee1275/openfw.c (grub_children_iterate)
28738 (grub_devalias_iterate): Fix size evaluation for property or path
28739 strings, which was broken since r2132.
28740
28741 2009-07-07 Pavel Roskin <proski@gnu.org>
28742
28743 * commands/search.c (search_file): Merge into ...
28744 (search_fs): ... this. Accept search type as argument.
28745 (grub_cmd_search): Pass search type to search_fs().
28746
28747 * include/grub/util/console.h: New file.
28748 * util/console.c: Use it instead of grub/machine/console.h.
28749 * util/grub-emu.c: Likewise.
28750
28751 * lib/arg.c (find_long_option): Remove.
28752 (find_long): Add `len' argument, make `s' const char *.
28753 (grub_arg_parse): Parse long options in place, not in a
28754 temporary buffer.
28755
28756 2009-07-06 Pavel Roskin <proski@gnu.org>
28757
28758 * commands/search.c (search_fs): Fix potential NULL pointer
28759 dereference.
28760
28761 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28762 function pointer.
28763
28764 2009-07-06 Daniel Mierswa <impulze@impulze.org>
28765
28766 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28767 comparison.
28768
28769 2009-07-05 Pavel Roskin <proski@gnu.org>
28770
28771 * include/grub/i386/linux.h (struct linux_kernel_params):
28772 Restore padding3, it's still needed.
28773
28774 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28775 FreeBSD.
28776 * util/osdetect.lua: Likewise.
28777
28778 2009-07-05 Bean <bean123ch@gmail.com>
28779
28780 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28781
28782 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28783 (grub_lua_getenv): Likewise.
28784 (grub_lua_setenv): Likewise.
28785 (save_errno): New function.
28786 (push_result): Likewise.
28787 (grub_lua_enum_device): Likewise.
28788 (grub_lua_enum_file): Likewise.
28789 (grub_lua_file_open): Likewise.
28790 (grub_lua_file_close): Likewise.
28791 (grub_lua_file_seek): Likewise.
28792 (grub_lua_file_read): Likewise.
28793 (grub_lua_file_getline): Likewise.
28794 (grub_lua_file_getsize): Likewise.
28795 (grub_lua_file_getpos): Likewise.
28796 (grub_lua_file_eof): Likewise.
28797 (grub_lua_file_exist): Likewise.
28798 (grub_lua_add_menu): Likewise.
28799
28800 * script/lua/grub_lua.h (isupper): New inline function.
28801 (islower): Likewise.
28802 (ispunct): Likewise.
28803 (isxdigit): Likewise.
28804 (strcspn): Change to normal function.
28805 (strpbkr): New function declaration.
28806 (memchr): Likewise.
28807
28808 * script/lua/grub_main.c (scan_str): New function.
28809 (strcspn): Likewise.
28810 (strpbrk): Likewise.
28811 (memchr): Likewise.
28812
28813 * script/lua/linit.c (lualibs): Enable the string library.
28814
28815 * util/osdetect.lua: New file.
28816
28817 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28818
28819 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28820 `capabilities' member.
28821
28822 2009-07-02 Pavel Roskin <proski@gnu.org>
28823
28824 * genparttoollist.sh: Add missing newline at the end.
28825
28826 2009-07-01 Pavel Roskin <proski@gnu.org>
28827
28828 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28829
28830 * util/hostdisk.c (open_device): Remove `const' from
28831 `sysctl_size', as sysctlbyname() can change it (in this case it
28832 doesn't actually happen).
28833
28834 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28835 using signed long int constants.
28836
28837 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28838 constant to avoid a warning on FreeBSD.
28839
28840 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28841 where it's needed.
28842
28843 * Makefile.in: Install include/grub/machine symlink.
28844
28845 * Makefile.in: When installing symlinks, use "cp -fR", which
28846 works on FreeBSD and MacOSX.
28847 From Yves Blusseau <cl7m42e02@sneakemail.com>
28848
28849 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28850 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28851
28852 * util/misc.c: Move grub_reboot() and grub_halt() ...
28853 * util/grub-emu.c: ... here. Make main_env static.
28854 * include/grub/util/misc.h: Remove main_env.
28855
28856 * kern/mm.c: Use correct format to print size_t.
28857
28858 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28859 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28860 * kern/powerpc/dl.c: Likewise.
28861 * kern/sparc64/dl.c: Likewise.
28862 * kern/x86_64/dl.c: Likewise.
28863
28864 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28865
28866 Fix grub-emu build on sparc64-ieee1275.
28867
28868 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
28869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28870
28871 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28872
28873 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28874 (grub_reboot, grub_halt): New functions.
28875
28876 * util/i386/pc/misc.c: Delete. Update all users.
28877 * util/sparc64/ieee1275/misc.c: Likewise.
28878 * util/powerpc/ieee1275/misc.c: Likewise.
28879
28880 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28881
28882 * conf/i386.rmk (setjmp_mod_SOURCES)
28883 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28884 * conf/common.rmk (setjmp_mod_SOURCES)
28885 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28886 to use $(target_cpu).
28887 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28888 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28889 * conf/powerpc-ieee1275.rmk: Likewise.
28890 * conf/sparc64-ieee1275.rmk: Likewise.
28891
28892 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28893 $(target_cpu) for kern/$(target_cpu)/dl.c.
28894 * conf/i386-efi.rmk: Likewise.
28895 * conf/i386-ieee1275.rmk: Likewise.
28896 * conf/x86_64-efi.rmk: Likewise.
28897 * conf/i386-coreboot.rmk: Likewise.
28898 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28899 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28900 kern/$(target_cpu)/cache.S.
28901 * conf/sparc64-ieee1275.rmk: Likewise.
28902
28903 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28904
28905 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28906 type to `grub_uint8_t', and adjust `padding9' accordingly.
28907
28908 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28909
28910 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28911
28912 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28913 assembly in final jump, using register constraints.
28914
28915 (grub_linux_boot): For text mode, initialize `have_vga' using
28916 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28917
28918 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28919 right before the final jump.
28920
28921 Set `video_mode' to 0x3.
28922
28923 Document initialization of `video_page', `video_mode' and
28924 `video_ega_bx'.
28925
28926 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28927
28928 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28929 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28930 and set GRUB_LINUX_FLAG_QUIET appropriately.
28931
28932 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28933
28934 Fix build on Debian / sparc.
28935
28936 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28937
28938 2009-06-28 Pavel Roskin <proski@gnu.org>
28939
28940 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28941 fix a warning.
28942
28943 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28944
28945 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28946
28947 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28948 `err'.
28949
28950 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28951
28952 Revert r2338.
28953
28954 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28955 file can't be opened. grub_file_open() is already supposed to set
28956 grub_errno / grub_errmsg appropriately.
28957 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28958
28959 2009-06-27 Pavel Roskin <proski@gnu.org>
28960 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28961
28962 * include/grub/dl.h: Include grub/elf.h.
28963 (struct grub_dl): Add symtab field.
28964 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28965 GRUB_MODULES_MACHINE_READONLY.
28966 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28967 of the header for read-only modules.
28968 (grub_dl_unload): Free mod->symtab for read-only modules.
28969 * kern/i386/dl.c: Use mod->symtab.
28970 * kern/powerpc/dl.c: Likewise.
28971 * kern/sparc64/dl.c: Likewise.
28972 * kern/x86_64/dl.c: Likewise.
28973
28974 * conf/i386-qemu.rmk: New file.
28975 * kern/i386/qemu/startup.S: Likewise.
28976 * kern/i386/qemu/mmap.c: Likewise.
28977 * boot/i386/qemu/boot.S: Likewise.
28978 * include/grub/i386/qemu/time.h: Likewise.
28979 * include/grub/i386/qemu/serial.h: Likewise.
28980 * include/grub/i386/qemu/kernel.h: Likewise.
28981 * include/grub/i386/qemu/console.h: Likewise.
28982 * include/grub/i386/qemu/boot.h: Likewise.
28983 * include/grub/i386/qemu/init.h: Likewise.
28984 * include/grub/i386/qemu/machine.h: Likewise.
28985 * include/grub/i386/qemu/loader.h: Likewise.
28986 * include/grub/i386/qemu/memory.h: Likewise.
28987
28988 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28989 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28990 [qemu] (pkglib_IMAGES): Add `boot.img'.
28991 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28992 [qemu] (boot_img_FORMAT): New variables.
28993 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28994 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28995 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28996 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28997 [qemu] (kernel_img_FORMAT): New variables.
28998
28999 * configure.ac: Recognise `i386-qemu'.
29000
29001 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29002 (for no compression).
29003 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29004 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29005 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29006 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29007 ifdefs).
29008
29009 2009-06-27 Pavel Roskin <proski@gnu.org>
29010
29011 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29012 read.
29013 * efiemu/prepare32.c: Likewise.
29014 * efiemu/prepare64.c: Likewise.
29015
29016 2009-06-26 Pavel Roskin <proski@gnu.org>
29017
29018 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29019 * include/grub/elf.h: Define symbols without "32" or "64" based
29020 on GRUB_TARGET_WORDSIZE.
29021 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29022 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29023 ELF definitions.
29024 * efiemu/loadcore64.c: Likewise.
29025 * loader/i386/bsd32.c: Likewise.
29026 * loader/i386/bsd64.c: Likewise.
29027 * kern/dl.c: Remove own ELF definitions.
29028 * util/i386/efi/grub-mkimage.c: Likewise.
29029
29030 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29031
29032 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29033 segment 0x0 unconditionally, because the reference generated by
29034 GAS is an absolute address.
29035
29036 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29037
29038 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29039 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29040
29041 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29042
29043 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29044 indexes. Check for -f explicitly.
29045 (search_file): Improve error message.
29046 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
29047
29048 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29049
29050 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29051 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29052
29053 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29054
29055 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29056 * conf/i386-ieee1275.rmk: Likewise.
29057 * conf/i386-coreboot.rmk: Likewise.
29058
29059 * kern/i386/pc/startup.S (grub_stop): Remove function.
29060 * kern/i386/ieee1275/startup.S: Likewise.
29061 * kern/i386/coreboot/startup.S: Likewise.
29062 * kern/i386/misc.S (grub_stop): New function.
29063
29064 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29065
29066 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29067 * kern/i386/realmode.S (real_to_prot): ... to here.
29068
29069 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29070
29071 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29072 with `kernel.img'.
29073 (kernel_elf_SOURCES): Rename to ...
29074 (kernel_img_SOURCES): ... this.
29075 (kernel_elf_HEADERS): Rename to ...
29076 (kernel_img_HEADERS): ... this. Update all users.
29077 (kernel_elf_ASFLAGS): Rename to ...
29078 (kernel_img_ASFLAGS): ... this.
29079 (kernel_elf_CFLAGS): Rename to ...
29080 (kernel_img_CFLAGS): ... this.
29081 (kernel_elf_LDFLAGS): Rename to ...
29082 (kernel_img_LDFLAGS): ... this.
29083 * conf/i386-coreboot.rmk: Likewise.
29084 * conf/powerpc-ieee1275.rmk: Likewise.
29085
29086 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29087 with "kernel.img".
29088
29089 2009-06-21 Pavel Roskin <proski@gnu.org>
29090
29091 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29092 to match nested functions.
29093 * loader/sparc64/ieee1275/linux.c: Likewise.
29094
29095 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29096
29097 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29098
29099 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29100 all i386 platforms.
29101
29102 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29103
29104 Fix asm file handling on ELF, and remove workarounds.
29105
29106 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
29107 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
29108 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29109 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29110
29111 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29112
29113 Load BSD ELF modules
29114
29115 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29116 and loader/i386/bsd64.c
29117 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29118 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29119 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29120 (grub_freebsd_load_elfmodule32): New declaration
29121 (grub_freebsd_load_elfmoduleobj64): Likewise
29122 (grub_freebsd_load_elf_meta32): Likewise
29123 (grub_freebsd_load_elf_meta64): Likewise
29124 (grub_freebsd_add_meta): Likewise
29125 (grub_freebsd_add_meta_module): Likewise
29126 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29127 (grub_freebsd_add_meta_module): Likewise and move module-specific
29128 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29129 (grub_cmd_freebsd): Add elf-kernel specific parts
29130 based on grub_freebsd_add_meta_module
29131 (grub_cmd_freebsd_module): Add type parsing moved from
29132 grub_freebsd_add_meta_module
29133 (grub_cmd_freebsd_module_elf): New function
29134 (cmd_freebsd_module_elf): New variable
29135 (GRUB_MOD_INIT): Register freebsd_module_elf
29136 * loader/i386/bsd32.c: New file
29137 * loader/i386/bsd64.c: Likewise
29138 * loader/i386/bsdXX.c: Likewise
29139 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29140 (grub_elf64_load): Likewise
29141 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29142 All users updated
29143 (grub_elf64_load_hook_t): Likewise
29144
29145 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
29146
29147 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29148 variable.
29149 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29150 don't write a menu entry for recovery mode.
29151
29152 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29153
29154 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29155 after it's no longer needed.
29156
29157 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29158
29159 * include/grub/i386/loader.h (grub_linux_prot_size)
29160 (grub_linux_tmp_addr, grub_linux_real_addr)
29161 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29162 GRUB_MACHINE_PCBIOS.
29163 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29164 common grub_util_info() call to ...
29165 (generate_image): ... here.
29166 Fix use of uninitialized memory, comparison of signed with
29167 unsigned integers and memory leak.
29168 Remove bogus module address message.
29169
29170 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29173 grub_raid_register
29174 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29175
29176 2009-06-19 Pavel Roskin <proski@gnu.org>
29177
29178 * configure.ac: Remove stray AC_MSG_CHECKING.
29179
29180 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29181
29182 * disk/scsi.c (grub_scsi_open): use continue instead of big if
29183
29184 2009-06-18 Pavel Roskin <proski@gnu.org>
29185
29186 * conf/common.rmk: Add fs_file.mod.
29187 * disk/fs_file.c: New file.
29188 * include/grub/disk.h (enum grub_disk_dev_id): Add
29189 GRUB_DISK_DEVICE_FILE_ID.
29190
29191 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29192
29193 Fix build with Apple's toolchain. Part 2
29194
29195 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29196 a fake start
29197
29198 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29199
29200 Fix build with Apple's toolchain. Part 1
29201
29202 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29203 for long calls
29204 * configure.ac: remove a leftover AC_MSG_RESULT
29205 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
29206 Apple's toolchain
29207
29208 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29209
29210 Fix warnings
29211
29212 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29213 (decomp_block): initialize ch
29214 use grub_memcpy instead of memcpy
29215
29216 2009-06-17 Pavel Roskin <proski@gnu.org>
29217
29218 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29219 version, use declarations needed to use vga_text as the startup
29220 console.
29221
29222 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29223 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29224 the kernel.
29225 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29226 and grub_at_keyboard_fini(), it's done on module load and
29227 unload.
29228
29229 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
29230
29231 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29232 file can't be found.
29233 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29234
29235 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29236
29237 Fix newline handling
29238
29239 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
29240 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
29241 (grub_script_yylex): don't segfault on unterminated script
29242 newline terminates command and variable
29243
29244 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29245
29246 avoid double grub_adjust_range call. Bug reported by David Simner
29247
29248 * kern/disk.c (grub_disk_write): change to raw disk access before
29249 calling disk_read
29250
29251 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
29252
29253 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29254 spaces, for the benefit of help2man.
29255 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29256
29257 2009-06-16 Pavel Roskin <proski@gnu.org>
29258
29259 * kern/i386/halt.c: Include grub/machine/init.h.
29260 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29261
29262 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
29263
29264 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29265 drivemap menuentry.
29266
29267 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29268
29269 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29270 `echo' command.
29271
29272 2009-06-16 Pavel Roskin <proski@gnu.org>
29273
29274 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29275 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29276 save %dx, we only need %dl and we never change it.
29277 * boot/i386/pc/cdboot.S: Don't set the root drive.
29278 * boot/i386/pc/pxeboot.S: Likewise.
29279 * include/grub/i386/pc/boot.h: Remove
29280 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29281 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29282 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29283 * kern/i386/pc/init.c (make_install_device): Remove references
29284 to grub_root_drive.
29285 * kern/i386/pc/startup.S: Likewise.
29286 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29287
29288 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29289
29290 xnu_uuid command
29291
29292 * commands/xnu_uuid.c: new file
29293 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29294 (xnu_uuid_mod_SOURCES): new variable
29295 (xnu_uuid_mod_CFLAGS): likewise
29296 (xnu_uuid_mod_LDFLAGS): likewise
29297 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29298 * conf/i386-ieee1275.rmk: likewise
29299 * conf/i386-pc.rmk: likewise
29300 * conf/powerpc-ieee1275.rmk: likewise
29301 * conf/sparc64-ieee1275.rmk: likewise
29302 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29303
29304 2009-06-16 Pavel Roskin <proski@gnu.org>
29305
29306 * configure.ac: Avoid '==' in test command, it's not portable.
29307
29308 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29309
29310 Probe command
29311
29312 * commands/probe.c: new file
29313 * conf/common.rmk (pkglib_MODULES): add probe.mod
29314 (probe_mod_SOURCES): new variable
29315 (probe_mod_CFLAGS): likewise
29316 (probe_mod_LDFLAGS): likewise
29317 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29318 * conf/i386-ieee1275.rmk: likewise
29319 * conf/i386-pc.rmk: likewise
29320 * conf/powerpc-ieee1275.rmk: likewise
29321 * conf/sparc64-ieee1275.rmk: likewise
29322
29323 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29324
29325 Fix handling of string like \"hello\" and "a
29326 b"
29327
29328 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29329 (grub_script_yylex): fix parsing of quoting, escaping and newline
29330
29331 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29332
29333 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
29334 handling
29335
29336 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
29337
29338 * util/grub-mkconfig.in: Fix parsing of --output option.
29339
29340 2009-06-12 Pavel Roskin <proski@gnu.org>
29341
29342 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29343 genmk.rb don't need to be generated or installed.
29344
29345 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29346
29347 * commands/i386/pc/drivemap_int13h.S: add more comments
29348
29349 2009-06-11 Pavel Roskin <proski@gnu.org>
29350
29351 * Makefile.in (uninstall): Uninstall manuals.
29352
29353 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29354 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29355 and update-grub_lib in two places.
29356 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29357
29358 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29359 a compiler warning.
29360
29361 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29362 `entry_lo' to fix variable shadowing.
29363
29364 2009-06-11 Christian Franke <franke@computer.org>
29365
29366 * kern/misc.c (__enable_execute_stack): Add missing return type
29367 to prevent gcc warning.
29368
29369 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29370
29371 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29372
29373 2009-06-11 Pavel Roskin <proski@gnu.org>
29374
29375 * Makefile.in: Don't rely on any scripts being executable.
29376 Always use $(SHELL) to run shell scripts.
29377
29378 * configure.ac: Always define ___main if using -nostdlib. This
29379 fixes tests on Cygwin.
29380
29381 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29382
29383 UDF fix
29384
29385 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
29386 is in bytes and not in blocks
29387
29388 2009-06-11 Pavel Roskin <proski@gnu.org>
29389
29390 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29391 warning.
29392
29393 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29394
29395 * util/grub.d/30_os-prober.in: Fix a comment. Source
29396 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29397 to set the root device. Place drivemap command in the generated
29398 chain entry.
29399
29400 2009-06-11 Pavel Roskin <proski@gnu.org>
29401
29402 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29403 have long been resolved.
29404
29405 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29406
29407 * util/grub.d/10_linux.in: Capitalise "Linux".
29408
29409 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29410
29411 2009-06-11 Pavel Roskin <proski@gnu.org>
29412
29413 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29414 fix a gcc warning and ensure that the function won't ever exit.
29415
29416 * kern/i386/ieee1275/init.c: Add missing prototype for
29417 grub_stop_floppy().
29418
29419 * loader/ieee1275/multiboot2.c [__i386__]: Include
29420 grub/cpu/multiboot.h.
29421
29422 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29423 casts to short - they are not portable and cause warnings. Fix
29424 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29425
29426 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29427
29428 Drivemap fixes
29429
29430 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29431 new function
29432 (grub_get_root_biosnumber_saved): new variable
29433 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29434 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29435 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29436 %dx after the call if necessary
29437 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29438 (boot_mod_SOURCES): remove
29439 (boot_mod_CFLAGS): remove
29440 (boot_mod_LDFLAGS): remove
29441 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29442 (boot_mod_SOURCES): new variable
29443 (boot_mod_CFLAGS): likewise
29444 (boot_mod_LDFLAGS): likewise
29445 * conf/i386-efi.rmk: likewise
29446 * conf/i386-ieee1275.rmk: likewise
29447 * conf/i386-pc.rmk: likewise
29448 * conf/powerpc-ieee1275.rmk: likewise
29449 * conf/sparc64-ieee1275.rmk: likewise
29450 * conf/x86_64-efi.rmk: likewise
29451 * include/grub/i386/pc/biosnum.h: new file
29452 * lib/i386/pc/biosnum.c: likewise
29453 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29454 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29455 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29456
29457 2009-06-10 Pavel Roskin <proski@gnu.org>
29458
29459 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29460 Use separate variables. Read only the file size at the end, but
29461 not the checksum that we don't use.
29462
29463 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29464 Adjust all callers.
29465
29466 * kern/ieee1275/openfw.c: Remove libc includes.
29467 * kern/ieee1275/cmain.c: Likewise.
29468 * include/grub/ieee1275/ieee1275.h: Likewise.
29469
29470 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29471 compiler warnings.
29472
29473 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29474
29475 * Makefile.in: Remove all trailing whitespace.
29476 * conf/i386-pc.rmk: Likewise.
29477 * conf/powerpc-ieee1275.rmk: Likewise.
29478 * conf/sparc64-ieee1275.rmk: Likewise.
29479 * docs/grub.texi: Likewise.
29480 * docs/texinfo.tex: Likewise.
29481 * disk/fs_uuid.c: Likewise.
29482 * disk/lvm.c: Likewise.
29483 * disk/scsi.c: Likewise.
29484 * disk/ata.c: Likewise.
29485 * disk/ieee1275/ofdisk.c: Likewise.
29486 * disk/i386/pc/biosdisk.c: Likewise.
29487 * disk/host.c: Likewise.
29488 * disk/raid.c: Likewise.
29489 * disk/efi/efidisk.c: Likewise.
29490 * disk/usbms.c: Likewise.
29491 * disk/memdisk.c: Likewise.
29492 * disk/loopback.c: Likewise.
29493 * kern/powerpc/dl.c: Likewise.
29494 * kern/device.c: Likewise.
29495 * kern/dl.c: Likewise.
29496 * kern/sparc64/dl.c: Likewise.
29497 * kern/ieee1275/ieee1275.c: Likewise.
29498 * kern/term.c: Likewise.
29499 * kern/fs.c: Likewise.
29500 * kern/i386/dl.c: Likewise.
29501 * kern/i386/pc/startup.S: Likewise.
29502 * kern/i386/pc/init.c: Likewise.
29503 * kern/i386/pc/mmap.c: Likewise.
29504 * kern/i386/pc/lzo1x.S: Likewise.
29505 * kern/i386/ieee1275/init.c: Likewise.
29506 * kern/i386/realmode.S: Likewise.
29507 * kern/i386/tsc.c: Likewise.
29508 * kern/partition.c: Likewise.
29509 * kern/corecmd.c: Likewise.
29510 * kern/file.c: Likewise.
29511 * kern/efi/efi.c: Likewise.
29512 * kern/efi/init.c: Likewise.
29513 * kern/efi/mm.c: Likewise.
29514 * kern/main.c: Likewise.
29515 * kern/err.c: Likewise.
29516 * kern/env.c: Likewise.
29517 * kern/disk.c: Likewise.
29518 * kern/generic/millisleep.c: Likewise.
29519 * kern/generic/rtc_get_time_ms.c: Likewise.
29520 * kern/misc.c: Likewise.
29521 * kern/parser.c: Likewise.
29522 * genmk.rb: Likewise.
29523 * configure.ac: Likewise.
29524 * boot/i386/pc/diskboot.S: Likewise.
29525 * boot/i386/pc/pxeboot.S: Likewise.
29526 * boot/i386/pc/boot.S: Likewise.
29527 * boot/i386/pc/lnxboot.S: Likewise.
29528 * boot/i386/pc/cdboot.S: Likewise.
29529 * parttool/pcpart.c: Likewise.
29530 * video/readers/tga.c: Likewise.
29531 * video/video.c: Likewise.
29532 * video/bitmap.c: Likewise.
29533 * lib/envblk.c: Likewise.
29534 * lib/i386/setjmp.S: Likewise.
29535 * fs/xfs.c: Likewise.
29536 * fs/afs.c: Likewise.
29537 * fs/fat.c: Likewise.
29538 * fs/ntfs.c: Likewise.
29539 * fs/udf.c: Likewise.
29540 * fs/affs.c: Likewise.
29541 * fs/iso9660.c: Likewise.
29542 * fs/hfs.c: Likewise.
29543 * fs/fshelp.c: Likewise.
29544 * fs/ext2.c: Likewise.
29545 * fs/jfs.c: Likewise.
29546 * fs/reiserfs.c: Likewise.
29547 * fs/hfsplus.c: Likewise.
29548 * fs/minix.c: Likewise.
29549 * fs/cpio.c: Likewise.
29550 * fs/sfs.c: Likewise.
29551 * fs/ufs.c: Likewise.
29552 * efiemu/prepare.c: Likewise.
29553 * efiemu/loadcore_common.c: Likewise.
29554 * efiemu/runtime/efiemu.sh: Likewise.
29555 * efiemu/runtime/efiemu.S: Likewise.
29556 * efiemu/runtime/efiemu.c: Likewise.
29557 * efiemu/pnvram.c: Likewise.
29558 * efiemu/main.c: Likewise.
29559 * efiemu/i386/pc/cfgtables.c: Likewise.
29560 * efiemu/i386/loadcore64.c: Likewise.
29561 * efiemu/i386/loadcore32.c: Likewise.
29562 * efiemu/loadcore.c: Likewise.
29563 * efiemu/symbols.c: Likewise.
29564 * efiemu/mm.c: Likewise.
29565 * include/grub/autoefi.h: Likewise.
29566 * include/grub/datetime.h: Likewise.
29567 * include/grub/term.h: Likewise.
29568 * include/grub/hfs.h: Likewise.
29569 * include/grub/lvm.h: Likewise.
29570 * include/grub/i386/tsc.h: Likewise.
29571 * include/grub/i386/linux.h: Likewise.
29572 * include/grub/i386/xnu.h: Likewise.
29573 * include/grub/i386/efiemu.h: Likewise.
29574 * include/grub/i386/pc/biosdisk.h: Likewise.
29575 * include/grub/i386/pc/memory.h: Likewise.
29576 * include/grub/i386/pc/vbe.h: Likewise.
29577 * include/grub/parttool.h: Likewise.
29578 * include/grub/video.h: Likewise.
29579 * include/grub/memory.h: Likewise.
29580 * include/grub/fs.h: Likewise.
29581 * include/grub/partition.h: Likewise.
29582 * include/grub/xnu.h: Likewise.
29583 * include/grub/efi/api.h: Likewise.
29584 * include/grub/efi/pe32.h: Likewise.
29585 * include/grub/efi/memory.h: Likewise.
29586 * include/grub/multiboot.h: Likewise.
29587 * include/grub/usbdesc.h: Likewise.
29588 * include/grub/multiboot2.h: Likewise.
29589 * include/grub/acpi.h: Likewise.
29590 * include/grub/efiemu/efiemu.h: Likewise.
29591 * include/grub/disk.h: Likewise.
29592 * include/grub/ieee1275/ieee1275.h: Likewise.
29593 * include/grub/net.h: Likewise.
29594 * include/grub/machoload.h: Likewise.
29595 * include/grub/macho.h: Likewise.
29596 * include/multiboot.h: Likewise.
29597 * genmoddep.awk: Likewise.
29598 * normal/main.c: Likewise.
29599 * normal/menu_entry.c: Likewise.
29600 * normal/menu_viewer.c: Likewise.
29601 * normal/completion.c: Likewise.
29602 * normal/cmdline.c: Likewise.
29603 * normal/misc.c: Likewise.
29604 * normal/datetime.c: Likewise.
29605 * bus/usb/usbtrans.c: Likewise.
29606 * bus/usb/ohci.c: Likewise.
29607 * bus/usb/uhci.c: Likewise.
29608 * bus/usb/usb.c: Likewise.
29609 * mmap/efi/mmap.c: Likewise.
29610 * mmap/i386/pc/mmap_helper.S: Likewise.
29611 * mmap/i386/pc/mmap.c: Likewise.
29612 * mmap/i386/mmap.c: Likewise.
29613 * mmap/i386/uppermem.c: Likewise.
29614 * mmap/mmap.c: Likewise.
29615 * commands/acpi.c: Likewise.
29616 * commands/echo.c: Likewise.
29617 * commands/blocklist.c: Likewise.
29618 * commands/loadenv.c: Likewise.
29619 * commands/usbtest.c: Likewise.
29620 * commands/boot.c: Likewise.
29621 * commands/parttool.c: Likewise.
29622 * commands/search.c: Likewise.
29623 * commands/cat.c: Likewise.
29624 * commands/i386/pc/play.c: Likewise.
29625 * commands/i386/pc/drivemap.c: Likewise.
29626 * commands/i386/pc/vbeinfo.c: Likewise.
29627 * commands/i386/pc/acpi.c: Likewise.
29628 * commands/i386/pc/vbetest.c: Likewise.
29629 * commands/ls.c: Likewise.
29630 * commands/cmp.c: Likewise.
29631 * commands/test.c: Likewise.
29632 * commands/efi/acpi.c: Likewise.
29633 * commands/gptsync.c: Likewise.
29634 * commands/help.c: Likewise.
29635 * partmap/amiga.c: Likewise.
29636 * partmap/apple.c: Likewise.
29637 * partmap/acorn.c: Likewise.
29638 * partmap/pc.c: Likewise.
29639 * partmap/sun.c: Likewise.
29640 * partmap/gpt.c: Likewise.
29641 * script/sh/lexer.c: Likewise.
29642 * script/sh/function.c: Likewise.
29643 * font/font.c: Likewise.
29644 * font/font_cmd.c: Likewise.
29645 * loader/powerpc/ieee1275/linux.c: Likewise.
29646 * loader/efi/chainloader.c: Likewise.
29647 * loader/multiboot_loader.c: Likewise.
29648 * loader/macho.c: Likewise.
29649 * loader/i386/multiboot.c: Likewise.
29650 * loader/i386/linux.c: Likewise.
29651 * loader/i386/pc/linux.c: Likewise.
29652 * loader/i386/pc/multiboot2.c: Likewise.
29653 * loader/i386/pc/chainloader.c: Likewise.
29654 * loader/i386/pc/xnu.c: Likewise.
29655 * loader/i386/bsd_trampoline.S: Likewise.
29656 * loader/i386/efi/linux.c: Likewise.
29657 * loader/i386/multiboot_elfxx.c: Likewise.
29658 * loader/i386/bsd_helper.S: Likewise.
29659 * loader/i386/bsd.c: Likewise.
29660 * loader/i386/linux_trampoline.S: Likewise.
29661 * loader/i386/xnu_helper.S: Likewise.
29662 * loader/i386/xnu.c: Likewise.
29663 * loader/i386/bsd_pagetable.c: Likewise.
29664 * loader/i386/multiboot_helper.S: Likewise.
29665 * loader/xnu.c: Likewise.
29666 * loader/xnu_resume.c: Likewise.
29667 * io/gzio.c: Likewise.
29668 * term/efi/console.c: Likewise.
29669 * term/terminfo.c: Likewise.
29670 * term/ieee1275/ofconsole.c: Likewise.
29671 * term/i386/pc/serial.c: Likewise.
29672 * term/i386/pc/vesafb.c: Likewise.
29673 * term/i386/pc/vga.c: Likewise.
29674 * term/usb_keyboard.c: Likewise.
29675 * term/gfxterm.c: Likewise.
29676 * aclocal.m4: Likewise.
29677 * util/lvm.c: Likewise.
29678 * util/grub.d/30_os-prober.in: Likewise.
29679 * util/grub.d/10_hurd.in: Likewise.
29680 * util/console.c: Likewise.
29681 * util/grub-macho2img.c: Likewise.
29682 * util/grub-probe.c: Likewise.
29683 * util/hostfs.c: Likewise.
29684 * util/i386/pc/grub-mkimage.c: Likewise.
29685 * util/i386/pc/grub-setup.c: Likewise.
29686 * util/i386/efi/grub-mkimage.c: Likewise.
29687 * util/grub-mkconfig.in: Likewise.
29688 * util/raid.c: Likewise.
29689 * util/resolve.c: Likewise.
29690 * util/grub-mkdevicemap.c: Likewise.
29691 * util/grub-emu.c: Likewise.
29692 * util/getroot.c: Likewise.
29693 * util/hostdisk.c: Likewise.
29694 * util/usb.c: Likewise.
29695 * util/grub-editenv.c: Likewise.
29696 * util/misc.c: Likewise.
29697
29698 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29699
29700 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29701 `genparttoollist.sh'.
29702 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29703 Add `*.sh' to the list find searches for and change `mdate.sh'
29704 to `mdate-sh'.
29705
29706 2009-06-10 Pavel Roskin <proski@gnu.org>
29707
29708 * include/grub/multiboot2.h: Provide compatibility defines for
29709 multiboot2.h.
29710 * include/multiboot2.h: Include stdint.h only if needed, using
29711 angle brackets.
29712 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29713 grub/multiboot2.h.
29714 * loader/ieee1275/multiboot2.c: Likewise.
29715 * loader/multiboot2.c: Likewise.
29716 * loader/multiboot_loader.c: Likewise.
29717
29718 * configure.ac: Use -nostdlib when probing for the target. It
29719 should not be required to have libc for the target.
29720
29721 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29722 they fail without libc headers for the target.
29723 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29724 exports.
29725 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29726 preprocessor conditionals.
29727
29728 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29729 build system doesn't need to be aware of the tar.c internals.
29730
29731 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
29732
29733 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
29734
29735 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29736
29737 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29738 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29739
29740 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
29741
29742 * util/i386/pc/grub-install.in: Change the error message if UUIDs
29743 aren't available if ata.mod gets used.
29744
29745 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
29746
29747 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
29748 initialising controller.
29749 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29750
29751 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29752
29753 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29754 to choose between ata and biosdisk module on i386-pc.
29755
29756 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
29757
29758 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29759 Subclass and Programming Interface fields in terms of the 3 byte
29760 Class Code register.
29761 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29762
29763 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29764 interface is OHCI. Add grub_dprintf for symmetry with
29765 bus/usb/uhci.c.
29766 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29767 interface is UHCI. Add interf variable for programming
29768 interface. Print interface with class/subclass.
29769
29770 * bus/usb/ohci.c: Set interf with correct field.
29771
29772 * bus/usb/uhci.c: Remove unneeded doubled lines.
29773 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29774 Remove whitespace inside comment.
29775
29776 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29777
29778 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29779 as fallback an equivalent option without depth.
29780
29781 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29782
29783 Not fail if unable to retrieve C/H/S on LBA disks
29784
29785 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
29786 if unable to retrieve C/H/S on LBA disks
29787
29788 2009-06-08 Pavel Roskin <proski@gnu.org>
29789
29790 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29791 about aliasing.
29792
29793 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29794
29795 * Makefile.in (uninstall): Remove all $lib_DATA files.
29796
29797 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29798
29799 Bugfix: install on partitionless device
29800
29801 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29802 is a whole disk
29803
29804 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29805
29806 * Makefile.in (uninstall): Remove all $include_DATA files.
29807
29808 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29809
29810 * commands/true.c: New file. Implement the true and false commands.
29811 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29812 (true_mod_SOURCES): New variable.
29813 (true_mod_CFLAGS): Likewise.
29814 (true_mod_LDFLAGS): Likewise.
29815
29816 2009-06-05 Colin D Bennett <colin@gibibit.com>
29817
29818 Optimized font character lookup using binary search instead of linear
29819 search. Fonts now are required to have the character index ordered by
29820 code point.
29821
29822 * font/font.c (load_font_index): Verify that fonts have ordered
29823 character indices.
29824 (find_glyph): Use binary search instead of linear search to find a
29825 character in a font.
29826
29827 2009-06-05 Michael Scherer <misc@mandriva.org>
29828
29829 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29830 uses case sensitive btree.
29831 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29832 only for case insensitive filesystems.
29833
29834 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29835
29836 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29837 * conf/common.rmk (search_mod_CFLAGS): likewise
29838
29839 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29840
29841 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
29842 compensate a compiler bug
29843
29844 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29845
29846 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
29847 instead of '\b'
29848
29849 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29850
29851 Definitions for creating asm symbols with Apple's CC
29852
29853 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29854 [APPLE_CC] (VARIABLE): likewise
29855
29856 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 Disable lnxboot.img when compiled
29859 with Apple's CC
29860
29861 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29862 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29863 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29864 [! APPLE_CC] (CODE_LENG): skip
29865 [! APPLE_CC] (setup_sects): likewise
29866 [! APPLE_CC]: skip filling
29867
29868 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29869
29870 Address in trampolines based on 32-bit registers when compiled
29871 with Apple's CC
29872
29873 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
29874 for addresses
29875 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29876
29877 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29878
29879 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29880
29881 * kern/misc.c [APPLE_CC] (memcpy): new function
29882 [APPLE_CC] (memmove): likewise
29883 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
29884 (memcpy): define alias conditionally on !APPLE_CC
29885 (memset): likewise
29886 (abort): likewise
29887 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29888 APPLE_CC are defined
29889 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29890 (grub_assert_fail): make prototype conditional
29891
29892 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29893
29894 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29895
29896 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29897 grub-macho2img
29898 (CLEANFILES): add grub-macho2img
29899 (grub_macho2img_SOURCES): new variable
29900 * kern/i386/pc/startup.S (bss_start): new variable
29901 (bss_end): likewise
29902 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29903 * util/grub-macho2img.c: new file
29904
29905 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29906
29907 Use objconv when compiling with Apple's CC
29908
29909 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29910 (efiemu64.o): likewise
29911 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29912 when compiling with Apple's CC
29913 (efiemu64_s.o): likewise
29914 * configure.ac: check for objconv when compiling with Apple's CC
29915 * genmk.rb: use objconv for modules when compiled with Apple's CC
29916
29917 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29918
29919 Define segment as well as section when compiling with
29920 Apple's CC
29921
29922 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29923 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29924 (efiemu_convert_pointer): likewise
29925 (efiemu_set_virtual_address_map): likewise
29926 (efiemu_convert_pointer): likewise
29927 (efiemu_getcrc32): likewise
29928 (init_crc32_table): likewise
29929 (reflect): likewise
29930 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29931 (GRUB_MOD_DEP): likewise
29932
29933 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29934
29935 Allow a compilation without -mcmodel=large
29936
29937 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29938 when compiled without -mcmodel=large
29939 (filter_memory_map): remove memory post 4 GiB when compiled
29940 without -mcmodel=large
29941 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29942 TARGET_CFLAGS when -mcmodel=large isn't supported
29943
29944 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29945
29946 Remove nested functions in efiemu core
29947
29948 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29949
29950 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29951
29952 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29953
29954 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29955 temporary storage
29956 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29957 using Apple's CC
29958 (grub_cpu_is_tsc_supported): likewise
29959 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29960
29961 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29962
29963 Absolute addressing through constant with Apple's cc
29964
29965 * kern/i386/pc/startup.S: Define necessary constants
29966 and address through it when using ABS with Apple's CC
29967 * boot/i386/pc/diskboot.S: likewise
29968 * boot/i386/pc/boot.S: likewise
29969 * boot/i386/pc/lnxboot.S: likewise
29970 * boot/i386/pc/cdboot.S: likewise
29971 * mmap/i386/pc/mmap_helper.S: likewise
29972 * commands/i386/pc/drivemap_int13h.S: likewise
29973
29974 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29975
29976 Check if compiler is apple cc
29977
29978 * Makefile.in (ASFLAGS): new variable
29979 (TARGET_ASFLAGS): likewise
29980 (TARGET_MODULE_FORMAT): likewise
29981 (TARGET_APPLE_CC): likewise
29982 (OBJCONV): likewise
29983 (TARGET_IMG_CFLAGS): likewise
29984 (TARGET_CPPFLAGS): add includedir
29985 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29986 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29987 Check for linker script only if compiler isn't Apple's CC
29988 (TARGET_MODULE_FORMAT): set
29989 (TARGET_APPLE_CC): likewise
29990 (TARGET_ASFLAGS): likewise
29991 (ASFLAGS): likewise
29992 Check for objcopy only if compiler isn't Apple's CC
29993 Check for BSS symbol only if compiler isn't Apple's CC
29994 * genmk.rb: adapt nm options if we use Apple's utils
29995 * aclocal.m4 (grub_apple_cc): new test
29996 (grub_apple_target_cc): likewise
29997
29998 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29999
30000 Simplify sed expressions and improve awk
30001
30002 * Makefile.in (install-local): simplify sed expression
30003 * gencmdlist.sh: likewise
30004 * genmoddep.awk: avoid adding module as a dependency of itself
30005
30006 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30007
30008 Add missing start symbols
30009
30010 * boot/i386/pc/boot.S: add start
30011 * boot/i386/pc/pxeboot.S: likewise
30012
30013 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30014
30015 Fix wrong assumptions with grub-mkimage on EFI
30016
30017 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
30018 (relocate_addresses): consider both r_addend and value at offset
30019 (make_mods_section): zerofill modinfo and header
30020 (convert_elf): write prefix here
30021
30022 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30023
30024 Use .asciz instead of .string
30025
30026 * i386/pc/diskboot.S: use .asciz instead of .string
30027 * i386/pc/boot.S: likewise
30028 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30029 (GRUB_MOD_NAME): likewise
30030
30031 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30032
30033 gfxpayload support
30034
30035 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30036 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30037 (grub_video_setup): remove
30038 (grub_video_set_mode): new prototype
30039 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30040 (vid_mode): remove
30041 (linux_vesafb_res): compile only on PCBIOS
30042 (grub_linux_boot): support gfxpayload
30043 * loader/i386/pc/xnu.c (video_hook): new function
30044 (grub_xnu_set_video): support gfxpayload
30045 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30046 (DEFAULT_VIDEO_HEIGHT): likewise
30047 (DEFAULT_VIDEO_FLAGS): likewise
30048 (DEFAULT_VIDEO_MODE): new definition
30049 (video_hook): new function
30050 (grub_gfxterm_init): use grub_video_set_mode
30051 * util/grub.d/30_os-prober.in: remove explicit modesetting before
30052 loading xnu
30053 * video/video.c (grub_video_setup): removed
30054 (grub_video_set_mode): new function based on grub_gfxterm_init and
30055 grub_video_setup
30056
30057 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30058
30059 Avoid calling biosdisk in drivemap
30060
30061 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30062 (revparse_biosdisk): likewise
30063 (list_mappings): derive name from id directly
30064 (grub_cmd_drivemap): use tryparse_diskstring
30065
30066 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30067
30068 Script fixes
30069
30070 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30071 (grub_lexer_param): add tokenonhold
30072 (grub_script_create_cmdline): remove cmdline. All callers updated
30073 (grub_script_function_create): make functionname
30074 grub_script_arg. All callers updated
30075 (grub_script_execute_argument_to_string): new prototype
30076 * kern/parser.c (state_transitions): reorder
30077 (grub_parser_cmdline_state): fix a bug and make more compact
30078 * script/sh/execute.c (grub_script_execute_argument_to_string):
30079 make global
30080 (grub_script_execute_cmdline): use new format
30081 * script/sh/function.c (grub_script_function_create): make functionname
30082 grub_script_arg. All callers updated
30083 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
30084 (grub_script_yylex): remove
30085 (grub_script_yylex2): renamed to ...
30086 (grub_script_yylex): ...renamed
30087 parse the expressions like a${b}c
30088 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30089 (GRUB_PARSER_TOKEN_VAR): remove
30090 (GRUB_PARSER_TOKEN_NAME): likewise
30091 ("if"): declare as typeless
30092 ("while"): likewise
30093 ("function"): likewise
30094 ("else"): likewise
30095 ("then"): likewise
30096 ("fi"): likewise
30097 (text): remove
30098 (argument): likewise
30099 (script): accept empty scripts and make exit on error
30100 (arguments): use GRUB_PARSER_TOKEN_ARG
30101 (function): likewise
30102 (command): move error handling to script
30103 (menuentry): move grub_script_lexer_ref before
30104 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
30105 argument. All callers updated
30106
30107 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30108
30109 Prevent GRUB from probing floppies during boot.
30110
30111 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30112 * commands/search.c (options): Add --no-floppy.
30113 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30114 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30115 --no-floppy when searching for UUIDs.
30116
30117 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30118
30119 Simplify the code duplication in commands/search.c.
30120
30121 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30122 (search_fs): ... this. Update all users.
30123
30124 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
30125
30126 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30127
30128 2009-05-28 Pavel Roskin <proski@gnu.org>
30129
30130 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30131 Remove the original symlink explicitly.
30132
30133 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30134 just one slash. That's how grub_fshelp_find_file() does it.
30135
30136 2009-05-26 Pavel Roskin <proski@gnu.org>
30137
30138 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30139 to `str'.
30140
30141 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30142 possibly unused.
30143
30144 2009-05-25 Christian Franke <franke@computer.org>
30145
30146 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30147 register.
30148 (grub_atapi_identify): Add wait after drive select.
30149 (grub_ata_identify): Do more strict status register check before
30150 calling grub_atapi_identify (). Suppress error message if status
30151 register is 0x00 after command failure. Add status register
30152 check after PIO read to avoid bogus identify due to stuck DRQ.
30153 Thanks to Pavel Roskin for testing.
30154 (grub_device_initialize): Remove unsafe status register check.
30155 Thanks to 'phcoder' for problem report and patch.
30156 Prevent sign extension in debug message.
30157
30158 2009-05-23 Colin D Bennett <colin@gibibit.com>
30159
30160 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30161 definition file, and functions defined in `normal/menu.c' have had
30162 their prototypes moved to `include/grub/menu.h' for consistency.
30163
30164 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30165 from normal.h.
30166 (grub_menu_get_entry): Likewise.
30167 (grub_menu_get_timeout): Likewise.
30168 (grub_menu_set_timeout): Likewise.
30169 (grub_menu_execute_entry): Likewise.
30170 (grub_menu_execute_with_fallback): Likewise.
30171 (grub_menu_entry_run): Likewise.
30172
30173 * include/grub/normal.h: Re-ordered and grouped function
30174 prototypes by file that the function is defined in.
30175 (grub_menu_execute_callback): Removed; moved to menu.h.
30176 (grub_menu_get_entry): Likewise.
30177 (grub_menu_get_timeout): Likewise.
30178 (grub_menu_set_timeout): Likewise.
30179 (grub_menu_execute_entry): Likewise.
30180 (grub_menu_execute_with_fallback): Likewise.
30181 (grub_menu_entry_run): Likewise.
30182 (grub_menu_addentry): Renamed from this ...
30183 (grub_normal_add_menu_entry): ... to this.
30184
30185 * normal/main.c (grub_menu_addentry): Renamed from this ...
30186 (grub_normal_add_menu_entry): ... to this.
30187
30188 * script/sh/execute.c (grub_script_execute_menuentry): Update
30189 reference to renamed grub_menu_addentry function.
30190
30191 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
30192
30193 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30194
30195 2009-05-22 Pavel Roskin <proski@gnu.org>
30196
30197 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30198 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30199 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30200 compiling for the i386 targets, but not for the utilities.
30201
30202 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30203 to grub_uint8_t.
30204 (grub_root_drive): Likewise.
30205 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30206 remove alignment.
30207 (grub_root_drive): Change size to byte.
30208 (grub_start_addr): Remove.
30209 (grub_end_addr): Likewise.
30210 (grub_apm_bios_info): Likewise.
30211
30212 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
30213
30214 * normal/i386: Remove.
30215 * normal/powerpc: Likewise.
30216 * normal/sparc64: Likewise.
30217 * normal/x86_64: Likewise.
30218
30219 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30220
30221 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
30222 * loader/i386/linux_trampoline.S: Fix indentation
30223 * loader/i386/xnu_helper.S: Likewise
30224
30225 2009-05-18 Colin D Bennett <colin@gibibit.com>
30226
30227 Display error messages when parsing a Lua statement fails.
30228 Previously, executing a syntactically invalid statement like
30229 ")foo" or "bar;" would silently fail.
30230
30231 * script/lua/grub_main.c (handle_lua_error): New function.
30232 (grub_lua_parse_line): Improved reporting of Lua parser and
30233 execution errors.
30234
30235 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30236
30237 Remove -Werror which causes build to fail on some systems
30238
30239 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30240 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30241 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
30242
30243 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30244
30245 trampoline for linux on 64-bit platform
30246
30247 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30248 loader/i386/efi/linux_trampoline.S
30249 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
30250 declaration
30251 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30252 here
30253 * loader/i386/linux_trampoline.S: moved here
30254 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30255 trampoline
30256 (jumpvector): removed
30257 (grub_linux_trampoline_start): new declaration
30258 (grub_linux_trampoline_end): likewise
30259 (grub_linux_boot): use trampoline when on 64-bit platform
30260 * loader/i386/linux.c: likewise
30261
30262 2009-05-16 Pavel Roskin <proski@gnu.org>
30263
30264 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30265 const to avoid a warning.
30266 (grub_lua_setenv): Likewise.
30267 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30268 lmsg to fix a warning.
30269
30270 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30271
30272 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
30273 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30274 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30275 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30276 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30277 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30278 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30279 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30280
30281 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
30282
30283 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30284
30285 2009-05-16 Bean <bean123ch@gmail.com>
30286
30287 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30288 (lua_mod_SOURCES): New variable.
30289 (lua_mod_CFLAGS): Likewise.
30290 (lua_mod_LDFLAGS): Likewise.
30291
30292 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30293 (setjmp_mod_SOURCES): New variable.
30294 (setjmp_mod_CFLAGS): Likewise.
30295 (setjmp_LDFLAGS): Likewise.
30296
30297 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30298 (setjmp_mod_SOURCES): New variable.
30299 (setjmp_mod_CFLAGS): Likewise.
30300 (setjmp_LDFLAGS): Likewise.
30301
30302 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30303 (setjmp_mod_SOURCES): New variable.
30304 (setjmp_mod_CFLAGS): Likewise.
30305 (setjmp_LDFLAGS): Likewise.
30306
30307 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30308 (setjmp_mod_SOURCES): New variable.
30309 (setjmp_mod_CFLAGS): Likewise.
30310 (setjmp_LDFLAGS): Likewise.
30311
30312 * normal/i386/setjmp.S: Moved from here ...
30313 * lib/i386/setjmp.S: ... Moved here
30314 * normal/x86_64/setjmp.S: Moved from here ...
30315 * lib/x86_64/setjmp.S: ... Moved here
30316 * normal/powerpc/setjmp.S: Moved from here ...
30317 * lib/powerpc/setjmp.S: ... Moved here
30318 * normal/sparc64/setjmp.S: Moved from here ...
30319 * lib/sparc64/setjmp.S: ... Moved here
30320
30321 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30322 returns_twice in mingw.
30323
30324 * script/lua/grub_lib.c: New file.
30325 * script/lua/grub_lib.h: Likewise.
30326 * script/lua/grub_lua.h: Likewise.
30327 * script/lua/grub_main.c: Likewise.
30328 * script/lua/lapi.c: Likewise.
30329 * script/lua/lapi.h: Likewise.
30330 * script/lua/lauxlib.c: Likewise.
30331 * script/lua/lauxlib.h: Likewise.
30332 * script/lua/lbaselib.c: Likewise.
30333 * script/lua/lcode.c: Likewise.
30334 * script/lua/lcode.h: Likewise.
30335 * script/lua/ldblib.c: Likewise.
30336 * script/lua/ldebug.c: Likewise.
30337 * script/lua/ldebug.h: Likewise.
30338 * script/lua/ldo.c: Likewise.
30339 * script/lua/ldo.h: Likewise.
30340 * script/lua/ldump.c: Likewise.
30341 * script/lua/lfunc.c: Likewise.
30342 * script/lua/lfunc.h: Likewise.
30343 * script/lua/lgc.c: Likewise.
30344 * script/lua/lgc.h: Likewise.
30345 * script/lua/linit.c: Likewise.
30346 * script/lua/liolib.c: Likewise.
30347 * script/lua/llex.c: Likewise.
30348 * script/lua/llex.h: Likewise.
30349 * script/lua/llimits.h: Likewise.
30350 * script/lua/lmathlib.c: Likewise.
30351 * script/lua/lmem.c: Likewise.
30352 * script/lua/lmem.h: Likewise.
30353 * script/lua/loadlib.c: Likewise.
30354 * script/lua/lobject.c: Likewise.
30355 * script/lua/lobject.h: Likewise.
30356 * script/lua/lopcodes.c: Likewise.
30357 * script/lua/lopcodes.h: Likewise.
30358 * script/lua/loslib.c: Likewise.
30359 * script/lua/lparser.c: Likewise.
30360 * script/lua/lparser.h: Likewise.
30361 * script/lua/lstate.c: Likewise.
30362 * script/lua/lstate.h: Likewise.
30363 * script/lua/lstring.c: Likewise.
30364 * script/lua/lstring.h: Likewise.
30365 * script/lua/lstrlib.c: Likewise.
30366 * script/lua/ltable.c: Likewise.
30367 * script/lua/ltable.h: Likewise.
30368 * script/lua/ltablib.c: Likewise.
30369 * script/lua/ltm.c: Likewise.
30370 * script/lua/ltm.h: Likewise.
30371 * script/lua/lua.h: Likewise.
30372 * script/lua/luaconf.h: Likewise.
30373 * script/lua/lualib.h: Likewise.
30374 * script/lua/lundump.c: Likewise.
30375 * script/lua/lundump.h: Likewise.
30376 * script/lua/lvm.c: Likewise.
30377 * script/lua/lvm.h: Likewise.
30378 * script/lua/lzio.c: Likewise.
30379 * script/lua/lzio.h: Likewise.
30380
30381 2009-05-16 Bean <bean123ch@gmail.com>
30382
30383 * include/grub/kernel.h (grub_module_header_types): Add type
30384 OBJ_TYPE_CONFIG.
30385
30386 * kern/main.c (grub_load_config): New function.
30387 (grub_main): Call grub_load_config to read boot config.
30388
30389 * grub-mkimage (generate_image): New parameter config_path.
30390 (options): New option --config.
30391 (main): Parse --config option, and pass it to generate_image.
30392
30393 2009-05-14 Christian Franke <franke@computer.org>
30394
30395 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30396 This fixes build on Cygwin.
30397
30398 2009-05-14 Pavel Roskin <proski@gnu.org>
30399
30400 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30401 jump. This saves two bytes, so the typical case of 2 swapped
30402 drives would fit 32 bytes.
30403
30404 2009-05-13 Pavel Roskin <proski@gnu.org>
30405
30406 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30407 grub_uint32_t to avoid a warning.
30408
30409 * loader/i386/linux.c (allocate_pages): When assigning
30410 real_mode_mem, cast through grub_size_t to fix a warning. The
30411 code already makes sure that the value would fit a pointer.
30412 (grub_linux_setup_video): Cast render_target->data to
30413 grub_size_t to fix a warning.
30414
30415 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30416
30417 * commands/i386/pc/drivemap.c: New file - implement drivemap
30418 command.
30419 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30420 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30421
30422 2009-05-13 Pavel Roskin <proski@gnu.org>
30423
30424 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30425 embedding_area_exists.
30426
30427 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30428
30429 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30430 it easier to understand / work with.
30431 Improve warning messages for cases where there's no embedding area,
30432 or when it is too small (or core.img too large).
30433
30434 2009-05-13 Pavel Roskin <proski@gnu.org>
30435
30436 * loader/i386/pc/multiboot2.c: Add necessary includes for
30437 grub_multiboot2_real_boot().
30438
30439 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30440 PX record is always little-endian. We only need the lower 2
30441 bytes of the mode.
30442
30443 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30444 facilitate code reuse.
30445 (grub_cpio_mount): Use "struct head", not a char buffer. This
30446 fixes a warning reported by gcc 4.4.
30447
30448 * kernel/disk.c (grub_disk_read): Use void pointer for the
30449 buffer.
30450 (grub_disk_write): Use const void pointer for the buffer.
30451 Adjust all callers. Remove unnecessary casts.
30452
30453 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30454
30455 * util/i386/pc/grub-install.in: Update copyright year.
30456
30457 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30458
30459 gptsync
30460
30461 * commands/gptsync.c: new file
30462 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30463 (gptsync_mod_SOURCES): new variable
30464 (gptsync_mod_CFLAGS): likewise
30465 (gptsync_mod_LDFLAGS): likewise
30466 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30467 new definition
30468 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30469 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30470 * conf/i386-ieee1275.rmk: likewise
30471 * conf/i386-pc.rmk: likewise
30472 * conf/powerpc-ieee1275.rmk: likewise
30473
30474 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30475
30476 Fixed grub-emu
30477
30478 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30479 (grub_dl_ref): likewise
30480
30481 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30482
30483 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30484 split in two functions (one for msdos and one for gpt).
30485
30486 2009-05-08 Pavel Roskin <proski@gnu.org>
30487
30488 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30489 not modified.
30490
30491 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30492 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30493 Initialize them with -1. Add sanity check for bad1. Eliminate
30494 nerr variable.
30495
30496 2009-05-08 David S. Miller <davem@davemloft.net>
30497
30498 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30499
30500 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30501
30502 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30503 existence.
30504
30505 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30506
30507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30508 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30509
30510 2009-05-05 David S. Miller <davem@davemloft.net>
30511
30512 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30513
30514 2009-05-05 Pavel Roskin <proski@gnu.org>
30515
30516 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30517 of grub_dl_ref() and grub_dl_unref().
30518 * commands/parttool.c: Remove preprocessor conditionals around
30519 grub_dl_ref() and grub_dl_unref().
30520 * fs/affs.c: Likewise.
30521 * fs/afs.c: Likewise.
30522 * fs/cpio.c: Likewise.
30523 * fs/ext2.c: Likewise.
30524 * fs/fat.c: Likewise.
30525 * fs/hfs.c: Likewise.
30526 * fs/hfsplus.c: Likewise.
30527 * fs/iso9660.c: Likewise.
30528 * fs/jfs.c: Likewise.
30529 * fs/minix.c: Likewise.
30530 * fs/ntfs.c: Likewise.
30531 * fs/reiserfs.c: Likewise.
30532 * fs/sfs.c: Likewise.
30533 * fs/udf.c: Likewise.
30534 * fs/ufs.c: Likewise.
30535 * fs/xfs.c: Likewise.
30536 * include/grub/dl.h: Likewise.
30537 * loader/xnu.c: Likewise.
30538
30539 2009-05-04 Pavel Roskin <proski@gnu.org>
30540
30541 * commands/acpi.c: Remove unused variable my_mod.
30542 * partmap/amiga.c: Likewise.
30543 * partmap/apple.c: Likewise.
30544 * partmap/gpt.c: Likewise.
30545 * partmap/pc.c: Likewise.
30546 * partmap/sun.c: Likewise.
30547 * term/gfxterm.c: Likewise.
30548 * term/i386/pc/vesafb.c: Likewise.
30549 * term/i386/pc/vga.c: Likewise.
30550
30551 2009-05-04 David S. Miller <davem@davemloft.net>
30552
30553 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30554 pointer args to grub_ieee1275_get_property().
30555
30556 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30557
30558 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30559 devices, and do not traverse down under controller nodes.
30560
30561 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30562 (grub_ofdisk_open): Use it to un-escape "," characters.
30563 * kern/disk.c (find_part_sep): New.
30564 (grub_disk_open): Use it to find the first non-escaped ','
30565 character in the disk name.
30566 * util/ieee1275/devicemap.c (escape_of_path): New.
30567 (grub_util_emit_devicemap_entry): Use it.
30568 * util/sparc64/ieee1275/grub-install.in: Update script to
30569 strip partition specifiers properly by not triggering on
30570 '\' escaped ',' characters.
30571
30572 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30573
30574 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30575 to 0x300.
30576 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30577 resolutions.
30578 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30579 on documentation from Wikipedia).
30580
30581 2009-05-04 Pavel Roskin <proski@gnu.org>
30582
30583 * disk/ata.c: Spelling fixes.
30584 * disk/raid.c: Likewise.
30585 * disk/usbms.c: Likewise.
30586 * disk/dmraid_nvidia.c: Likewise.
30587 * kern/ieee1275/openfw.c: Likewise.
30588 * kern/ieee1275/init.c: Likewise.
30589 * kern/ieee1275/cmain.c: Likewise.
30590 * boot/i386/pc/cdboot.S: Likewise.
30591 * video/readers/png.c: Likewise.
30592 * video/i386/pc/vbe.c: Likewise.
30593 * fs/udf.c: Likewise.
30594 * fs/hfs.c: Likewise.
30595 * fs/reiserfs.c: Likewise.
30596 * efiemu/runtime/efiemu.c: Likewise.
30597 * efiemu/main.c: Likewise.
30598 * efiemu/mm.c: Likewise.
30599 * include/grub/elf.h: Likewise.
30600 * include/grub/xnu.h: Likewise.
30601 * include/grub/usbdesc.h: Likewise.
30602 * include/grub/usb.h: Likewise.
30603 * include/grub/script_sh.h: Likewise.
30604 * include/grub/lib/LzmaEnc.h: Likewise.
30605 * include/grub/efiemu/efiemu.h: Likewise.
30606 * include/grub/command.h: Likewise.
30607 * normal/menu.c: Likewise.
30608 * normal/main.c: Likewise.
30609 * normal/datetime.c: Likewise.
30610 * bus/usb/uhci.c: Likewise.
30611 * mmap/i386/uppermem.c: Likewise.
30612 * mmap/mmap.c: Likewise.
30613 * commands/acpi.c: Likewise.
30614 * commands/test.c: Likewise.
30615 * partmap/apple.c: Likewise.
30616 * font/font.c: Likewise.
30617 * loader/sparc64/ieee1275/linux.c: Likewise.
30618 * loader/macho.c: Likewise.
30619 * loader/i386/bsd_trampoline.S: Likewise.
30620 * loader/i386/bsd.c: Likewise.
30621 * loader/xnu.c: Likewise.
30622 * term/i386/pc/vesafb.c: Likewise.
30623 * term/usb_keyboard.c: Likewise.
30624 * util/resolve.c: Likewise.
30625 * util/getroot.c: Likewise.
30626
30627 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30628
30629 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30630
30631 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30632
30633 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30634 build error.
30635
30636 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30637
30638 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30639 parameter only available on BIOS.
30640
30641 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30642
30643 Removed wrong semicolon in declaration
30644
30645 * grub/misc.h (grub_dprintf): remove semicolon
30646
30647 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30648
30649 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30650 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30651 is done by grub_cmd_linux() now).
30652 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30653 restore video to text mode.
30654 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30655 indicates lack of "vga=" parameter. "vga=0" is mapped to
30656 `GRUB_LINUX_VID_MODE_NORMAL'.
30657
30658 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30659
30660 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30661 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30662 and `normal/script.c'. Add `kern/rescue_reader.c',
30663 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
30664 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30665 `grub_script.tab.c'.
30666
30667 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30668 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30670 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30671 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30672
30673 * Makefile.in: Remove duplicated 2008 in Copyright line.
30674
30675 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30676
30677 * util/misc.c (grub_util_warn): New function. Emits a warning
30678 unconditionally.
30679 * include/grub/util/misc.h (grub_util_warn): New declaration.
30680
30681 * util/i386/pc/grub-install.in: Understand --force and pass it down
30682 to grub-setup.
30683
30684 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30685 down to setup().
30686 (setup): Improve error messages and add warnings when requested to
30687 install in odd layouts. Refuse to install using blocklists unless
30688 --force was set.
30689
30690 2009-05-04 martin f. krafft <madduck@madduck.net>
30691
30692 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30693
30694 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30695
30696 Updated copyright year
30697
30698 * fs/hfsplus.c: updated copyright year
30699
30700 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30701
30702 HFS+ UUID
30703
30704 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
30705 in the space previously used by unused3
30706 (grub_hfsplus_uuid): new function
30707 (grub_hfsplus_fs): added uuid field
30708
30709 2009-05-03 Pavel Roskin <proski@gnu.org>
30710
30711 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30712 suppress warnings. It's no longer needed.
30713 * disk/host.c: Likewise.
30714 * disk/ata_pthru.c: Likewise.
30715 * disk/loopback.c: Likewise.
30716 * hook/datehook.c: Likewise.
30717 * parttool/pcpart.c: Likewise.
30718 * fs/i386/pc/pxe.c: Likewise.
30719 * fs/ntfscomp.c: Likewise.
30720 * efiemu/main.c: Likewise.
30721 * mmap/mmap.c: Likewise.
30722 * commands/crc.c: Likewise.
30723 * commands/hexdump.c: Likewise.
30724 * commands/hdparm.c: Likewise.
30725 * commands/acpi.c: Likewise.
30726 * commands/echo.c: Likewise.
30727 * commands/minicmd.c: Likewise.
30728 * commands/blocklist.c: Likewise.
30729 * commands/memrw.c: Likewise.
30730 * commands/loadenv.c: Likewise.
30731 * commands/usbtest.c: Likewise.
30732 * commands/lsmmap.c: Likewise.
30733 * commands/boot.c: Likewise.
30734 * commands/parttool.c: Likewise.
30735 * commands/configfile.c: Likewise.
30736 * commands/search.c: Likewise.
30737 * commands/ieee1275/suspend.c: Likewise.
30738 * commands/cat.c: Likewise.
30739 * commands/i386/pc/pxecmd.c: Likewise.
30740 * commands/i386/pc/play.c: Likewise.
30741 * commands/i386/pc/halt.c: Likewise.
30742 * commands/i386/pc/vbeinfo.c: Likewise.
30743 * commands/i386/pc/vbetest.c: Likewise.
30744 * commands/lspci.c: Likewise.
30745 * commands/date.c: Likewise.
30746 * commands/handler.c: Likewise.
30747 * commands/ls.c: Likewise.
30748 * commands/test.c: Likewise.
30749 * commands/cmp.c: Likewise.
30750 * commands/efi/loadbios.c: Likewise.
30751 * commands/efi/fixvideo.c: Likewise.
30752 * commands/halt.c: Likewise.
30753 * commands/help.c: Likewise.
30754 * commands/reboot.c: Likewise.
30755 * hello/hello.c: Likewise.
30756 * script/sh/main.c: Likewise.
30757 * loader/xnu.c: Likewise.
30758 * term/terminfo.c: Likewise.
30759 * term/i386/pc/serial.c: Likewise.
30760 * term/usb_keyboard.c: Likewise.
30761
30762 2009-05-03 David S. Miller <davem@davemloft.net>
30763
30764 * normal/menu.c: Include grub/parser.h
30765
30766 2009-05-03 Pavel Roskin <proski@gnu.org>
30767
30768 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30769 not char*.
30770 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30771 Suggested by Javier Martín <lordhabbit@gmail.com>
30772
30773 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30774 efiemu??.o doesn't exist.
30775 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30776 copying.
30777
30778 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
30779
30780 FreeBSD 64-bit support
30781
30782 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
30783 and loader/i386/bsd_trampoline.S
30784 (bsd_mod_ASFLAGS): new variable
30785 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30786 (FREEBSD_MODTYPE_KERNEL64): likewise
30787 (grub_bsd64_trampoline_start): likewise
30788 (grub_bsd64_trampoline_end): likewise
30789 (grub_bsd64_trampoline_selfjump): likewise
30790 (grub_bsd64_trampoline_gdt): likewise
30791 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30792 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30793 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30794 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
30795 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30796 of "attrib" member
30797 * loader/i386/bsd_pagetable.c: new file
30798 * loader/i386/bsd_trampoline.S: likewise
30799 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30800 (ALIGN_VAR): likewise
30801 (entry_hi): new variable
30802 (kern_end_mdofs): likewise
30803 (is_64bit): likewise
30804 (grub_freebsd_add_meta): use ALIGN_VAR
30805 (grub_e820_mmap): new declaration
30806 (grub_freebsd_add_mmap): new function
30807 (grub_freebsd_add_meta_module): support 64 bit kernels
30808 (grub_freebsd_list_modules): use ALIGN_VAR
30809 (gdt_descriptor): new declaration
30810 (grub_freebsd_boot): support 64 bit kernels
30811 (grub_bsd_elf64_hook): new function
30812 (grub_bsd_load_elf): support elf64
30813
30814 2009-05-03 Bean <bean123ch@gmail.com>
30815
30816 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30817 after we get the result of if statement.
30818
30819 2009-05-03 Bean <bean123ch@gmail.com>
30820
30821 * Makefile.in (enable_efiemu): New variable.
30822
30823 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30824 set.
30825 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30826 path.
30827 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30828 path, add -mno-red-zone option.
30829 (efiemu64_s.o): Likewise.
30830 (efiemu64.o): Use macro $^ for source file.
30831
30832 * configure.ac (--enable-efiemu): New option.
30833
30834 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30835
30836 xnu support
30837
30838 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30839 (pkglib_MODULES): add xnu.mod
30840 (xnu_mod_SOURCES): new variable
30841 (xnu_mod_CFLAGS): likewise
30842 (xnu_mod_LDFLAGS): likewise
30843 (xnu_mod_ASFLAGS): likewise
30844 * conf/i386-pc.rmk: likewise
30845 * conf/x86_64-efi.rmk: likewise
30846 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
30847 new declaration
30848 * include/grub/i386/macho.h: new file
30849 * include/grub/i386/xnu.h: likewise
30850 * include/grub/macho.h: likewise
30851 * include/grub/machoload.h: likewise
30852 * include/grub/x86_64/macho.h: likewise
30853 * include/grub/x86_64/xnu.h: likewise
30854 * include/grub/xnu.h: likewise
30855 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30856 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30857 * loader/i386/efi/xnu.c: new file
30858 * loader/i386/pc/xnu.c: likewise
30859 * loader/i386/xnu.c: likewise
30860 * loader/i386/xnu_helper.S: likewise
30861 * loader/macho.c: likewise
30862 * loader/xnu.c: likewise
30863 * loader/xnu_resume.c: likewise
30864 * util/grub-dumpdevtree: likewise
30865 * include/grub/i386/pit.h: include grub/err.h
30866 (grub_pit_wait): export
30867 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
30868
30869 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30870
30871 Efiemu
30872
30873 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
30874 _linux_efi, linux_efi.
30875 new files in grub-emu
30876 new targets efiemu32.o and efiemu64.o
30877 * loader/linux_normal_efiemu.c: likewise
30878 * loader/i386/efi/linux.c: added preliminary efiemu support
30879 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
30880 files to copy
30881 * include/grub/autoefi.h: new file
30882 * include/grub/i386/efiemu.h: likewise
30883 * include/grub/i386/pc/efiemu.h: likewise
30884 * include/grub/efi/api.h: add LL suffix when necessary
30885 new definitions relating to tables
30886 * include/grub/efiemu/efiemu.h: new file
30887 * include/grub/efiemu/runtime.h: likewise
30888 * efiemu/prepare.c: likewise
30889 * efiemu/loadcore_common.c: likewise
30890 * efiemu/loadcore64.c: likewise
30891 * efiemu/runtime/efiemu.sh: likewise
30892 * efiemu/runtime/efiemu.S: likewise
30893 * efiemu/runtime/efiemu.c: likewise
30894 * efiemu/runtime/config.h: likewise
30895 * efiemu/prepare32.c: likewise
30896 * efiemu/main.c: likewise
30897 * efiemu/modules/pnvram.c: likewise
30898 * efiemu/modules/i386: likewise
30899 * efiemu/modules/i386/pc: likewise
30900 * efiemu/modules/acpi.c: likewise
30901 * efiemu/i386/pc/cfgtables.c: likewise
30902 * efiemu/i386/loadcore64.c: likewise
30903 * efiemu/i386/loadcore32.c: likewise
30904 * efiemu/prepare64.c: likewise
30905 * efiemu/loadcore.c: likewise
30906 * efiemu/symbols.c: likewise
30907 * efiemu/mm.c: likewise
30908 * efiemu/loadcore32.c: likewise
30909
30910 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30911
30912 ACPI spoofing
30913
30914 * commands/acpi.c: new file
30915 * commands/i386/pc/acpi.c: likewise
30916 * commands/efi/acpi.c: likewise
30917 * include/grub/acpi.h: likewise
30918 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30919 (acpi_mod_SOURCES): new variable
30920 (acpi_mod_CFLAGS): likewise
30921 (acpi_mod_LDFLAGS): likewise
30922 * conf/i386-efi.rmk: likewise
30923 * conf/x86_64-efi.rmk: likewise
30924
30925 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30926
30927 Missing part from mmap patch
30928
30929 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30930 (grub_mmap_unregister)
30931 (grub_mmap_free_and_unregister): use grub_mmap_register
30932
30933 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30934
30935 Mmap services
30936
30937 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30938 * loader/i386/linux.c (find_mmap_size): likewise
30939 (allocate_pages): likewise
30940 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30941 (grub_fill_multiboot_mmap): likewise
30942 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30943 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30944 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30945 (OPENBSD_MMAP_RESERVED): likewise
30946 * include/grub/i386/pc/memory.h: include grub/memory.h
30947 (grub_lower_mem): removed
30948 (grub_upper_mem): likewise
30949 (GRUB_MACHINE_MEMORY_ACPI): new definition
30950 (GRUB_MACHINE_MEMORY_NVS): likewise
30951 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30952 (GRUB_MACHINE_MEMORY_HOLE): likewise
30953 (grub_machine_mmap_register): likewise
30954 (grub_machine_mmap_unregister): likewise
30955 (grub_machine_get_upper): likewise
30956 (grub_machine_get_lower): likewise
30957 (grub_machine_get_post64): likewise
30958 * include/grub/i386/efi/memory.h: new file
30959 * include/grub/x86_64/efi/memory.h: likewise
30960 * include/grub/efi/memory.h: likewise
30961 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30962 (mmap_mod_SOURCES): new variable
30963 (mmap_mod_LDFLAGS): likewise
30964 (mmap_mod_ASFLAGS): likewise
30965 * conf/i386-coreboot.rmk: likewise
30966 * conf/i386-ieee1275.rmk: likewise
30967 * conf/i386-efi.rmk: likewise
30968 * conf/x86_64-efi.rmk: likewise
30969 * include/grub/types.h (UINT_TO_PTR): new macro
30970 (PTR_TO_UINT32): likewise
30971 (PTR_TO_UINT64): likewise
30972 * include/grub/memory.h: new file
30973 * mmap/i386/pc/mmap.c: likewise
30974 * mmap/i386/pc/mmap_helper.S: likewise
30975 * mmap/i386/uppermem.c: likewise
30976 * mmap/mmap.c: likewise
30977 * mmap/efi/mmap.c: likewise
30978 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30979 grub_upper_mem
30980 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30981 (grub_upper_mem): likewise
30982 (grub_machine_init): don't use grub_upper_mem,
30983 make grub_lower_mem local
30984 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30985 grub_mmap_iterate and grub_mmap_get_upper
30986 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30987
30988 2009-05-02 Bean <bean123ch@gmail.com>
30989
30990 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30991 script/sh/parser.y.
30992 (pkglib_MODULES): Add normal.mod and sh.mod.
30993 (normal_SOURCES): New variable.
30994 (normal_mod_CFLAGS): Likewise.
30995 (normal_mod_LDFLAGS): Likewise.
30996 (sh_mod_SOURCES): Likewise.
30997 (sh_mod_CFLAGS): Likewise.
30998 (sh_mod_LDFLAGS): Likewise.
30999
31000 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31001 script/sh/lexer.c_DEPENDENCIES.
31002 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31003 kern/rescue_reader.c and kern/rescue_parser.c.
31004 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31005 (grub_emu_SOURCES): Change source files.
31006 (pkglib_MODULES): Remove normal.mod.
31007 (normal_SOURCES): Removed.
31008 (normal_mod_CFLAGS): Likewise.
31009 (normal_mod_LDFLAGS): Likewise.
31010 * conf/i386-coreboot.rmk: Likewise.
31011 * conf/i386-efi.rmk: Likewise.
31012 * conf/i386-ieee1276.rmk: Likewise.
31013 * conf/powerpc-ieee1275.rmk: Likewise.
31014 * conf/sparc64-ieee1275.rmk: Likewise.
31015 * conf/x86_64-efi.rmk: Likewise.
31016
31017 * include/grub/command.h (grub_command_execute): New inline function.
31018
31019 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31020
31021 * include/grub/normal.h: Remove <grub/setjmp.h>.
31022 (grub_fs_module_list): Moved to normal/autofs.c.
31023 (grub_exit_env): Removed.
31024 (grub_command_execute): Likewise.
31025 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31026 parameter script.
31027 (read_command_list): New function declaration.
31028 (read_fs_list): Likewise.
31029
31030 * include/parser.h: Include <grub/reader.h>.
31031 (grub_parser_split_cmdline): Change type of getline parameter.
31032 (grub_parser): New structure.
31033 (grub_parser_class): New variable.
31034 (grub_parser_execute): New function declaration.
31035 (grub_register_rescue_parser): Likewise.
31036 (grub_parser_register): New inline function.
31037 (grub_parser_unregister): Likewise.
31038 (grub_parser_get_current): Likewise.
31039 (grub_parser_set_current): Likewise.
31040
31041 * include/grub/reader.h: New file.
31042 * kern/reader.c: Likewise.
31043 * kern/rescue_parser.c: Likewise.
31044 * kern/rescue_reader.c: Likewise.
31045 * normal/autofs.c: Likewise.
31046 * normal/dyncmd.c: Likewise.
31047
31048 * include/grub/rescue.h: Removed.
31049 * normal/command.h: Likewise.
31050
31051 * include/grub/script.h: Moved to ...
31052 * include/grub/script_sh.h: ... Moved here.
31053 * normal/execute.c: Moved to ...
31054 * script/sh/execute.c: ... Moved here.
31055 * normal/function.c: Moved to ...
31056 * script/sh/function.c: ... Moved here.
31057 * normal/lexer.c: Moved to ...
31058 * script/sh/lexer.c: ... Moved here.
31059 * normal/parser.y: Moved to ...
31060 * script/sh/parser.y: ... Moved here.
31061 * normal/script.c: Moved to ...
31062 * script/sh/script.c: ... Moved here.
31063
31064 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31065 <grub/reader.h>.
31066 (grub_exit_env): Removed.
31067 (fs_module_list): Moved to normal/autofs.c.
31068 (grub_file_getline): Don't handle comment here.
31069 (free_menu): Skip removed field entry->commands.
31070 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31071 script parameter.
31072 (read_config_file): Removed nested parameter, change getline function.
31073 (grub_enter_normal_mode): Removed.
31074 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31075 (read_command_list): Likewise.
31076 (autoload_fs_module): Moved to normal/autofs.c.
31077 (read_fs_list): Likewise.
31078 (reader_nested): New variable.
31079 (grub_normal_execute): Run parser.sh to switch to sh parser.
31080 (grub_cmd_rescue): Removed.
31081 (cmd_normal): Removed.
31082 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31083 rescue command.
31084 (grub_cmdline_run): New function.
31085 (grub_normal_reader_init): Likewise.
31086 (grub_normal_read_line): Likewise.
31087 (grub_env_write_pager): Likewise.
31088 (cmdline): New variable.
31089 (grub_normal_reader): Likewise.
31090 (GRUB_MOD_INIT): Register normal reader and set as current, register
31091 pager hook, register normal command with grub_register_command_prio,
31092 so that it won't show up in command.lst.
31093 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31094 grub_fs_autoload_hook.
31095
31096 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31097 (grub_menu_execute_entry): Replace grub_script_execute with
31098 grub_parser_execute, change parameter to grub_command_execute.
31099
31100 * normal/menu_text.c: Remove <grub/script.h>.
31101
31102 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31103 and <grub/parser.h>.
31104 (run): Change editor_getline to use new parser interface. Change
31105 parameter to grub_command_execute.
31106
31107 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31108 <grub/reader.h> and <grub/parser.h>.
31109 (grub_load_normal_mode): Execute normal command.
31110 (grub_main): Call grub_register_core_commands,
31111 grub_register_rescue_parser and grub_register_rescue_reader, use
31112 grub_reader_loop to enter input loop.
31113
31114 * kern/parser.c (grub_parser_split_cmdline): Change type of
31115 getline parameter.
31116 (grub_parser_class): New variable.
31117 (grub_parser_execute): New function.
31118
31119 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31120 * loader/multiboot2.c: Likewise.
31121 * loader/sparc64/ieee1275/linux.c: Likewise.
31122
31123 * util/grub-emu.c (read_command_list): New dummy function.
31124
31125 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31126
31127 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31128 count to 16 for CCISS and IDA.
31129
31130 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31131
31132 * normal/menu_text.c (grub_wait_after_message): Print a newline
31133 after waiting for user input.
31134
31135 * loader/i386/linux.c: Include `<grub/normal.h>'.
31136 (grub_cmd_linux): Improve the error message about `ask' mode, by
31137 waiting for user input so it's not missed (we can do this, since
31138 user requested interaction).
31139
31140 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31141
31142 Added missing lst to grub-mkrescue
31143
31144 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31145 and ${input_dir}/parttool.lst
31146
31147 2009-04-30 David S. Miller <davem@davemloft.net>
31148
31149 * util/hostdisk.c (device_is_wholedisk): New function.
31150 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31151 zero only if device_is_wholedisk() returns true.
31152
31153 * util/hostdisk.c (convert_system_partition_to_system_disk):
31154 Handle virtual disk devices named /dev/vdiskX as found on sparc
31155 and powerpc.
31156
31157 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31158 lettered partition specifier is found, convert to numbered.
31159
31160 2009-04-29 David S. Miller <davem@davemloft.net>
31161
31162 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31163 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31164
31165 * normal/command.c: Add missing newline at end of file.
31166
31167 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31168 warnings.
31169 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31170 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31171 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31172 ihandles have a 32-bit type but need to be stored in a "void *".
31173
31174 2009-04-28 Pavel Roskin <proski@gnu.org>
31175
31176 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31177 not disk. Adjust all dependencies.
31178 (grub_fs_uuid_close): Use grub_device_close(), not
31179 grub_disk_close().
31180
31181 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31182 parent's partition, don't copy it by reference, as it gets freed
31183 on close.
31184
31185 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31186
31187 Preboot hooks support
31188
31189 * commands/boot.c (struct grub_preboot_t): new declaration
31190 (preboots_head): new variable
31191 (preboots_tail): likewise
31192 (grub_loader_register_preboot_hook): new function
31193 (grub_loader_unregister_preboot_hook): likewise
31194 (grub_loader_set): launch preboot hooks
31195 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31196 (grub_loader_register_preboot_hook): new declaration
31197 (grub_loader_unregister_preboot_hook): likewise
31198
31199 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31200
31201 Warning fix
31202
31203 * disk/scsi.c (grub_scsi_open): added missing cast when
31204 calling grub_dprintf
31205
31206 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31207
31208 Bug and warning fixes
31209
31210 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
31211 declaration
31212 * commands/test.c (test_parse): fixed bug with file tests and corrected
31213 declaration of find_file
31214
31215 2009-04-26 Pavel Roskin <proski@gnu.org>
31216
31217 * Makefile.in: Don't install empty manual pages if help2man is
31218 missing. Use help2man option for output, not shell redirection.
31219
31220 2009-04-26 David S. Miller <davem@davemloft.net>
31221
31222 * util/grub-mkdevicemap.c (make_device_map): Add missing
31223 NESTED_FUNC_ATTR to process_device().
31224
31225 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31226
31227 Test command
31228
31229 * commands/test.c: rewritten to use bash-like test
31230
31231 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31232
31233 Parttool autoloading and improvements
31234
31235 * Makefile.in (pkglib_DATA): add parttool.lst
31236 (parttool.lst): new target
31237 * genmk.rb: generate parttool-*
31238 (CLEANFILES): add #{parttool}
31239 (PARTTOOLFILES): new variable
31240 * genparttoollist.sh: new file
31241 * parttool/pcpart.c (grub_pcpart_boot): more feedback
31242 (grub_pcpart_type): likewise
31243 * commands/parttool.c (helpmsg): new variable
31244 (grub_cmd_parttool): output help if not enough arguments are supplied
31245 autoload modules
31246 (GRUB_MOD_INIT(parttool)): use helpmsg
31247
31248 2009-04-24 David S. Miller <davem@davemloft.net>
31249
31250 Avoiding opening same device multiple times in device iterator.
31251
31252 * kern/device.c: (grub_device_iterate): Define struct part_ent,
31253 and use it to build a list of partitions in iterate_disk() and
31254 iterate_partition().
31255
31256 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31257 on disk->data.
31258
31259 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31260 grub_devalias_iterate() result instead of unconditional 0.
31261 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31262 Also, capture hook return value, either directly or via
31263 grub_children_iterate(), and propagate to caller.
31264 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31265 grub_children_iterate): Return value is now 'int' instead of
31266 'grub_err_t'.
31267 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31268 like a proper iterator, stopping when hooks return non-zero.
31269 (grub_devalias_iterate): Likewise.
31270
31271 2009-04-23 David S. Miller <davem@davemloft.net>
31272
31273 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31274
31275 2009-04-22 David S. Miller <davem@davemloft.net>
31276
31277 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31278 is larger than address_cells, use that value for address_cells too.
31279
31280 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31281 IEEE1275_MAX_PATH_LEN): Define.
31282 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31283 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31284 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31285 'devtype'. Explicitly NULL terminate devalias expansion.
31286
31287 * util/sparc64/ieee1275/misc.c: New file.
31288 * util/sparc64/ieee1275/grub-setup.c: New file.
31289 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31290 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31291 * util/sparc64/ieee1275/grub-install.in: New file.
31292 * util/ieee1275/ofpath.c: New file.
31293 * util/ieee1275/devicemap.c: New file.
31294 * util/devicemap.c: New file.
31295 * util/deviceiter.c: New file.
31296 * kern/sparc64/ieee1275/init.c: New file.
31297 * include/grub/util/ofpath.h: New file.
31298 * include/grub/util/deviceiter.h: New file.
31299 * util/grub-mkdevicemap.c: Include deviceiter.h.
31300 Implement using grub_util_emit_devicemap_entry and
31301 grub_util_iterate_devices.
31302 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31303 util/devicemap.c into grub-mkdevicemap
31304 * conf/i386-efi.rmk: Likewise.
31305 * conf/i386-ieee1275.rmk: Likewise.
31306 * conf/i386-pc.rmk: Likewise.
31307 * conf/powerpc-ieee1275.rmk: Likewise.
31308 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31309 images and installation utilities. Build kernel as image
31310 instead of as elf binary. Use common rules as much as possible.
31311
31312 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
31313
31314 Correct GPT definition
31315
31316 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
31317 of "attrib" member
31318
31319 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
31320
31321 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31322
31323 2009-04-19 David S. Miller <davem@davemloft.net>
31324
31325 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31326 (grub_rescue_cmd_linux): Rename to...
31327 (grub_cmd_linux): and fix prototype.
31328 (grub_rescue_cmd_initrd): Rename to...
31329 (grub_cmd_initrd): and fix prototype.
31330 (cmd_linux, cmd_initrd): New.
31331 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31332 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31333
31334 2009-04-17 Pavel Roskin <proski@gnu.org>
31335
31336 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31337 format.
31338 (grub_ohci_transfer): Likewise.
31339
31340 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31341
31342 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31343 return without a value. Fix inconsistent indentation.
31344
31345 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31346 match struct grub_fs.
31347
31348 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31349 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31350 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31351 * commands/lspci.c (grub_lspci_iter): Likewise.
31352
31353 2009-04-16 Bean <bean123ch@gmail.com>
31354
31355 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31356 value.
31357
31358 2009-04-15 Pavel Roskin <proski@gnu.org>
31359
31360 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31361 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31362 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31363 definitions.
31364
31365 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31366
31367 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
31368 that no multiple data or metadata areas are supported and `Unknown
31369 metadata header'.
31370
31371 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31372
31373 Move loader out of the kernel
31374
31375 * kern/loader.c: moved to ...
31376 * commands/boot.c: ... moved here
31377 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31378 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31379 * include/grub/kernel.h (grub_machine_fini): export
31380 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31381 (grub_loader_set): likewise
31382 (grub_loader_unset): likewise
31383 (grub_loader_boot): likewise
31384 * conf/common.rmk: new module boot.mod
31385 (pkglib_MODULES): add boot.mod
31386 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31387 (grub_emu_SOURCES): likewise
31388 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31389 (grub_emu_SOURCES): likewise
31390 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31391 (grub_emu_SOURCES): likewise
31392 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31393 (grub_emu_SOURCES): likewise
31394 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31395 (grub_emu_SOURCES): likewise
31396 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31397 (grub_emu_SOURCES): likewise
31398 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
31399 (grub_emu_SOURCES): likewise
31400
31401 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31402
31403 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31404
31405 * kern/misc.c (grub_itoa): Removed function
31406 (grub_ltoa): likewise
31407 (grub_vsprintf): use grub_lltoa
31408
31409 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31410
31411 Restore grub-emu
31412
31413 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31414 * conf/i386-coreboot.rmk: likewise
31415 * conf/i386-ieee1275.rmk: likewise
31416 * conf/powerpc-ieee1275.rmk: likewise
31417
31418 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31419
31420 * INSTALL: Add that `./autogen.sh' needs to be run before
31421 `./configure.'.
31422
31423 2009-04-14 Bean <bean123ch@gmail.com>
31424
31425 * Makefile.in (pkglib_DATA): Add handler.lst.
31426 (handler.lst): New rule.
31427
31428 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31429 * conf/i386-coreboot.rmk: Likewise.
31430 * conf/i386-ieee1275.rmk: Likewise.
31431 * conf/i386-efi.rmk: Likewise.
31432 * conf/x86_64-efi.rmk: Likewise.
31433 * conf/powerpc-ieee1275.rmk: Likewise.
31434 * conf/sparc64-ieee1275.rmk: Likewise.
31435
31436 * genhandlerlist.sh: New file.
31437
31438 * genmk.rb: Add rules to generate handler.lst.
31439
31440 * include/grub/normal.h (grub_file_getline): New function definition.
31441 (read_handler_list): Likewise.
31442 (free_handler_list): Likewise.
31443
31444 * include/grub/term.h (grub_term_register_input): Add name parameter
31445 for auto generation of handler.lst.
31446 (grub_term_register_output): Likewise.
31447
31448 * normal/handler.c: New file.
31449
31450 * normal/main.c (get_line): Renamed to grub_file_getline.
31451 (read_config_file): Use the newly renamed grub_file_getline.
31452 (read_command_list): Likewise.
31453 (read_fs_list): Likewise.
31454 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31455 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31456
31457 * term/efi/console.c (grub_console_init): Add name parameter for auto
31458 generation of handler.lst.
31459 * term/gfxterm.c: Likewise.
31460 * term/i386/pc/at_keyboard.c: Likewise.
31461 * term/i386/pc/console.c: Likewise.
31462 * term/i386/pc/serial.c: Likewise.
31463 * term/i386/pc/vesafb.c: Likewise.
31464 * term/i386/pc/vga.c: Likewise.
31465 * term/i386/pc/vga_text.c: Likewise.
31466 * term/ieee1275/ofconsole.c: Likewise.
31467 * term/usb_keyboard.c: Likewise.
31468
31469 2009-04-14 Bean <bean123ch@gmail.com>
31470
31471 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31472 properly with null character.
31473
31474 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31475
31476 * configure: Remove.
31477 * config.h.in: Likewise.
31478 * stamp-h.in: Likewise.
31479 * DISTLIST: Likewise.
31480 * conf/common.mk: Likewise.
31481 * conf/i386-coreboot.mk: Likewise.
31482 * conf/i386-efi.mk: Likewise.
31483 * conf/i386-ieee1275.mk: Likewise.
31484 * conf/i386.mk: Likewise.
31485 * conf/i386-pc.mk: Likewise.
31486 * conf/powerpc-ieee1275.mk: Likewise.
31487 * conf/sparc64-ieee1275.mk: Likewise.
31488 * conf/x86_64-efi.mk: Likewise.
31489
31490 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31491 develop on GRUB.
31492
31493 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31494 David S. Miller <davem@davemloft.net>
31495
31496 * util/hostdisk.c (make_device_name): Fix buffer length
31497 calculations.
31498
31499 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31500
31501 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31502 <sys/param.h> and <sys/sysctl.h>.
31503 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31504 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31505 opening the device and reset them afterwards.
31506
31507 2009-04-13 Pavel Roskin <proski@gnu.org>
31508
31509 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31510 Reported by John Stanley <jpsinthemix@verizon.net>
31511
31512 2009-04-13 Robert Millan <rmh@aybabtu.com>
31513
31514 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31515 that name for menuentries when appropriate.
31516
31517 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31518
31519 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31520
31521 2009-04-13 Robert Millan <rmh@aybabtu.com>
31522
31523 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31524 to Linux, simply abort telling the user it's no longer supported.
31525
31526 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31527
31528 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31529 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31530 `freebsd_loadenv' only when devices.hints exist.
31531
31532 2009-04-13 Pavel Roskin <proski@gnu.org>
31533
31534 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31535
31536 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31537
31538 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31539 partition number.
31540 (grub_drive): Likewise.
31541
31542 2009-04-13 David S. Miller <davem@davemloft.net>
31543
31544 * kern/sparc64/ieee1275/ieee1275.c: New file.
31545 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31546 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31547 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31548 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31549 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31550 grub_ieee1275_alloc_physmem): Declare new exported functions.
31551
31552 * include/grub/sparc64/ieee1275/loader.h: New file.
31553 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31554 * include/grub/sparc64/kernel.h: Likewise.
31555 * loader/sparc64/ieee1275/linux.c: Likewise.
31556
31557 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31558 (grub_fstest_SOURCES): Likewise.
31559
31560 * util/hostdisk.c (make_device_name): Do not make any assumptions
31561 about the length of drive names.
31562
31563 * kern/dl.c (grub_dl_load_file): Close file immediately when
31564 we are done using it.
31565
31566 2009-04-12 David S. Miller <davem@davemloft.net>
31567
31568 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31569 values. Noticed by Pavel Roskin.
31570
31571 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31572 target compiler.
31573
31574 * genmk.rb: Add more flexible image type specification, also
31575 pass --strip-unneeded to objcopy.
31576 * conf/i386-pc.rmk: Use *_FORMAT.
31577 * conf/i386-pc.mk: Rebuilt.
31578
31579 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31580 (OFDISK_HASH_SZ): Define.
31581 (ofdisk_hash): New hash table.
31582 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31583 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31584 instead of device phandle which is not unique.
31585
31586 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31587 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31588 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31589 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31590 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31591 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31592 GRUB_KERNEL_MACHINE_DATA_END): Define.
31593 (grub_kernel_image_size, grub_total_module_size): Declare.
31594
31595 2009-04-12 Pavel Roskin <proski@gnu.org>
31596
31597 * configure.ac: Change the logic when we check for target tools.
31598 Do it when the target is specified and it's different from the
31599 specified value of the host.
31600
31601 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31602
31603 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31604 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31605 GNU/kFreeBSD. Check if a device is a character device. Use
31606 DIOCGMEDIASIZE to get the size.
31607 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31608 support for GNU/kFreeBSD.
31609 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31610 is a character device instead of a block device. Add support for
31611 FreeBSD device names.
31612
31613 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31614 is a character device instead of a block device.
31615
31616 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31617 is a character device instead of a block device.
31618
31619 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31620
31621 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31622 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31623 FreeBSD. Check if a device is a character device. Use
31624 DIOCGMEDIASIZE to get the size.
31625 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31626 support for FreeBSD.
31627 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31628 is a character device instead of a block device. Add support for
31629 FreeBSD device names.
31630
31631 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31632 a character device instead of a block device.
31633 (grub_util_check_char_device): New function.
31634
31635 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31636 a character device instead of a block device.
31637
31638 * include/grub/util/getroot.h (grub_util_check_char_device): New
31639 prototype.
31640
31641 2009-04-11 David S. Miller <davem@davemloft.net>
31642
31643 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31644 static libgcc.
31645 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31646 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31647 function, if present.
31648 (__bswapdi2): Likewise.
31649
31650 * include/grub/sparc64/ieee1275/boot.h: New file.
31651 * boot/sparc64/ieee1275/boot.S: Likewise.
31652 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31653
31654 * kern/misc.c (grub_ltoa): New function.
31655 (grub_vsprintf): Use it to format 'long' integers.
31656
31657 2009-04-10 David S. Miller <davem@davemloft.net>
31658
31659 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31660 slots are of type grub_ieee1275_cell_t.
31661 (grub_nand_read): Likewise.
31662 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31663 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31664 macros are used to compare values in arg/ret block of the call.
31665 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31666 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31667 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31668 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31669 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31670 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31671 grub_ieee1275_close, grub_ieee1275_set_property,
31672 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31673 grub_ieee1275_cell_t.
31674 * kern/ieee1275/openfw.c (grub_map): Likewise.
31675 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31676 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31677
31678 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31679 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31680 (grub_devalias_iterate): Likewise.
31681
31682 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
31683
31684 UFS improvements
31685
31686 * fs/ufs.c (INODE_NBLOCKS): new definition
31687 (struct grub_ufs_dirent): added fields for non-BSD dirents
31688 (grub_ufs_get_file_block): fixed double indirect handling
31689 (grub_ufs_lookup_symlink): use more robust way to determine whether
31690 symlink is inline
31691 (grub_ufs_find_file): support for non-BSD dirents
31692 (grub_ufs_dir): support for non-BSD dirents
31693
31694 2009-04-10 Bean <bean123ch@gnail.com>
31695
31696 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31697 attribute, otherwise the size would be wrong for i386 platform.
31698
31699 * include/grub/pci.h (grub_pci_read_word): New inline function.
31700 (grub_pci_read_byte): Likewise.
31701 (grub_pci_write): Likewise.
31702 (grub_pci_write_word): Likewise.
31703 (grub_pci_write_byte): Likewise.
31704
31705 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31706
31707 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31708 (find_framebuf): Scan pci to locate the frame buffer address.
31709
31710 * commands/efi/fixvideo.c: New file.
31711
31712 * commands/efi/loadbios.c: Likewise.
31713
31714 * commands/memrw.c: Likewise.
31715
31716 * util/grub-dumpbios.in: Likewise.
31717
31718 * conf/common.rmk (grub-dumpbios): New utility.
31719 (pkglib_MODULES): New module memrw.mod.
31720 (memrw_mod_SOURCE): New macro.
31721 (memrw_mod_CFLAGS): Likewise.
31722 (memrw_mod_LDFLAGS): Likewise.
31723
31724 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
31725 fixvideo.mod.
31726 (loadbios_mod_SOURCE): New macro.
31727 (loadbios_mod_CFLAGS): Likewise.
31728 (loadbios_mod_LDFLAGS): Likewise.
31729 (fixvideo_mod_SOURCE): Likewise.
31730 (fixvideo_mod_CFLAGS): Likewise.
31731 (fixvideo_mod_LDFLAGS): Likewise.
31732
31733 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
31734 fixvideo.mod.
31735 (loadbios_mod_SOURCE): New macro.
31736 (loadbios_mod_CFLAGS): Likewise.
31737 (loadbios_mod_LDFLAGS): Likewise.
31738 (fixvideo_mod_SOURCE): Likewise.
31739 (fixvideo_mod_CFLAGS): Likewise.
31740 (fixvideo_mod_LDFLAGS): Likewise.
31741
31742 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
31743
31744 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31745
31746 2009-04-07 David S. Miller <davem@davemloft.net>
31747
31748 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31749 support for R_SPARC_OLO10 relocations. Fix compile warning for
31750 R_SPARC_WDISP30 case.
31751 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
31752
31753 2009-04-06 Pavel Roskin <proski@gnu.org>
31754
31755 * include/grub/misc.h (ARRAY_SIZE): New macro.
31756 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31757 New macro.
31758 * loader/i386/linux.c (allocate_pages): Use free_pages().
31759 (grub_linux_unload): Don't use free_pages().
31760 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31761 wrong index. Treat all other modes as text modes.
31762 (grub_cmd_linux): Initialize vid_mode unconditionally to
31763 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31764
31765 * commands/help.c (print_command_help): Use cmd->prio, not
31766 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31767
31768 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
31769
31770 Parttool
31771
31772 * parttool/pcpart.c: new file
31773 * commands/parttool.c: likewise
31774 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31775 (parttool_mod_SOURCES): new variable
31776 (parttool_mod_CFLAGS): likewise
31777 (parttool_mod_LDFLAGS): likewise
31778 (pcpart_mod_SOURCES): likewise
31779 (pcpart_mod_CFLAGS): likewise
31780 (pcpart_mod_LDFLAGS): likewise
31781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
31782 and parttool/pcpart.c
31783 * conf/i386-efi.rmk: likewise
31784 * conf/i386-ieee1275.rmk: likewise
31785 * conf/i386-pc.rmk: likewise
31786 * conf/powerpc-ieee1275.rmk: likewise
31787 * conf/sparc64-ieee1275.rmk: likewise
31788 * conf/x86_64-ieee1275.rmk: likewise
31789
31790 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31791
31792 Support for mtime and further expandability of dir command
31793
31794 * include/grub/lib/datetime.h: moved to ...
31795 * include/grub/datetime.h: ... moved here and added
31796 declaration of grub_unixtime2datetime. All users updated
31797 * include/grub/fs.h: new syntax for dir and mtime functions in
31798 struct grub_fs
31799 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31800 and GRUB_FSHELP_FLAGS_MASK
31801 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31802 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31803 (grub_ext2_mtime): new function
31804 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31805 (grub_hfsplus_mtime): new function
31806 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31807 (GRUB_UFS_ATTR_FILE): likewise
31808 (GRUB_UFS_ATTR_LNK): likewise
31809 (struct grub_ufs_sblock): new fields mtime
31810 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31811 all users updated
31812 (grub_ufs_dir): mtime support
31813 (grub_ufs_mtime): new function
31814 * fs/affs.c (grub_affs_dir): use new dir syntax
31815 * fs/afs.c (grub_afs_dir): likewise
31816 * fs/cpio.c (grub_cpio_dir): likewise
31817 * fs/fat.c (grub_fat_find_dir): likewise
31818 * fs/hfs.c (grub_hfs_dir): likewise
31819 * fs/iso9660.c (grub_iso9660_dir): likewise
31820 * fs/jfs.c (grub_jfs_dir): likewise
31821 * fs/minix.c (grub_minix_dir): likewise
31822 * fs/ntfs.c (grub_ntfs_dir): likewise
31823 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31824 * fs/sfs.c (grub_sfs_dir): likewise
31825 * fs/xfs.c (grub_xfs_dir): likewise
31826 * util/hostfs.c (grub_hostfs_dir): likewise
31827 * lib/datetime.c: moved to ...
31828 * normal/datetime.c: ... moved here
31829 (grub_unixtime2datetime): new function
31830 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
31831 * normal/completion.c (iterate_dir): use new dir syntax
31832 * normal/misc.c (grub_normal_print_device_info): tell the
31833 last modification time of a volume
31834 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
31835 * conf/common.rmk: added lib/datetime.c to ls.mod
31836 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
31837 (normal_mod_SOURCES): likewise
31838 (datetime_mod_SOURCES): Removed lib/datetime.c
31839 * conf/i386-efi.rmk: likewise
31840 * conf/i386-ieee1275.rmk: likewise
31841 * conf/i386-pc.rmk: likewise
31842 * conf/powerpc-ieee1275.rmk: likewise
31843 * conf/sparc64-ieee1275.rmk: likewise
31844 * conf/x86_64-efi.rmk: likewise
31845
31846 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31847
31848 Trim trailing spaces in FAT label and support mtools-like labels
31849
31850 * fs/fat.c (grub_fat_iterate_dir): New function based
31851 on grub_fat_find_dir
31852 (grub_fat_find_dir): use grub_fat_iterate_dir
31853 (grub_fat_label): likewise
31854
31855 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31856
31857 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
31858 and command.h
31859 remove extraneous kernel_elf_HEADERS
31860
31861 2009-04-04 Bean <bean123ch@gnail.com>
31862
31863 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31864
31865 * util/misc.c: Likewise.
31866
31867 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31868
31869 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31870 instead of grub_printf.
31871
31872 2009-04-03 Robert Millan <rmh@aybabtu.com>
31873
31874 * loader/i386/linux.c (grub_linux_setup_video): Fill
31875 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31876 values from `mode info' structure instead of hardcoded
31877 values.
31878
31879 2009-04-01 Pavel Roskin <proski@gnu.org>
31880
31881 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31882 unused now.
31883 * genmk.rb: Likewise.
31884 * configure.ac: Likewise.
31885
31886 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31887
31888 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31889 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31890
31891 2009-04-01 David S. Miller <davem@davemloft.net>
31892
31893 * normal/sparc64/setjmp.S: Fix setjmp implementation.
31894 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
31895 (grub_setjmp): Mark with 'returns_twice' attribute.
31896 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31897 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31898 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31899
31900 2009-04-01 Robert Millan <rmh@aybabtu.com>
31901
31902 Reapply fix from 2008-07-28 which was accidentally reverted; also
31903 perform the same fix to a similar check in same function.
31904
31905 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31906 with the same number are found, just use issue a warning with
31907 grub_dprintf(), as this error has been reported to be non-fatal.
31908
31909 2009-03-31 Pavel Roskin <proski@gnu.org>
31910
31911 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31912 for cross-compilation.
31913
31914 2009-03-30 Robert Millan <rmh@aybabtu.com>
31915
31916 Fix i386-ieee1275 build.
31917
31918 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31919 Remove declaration.
31920
31921 2009-03-30 Pavel Roskin <proski@gnu.org>
31922
31923 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31924 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31925 zero-terminated, rely only on the strlen value. Fix comparison
31926 of strings differing in length.
31927
31928 2009-03-30 Robert Millan <rmh@aybabtu.com>
31929
31930 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31931 checking for abi version. Improve error messages on BIOS to notify
31932 user about `linux16' command.
31933
31934 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31935
31936 Leak fixes
31937
31938 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31939 in case of collision
31940 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31941
31942 2009-03-29 Robert Millan <rmh@aybabtu.com>
31943
31944 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31945 set `vid_mode' accordingly.
31946 (grub_linux_boot): Process `vid_mode' and set video mode.
31947
31948 2009-03-29 Robert Millan <rmh@aybabtu.com>
31949
31950 * util/grub.d/10_linux.in (linux_entry): New function.
31951 Factorize generation of Linux boot entries.
31952
31953 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31954
31955 Make the format of Environment Block plain text. The boot loader
31956 part is not tested well yet.
31957
31958 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31959 (buffer): Removed.
31960 (envblk): Likewise.
31961 (usage): Remove "info" and "clear". Add "unset". Update the
31962 description of "set", as this does not delete variables any
31963 longer.
31964 (create_envblk_file): Complete rewrite.
31965 (open_envblk_file): Likewise.
31966 (cmd_info): Removed.
31967 (cmd_list): Likewise.
31968 (cmd_set): Likewise.
31969 (cmd_clear): Likewise.
31970 (list_variables): New function.
31971 (write_envblk): Likewise.
31972 (set_variables): Likewise.
31973 (unset_variables): Likewise.
31974 (main): Complete rewrite.
31975
31976 * commands/loadenv.c (buffer): Removed.
31977 (envblk): Likewise.
31978 (open_envblk_file): New function.
31979 (read_envblk_file): Complete rewrite.
31980 (grub_cmd_load_env): Likewise.
31981 (grub_cmd_list_env): Likewise.
31982 (struct blocklist): New struct.
31983 (free_blocklists): New function.
31984 (check_blocklists): Likewise.
31985 (write_blocklists): Likewise.
31986 (grub_cmd_save_env): Complete rewrite.
31987
31988 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31989 a plain text signature.
31990 (GRUB_ENVBLK_MAXLEN): Removed.
31991 (struct grub_envblk): Complete rewrite.
31992 (grub_envblk_find): Removed.
31993 (grub_envblk_insert): Likewise.
31994 (grub_envblk_open): New prototype.
31995 (grub_envblk_set): Likewise.
31996 (grub_envblk_delete): Put const to VALUE.
31997 (grub_envblk_iterate): Put const to NAME and VALUE.
31998 (grub_envblk_close): New prototype.
31999 (grub_envblk_buffer): New inline function.
32000 (grub_envblk_size): Likewise.
32001
32002 * lib/envblk.c: Include grub/mm.h.
32003 (grub_env_find): Removed.
32004 (grub_envblk_open): New function.
32005 (grub_envblk_close): Likewise.
32006 (escaped_value_len): Likewise.
32007 (find_next_line): Likewise.
32008 (grub_envblk_insert): Removed.
32009 (grub_envblk_set): New function.
32010 (grub_envblk_delete): Complete rewrite.
32011 (grub_envblk_iterate): Likewise.
32012
32013 2009-03-28 Robert Millan <rmh@aybabtu.com>
32014
32015 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32016 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32017 variables. Use 16-bit loader.
32018 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32019 loader.
32020 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32021 (grub_linux16_boot): ... this. Update all users.
32022 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32023 (grub_linux_boot): ... this. Update all users.
32024
32025 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32026 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32027 commands to `linux16' and `initrd16'.
32028 (GRUB_MOD_FINI(linux)): Rename to ...
32029 (GRUB_MOD_FINI(linux16)): ... this.
32030
32031 2009-03-24 Pavel Roskin <proski@gnu.org>
32032
32033 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32034 not just for compilation.
32035
32036 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32037
32038 Move multiboot helper out of kernel
32039
32040 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32041 `loader/i386/multiboot_helper.S'.
32042 * conf/i386-coreboot.rmk: Likewise
32043 * conf/i386-ieee1275.rmk: Likewise
32044
32045 * kern/i386/loader.S: Move multiboot helpers from here...
32046 * loader/i386/multiboot_helper.S: ...moved here
32047 * include/grub/i386/loader.h: Move declarations of multiboot
32048 helpers from here...
32049 * include/grub/i386/multiboot.h: ...moved here
32050 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32051
32052 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32053
32054 * kern/env.c (grub_env_context_open): Added an argument to specify
32055 whether a new context inherits exported variables from current
32056 one. This is useful when making a sandbox to interpret a config
32057 file.
32058 All callers updated.
32059
32060 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32061
32062 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32063
32064 * kern/env.c (grub_env_context_close): Fix memory leaks.
32065
32066 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32067
32068 * normal/main.c (grub_normal_execute): Added an argument
32069 BATCH to specify if an interactive interface should be provided
32070 after reading a config file.
32071 All callers updated.
32072 (read_command_list): Prevent being executed twice.
32073 (read_fs_list): Likewise.
32074
32075 * include/grub/normal.h (grub_normal_execute): Updated the
32076 prototype.
32077
32078 2009-03-22 Pavel Roskin <proski@gno.org>
32079
32080 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32081 _start.
32082 * kern/i386/pc/startup.S: Likewise.
32083 * kern/i386/efi/startup.S: Likewise.
32084 * kern/i386/ieee1275/startup.S: Likewise.
32085 * kern/i386/coreboot/startup.S: Likewise.
32086 * kern/x86_64/efi/startup.S: Likewise.
32087
32088 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32089 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32090 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32091
32092 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32093
32094 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32095
32096 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32097 limit detection.
32098 Use vaddr of correct segment for entry_point.
32099
32100 2009-03-21 Bean <bean123ch@gmail.com>
32101
32102 * commands/blocklist.c: Add include file <grub/command.h>, remove
32103 <grub/normal.h> and <grub/arg.h>.
32104 (grub_cmd_blocklist): Use the new command interface.
32105 (GRUB_MOD_INIT): Likewise.
32106 (GRUB_MOD_FINI): Likewise.
32107 * commands/boot.c: Likewise.
32108 * commands/cat.c: Likewise.
32109 * commands/cmp.c: Likewise.
32110 * commands/configfile.c: Likewise.
32111 * commands/crc.c: Likewise.
32112 * commands/echo.c: Likewise.
32113 * commands/halt.c: Likewise.
32114 * commands/handler.c: Likewise.
32115 * commands/hdparm.c: Likewise.
32116 * commands/help.c: Likewise.
32117 * commands/hexdump.c: Likewise.
32118 * commands/loadenv.c: Likewise.
32119 * commands/ls.c: Likewise.
32120 * commands/lsmmap.c: Likewise.
32121 * commands/lspci.c: Likewise.
32122 * commands/loadenv.c: Likewise.
32123 * commands/read.c: Likewise.
32124 * commands/reboot.c: Likewise.
32125 * commands/search.c: Likewise.
32126 * commands/sleep.c: Likewise.
32127 * commands/test.c: Likewise.
32128 * commands/usbtest.c: Likewise.
32129 * commands/videotest.c: Likewise.
32130 * commands/i386/cpuid.c: Likewise.
32131 * commands/i386/pc/halt.c: Likewise.
32132 * commands/i386/pc/play.c: Likewise.
32133 * commands/i386/pc/pxecmd.c: Likewise.
32134 * commands/i386/pc/vbeinfo.c: Likewise.
32135 * commands/i386/pc/vbetest.c: Likewise.
32136 * commands/ieee1275/suspend.c: Likewise.
32137 * disk/loopback.c: Likewise.
32138 * font/font_cmd.c: Likewise.
32139 * hello/hello.c: Likewise.
32140 * loader/efi/appleloader.c: Likewise.
32141 * loader/efi/chainloader.c: Likewise.
32142 * loader/i386/bsd.c: Likewise.
32143 * loader/i386/efi/linux.c: Likewise.
32144 * loader/i386/ieee1275/linux.c: Likewise.
32145 * loader/i386/linux.c: Likewise.
32146 * loader/i386/pc/chainloader.c: Likewise.
32147 * loader/i386/pc/linux.c: Likewise.
32148 * loader/powerpc/ieee1275/linux.c: Likewise.
32149 * loader/multiboot_loader.c: Likewise.
32150 * term/gfxterm.c: Likewise.
32151 * term/i386/pc/serial.c: Likewise.
32152 * term/terminfo.c: Likewise.
32153
32154 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32155 * term/i386/pc/vga.c: Likewise.
32156 * video/readers/jpeg.c: Likewise.
32157 * video/readers/png.c: Likewise.
32158 * video/readers/tga.c: Likewise.
32159
32160 * util/grub-fstest (cmd_loopback): Removed.
32161 (cmd_blocklist): Likewise.
32162 (cmd_ls): Likewise.
32163 (grub_register_command): Likewise.
32164 (grub_unregister_command): Likewise.
32165 (execute_command): Use grub_command_find to locate command and execute
32166 it.
32167
32168 * include/grub/efi/chainloader.h: Removed.
32169 * loader/efi/chainloader_normal.c: Likewise.
32170 * loader/i386/bsd_normal.c: Likewise.
32171 * loader/i386/pc/chainloader_normal.c: Likewise.
32172 * loader/i386/pc/multiboot_normal.c: Likewise.
32173 * loader/linux_normal.c: Likewise.
32174 * loader/multiboot_loader_normal.c: Likewise.
32175 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32176
32177 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32178 and grub_register_command_p1.
32179
32180 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32181 kern/command.c, lib/arg.c and commands/extcmd.c.
32182 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32183 (minicmd_mod_SOURCES): New variable.
32184 (minicmd_mod_CFLAGS): Likewise.
32185 (minicmd_mod_LDFLAGS): Likewise.
32186 (extcmd_mod_SOURCES): Likewise.
32187 (extcmd_mod_CFLAGS): Likewise.
32188 (extcmd_mod_LDFLAGS): Likewise.
32189 (boot_mod_SOURCES): Removed.
32190 (boot_mod_CFLAGS): Likewise.
32191 (boot_mod_LDFLAGS): Likewise.
32192
32193 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32194 kern/corecmd.c.
32195 (kernel_img_HEADERS): Add command.h.
32196 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32197 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32198 and lib/arg.c.
32199 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32200 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32201 remove the corresponding normal mode command.
32202 (normal_mod_SOURCES): Remove normal/arg.c.
32203 * conf/i386-coreboot.rmk: Likewise.
32204 * conf/i386-efi.rmk: Likewise.
32205 * conf/i386-ieee1275.rmk: Likewise.
32206 * conf/powerpc-ieee1275.rmk: Likewise.
32207 * conf/x86_64-efi.rmk: Likewise.
32208
32209 * include/grub/arg.h: Move from here ...
32210 * include/grub/lib/arg.h: ... to here.
32211
32212 * normal/arg.c: Move from here ...
32213 * lib/arg.c: ... to here.
32214
32215 * commands/extcmd.c: New file.
32216 * commands/minicmd.c: Likewise.
32217 * include/grub/command.h: Likewise.
32218 * include/grub/extcmd.h: Likewise.
32219 * kern/command.c: Likewise.
32220 * kern/corecmd.c: Likewise.
32221
32222 * kern/list.c (grub_list_iterate): Return int instead of void.
32223 (grub_list_insert): New function.
32224 (grub_prio_list_insert): Likewise.
32225
32226 * kern/rescue.c (grub_rescue_command): Removed.
32227 (grub_rescue_command_list): Likewise.
32228 (grub_rescue_register_command): Likewise.
32229 (grub_rescue_unregister_command): Likewise.
32230 (grub_rescue_cmd_boot): Move to minicmd.c
32231 (grub_rescue_cmd_help): Likewise.
32232 (grub_rescue_cmd_info): Likewise.
32233 (grub_rescue_cmd_boot): Likewise.
32234 (grub_rescue_cmd_testload): Likewise.
32235 (grub_rescue_cmd_dump): Likewise.
32236 (grub_rescue_cmd_rmmod): Likewise.
32237 (grub_rescue_cmd_lsmod): Likewise.
32238 (grub_rescue_cmd_exit): Likewise.
32239 (grub_rescue_print_devices): Moved to corecmd.c.
32240 (grub_rescue_print_files): Likewise.
32241 (grub_rescue_cmd_ls): Likewise.
32242 (grub_rescue_cmd_insmod): Likewise.
32243 (grub_rescue_cmd_set): Likewise.
32244 (grub_rescue_cmd_unset): Likewise.
32245 (attempt_normal_mode): Use grub_command_find to get normal module.
32246 (grub_enter_rescue_mode): Use grub_register_core_commands to register
32247 commands, remove grub_rescue_register_command calls.
32248
32249 * normal/command.c (grub_register_command): Removed.
32250 (grub_unregister_command): Likewise.
32251 (grub_command_find): Likewise.
32252 (grub_iterate_commands): Likewise.
32253 (rescue_command): Likewise.
32254 (export_command): Moved to corecmd.c.
32255 (set_command): Removed.
32256 (unset_command): Likewise.
32257 (insmod_command): Likewise.
32258 (rmmod_command): Likewise.
32259 (lsmod_command): Likewise.
32260 (grub_command_init): Likewise.
32261
32262 * normal/completion.c (iterate_command): Use cmd->prio to check for
32263 active command.
32264 (complete_arguments): Use grub_extcmd_t structure to find options.
32265 (grub_normal_do_completion): Change function grub_iterate_commands to
32266 grub_command_iterate.
32267
32268 * normal/execute.c (grub_script_execute_cmd): No need to parse
32269 argument here.
32270
32271 * normal/main.c (grub_dyncmd_dispatcher): New function.
32272 (read_command_list): Register unload commands as dyncmd.
32273 (grub_cmd_normal): Use new command interface, register rescue,
32274 unregister normal at entry, register normal, unregister rescue at exit.
32275
32276 * include/grub/list.h (grub_list_test_t): New type.
32277 (grub_list_iterate): Return int instead of void.
32278 (grub_list_insert): New function.
32279 (GRUB_AS_NAMED_LIST_P): New macro.
32280 (GRUB_AS_PRIO_LIST): Likewise.
32281 (GRUB_AS_PRIO_LIST_P): Likewise.
32282 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32283 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32284 (grub_prio_list): New structure.
32285 (grub_prio_list_insert): New function.
32286 (grub_prio_list_remove): New inline function.
32287
32288 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32289 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32290 (GRUB_COMMAND_FLAG_MENU): Likewise.
32291 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32292 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32293 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32294 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32295 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32296 (grub_command): Likewise.
32297 (grub_register_command): Likewise.
32298 (grub_command_find): Likewise.
32299 (grub_iterate_commands): Likewise.
32300 (grub_command_init): Likewise.
32301 (grub_arg_parse): Likewise.
32302 (grub_arg_show_help): Likewise.
32303
32304 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32305 (grub_rescue_unregister_command): Likewise.
32306
32307 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32308 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32309 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32310
32311 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32312 grub_rescue_cmd_initrd.
32313 * include/grub/i386/loader.h: Likewise.
32314 * include/grub/x86_64/loader.h: Likewise.
32315
32316 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32317
32318 2009-03-21 Bean <bean123ch@gmail.com>
32319
32320 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32321 instead of stat in mingw environment.
32322
32323 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32324
32325 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32326
32327 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32328 AC_CONFIG_LINKS.
32329
32330 2009-03-21 Bean <bean123ch@gmail.com>
32331
32332 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32333 out of range error.
32334
32335 2009-03-18 Michel Dänzer <michel@daenzer.net>
32336
32337 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32338 checking inode flags for EXT4_EXTENTS_FLAG.
32339
32340 2009-03-18 Robert Millan <rmh@aybabtu.com>
32341
32342 * loader/i386/linux.c: Include `<grub/video.h>' and
32343 `<grub/i386/pc/vbe.h>'..
32344 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32345 (grub_linux32_boot): Attempt to configure video settings with
32346 grub_linux_setup_video().
32347 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32348 to avoid grub_console_fini() which would step out of graphical mode
32349 unconditionally.
32350
32351 2009-03-14 Robert Millan <rmh@aybabtu.com>
32352
32353 Fix build on powerpc.
32354 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32355
32356 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32357
32358 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32359 background image command.
32360
32361 2009-03-12 Colin D Bennett <colin@gibibit.com>
32362
32363 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32364 (grub_gfxterm_putchar): Extract pairs of identical calls to
32365 draw_cursor out of conditional blocks.
32366
32367 2009-03-11 Pavel Roskin <proski@gnu.org>
32368
32369 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32370 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32371
32372 2009-03-11 Robert Millan <rmh@aybabtu.com>
32373
32374 * loader/i386/multiboot_elfxx.c
32375 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32376
32377 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
32378
32379 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32380 `kern/handler.c'.
32381
32382 2009-03-11 Robert Millan <rmh@aybabtu.com>
32383
32384 * loader/i386/multiboot.c (code_size): New variable.
32385 (grub_multiboot): Define offsets by adding to `code_size' rather
32386 than subtracting from `grub_multiboot_payload_size'. Provide
32387 4-byte alignment to MBI and others by increasing
32388 `boot_loader_name_length' appropriately.
32389
32390 * loader/i386/multiboot_elfxx.c
32391 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32392
32393 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
32394
32395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32396 `fs/ext2.c'.
32397
32398 2009-03-08 Robert Millan <rmh@aybabtu.com>
32399
32400 Make loader/i386/linux.c usable on i386-pc again.
32401
32402 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32403 memory to heap.
32404 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32405 `#error' stanza.
32406
32407 2009-03-07 Bean <bean123ch@gmail.com>
32408
32409 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32410 allocation.
32411
32412 2009-03-06 Robert Millan <rmh@aybabtu.com>
32413
32414 Fix display issue on terminals with screen size other than 80x25
32415 (e.g. gfxterm with resolution higher than 640x480).
32416
32417 * normal/main.c (grub_normal_init_page): Display title text in a
32418 position relative to the center of the terminal instead of relying
32419 on a hardcoded offset.
32420
32421 2009-03-04 Robert Millan <rmh@aybabtu.com>
32422
32423 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32424 installed.
32425
32426 * Makefile.in (host_kernel): New variable.
32427 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32428 scripts instead of just the windows one.
32429 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32430
32431 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32432
32433 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32434 `kern/handler.c'.
32435 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32436 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32437 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32439 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32440 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32441
32442 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32443
32444 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32445 or if there's no space for the disk label and print the partition number on a
32446 invalid magic.
32447
32448 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32449
32450 * util/misc.c: Include <time.h>.
32451 (grub_millisleep): New function.
32452
32453 2009-03-04 Bean <bean123ch@gmail.com>
32454
32455 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32456 another option -mno-red-zone.
32457
32458 * commands/handler.c: Change module description.
32459
32460 * kern/handler.c: Add missing space at the end of description line.
32461
32462 * kern/list.c: Likewise.
32463
32464 2009-03-03 Robert Millan <rmh@aybabtu.com>
32465
32466 Move more components to the relocation area, and fix mbi pointer
32467 handling to use the destination rather than the origin (thanks to
32468 Vladimir Serbinenko for spotting).
32469
32470 * loader/i386/multiboot.c (mbi_dest): New variable.
32471 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32472 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32473 relocation area.
32474
32475 2009-03-01 Bean <bean123ch@gmail.com>
32476
32477 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32478 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32479 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32480 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32481
32482 * loader/i386/efi/linux.c (acpi_guid): New variable.
32483 (acpi_guid): Likewise.
32484 (EBDA_SEG_ADDR): New constant.
32485 (LOW_MEM_ADDR): Likewise.
32486 (FAKE_EBDA_SEG): Likewise.
32487 (fake_bios_data): New function.
32488 (grub_linux_boot): Call fake_bios_data.
32489
32490 2009-03-01 Bean <bean123ch@gmail.com>
32491
32492 * commands/terminal.c: Removed.
32493
32494 * commands/handler.c: New file.
32495
32496 * include/grub/list.h: Likewise.
32497
32498 * include/grub/handler.h: Likewise.
32499
32500 * kern/list.c: Likewise.
32501
32502 * kern/handler.c: Likewise.
32503
32504 * kern/term.h: Include header file <grub/handler.h>.
32505 (grub_term_input): Move next field to the beginning.
32506 (grub_term_output): Likewise.
32507 (grub_term_input_class): New variable.
32508 (grub_term_output_class): Likewise.
32509 (grub_term_register_input): Changed to inline function.
32510 (grub_term_register_output): Likewise.
32511 (grub_term_unregister_input): Likewise.
32512 (grub_term_unregister_output): Likewise.
32513 (grub_term_set_current_input): Likewise.
32514 (grub_term_set_current_output): Likewise.
32515 (grub_term_get_current_input): Likewise.
32516 (grub_term_get_current_output): Likewise.
32517 (grub_term_iterate_input): Removed.
32518 (grub_term_iterate_output): Likewise.
32519
32520 * kern/term.c (grub_term_list_input): Removed.
32521 (grub_term_list_output): Likewise.
32522 (grub_term_input_class): New variable.
32523 (grub_term_output_class): Likewise.
32524 (grub_cur_term_input): Change variable as macro.
32525 (grub_cur_term_output): Likewise.
32526 (grub_term_register_input): Removed.
32527 (grub_term_register_output): Likewise.
32528 (grub_term_unregister_input): Likewise.
32529 (grub_term_unregister_output): Likewise.
32530 (grub_term_set_current_input): Likewise.
32531 (grub_term_set_current_output): Likewise.
32532 (grub_term_iterate_input): Likewise.
32533 (grub_term_iterate_output): Likewise.
32534 (grub_term_get_current_input): Likewise.
32535 (grub_term_get_current_output): Likewise.
32536
32537 * util/grub-editenv.c: Include header file <grub/handler.h>.
32538 (grub_term_get_current_input): Removed.
32539 (grub_term_get_current_output): Likewise.
32540 (grub_term_input_class): New variable.
32541 (grub_term_output_class): Likewise.
32542
32543 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32544 (grub_term_get_current_output): Likewise.
32545 (grub_term_input_class): New variable.
32546 (grub_term_output_class): Likewise.
32547
32548 * util/grub-probe.c (grub_term_get_current_input): Removed.
32549 (grub_term_get_current_output): Likewise.
32550 (grub_term_input_class): New variable.
32551 (grub_term_output_class): Likewise.
32552
32553 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32554 (grub_term_get_current_output): Likewise.
32555 (grub_term_input_class): New variable.
32556 (grub_term_output_class): Likewise.
32557
32558 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32559 (terminal_mod_SOURCES): Likewise.
32560 (terminal_mod_CFLAGS): Likewise.
32561 (terminal_mod_LDFLAGS): Likewise.
32562
32563 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32564 handler.c.
32565 (kernel_img_SOURCES): Add list.c and handler.c.
32566 (kernel_img_HEADERS): Add list.h and handler.h.
32567
32568 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32569 handler.c.
32570 (kernel_mod_SOURCES): Add list.c and handler.c.
32571 (kernel_mod_HEADERS): Add list.h and handler.h.
32572
32573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32574 handler.c.
32575 (kernel_elf_SOURCES): Add list.c and handler.c.
32576 (kernel_elf_HEADERS): Add list.h and handler.h.
32577
32578 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32579 handler.c.
32580 (kernel_elf_SOURCES): Add list.c and handler.c.
32581 (kernel_elf_HEADERS): Add list.h and handler.h.
32582
32583 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32584 handler.c.
32585 (kernel_mod_SOURCES): Add list.c and handler.c.
32586 (kernel_mod_HEADERS): Add list.h and handler.h.
32587
32588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32589 handler.c.
32590 (kernel_elf_SOURCES): Add list.c and handler.c.
32591 (kernel_elf_HEADERS): Add list.h and handler.h.
32592
32593 2009-02-27 Robert Millan <rmh@aybabtu.com>
32594
32595 Factorize elf32 / elf64 code in Multiboot loader. This will
32596 prevent it from getting out of sync again.
32597
32598 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32599 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32600 grub_multiboot_load_elf64): Move from here ...
32601 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32602 grub_multiboot_load_elf): ... to here (new file).
32603
32604 2009-02-27 Robert Millan <rmh@aybabtu.com>
32605
32606 * util/grub.d/10_linux.in: Rename "single-user mode" to
32607 "recovery mode".
32608
32609 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32610
32611 Don't leak in SCSI code.
32612 * disk/scsi.c (grub_scsi_close): free `scsi'.
32613
32614 2009-02-27 Robert Millan <rmh@aybabtu.com>
32615
32616 * loader/i386/pc/multiboot.c: Move from here ...
32617 * loader/i386/multiboot.c: ... to here. Update all users.
32618
32619 2009-02-27 Robert Millan <rmh@aybabtu.com>
32620
32621 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32622 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32623
32624 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32625
32626 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32627 b-tree.
32628
32629 2009-02-27 Robert Millan <rmh@aybabtu.com>
32630
32631 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32632 `0x' qualifier as 0 when base is specified as parameter).
32633
32634 2009-02-24 Bean <bean123ch@gmail.com>
32635
32636 * configure.ac: Check for -mcmodel=large in x86_64 target.
32637
32638 * include/grub/efi/api.h (efi_call_10): New macro.
32639 (efi_wrap_10): New function.
32640
32641 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32642 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32643 (GRUB_PE32_REL_BASED_LOW): Likewise.
32644 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32645 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32646 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32647 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32648 (GRUB_PE32_REL_BASED_REL): Likewise.
32649 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32650 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32651 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32652
32653 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32654 issue.
32655
32656 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32657 (efi_wrap_10): New function.
32658
32659 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32660
32661 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32662 MB/MBP model (NV chipset).
32663 (devdata_devs): Add devpath_5 to the list.
32664
32665 * load/i386/efi/linux.c (video_base): Remove variable.
32666 (RGB_MASK): New macro.
32667 (RGB_MAGIC): Likewise.
32668 (LINE_MIN): Likewise.
32669 (LINE_MAX): Likewise.
32670 (FBTEST_STEP): Likewise.
32671 (FBTEST_COUNT): Likewise.
32672 (fb_list): New variable.
32673 (grub_find_video_card): Remove function.
32674 (find_framebuf): New function.
32675 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32676 line length.
32677
32678 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32679 problem for x86_64.
32680
32681 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32682
32683 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32684
32685 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32686 coding tool name.
32687
32688 2009-02-22 Robert Millan <rmh@aybabtu.com>
32689
32690 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32691 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32692 in our relocation, instead of using it directly from heap. Also
32693 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32694
32695 2009-02-21 Robert Millan <rmh@aybabtu.com>
32696
32697 Implement USB keyboard support (based on patch by Marco Gerards)
32698
32699 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32700 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32701 (usb_keyboard_mod_LDFLAGS): New variables.
32702
32703 * term/usb_keyboard.c: New file.
32704
32705 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32706
32707 Corrected wrong declaration
32708
32709 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32710
32711 2009-02-14 Christian Franke <franke@computer.org>
32712
32713 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32714 (grub_lspci_iter): Print class code and programming interface byte.
32715
32716 2009-02-14 Christian Franke <franke@computer.org>
32717
32718 * gendistlist.sh: Ignore `.svn' directories.
32719
32720 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
32721
32722 * fs/fat.c: Add 2009 to Copyright line.
32723
32724 2009-02-14 Christian Franke <franke@computer.org>
32725
32726 * commands/hdparm.c: New file. Provides `hdparm' command
32727 which sends ATA commands via grub_disk_ata_pass_through ().
32728
32729 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32730
32731 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32732 and <grub/cpu/io.h> to include/grub/ata.h.
32733 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32734 (GRUB_CDROM_SECTOR_SIZE): Remove.
32735 (GRUB_ATA_*): Move to include/grub/ata.h.
32736 (GRUB_ATAPI_*): Likewise.
32737 (enum grub_ata_commands): Likewise.
32738 (enum grub_ata_timeout_milliseconds): Likewise.
32739 (struct grub_ata_device): Likewise.
32740 (grub_ata_regset): Likewise.
32741 (grub_ata_regget): Likewise.
32742 (grub_ata_regset2): Likewise.
32743 (grub_ata_regget2): Likewise.
32744 (grub_ata_check_ready): Likewise.
32745 (grub_ata_wait_not_busy): Remove static, exported in
32746 include/grub/ata.h.
32747 (grub_ata_wait_drq): Likewise.
32748 (grub_ata_pio_read): Likewise.
32749
32750 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32751 function for hdparm.mod.
32752
32753 * include/grub/ata.h: New file, contains declarations from
32754 disk/ata.c.
32755 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32756
32757 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32758 (grub_disk_ata_pass_through): New exported variable.
32759
32760 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32761
32762 2009-02-13 Colin D Bennett <colin@gibibit.com>
32763
32764 Support multiple fallback entries, and provide an API to support
32765 executing default+fallback menu entries. Renamed the `terminal' menu
32766 viewer to `text'.
32767
32768 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32769 variable declaration.
32770 (grub_menu_execute_callback): New structure declaration.
32771 (grub_menu_execute_callback_t): New typedef.
32772 (grub_menu_execute_with_fallback): New function declaration.
32773 (grub_menu_get_entry): Likewise.
32774 (grub_menu_get_timeout): Likewise.
32775 (grub_menu_set_timeout): Likewise.
32776
32777 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32778
32779 * normal/menu.c (grub_wait_after_message): Moved to
32780 `normal/menu_text.c'.
32781 (draw_border): Likewise.
32782 (print_message): Likewise.
32783 (print_entry): Likewise.
32784 (print_entries): Likewise.
32785 (grub_menu_init_page): Likewise.
32786 (get_entry_number): Likewise.
32787 (print_timeout): Likewise.
32788 (run_menu): Likewise.
32789 (grub_menu_execute_entry): Likewise.
32790 (show_text_menu): Likewise.
32791 (get_and_remove_first_entry_number): New function.
32792 (grub_menu_execute_with_fallback): Likewise.
32793 (get_entry): Renamed to ...
32794 (grub_menu_get_entry): .. this and made it global.
32795 (get_timeout): Renamed to ...
32796 (grub_menu_get_timeout): ... this and made it global.
32797 (set_timeout): Renamed to ...
32798 (grub_menu_set_timeout): ... this and made it global.
32799 (grub_normal_terminal_menu_viewer): Renamed to ...
32800 (grub_normal_text_menu_viewer): ... this.
32801
32802 * normal/menu_text.c: New file. Extracted text-menu-specific code
32803 from normal/menu.c.
32804
32805 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32806 (normal_mod_SOURCES): Likewise.
32807
32808 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32809 (normal_mod_SOURCES): Likewise.
32810
32811 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32812 (normal_mod_SOURCES): Likewise.
32813
32814 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32815 (normal_mod_SOURCES): Likewise.
32816
32817 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32818 (normal_mod_SOURCES): Likewise.
32819
32820 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32821 (normal_mod_SOURCES): Likewise.
32822
32823 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32824 (normal_mod_SOURCES): Likewise.
32825
32826 2009-02-11 Robert Millan <rmh@aybabtu.com>
32827
32828 * util/grub.d/00_header.in: Update old reference to `font' command.
32829
32830 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
32831
32832 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32833
32834 Based on patch from Javier Martín.
32835
32836 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32837
32838 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
32839 to avoid false positives with FAT.
32840 (grub_fstest_SOURCES): Likewise.
32841 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32842 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32844 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32845 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32846 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32847
32848 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32849
32850 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
32851 bpb.version_specific.fat12_or_fat16.fstype and
32852 bpb.version_specific.fat32.fstype.
32853
32854 2009-02-08 Robert Millan <rmh@aybabtu.com>
32855
32856 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
32857
32858 2009-02-08 Robert Millan <rmh@aybabtu.com>
32859
32860 * Makefile.in (host_os, host_cpu): New variables.
32861 (target_os): Remove. Update all users.
32862
32863 2009-02-08 Marco Gerards <marco@gnu.org>
32864
32865 * Makefile.in (enable_grub_emu_usb): New variable.
32866 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32867 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32868 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32869 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32870 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32871 `usbtest.mod' and `usbms.mod'.
32872 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32873 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32874 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32875 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32876 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32877 variables.
32878
32879 * disk/usbms.c: New file.
32880
32881 * include/grub/usb.h: Likewise.
32882
32883 * include/grub/usbtrans.h: Likewise.
32884
32885 * include/grub/usbdesc.h: Likewise.
32886
32887 * bus/usb/usbtrans.c: Likewise.
32888
32889 * bus/usb/ohci.c: Likewise.
32890
32891 * bus/usb/uhci.c: Likewise.
32892
32893 * bus/usb/usbhub.c: Likewise.
32894
32895 * bus/usb/usb.c: Likewise.
32896
32897 * commands/usbtest.c: Likewise.
32898
32899 * util/usb.c: Likewise.
32900
32901 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32902
32903 * configure.ac: Test for libusb presence.
32904
32905 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32906
32907 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32908
32909 * kern/mm.c: Add more comments.
32910
32911 2009-02-08 Robert Millan <rmh@aybabtu.com>
32912
32913 Patch from Javier Martín.
32914 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32915 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32916
32917 2009-02-08 Robert Millan <rmh@aybabtu.com>
32918
32919 * fs/cpio.c: Split tar functionality to ...
32920 * fs/tar.c: ... here (new file). Update all users.
32921
32922 2009-02-07 Robert Millan <rmh@aybabtu.com>
32923
32924 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32925 backward-incompatible features.
32926
32927 Based on patch from Javier Martín, with some adjustments.
32928
32929 2009-02-07 Michael Scherer <misc@mandriva.org>
32930
32931 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32932
32933 2009-02-07 Robert Millan <rmh@aybabtu.com>
32934
32935 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32936 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32937 after the RAID stuff.
32938
32939 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32940
32941 Fixes problem when running vbetest command as reported by
32942 Vladimir Serbinenko <phcoder@gmail.com>.
32943
32944 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32945
32946 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32947
32948 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32949 /dev/md/NpN style mdraid devices.
32950
32951 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32952
32953 * util/unifont2pff.rb: Remove.
32954
32955 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32956
32957 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32958 `#'.
32959
32960 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32961
32962 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32963 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32964 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32965 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32967 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32968 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32969
32970 2009-02-02 Christian Franke <franke@computer.org>
32971
32972 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32973
32974 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32975
32976 * INSTALL: Note that we now require at least autoconf 2.59 and
32977 that LZO is optional.
32978
32979 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32980
32981 Base on patch on bug #24154 created by Tomas Tintera
32982 <trosos@seznam.cz>.
32983
32984 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32985
32986 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32987
32988 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32989 <bero@arklinux.org>.
32990
32991 * normal/parser.y (script_init): Add missing semicolon.
32992
32993 2009-01-31 Colin D Bennett <colin@gibibit.com>
32994
32995 * normal/main.c: Add include to grub/menu_viewer.h.
32996 (free_menu_entry_classes): Added.
32997 (grub_normal_menu_addentry): Added class property handling.
32998 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32999 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33000
33001 * normal/menu_viewer.c: New file.
33002
33003 * normal/menu.c (run_menu_entry): Renamed to ...
33004 (grub_menu_execute_entry): ... this and made it as global.
33005 (grub_menu_run): Renamed to ...
33006 (show_text_menu): ... this and made it local.
33007 (show_text_menu): Adapt to new function names.
33008 (grub_normal_terminal_menu_viewer): New global variable.
33009
33010 * include/grub/menu.h: New file.
33011
33012 * include/grub/menu_viewer.h: New file.
33013
33014 * include/grub/normal.h: Added include to grub/menu.h.
33015 (grub_menu_entry): Moved to include/grub/menu.h.
33016 (grub_menu_entry_t): Likewise.
33017 (grub_menu): Likewise.
33018 (grub_menu_t): Likewise.
33019 (grub_normal_terminal_menu_viewer): Added.
33020 (grub_menu_execute_entry): Likewise.
33021 (grub_menu_run): Removed.
33022
33023 * DISTLIST: Added include/grub/menu.h.
33024 Added include/grub/menu_viewer.h.
33025 Added normal/menu_viewer.c.
33026
33027 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33028
33029 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33030 arglist for menutitle arguments.
33031
33032 * normal/main.c (grub_normal_menu_addentry): Likewise.
33033
33034 * normal/parser.y (menuentry): Likewise.
33035
33036 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33037
33038 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33039 (grub_script_create_cmdmenu): Likewise.
33040
33041 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33042
33043 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33044 changes.
33045
33046 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33047
33048 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33049
33050 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33051
33052 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33053
33054 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33055
33056 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33057
33058 2009-01-30 Christian Franke <franke@computer.org>
33059
33060 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33061 in option help text.
33062
33063 2009-01-27 Pavel Roskin <proski@gnu.org>
33064
33065 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33066
33067 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33068
33069 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33070
33071 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33072
33073 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33074 unregister function.
33075
33076 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33077
33078 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33079
33080 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33081
33082 * util/grub-mkfont.c (usage): Fix typo.
33083
33084 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33085
33086 2009-01-26 Daniel Mierswa <impulze@impulze.org>
33087
33088 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33089
33090 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33091
33092 * kern/misc.c (grub_strcasecmp): New function.
33093 (grub_strcasecmp): Use grub_size_t instead of int for length.
33094 Fix return value.
33095 * include/grub/misc.h: Update function prototypes.
33096
33097 2009-01-26 Robert Millan <rmh@aybabtu.com>
33098
33099 * configure.ac: Fix cross-compilation check.
33100
33101 2009-01-22 Christian Franke <franke@computer.org>
33102
33103 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33104 (precision) digit string. Allow `.format2' without `format1' (width).
33105 Limit input chars for `%s' output to `format2' if specified. This is
33106 compatible with standard printf ().
33107
33108 2009-01-22 Christian Franke <franke@computer.org>
33109
33110 * disk/ata.c (grub_ata_wait_status): Replace by ...
33111 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33112 other status bits may be invalid while BSY is asserted.
33113 (grub_ata_check_ready): New function.
33114 (grub_ata_cmd): Removed.
33115 (grub_ata_wait_drq): New function.
33116 (grub_ata_strncpy): Remove inline.
33117 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33118 and error check now done by grub_ata_wait_drq ().
33119 (grub_ata_pio_write): Likewise.
33120 (grub_atapi_identify): Set DEV before check for !BSY. Use
33121 grub_ata_wait_drq () to wait for data.
33122 (grub_ata_device_initialize): Add status register check to
33123 detect missing SATA slave devices. Add debug messages.
33124 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33125 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33126 transfer loop by grub_ata_pio_write ().
33127 (grub_ata_identify): Set DEV before check for !BSY. Use
33128 grub_ata_wait_drq () to wait for data.
33129 (grub_ata_setaddress): Set DEV before check for !BSY.
33130 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33131 read/write in one loop. Fix invalid command on write. Fix incomplete
33132 command on (size % batch) == 0. Add missing error check after write of
33133 last block. Add debug messages.
33134 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33135
33136 2009-01-19 Christian Franke <franke@computer.org>
33137
33138 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33139 (GRUB_ATAPI_IREASON_*): Likewise.
33140 (grub_ata_pio_write): Fix timeout error return.
33141 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33142 (grub_atapi_wait_drq): New function.
33143 (grub_atapi_packet): New parameter `size'.
33144 Use grub_atapi_wait_drq () and direct write instead of
33145 grub_ata_pio_write ().
33146 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33147 reads the number of bytes requested by the device for each DRQ
33148 assertion.
33149 (grub_atapi_write): Remove old implementation, return not
33150 implemented instead.
33151
33152 2009-01-19 Christian Franke <franke@computer.org>
33153
33154 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33155 of 512 to calculate data size.
33156 (grub_scsi_read12): Likewise.
33157 (grub_scsi_write10): Likewise.
33158 (grub_scsi_write12): Likewise.
33159 (grub_scsi_read): Adjust size according to blocksize.
33160 Add checks for invalid blocksize and unaligned transfer.
33161
33162 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33163
33164 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33165
33166 * term/gfxterm.c (write_char): Fix background rendering for wide
33167 width glyphs.
33168
33169 2009-01-19 Robert Millan <rmh@aybabtu.com>
33170
33171 * config.guess: Update to latest version from config git.
33172 * config.sub: Likewise.
33173
33174 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
33175
33176 * Makefile.in: Change font compilation to use new grub-mkfont instead
33177 of java version.
33178
33179 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33180 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33181 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33182 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33183 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33184 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33185 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33186 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33187 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33188
33189 2009-01-16 Christian Franke <franke@computer.org>
33190
33191 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33192 (enum grub_ata_timeout_milliseconds): New enum.
33193 (grub_ata_wait_status): Add parameter milliseconds.
33194 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33195 recovery from timed-out commands.
33196 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33197 return grub_errno instead of REG_ERROR.
33198 (grub_ata_pio_write): Add parameter milliseconds.
33199 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33200 Pass milliseconds to grub_ata_wait_status () and
33201 grub_ata_pio_read ().
33202 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33203 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33204 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33205 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33206 It is not suitable for device detection, because DEV bit is ignored,
33207 the command may run too long, and not all devices set the signature
33208 properly.
33209 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33210 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33211 Fix device selection, DEV bit must be set first to address the registers
33212 of the correct device.
33213 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33214 grub_ata_pio_read/write ().
33215 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33216 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33217
33218 2009-01-13 Carles Pina i Estany <carles@pina.cat>
33219
33220 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33221
33222 2009-01-13 Bean <bean123ch@gmail.com>
33223
33224 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33225
33226 2009-01-13 Bean <bean123ch@gmail.com>
33227
33228 * Makefile.in: (enable_grub_mkfont): New variable.
33229 (freetype_cflags): Likewise.
33230 (freetype_libs): Likewise.
33231
33232 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33233 (grub_mkfont_SOURCES): New variable.
33234 (grub_mkfont_CFLAGS): Likewise.
33235 (grub_mkfont_LDFLAGS): Likewise.
33236
33237 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33238 library if `--enable-grub-mkfont' is requested.
33239 (enable_grub_mkfont): New variable.
33240 (freetype_cflags): Likewise.
33241 (freetype_libs): Likewise.
33242
33243 * util/grub-mkfont.c: New file.
33244
33245 2009-01-12 Christian Franke <franke@computer.org>
33246
33247 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33248 mode check. Fix setting of compat_use[].
33249
33250 2009-01-10 Robert Millan <rmh@aybabtu.com>
33251
33252 Update a few copyright years which we forgot to do in 2008 (only for
33253 files whose changes made in 2008 were copyright-significant)
33254
33255 * Makefile.in: Add 2008 to Copyright line.
33256 * disk/ieee1275/ofdisk.c: Likewise.
33257 * disk/efi/efidisk.c: Likewise.
33258 * kern/dl.c: Likewise.
33259 * kern/sparc64/ieee1275/init.c: Likewise.
33260 * kern/mm.c: Likewise.
33261 * kern/efi/mm.c: Likewise.
33262 * boot/i386/pc/boot.S: Likewise.
33263 * genfslist.sh: Likewise.
33264 * fs/iso9660.c: Likewise.
33265 * fs/hfs.c: Likewise.
33266 * fs/jfs.c: Likewise.
33267 * fs/minix.c: Likewise.
33268 * fs/ufs.c: Likewise.
33269 * gensymlist.sh.in: Likewise.
33270 * genkernsyms.sh.in: Likewise.
33271 * include/grub/misc.h: Likewise.
33272 * include/grub/types.h: Likewise.
33273 * include/grub/symbol.h: Likewise.
33274 * include/grub/elf.h: Likewise.
33275 * include/grub/kernel.h: Likewise.
33276 * include/grub/disk.h: Likewise.
33277 * include/grub/dl.h: Likewise.
33278 * include/grub/i386/linux.h: Likewise.
33279 * include/grub/i386/pc/biosdisk.h: Likewise.
33280 * include/grub/efi/api.h: Likewise.
33281 * include/grub/efi/pe32.h: Likewise.
33282 * include/grub/util/misc.h: Likewise.
33283 * normal/execute.c: Likewise.
33284 * normal/arg.c: Likewise.
33285 * normal/completion.c: Likewise.
33286 * normal/lexer.c: Likewise.
33287 * normal/parser.y: Likewise.
33288 * normal/misc.c: Likewise.
33289 * commands/i386/pc/vbeinfo.c: Likewise.
33290 * commands/hexdump.c: Likewise.
33291 * commands/terminal.c: Likewise.
33292 * commands/ls.c: Likewise.
33293 * commands/help.c: Likewise.
33294 * partmap/pc.c: Likewise.
33295 * loader/efi/chainloader.c: Likewise.
33296 * loader/multiboot_loader.c: Likewise.
33297 * loader/i386/pc/multiboot2.c: Likewise.
33298 * term/efi/console.c: Likewise.
33299 * term/i386/pc/serial.c: Likewise.
33300 * util/lvm.c: Likewise.
33301 * util/console.c: Likewise.
33302 * util/i386/efi/grub-mkimage.c: Likewise.
33303 * util/raid.c: Likewise.
33304
33305 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33306
33307 * commands/videotest.c: Removed include to grub/machine/memory.h.
33308
33309 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33310 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33311 (video_mod_SOURCES): Removed.
33312 (video_mod_CFLAGS): Likewise.
33313 (video_mod_LDFLAGS): Likewise.
33314 (gfxterm_mod_SOURCES): Likewise.
33315 (gfxterm_mod_CFLAGS): Likewise.
33316 (gfxterm_mod_LDFLAGS): Likewise.
33317 (videotest_mod_SOURCES): Likewise.
33318 (videotest_mod_CFLAGS): Likewise.
33319 (videotest_mod_LDFLAGS): Likewise.
33320 (bitmap_mod_SOURCES): Likewise.
33321 (bitmap_mod_CFLAGS): Likewise.
33322 (bitmap_mod_LDFLAGS): Likewise.
33323 (tga_mod_SOURCES): Likewise.
33324 (tga_mod_CFLAGS): Likewise.
33325 (tga_mod_LDFLAGS): Likewise.
33326 (jpeg_mod_SOURCES): Likewise.
33327 (jpeg_mod_CFLAGS): Likewise.
33328 (jpeg_mod_LDFLAGS): Likewise.
33329 (png_mod_SOURCES): Likewise.
33330 (png_mod_CFLAGS): Likewise.
33331 (png_mod_LDFLAGS): Likewise.
33332
33333 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33334 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33335 (video_mod_SOURCES): Added.
33336 (video_mod_CFLAGS): Likewise.
33337 (video_mod_LDFLAGS): Likewise.
33338 (videotest_mod_SOURCES): Likewise.
33339 (videotest_mod_CFLAGS): Likewise.
33340 (videotest_mod_LDFLAGS): Likewise.
33341 (bitmap_mod_SOURCES): Likewise.
33342 (bitmap_mod_CFLAGS): Likewise.
33343 (bitmap_mod_LDFLAGS): Likewise.
33344 (tga_mod_SOURCES): Likewise.
33345 (tga_mod_CFLAGS): Likewise.
33346 (tga_mod_LDFLAGS): Likewise.
33347 (jpeg_mod_SOURCES): Likewise.
33348 (jpeg_mod_CFLAGS): Likewise.
33349 (jpeg_mod_LDFLAGS): Likewise.
33350 (png_mod_SOURCES): Likewise.
33351 (png_mod_CFLAGS): Likewise.
33352 (png_mod_LDFLAGS): Likewise.
33353 (gfxterm_mod_SOURCES): Likewise.
33354 (gfxterm_mod_CFLAGS): Likewise.
33355 (gfxterm_mod_LDFLAGS): Likewise.
33356
33357 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33358 grub/machine/console.h.
33359
33360 2009-01-04 Jerone Young <jerone@gmail.com>
33361
33362 Make on screen instructions clearer
33363
33364 Based on patch created by Jidanni <jidanni@jidanni.org>
33365
33366 * normal/menu.c: print clearer instructions on the screen
33367
33368 2009-01-02 Colin D Bennett <colin@gibibit.com>
33369
33370 New font engine.
33371
33372 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33373 build system and fixed gfxterm.c to work with different sized fonts.
33374
33375 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
33376
33377 * configure: Re-generated.
33378
33379 * DISTLIST: Removed font/manager.c.
33380 Added font/font.c.
33381 Added font/font_cmd.c.
33382
33383 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33384 compilation.
33385
33386 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
33387
33388 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
33389
33390 * kern/term.c: Changed users of grub_utf8_to_ucs4.
33391
33392 * normal/menu.c: Likewise.
33393
33394 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33395 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
33396
33397 * include/grub/font.h: Replaced with new file.
33398
33399 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33400 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33401 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33402 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33403 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33404 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33405 fg_red, fg_green, fg_blue, fg_alpha.
33406 (grub_video_adapter): Removed blit_glyph.
33407 (grub_video_blit_glyph): Removed.
33408
33409 * font/manager.c: Removed file.
33410
33411 * font/font.c: New file.
33412
33413 * font/font_cmd.c: Likewise.
33414
33415 * video/video.c (grub_video_blit_glyph): Removed.
33416
33417 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33418 (grub_video_vbe_map_rgba): Likewise.
33419 (grub_video_vbe_unmap_color_int): Likewise.
33420 (grub_video_vbe_blit_glyph): Removed.
33421 (grub_video_vbe_adapter): Removed blit_glyph.
33422
33423 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33424 (get_pixel): Likewise.
33425 (set_pixel): Likewise.
33426
33427 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33428
33429 * term/gfxterm.c: Adapted to new font engine.
33430
33431 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33432
33433 * term/i386/pc/vga.c: Likewise.
33434
33435 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33436
33437 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33438
33439 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33440
33441 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33442
33443 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33444
33445 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33446
33447 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33448
33449 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33450
33451 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33452
33453 * util/grub.d/00_header.in: Changed to use new loadfont command.
33454
33455 * util/grub-mkconfig_lib.in: Changed font extension.
33456
33457 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33458
33459 * util/getroot.c (grub_util_get_grub_dev): Add support for
33460 /dev/md/dNNpNN style partitionable mdraid devices.
33461
33462 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33463
33464 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33465 at a time limit of the PXE TFTP API correctly.
33466 (grub_pxefs_close): Likewise.
33467
33468 2008-11-29 Robert Millan <rmh@aybabtu.com>
33469
33470 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33471 grub_ata_device_initialize() calls.
33472
33473 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33474
33475 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33476 iteration failed.
33477 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33478
33479 2008-11-28 Robert Millan <rmh@aybabtu.com>
33480
33481 Fix build on powerpc-ieee1275. Based on patch created by
33482 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33483 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33484 `kern/ieee1275/mmap.c'.
33485 * include/grub/powerpc/ieee1275/memory.h: New file.
33486
33487 Provide grub-install on coreboot.
33488 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33489 (grub_install_SOURCES): New variable.
33490 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33491 usable on coreboot.
33492
33493 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33494
33495 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33496 to `grub_term_input_t'.
33497 (grub_term_get_current_output): Change return type to
33498 `grub_term_output_t'.
33499
33500 2008-11-22 Robert Millan <rmh@aybabtu.com>
33501
33502 Fix breakage on coreboot due to declaration mismatch.
33503 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33504 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33505 grub_vga_text_cls().
33506
33507 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33508 comments. Avoid copying one more byte than necessary (just in case).
33509
33510 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33511 to 0x200000 (avoids trouble with some OFW implementations, and matches
33512 with the one in Yaboot).
33513 Reported by Manoel Abranches
33514
33515 2008-11-20 Robert Millan <rmh@aybabtu.com>
33516
33517 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33518 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33519
33520 * util/grub-mkconfig_lib.in (grub_warn): New function.
33521 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33522 warnings, to obtain consistent formatting.
33523 * util/grub.d/00_header.in: Likewise.
33524 * util/update-grub_lib.in: Likewise.
33525
33526 * loader/i386/linux.c (allocate_pages): Fix a warning.
33527 Move comment text to `#error' stanza.
33528
33529 Harmonize ieee1275's grub_available_iterate() with the generic
33530 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33531 build problem on i386-ieee1275):
33532 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33533 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33534 parameter `type'. Update all users of this function.
33535 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33536 `kern/ieee1275/mmap.c'.
33537 * kern/ieee1275/init.c
33538 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33539 with ...
33540 (grub_machine_mmap_iterate): ... this.
33541 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33542 return type to `grub_err_t'. Update all implementations of this
33543 function prototype.
33544 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33545 Likewise.
33546
33547 Add `lsmmap' command (lists firmware-provided memory map):
33548 * commands/lsmmap.c: New file.
33549 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33550 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33551 variables.
33552 * conf/powerpc-ieee1275.rmk: Likewise.
33553 * conf/i386-coreboot.rmk: Likewise.
33554 * conf/i386-ieee1275.rmk: Likewise.
33555
33556 2008-11-19 Robert Millan <rmh@aybabtu.com>
33557
33558 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33559 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33560 constraints to initrd allocation (based on code from
33561 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33562 for Linux to find it.
33563
33564 2008-11-14 Robert Millan <rmh@aybabtu.com>
33565
33566 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33567 order to cope with duplicate slashes.
33568
33569 2008-11-14 Robert Millan <rmh@aybabtu.com>
33570
33571 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33572 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33573 don't want to mess with lower memory, because it is used in the Linux
33574 loader.
33575
33576 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33577 an appropriate place in lower memory, between 0x10000 and 0x90000,
33578 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33579 is in our heap (probably as a result of it being corrupted during
33580 decompression). Add #error instance with comment to explain why this
33581 loader isn't currently usable on PC/BIOS.
33582
33583 2008-11-14 Robert Millan <rmh@aybabtu.com>
33584
33585 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33586 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33587
33588 2008-11-12 Robert Millan <rmh@aybabtu.com>
33589
33590 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33591
33592 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33593 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33594 from here ...
33595 * include/grub/i386/pc/memory.h: ... to here.
33596
33597 2008-11-12 Robert Millan <rmh@aybabtu.com>
33598
33599 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33600 split).
33601
33602 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33603 (grub_console_cur_color, grub_console_real_putchar)
33604 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33605 (grub_console_setcolorstate, grub_console_setcolor)
33606 (grub_console_getcolor): Move from here ...
33607 * include/grub/i386/vga_common.h: ... to here (new file).
33608
33609 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33610 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33611 `<grub/i386/io.h>'.
33612 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33613 `<grub/i386/vga_common.h>'.
33614
33615 2008-11-12 Robert Millan <rmh@aybabtu.com>
33616
33617 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33618 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33619 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33620 variables.
33621 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33622 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33623
33624 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33625 grub_console_init() with call to grub_vga_text_init().
33626 (grub_machine_fini): Replace call to
33627 grub_console_fini() with call to grub_vga_text_fini() and
33628 grub_at_keyboard_fini().
33629
33630 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33631 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33632 (grub_console_setcolorstate, grub_console_setcolor)
33633 (grub_console_getcolor): New function prototypes.
33634
33635 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33636 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33637 (grub_vga_text_setcursor): Static-ize.
33638 (grub_vga_text_term): New structure.
33639 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33640
33641 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33642 (grub_console_cur_color, grub_console_standard_color)
33643 (grub_console_normal_color, grub_console_highlight_color)
33644 (map_char, grub_console_putchar, grub_console_getcharwidth)
33645 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33646 (grub_console_getcolor): Move from here ...
33647 * term/i386/vga_common.c: ... to here (same function names).
33648
33649 2008-11-12 Robert Millan <rmh@aybabtu.com>
33650
33651 Use newly-added Multiboot support in coreboot.
33652
33653 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33654 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33655
33656 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33657 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33658 (codestart): Store the MBI in `startup_multiboot_info' when we're
33659 being loaded using Multiboot.
33660
33661 * kern/i386/coreboot/init.c (grub_machine_init): Move
33662 grub_at_keyboard_init() call to beginning of function (useful for
33663 debugging). Call grub_machine_mmap_init() before attempting to use
33664 grub_machine_mmap_iterate().
33665 (grub_lower_mem, grub_upper_mem): Move from here ...
33666 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33667 here (new file).
33668
33669 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33670 function prototype.
33671
33672 2008-11-12 Robert Millan <rmh@aybabtu.com>
33673
33674 Fix a regression introduced by the at_keyboard.mod split. Because
33675 some terminals are default on some platforms and non-default on
33676 others, the first terminal being registered determines which is
33677 going to be default.
33678
33679 * kern/term.c (grub_term_register_input): If this is the first
33680 terminal being registered, set it as the current one.
33681 (grub_term_register_output): Likewise.
33682
33683 * term/efi/console.c (grub_console_init): Do not call
33684 grub_term_set_current_output() or grub_term_set_current_input().
33685 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33686 * term/i386/pc/console.c (grub_console_init): Likewise.
33687 (grub_console_fini): Do not call grub_term_set_current_input()
33688 (but leave grub_term_set_current_output() to restore text mode).
33689
33690 2008-11-10 Robert Millan <rmh@aybabtu.com>
33691
33692 * util/grub.d/00_header.in: Add backward compatibility check for
33693 versions of terminal.mod that don't understand `terminal_input' or
33694 `terminal_output'.
33695
33696 2008-11-09 Robert Millan <rmh@aybabtu.com>
33697
33698 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33699 `terminal_input' / `terminal_output', not `terminal'.
33700
33701 2008-11-08 Robert Millan <rmh@aybabtu.com>
33702
33703 * Makefile.in (include_DATA): Fix srcdir=. assumption.
33704 (DISTCLEANFILES): Add `build_env.mk'.
33705
33706 2008-11-08 Robert Millan <rmh@aybabtu.com>
33707
33708 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
33709 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33710 members. Update all users.
33711 * util/console.c (grub_ncurses_term): Split in ...
33712 (grub_ncurses_term_input): ... this, and ...
33713 (grub_ncurses_term_output): ... this. Update all users.
33714 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
33715
33716 2008-11-08 Robert Millan <rmh@aybabtu.com>
33717
33718 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33719 (PKGDATA): Add $(pkgdata_SRCDIR).
33720 (pkglib_BUILDDIR): New variable.
33721 (pkgdata_SRCDIR): New variable.
33722 (build_env.mk): New target.
33723 (include_DATA): New variable.
33724 (install-local): Install $(include_DATA) files in $(includedir).
33725
33726 2008-11-07 Pavel Roskin <proski@gnu.org>
33727
33728 * gendistlist.sh: Use C locale for sorting to ensure consistent
33729 output on all systems.
33730
33731 * util/grub.d/00_header.in: Remove incorrect space before
33732 "serial".
33733
33734 2008-11-07 Robert Millan <rmh@aybabtu.com>
33735
33736 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33737 per specification.
33738 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33739 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33740 (based on find_multi_boot1_header).
33741 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33742 using find_multi_boot2_header(), and abort if neither Multiboot or
33743 Multiboot headers were found.
33744
33745 2008-11-07 Robert Millan <rmh@aybabtu.com>
33746
33747 Modularize at_keyboard.mod:
33748
33749 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33750 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33751 (at_keyboard_mod_LDFLAGS): New variables.
33752
33753 Actual terminal split:
33754
33755 * include/grub/term.h (struct grub_term): Split in ...
33756 (struct grub_term_input): ... this, and ...
33757 (struct grub_term_output): ... this. Update all users.
33758 (grub_term_set_current): Split in ...
33759 (grub_term_set_current_input): ... this, and ...
33760 (grub_term_set_current_output): ... this.
33761 (grub_term_get_current): Split in ...
33762 (grub_term_get_current_input): ... this, and ...
33763 (grub_term_get_current_output): ... this.
33764 (grub_term_register): Split in ...
33765 (grub_term_register_input): ... this, and ...
33766 (grub_term_register_output): ... this.
33767 (grub_term_unregister): Split in ...
33768 (grub_term_unregister_input): ... this, and ...
33769 (grub_term_unregister_output): ... this.
33770 (grub_term_iterate): Split in ...
33771 (grub_term_iterate_input): ... this, and ...
33772 (grub_term_iterate_output): ... this.
33773
33774 * kern/term.c (grub_term_list): Split in ...
33775 (grub_term_list_input): ... this, and ...
33776 (grub_term_list_output): ... this. Update all users.
33777 (grub_cur_term): Split in ...
33778 (grub_cur_term_input): ... this, and ...
33779 (grub_cur_term_output): ... this. Update all users.
33780 (grub_term_set_current): Split in ...
33781 (grub_term_set_current_input): ... this, and ...
33782 (grub_term_set_current_output): ... this.
33783 (grub_term_get_current): Split in ...
33784 (grub_term_get_current_input): ... this, and ...
33785 (grub_term_get_current_output): ... this.
33786 (grub_term_register): Split in ...
33787 (grub_term_register_input): ... this, and ...
33788 (grub_term_register_output): ... this.
33789 (grub_term_unregister): Split in ...
33790 (grub_term_unregister_input): ... this, and ...
33791 (grub_term_unregister_output): ... this.
33792 (grub_term_iterate): Split in ...
33793 (grub_term_iterate_input): ... this, and ...
33794 (grub_term_iterate_output): ... this.
33795
33796 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33797 a check for input and one for output (and only attempt to get keys
33798 from user when input works).
33799
33800 * util/grub-probe.c (grub_term_get_current): Split in ...
33801 (grub_term_get_current_input): ... this, and ...
33802 (grub_term_get_current_output): ... this.
33803 * util/grub-fstest.c: Likewise.
33804 * util/i386/pc/grub-setup.c: Likewise.
33805 * util/grub-editenv.c: Likewise.
33806
33807 Portability adjustments:
33808
33809 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33810 `term/i386/pc/at_keyboard.c'.
33811 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33812 grub_keyboard_controller_init() (now handled by terminal .init).
33813 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33814 grub_at_keyboard_init().
33815 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33816 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33817 at_keyboard.mod via input terminal interface).
33818 * include/grub/i386/coreboot/console.h: Convert into a stub for
33819 `<grub/i386/pc/console.h>'.
33820
33821 Migrate full terminals to new API:
33822
33823 * term/efi/console.c (grub_console_term): Split into ...
33824 (grub_console_term_input): ... this, and ...
33825 (grub_console_term_output): ... this. Update all users.
33826 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33827 (grub_ofconsole_init): Split into ...
33828 (grub_ofconsole_init_input): ... this, and ...
33829 (grub_ofconsole_init_output): ... this.
33830 (grub_ofconsole_term): Split into ...
33831 (grub_ofconsole_term_input): ... this, and ...
33832 (grub_ofconsole_term_output): ... this. Update all users.
33833 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33834 (grub_serial_term_input): ... this, and ...
33835 (grub_serial_term_output): ... this. Update all users.
33836 * term/i386/pc/console.c (grub_console_term): Split into ...
33837 (grub_console_term_input): ... this, and ...
33838 (grub_console_term_output): ... this. Update all users.
33839 (grub_console_term_input): Only enable it on PC/BIOS platform.
33840 (grub_console_init): Remove grub_keyboard_controller_init() call.
33841
33842 Migrate input terminals to new API:
33843
33844 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33845 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33846 i386-specific anyway).
33847 (grub_console_checkkey): Rename to ...
33848 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33849 users.
33850 (grub_keyboard_controller_orig): New variable.
33851 (grub_console_getkey): Rename to ...
33852 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33853 users.
33854 (grub_keyboard_controller_init): Static-ize. Save original
33855 controller value so that it can be restored ...
33856 (grub_keyboard_controller_fini): ... here (new function).
33857 (grub_at_keyboard_term): New structure.
33858 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33859 functions.
33860
33861 Migrate output terminals to new API:
33862
33863 * term/i386/pc/vga.c (grub_vga_term): Change type to
33864 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33865 members. Update all users.
33866 * term/gfxterm.c (grub_video_term): Change type to
33867 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33868 members. Update all users.
33869 * include/grub/i386/pc/console.h (grub_console_checkkey)
33870 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33871 etc).
33872
33873 Migrate `terminal' command and userland tools to new API:
33874
33875 * commands/terminal.c (grub_cmd_terminal): Split into ...
33876 (grub_cmd_terminal_input): ... this, and ...
33877 (grub_cmd_terminal_output): ... this.
33878 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33879 `terminal_input' and `terminal_output'.
33880 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33881 `terminal_input' / `terminal_output' API.
33882 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33883 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33884 provided ${GRUB_TERMINAL}, convert it).
33885
33886 2008-11-04 Robert Millan <rmh@aybabtu.com>
33887
33888 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33889 for FreeBSD.
33890 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33891
33892 2008-11-03 Bean <bean123ch@gmail.com>
33893
33894 * kern/elf.c (grub_elf32_load): Revert to previous code.
33895 (grub_elf64_load): Likewise.
33896
33897 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33898
33899 2008-11-01 Robert Millan <rmh@aybabtu.com>
33900
33901 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33902 (TARGET_CPPFLAGS): Likewise.
33903 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33904
33905 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33906
33907 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33908
33909 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33910
33911 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33912 addition of objects until the code is not going to be able to fail.
33913
33914 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33915
33916 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33917 (add a missing NULL check, and correct them by moving the pointer
33918 operations after the actual check).
33919
33920 2008-10-29 Robert Millan <rmh@aybabtu.com>
33921
33922 * util/i386/pc/grub-install.in: Handle empty string as output from
33923 make_system_path_relative_to_its_root().
33924
33925 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33926
33927 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33928 circular metadata worst case scenario. If the metadata is circular
33929 then copy the wrap in place.
33930 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33931 project lib/format_text/layout.h
33932 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33933
33934 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33935
33936 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33937
33938 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33939
33940 * util/update-grub_lib.in: Mention filename in warning message.
33941
33942 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33943
33944 * NEWS: Update for rename of update-grub to grub-mkconfig.
33945
33946 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33947
33948 * util/update-grub_lib.in: Copy to ...
33949 * util/grub-mkconfig_lib.in: ... this. Update all users.
33950 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33951 * util/update-grub.in: Rename to ...
33952 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33953 option. Add `--output' option to allow users to specify the generated
33954 configuration file. Default to stdout.
33955 (update_grub_dir): Rename to ...
33956 (grub_mkconfig_dir): ... this.
33957 (grub_cfg): Default to an empty string.
33958 * conf/common.rmk (update-grub): Rename to ...
33959 (grub-mkconfig): ... this.
33960 (update-grub_lib): Copy to ...
33961 (grub-mkconfig_lib): ... this.
33962 (update-grub_SCRIPTS): Copy to ...
33963 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33964 (update-grub_DATA): Rename to ...
33965 (grub-mkconfig_DATA): ... this.
33966
33967 2008-09-28 Robert Millan <rmh@aybabtu.com>
33968
33969 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33970 to `modified'. Add the real `created' field.
33971 (grub_iso9660_uuid): Use `modified' rather than `created' for
33972 constructing the UUID.
33973
33974 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33975
33976 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33977 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33978
33979 2008-09-28 Bean <bean123ch@gmail.com>
33980
33981 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33982 Thanks to Christian Franke for finding this bug.
33983
33984 2008-09-25 Robert Millan <rmh@aybabtu.com>
33985
33986 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33987 instances of grub_util_get_disk_name() (see previous commit).
33988
33989 2008-09-25 Robert Millan <rmh@aybabtu.com>
33990
33991 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33992 `util/i386/get_disk_name.c'.
33993 * conf/i386-efi.rmk: Likewise.
33994 * conf/x86_64-efi.rmk: Likewise.
33995 * conf/i386-coreboot.rmk: Likewise.
33996 * conf/i386-ieee1275.rmk: Likewise.
33997 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33998 `util/ieee1275/get_disk_name.c'.
33999 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34000 * util/ieee1275/get_disk_name.c: Remove file.
34001 * util/i386/get_disk_name.c: Remove file.
34002 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34003 "hd%d" for device.map entries, rather than using
34004 grub_util_get_disk_name().
34005
34006 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34007
34008 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34009 warning.
34010 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34011
34012 2008-09-24 Carles Pina i Estany <carles@pina.cat>
34013
34014 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34015 Changed to 0x5100.
34016 (GRUB_TERM_PPAGE): Changed to 0x4900.
34017
34018 2008-09-24 Robert Millan <rmh@aybabtu.com>
34019
34020 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34021 macros (they were i386-pc specific).
34022 * include/grub/sparc64/ieee1275/console.h: Likewise.
34023 * include/grub/efi/console.h: Likewise.
34024
34025 2008-09-22 Bean <bean123ch@gmail.com>
34026
34027 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34028 resident and in attribute list.
34029
34030 * include/grub/ntfs.h (BMP_LEN): Removed.
34031
34032 2008-09-22 Bean <bean123ch@gmail.com>
34033
34034 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
34035 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34036
34037 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34038 error occurs, as grub_disk_open will call grub_disk_close, which will
34039 call p->close (scsi).
34040
34041 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34042
34043 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34044 (AC_PREREQ): Bumped to 2.59.
34045 (AC_TRY_COMPILE): Replace obsolete macro with ...
34046 (AC_COMPILE_IFELSE): ... this.
34047 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34048 (AC_LINK_IFELSE): ... this.
34049
34050 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
34051
34052 * autogen.sh: Add a call to `gendistlist.sh'.
34053
34054 2008-09-19 Christian Franke <franke@computer.org>
34055
34056 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34057 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34058 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34059 Export __enable_execute_stack() to modules.
34060 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34061 New function.
34062
34063 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34064
34065 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34066 Sort the list.
34067
34068 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
34069
34070 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
34071 #include <grub/util/hostdisk.h>.
34072
34073 2008-09-08 Robert Millan <rmh@aybabtu.com>
34074
34075 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34076 segments when their filesz is zero (grub_file_read() interprets
34077 zero-size as "read until EOF", which results in memory corruption).
34078 Use `lowest_segment' rather than 0 for calculating the current
34079 segment load address.
34080
34081 2008-09-08 Robert Millan <rmh@aybabtu.com>
34082
34083 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34084 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34085 clobbered useful information.
34086
34087 2008-09-08 Robert Millan <rmh@aybabtu.com>
34088
34089 * include/grub/util/biosdisk.h: Move to ...
34090 * include/grub/util/hostdisk.h: ... here. Update all users.
34091 * util/biosdisk.c: Move to ...
34092 * util/hostdisk.c: ... here. Update all users.
34093
34094 2008-09-07 Robert Millan <rmh@aybabtu.com>
34095
34096 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34097 variables.
34098 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34099 and length can be stored directly in the `mbi->mmap_addr' and
34100 `mbi->mmap_length' struct fields.
34101
34102 2008-09-07 Robert Millan <rmh@aybabtu.com>
34103
34104 * conf/i386.rmk: New file. Provides declaration for building
34105 `cpuid.mod'.
34106 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34107 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34108 variables.
34109 Include `conf/i386.mk'.
34110 * conf/i386-efi.rmk: Likewise.
34111 * conf/x86_64-efi.rmk: Likewise.
34112 * conf/i386-coreboot.rmk: Likewise.
34113 * conf/i386-ieee1275.rmk: Likewise.
34114
34115 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34116
34117 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34118 Adds optimization support for BGR based modes.
34119
34120 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34121 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34122 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34123 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34124 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34125 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34126 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34127 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34128 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34129 (grub_video_i386_vbeblit_index_index): Likewise.
34130 (grub_video_i386_vbeblit_replace_directN): Added.
34131 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34132 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34133 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34134 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34135 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34136 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34137 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34138 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34139 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34140 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34141 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34142 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34143 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34144
34145 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34146 (grub_video_i386_vbefill_R8G8B8): Likewise.
34147 (grub_video_i386_vbefill_index): Likewise.
34148 (grub_video_i386_vbefill_direct32): Added.
34149 (grub_video_i386_vbefill_direct24): Likewise.
34150 (grub_video_i386_vbefill_direct16): Likewise.
34151 (grub_video_i386_vbefill_direct8): Likewise.
34152
34153 * include/grub/video.h (grub_video_blit_format): Removed
34154 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34155 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34156 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34157 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34158 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
34159
34160 * video/video.c (grub_video_get_blit_format): Updated to use new
34161 blit formats. Added handling for 16 bit color modes.
34162
34163 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
34164 fillers.
34165 (common_blitter): Updated to use new blitters.
34166
34167 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34168 Removed.
34169 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34170 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34171 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34172 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34173 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34174 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34175 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34176 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34177 (grub_video_i386_vbeblit_index_index): Likewise.
34178 (grub_video_i386_vbeblit_replace_directN): Added.
34179 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34180 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34181 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34182 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34183 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34184 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34185 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34186 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34187 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34188 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34189 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34190 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34191 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34192
34193 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34194 (grub_video_i386_vbefill_R8G8B8): Likewise.
34195 (grub_video_i386_vbefill_index): Likewise.
34196 (grub_video_i386_vbefill_direct32): Added.
34197 (grub_video_i386_vbefill_direct24): Likewise.
34198 (grub_video_i386_vbefill_direct16): Likewise.
34199 (grub_video_i386_vbefill_direct8): Likewise.
34200
34201 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34202 types.
34203
34204 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34205 types.
34206
34207 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34208 blitter types.
34209
34210 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34211 types.
34212
34213 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34214
34215 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34216 RAID level 1.
34217
34218 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
34219
34220 * fs/iso9660.c (grub_iso9660_date): New structure.
34221 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34222 (grub_iso9660_uuid): New function.
34223
34224 2008-09-05 Bean <bean123ch@gmail.com>
34225
34226 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34227
34228 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34229 insensitive bit for names in Win32 and Win32 & DOS namespace.
34230
34231 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34232
34233 * include/grub/types.h (LONG_MAX): Likewise.
34234
34235 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34236
34237 * util/getroot.c: Include <config.h>.
34238 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34239 add support for /dev/md/N devices and handle LVM double dash escaping.
34240
34241 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
34242
34243 * config.guess: Update to latest version from config git.
34244 * config.sub: Likewise.
34245
34246 2008-09-03 Robert Millan <rmh@aybabtu.com>
34247
34248 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34249 `disk->total_sectors'.
34250
34251 2008-09-01 Colin D Bennett <colin@gibibit.com>
34252
34253 * include/grub/normal.h: Fixed incorrect comment for
34254 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34255
34256 2008-09-01 Colin D Bennett <colin@gibibit.com>
34257
34258 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34259 values with defines.
34260
34261 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34262 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34263 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34264 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34265 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34266 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34267 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34268 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34269 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34270 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34271 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34272 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34273 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34274 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34275 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34276 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34277 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34278 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34279 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34280
34281 2008-08-31 Robert Millan <rmh@aybabtu.com>
34282
34283 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34284 declaration.
34285 (grub_multiboot): Fix a few warnings.
34286
34287 2008-08-31 Robert Millan <rmh@aybabtu.com>
34288
34289 * loader/i386/pc/multiboot.c: Update comment not to say that
34290 boot_device support is unimplemented.
34291
34292 2008-08-31 Robert Millan <rmh@aybabtu.com>
34293
34294 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34295 or memory map support are unimplemented.
34296
34297 2008-08-31 Colin D Bennett <colin@gibibit.com>
34298
34299 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34300
34301 2008-08-31 Colin D Bennett <colin@gibibit.com>
34302
34303 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34304 total video memory in 'vbeinfo' output; show color format details for
34305 each video mode.
34306
34307 2008-08-30 Pavel Roskin <proski@gnu.org>
34308
34309 * util/genmoddep.c: Remove for real this time.
34310 * DISTLIST: Remove util/genmoddep.c.
34311
34312 2008-08-30 Robert Millan <rmh@aybabtu.com>
34313
34314 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34315 as required by Multiboot spec (it was already 4-byte aligned, but
34316 only by chance).
34317
34318 2008-08-29 Pavel Roskin <proski@gnu.org>
34319
34320 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34321 * kern/powerpc/ieee1275/startup.S: ... this.
34322 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34323 * DISTLIST: Likewise.
34324
34325 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34326 grub/cpu/kernel.h. Add start label for consistency with other
34327 platforms. Add grub_prefix immediately after start. Add jump
34328 to the code after grub_prefix.
34329 * include/grub/powerpc/kernel.h: Provide valid values for
34330 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34331
34332 2008-08-29 Bean <bean123ch@gmail.com>
34333
34334 * configure.ac: Change host_os to cygwin for mingw.
34335 (asprintf): New check for function.
34336
34337 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34338 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34339
34340 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
34341 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
34342 sync, sleep and grub_util_get_disk_size for mingw.
34343
34344 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34345 to get size in mingw.
34346 (open_device): Use flag O_BINARY if it's defined.
34347 (find_root_device): Add dummy code for mingw.
34348
34349 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34350 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34351 (get_scsi_disk_name): Return 0 for mingw.
34352
34353 * util/hostfs.c: #include <grub/util/misc.h>.
34354 (grub_hostfs_open): Use "rb" flag to open file, use
34355 grub_util_get_disk_size to get disk size for mingw.
34356
34357 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34358 (asprintf): New function if HAVE_ASPRINTF is not set.
34359 (sync): New function for mingw.
34360 (sleep): Likewise.
34361 (grub_util_get_disk_size): Likewise.
34362
34363 2008-08-28 Pavel Roskin <proski@gnu.org>
34364
34365 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34366 kern/time.c.
34367
34368 2008-08-28 Robert Millan <rmh@aybabtu.com>
34369
34370 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34371
34372 2008-08-28 Robert Millan <rmh@aybabtu.com>
34373
34374 Change find_grub_drive() syntax so it doesn't prevent it from
34375 detecting NULL names as errors.
34376
34377 * util/biosdisk.c (find_grub_drive): Move free slot search code
34378 from here ...
34379 (find_free_slot): ... to here.
34380 (read_device_map): Use find_free_slot() to search for free slots.
34381
34382 2008-08-27 Marco Gerards <marco@gnu.org>
34383
34384 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34385 (scsi_mod_SOURCES): New variable.
34386 (scsi_mod_CFLAGS): Likewise
34387 (scsi_mod_LDFLAGS): Likewise.
34388
34389 * disk/scsi.c: New file.
34390
34391 * include/grub/scsi.h: Likewise.
34392
34393 * include/grub/scsicmd.h: Likewise.
34394
34395 * disk/ata.c: Include <grub/scsi.h>.
34396 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34397 instead.
34398 (grub_ata_iterate): Skip ATAPI devices.
34399 (grub_ata_open): Only handle ATAPI devices.
34400 (struct grub_atapi_read): Removed.
34401 (grub_atapi_readsector): Likewise.
34402 (grub_ata_read): No longer handle ATAPI devices.
34403 (grub_ata_write): Likewise.
34404 (grub_atapi_iterate): New function.
34405 (grub_atapi_read): Likewise.
34406 (grub_atapi_write): Likewise.
34407 (grub_atapi_open): Likewise.
34408 (grub_atapi_close): Likewise.
34409 (grub_atapi_dev): New variable.
34410 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34411 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34412
34413 * include/grub/disk.h (enum grub_disk_dev_id): Add
34414 `GRUB_DISK_DEVICE_SCSI_ID'.
34415
34416 2008-08-26 Robert Millan <rmh@aybabtu.com>
34417
34418 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34419 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34420 descriptive.
34421
34422 2008-08-23 Bean <bean123ch@gmail.com>
34423
34424 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34425 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34426 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34427 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34428 dm_nv.mod.
34429 (raid5rec_mod_SOURCES): New macro.
34430 (raid5rec_mod_CFLAGS): Likewise.
34431 (raid5rec_mod_LDFLAGS): Likewise.
34432 (raid6rec_mod_SOURCES): Likewise.
34433 (raid6rec_mod_CFLAGS): Likewise.
34434 (raid6rec_mod_LDFLAGS): Likewise.
34435 (mdraid_mod_SOURCES): Likewise.
34436 (mdraid_mod_CFLAGS): Likewise.
34437 (mdraid_mod_LDFLAGS): Likewise.
34438 (dm_nv_mod_SOURCES): Likewise.
34439 (dm_nv_mod_CFLAGS): Likewise.
34440 (dm_nv_mod_LDFLAGS): Likewise.
34441
34442 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34443 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34444 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34445
34446 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34447 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34448
34449 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34450
34451 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34452
34453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34454
34455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34456
34457 * disk/raid5_recover.c: New file.
34458
34459 * disk/raid6_recover.c: Likewise.
34460
34461 * disk/mdraid_linux.c: Likewise.
34462
34463 * disk/dmraid_nvidia.c: Likewise.
34464
34465 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34466 ULONG_MAX.
34467
34468 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34469 calculate the size of raid device.
34470 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34471 different layout of raid5.
34472 (grub_raid_scan_device): Remove code specific to mdraid.
34473 (grub_raid_list): New variable.
34474 (free_array): New function.
34475 (grub_raid_register): Likewise.
34476 (grub_raid_unregister): Likewise.
34477 (grub_raid_rescan): Likewise.
34478 (GRUB_MOD_INIT): Don't iterate device here.
34479 (GRUB_MOD_FINI): Use free_array to release resource.
34480
34481 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34482 (grub_raid5_recover_func_t): New function variable type.
34483 (grub_raid6_recover_func_t): Likewise.
34484 (grub_raid5_recover_func): New variable.
34485 (grub_raid6_recover_func): Likewise.
34486 (grub_raid_register): New function.
34487 (grub_raid_unregister): Likewise.
34488 (grub_raid_rescan): Likewise.
34489 (grub_raid_block_xor): Likewise.
34490
34491 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34492 (CMD_CRC): New macro.
34493 (part): Removed.
34494 (read_file): Handle device as well as file.
34495 (cmd_crc): New function.
34496 (fstest): Handle multiple disks.
34497 (options): Remove part, raw and long, add root and diskcount.
34498 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34499 (main): Find the first non option entry and ignore subsequent options,
34500 add handling for the new options, support multiple disks.
34501
34502 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34503
34504 2008-08-23 Bean <bean123ch@gmail.com>
34505
34506 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34507
34508 * genfslist.sh: Ignore kernel.mod.
34509
34510 * genpartmaplist.sh: Likewise.
34511
34512 2008-08-23 Robert Millan <rmh@aybabtu.com>
34513
34514 * util/getroot.c (find_root_device): Skip anything that starts with
34515 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34516
34517 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34518
34519 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34520 * util/grub.d/00_header.in: Allow the administrator to change default
34521 gfxmode via ${GRUB_GFXMODE}.
34522
34523 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34524
34525 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34526
34527 2008-08-21 Robert Millan <rmh@aybabtu.com>
34528
34529 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34530 loader.
34531 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34532 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34533
34534 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34535
34536 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34537 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34538
34539 2008-08-19 Robert Millan <rmh@aybabtu.com>
34540
34541 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34542 (struct grub_virtual_screen): Remove `cursor_color'.
34543 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34544 initialization.
34545 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34546
34547 2008-08-18 Robert Millan <rmh@aybabtu.com>
34548
34549 Unify (identical) linux_normal.c files.
34550 * loader/i386/efi/linux_normal.c: Move from here ...
34551 * loader/linux_normal.c: ... to here. Update all users.
34552 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34553 * loader/i386/ieee1275/linux_normal.c: Likewise.
34554
34555 2008-08-18 Robert Millan <rmh@aybabtu.com>
34556
34557 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34558 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34559 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34560 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34561 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34562 New macros.
34563 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34564 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34565 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34566 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34567 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34568 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34569 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34570 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34571 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34572 portably using grub_getxy().
34573 Replace `-EFI' with `-bzImage' in boot message.
34574
34575 2008-08-17 Robert Millan <rmh@aybabtu.com>
34576
34577 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34578
34579 2008-08-17 Robert Millan <rmh@aybabtu.com>
34580
34581 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34582
34583 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34584 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34585 (grub_machine_mmap_iterate): New function declaration.
34586 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34587 structure.
34588 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34589 macros.
34590
34591 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34592 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34593 Move e820 parsing from here ...
34594 * kern/i386/pc/mmap.c: New file.
34595 (grub_machine_mmap_iterate): ... to here.
34596
34597 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34598 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34599 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34600 (grub_available_iterate): Redeclare to return `void', and redeclare
34601 its hook to use grub_uint64_t as addr and size parameters, and rename
34602 to ...
34603 (grub_machine_mmap_iterate): ... this. Update all users.
34604
34605 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34606 to make it more readable. Rename to ...
34607 (grub_machine_mmap_iterate): ... this.
34608
34609 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34610 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34611 (grub_multiboot): Allocate an extra region after the payload, and fill
34612 it with a Multiboot memory map. Adjust a.out loader to calculate size
34613 with the extra space.
34614 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34615 with the extra space.
34616
34617 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34618
34619 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34620
34621 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34622
34623 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34624 mdate-sh to the list `find' searches for.
34625 * DISTLIST: Regenerated.
34626
34627 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34628
34629 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34630 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34631 genmoddep.awk, gensymlist.sh.in.
34632 (DISTDIRS): Add bus, docs, hook, lib.
34633 * DISTLIST: Regenerated.
34634 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34635
34636 2008-08-16 Robert Millan <rmh@aybabtu.com>
34637
34638 * disk/raid.c (grub_raid_init): Handle/report errors set by
34639 grub_device_iterate().
34640 * disk/lvm.c (grub_lvm_init): Likewise.
34641
34642 2008-08-15 Bean <bean123ch@gmail.com>
34643
34644 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34645 and datehook.mod.
34646 (datetime_mod_SOURCES): New macro.
34647 (datetime_mod_CFLAGS): Likewise.
34648 (datetime_mod_LDFLAGS): Likewise.
34649 (date_mod_SOURCES): Likewise.
34650 (date_mod_CFLAGS): Likewise.
34651 (date_mod_LDFLAGS): Likewise.
34652 (datehook_mod_SOURCES): Likewise.
34653 (datehook_mod_CFLAGS): Likewise.
34654 (datehook_mod_LDFLAGS): Likewise.
34655
34656 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34657 and datehook.mod.
34658 (datetime_mod_SOURCES): New macro.
34659 (datetime_mod_CFLAGS): Likewise.
34660 (datetime_mod_LDFLAGS): Likewise.
34661 (date_mod_SOURCES): Likewise.
34662 (date_mod_CFLAGS): Likewise.
34663 (date_mod_LDFLAGS): Likewise.
34664 (datehook_mod_SOURCES): Likewise.
34665 (datehook_mod_CFLAGS): Likewise.
34666 (datehook_mod_LDFLAGS): Likewise.
34667
34668 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34669 and datehook.mod.
34670 (datetime_mod_SOURCES): New macro.
34671 (datetime_mod_CFLAGS): Likewise.
34672 (datetime_mod_LDFLAGS): Likewise.
34673 (date_mod_SOURCES): Likewise.
34674 (date_mod_CFLAGS): Likewise.
34675 (date_mod_LDFLAGS): Likewise.
34676 (datehook_mod_SOURCES): Likewise.
34677 (datehook_mod_CFLAGS): Likewise.
34678 (datehook_mod_LDFLAGS): Likewise.
34679
34680 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34681 and datehook.mod.
34682 (datetime_mod_SOURCES): New macro.
34683 (datetime_mod_CFLAGS): Likewise.
34684 (datetime_mod_LDFLAGS): Likewise.
34685 (date_mod_SOURCES): Likewise.
34686 (date_mod_CFLAGS): Likewise.
34687 (date_mod_LDFLAGS): Likewise.
34688 (datehook_mod_SOURCES): Likewise.
34689 (datehook_mod_CFLAGS): Likewise.
34690 (datehook_mod_LDFLAGS): Likewise.
34691
34692 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34693 and datehook.mod.
34694 (datetime_mod_SOURCES): New macro.
34695 (datetime_mod_CFLAGS): Likewise.
34696 (datetime_mod_LDFLAGS): Likewise.
34697 (date_mod_SOURCES): Likewise.
34698 (date_mod_CFLAGS): Likewise.
34699 (date_mod_LDFLAGS): Likewise.
34700 (datehook_mod_SOURCES): Likewise.
34701 (datehook_mod_CFLAGS): Likewise.
34702 (datehook_mod_LDFLAGS): Likewise.
34703
34704 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34705
34706 * commands/date.c: New file.
34707
34708 * hook/datehook.c: Likewise.
34709
34710 * include/grub/lib/datetime.h: Likewise.
34711
34712 * include/grub/i386/cmos.h: Likewise.
34713
34714 * lib/datetime.c: Likewise.
34715
34716 * lib/i386/datetime.c: Likewise.
34717
34718 * lib/efi/datetime.c: Likewise.
34719
34720 2008-08-14 Robert Millan <rmh@aybabtu.com>
34721
34722 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34723 (grub_mkelfimage_SOURCES): New variable.
34724 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34725
34726 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34727 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34728 * conf/powerpc-ieee1275.rmk: Likewise.
34729 * conf/i386-ieee1275.rmk: Likewise.
34730
34731 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34732 * kern/i386/coreboot/init.c: Likewise.
34733
34734 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34735 with `<grub/cpu/kernel.h>'.
34736 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34737 to ...
34738 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34739 * kern/i386/coreboot/startup.S: Likewise.
34740
34741 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34742 (GRUB_MOD_GAP): Remove.
34743 * include/grub/powerpc/kernel.h: New file.
34744 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34745 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34746 * include/grub/i386/kernel.h: New file.
34747 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34748 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34749 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34750
34751 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34752 `grub-mkelfimage'.
34753 Use --directory when invoking grub_mkimage.
34754
34755 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34756 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34757 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34758 and GRUB_KERNEL_CPU_PREFIX.
34759
34760 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
34761
34762 * include/grub/err.h (grub_err_printf): New function prototype.
34763 * util/misc.c (grub_err_printf): New function.
34764 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34765 grub_printf.
34766 * kern/err.c (grub_print_error): Use grub_err_printf.
34767
34768 2008-08-13 Robert Millan <rmh@aybabtu.com>
34769
34770 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34771
34772 2008-08-13 Robert Millan <rmh@aybabtu.com>
34773
34774 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34775 boot entry.
34776
34777 2008-08-12 Robert Millan <rmh@aybabtu.com>
34778
34779 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34780 of the relocation code from here ...
34781 (grub_multiboot): ... to here.
34782 (forward_relocator, backward_relocator): Move from here ...
34783 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34784 (grub_multiboot_backward_relocator): ... to here.
34785 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34786 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34787 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34788 (grub_multiboot_forward_relocator_end)
34789 (grub_multiboot_backward_relocator)
34790 (grub_multiboot_backward_relocator_end): New variables.
34791
34792 2008-08-12 Bean <bean123ch@gmail.com>
34793
34794 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34795
34796 2008-08-11 Robert Millan <rmh@aybabtu.com>
34797
34798 * kern/i386/linuxbios/startup.S: Move from here ...
34799 * kern/i386/coreboot/startup.S: ... to here.
34800
34801 * kern/i386/linuxbios/init.c: Move from here ...
34802 * kern/i386/coreboot/init.c: ... to here.
34803
34804 * kern/i386/linuxbios/table.c: Move from here ...
34805 * kern/i386/coreboot/mmap.c: ... to here.
34806
34807 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34808
34809 2008-08-11 Robert Millan <rmh@aybabtu.com>
34810
34811 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34812 errors. Leave it to the upper layer to handle them.
34813
34814 2008-08-09 Christian Franke <franke@computer.org>
34815
34816 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34817 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34818 Install `grub.d/10_windows' only on Cygwin.
34819 * configure.ac: Add subst of `target_os'.
34820 Check `target_os' also before setting TARGET_OBJ2ELF.
34821 Add `--enable-grub-pe2elf'.
34822
34823 2008-08-08 Robert Millan <rmh@aybabtu.com>
34824
34825 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34826 (grub_last_time): Change type to grub_uint64_t.
34827 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34828 (grub_disk_close): Likewise.
34829
34830 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34831 (run_menu): Migrate code from to using grub_get_time_ms().
34832
34833 * util/misc.c (grub_get_time_ms): New function.
34834
34835 2008-08-08 Marco Gerards <marco@gnu.org>
34836
34837 * disk/ata.c (grub_ata_regget): Change return type to
34838 `grub_uint8_t'.
34839 (grub_ata_regget2): Likewise.
34840 (grub_ata_wait_status): New function.
34841 (grub_ata_wait_busy): Removed function, updated all users to use
34842 `grub_ata_wait_status'.
34843 (grub_ata_wait_drq): Likewise.
34844 (grub_ata_cmd): New function.
34845 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34846 error handling.
34847 (grub_ata_pio_write): Add error handling.
34848 (grub_atapi_identify): Likewise.
34849 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34850 handling.
34851 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34852 handling. Actually use the detected registers. Reorder the
34853 detection logic such that it is easier to read.
34854 (grub_ata_pciinit): Do not assign the same ID to each controller.
34855 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34856 handling.
34857 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34858
34859 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34860
34861 2008-08-08 Marco Gerards <marco@gnu.org>
34862
34863 * NEWS: Update.
34864
34865 2008-08-07 Bean <bean123ch@gmail.com>
34866
34867 * include/grub/x86_64/pci.h: New file.
34868
34869 2008-08-07 Christian Franke <franke@computer.org>
34870
34871 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34872 (TIMER2_GATE): Likewise.
34873 (grub_pit_wait): Add enable/disable of the timer2 gate
34874 bit of port 0x61. This fixes a possible infinite loop.
34875
34876 2008-08-07 Bean <bean123ch@gmail.com>
34877
34878 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34879 kern/i386/tsc.c and kern/i386/pit.c.
34880
34881 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34882 x86_64 platform.
34883
34884 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34885 <grub/i386/tsc.h>.
34886
34887 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34888
34889 2008-08-07 Bean <bean123ch@gmail.com>
34890
34891 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34892
34893 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34894
34895 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34896 multiple inclusion. Add #include <grub/types.h>.
34897
34898 2008-08-06 Christian Franke <franke@computer.org>
34899
34900 * conf/common.rmk: Build and install `10_windows'.
34901 * util/grub.d/10_windows.in: New script.
34902
34903 2008-08-06 Pavel Roskin <proski@gnu.org>
34904
34905 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34906
34907 2008-08-06 Robert Millan <rmh@aybabtu.com>
34908
34909 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34910 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34911
34912 2008-08-06 Bean <bean123ch@gmail.com>
34913
34914 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34915 (grub_pxefs_fs_int): Remove dummy definition.
34916 (grub_pxefs_open): Use data->block_size to store the current block
34917 size setting.
34918 (grub_pxefs_read): Use block size stored in data->block_size. As the
34919 value of grub_pxe_blksize can be changed after the file is opened.
34920
34921 2008-08-06 Bean <bean123ch@gmail.com>
34922
34923 * fs/i386/pc/pxe.c (curr_file): new variable.
34924 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34925 require the dummy internal file system anymore.
34926 (grub_pxefs_read): Removed.
34927 (grub_pxefs_close): Likewise.
34928 (grub_pxefs_fs_int): Likewise.
34929 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34930 connection when we switch file.
34931 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34932
34933 2008-08-06 Robert Millan <rmh@aybabtu.com>
34934
34935 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34936 `halt.mod'.
34937 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34938 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34939
34940 * kern/i386/halt.c: New file.
34941 * kern/i386/reboot.c: Likewise.
34942 * include/grub/i386/reboot.h: Likewise.
34943 * include/grub/i386/halt.h: Likewise.
34944
34945 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34946 Include `<grub/cpu/halt.h>'.
34947 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34948 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34949
34950 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34951 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34952 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34953 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34954 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34955 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34956 from here ...
34957 * include/grub/i386/at_keyboard.h: ... to here.
34958
34959 2008-08-05 Robert Millan <rmh@aybabtu.com>
34960
34961 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34962 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34963 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34964 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34965 `kern/generic/millisleep.c'.
34966
34967 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34968 instead of grub_get_rtc().
34969 (grub_tsc_init): Initialize `tsc_boot_time'.
34970
34971 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34972 (grub_machine_init): Use grub_tsc_init() rather than
34973 installing an RTC-based handler via grub_install_get_time_ms().
34974
34975 * kern/i386/pit.c: New file.
34976 * include/grub/i386/pit.h: Likewise.
34977
34978 2008-08-05 Bean <bean123ch@gmail.com>
34979
34980 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34981
34982 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34983 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34984 (pxe_mod_SOURCES): New macro.
34985 (pxe_mod_CFLAGS): Likewise.
34986 (pxe_mod_LDFLAGS): Likewise.
34987 (pxecmd_mod_SOURCES): Likewise.
34988 (pxecmd_mod_CFLAGS): Likewise.
34989 (pxecmd_mod_LDFLAGS): Likewise.
34990
34991 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34992 (grub_pxe_call): Likewise.
34993
34994 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34995
34996 * commands/i386/pc/pxecmd.c: New file.
34997
34998 * fs/i386/pc/pxe.c: Likewise.
34999
35000 * include/grub/i386/pc/pxe.h: Likewise.
35001
35002 2008-08-05 Bean <bean123ch@gmail.com>
35003
35004 * util/console.c (grub_console_cur_color): New variable.
35005 (grub_console_standard_color): Likewise.
35006 (grub_console_normal_color): Likewise.
35007 (grub_console_highlight_color): Likewise.
35008 (color_map): Likewise.
35009 (use_color): Likewise.
35010 (NUM_COLORS): New macro.
35011 (grub_ncurses_setcolorstate): Handle color properly.
35012 (grub_ncurses_setcolor): Don't change color here, just remember the
35013 settings, color will be set in grub_ncurses_setcolorstate.
35014 (grub_ncurses_getcolor): New function.
35015 (grub_ncurses_init): Initialize color pairs.
35016 (grub_ncurses_term): New member grub_ncurses_getcolor.
35017
35018 2008-08-05 Colin D Bennett <colin@gibibit.com>
35019
35020 High resolution timer support. Implemented for x86 CPUs using TSC.
35021 Extracted generic grub_millisleep() so it's linked in only as needed.
35022 This requires a Pentium compatible CPU; if the RDTSC instruction is
35023 not supported, then it falls back on the generic grub_get_time_ms()
35024 implementation that uses the machine's RTC.
35025
35026 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35027 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35028 `kern/generic/millisleep.c'.
35029
35030 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35031 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35032
35033 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35034 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35035
35036 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35037
35038 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35039 `kern/generic/millisleep.c'.
35040
35041 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35042
35043 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35044
35045 * kern/generic/rtc_get_time_ms.c: New file.
35046
35047 * kern/generic/millisleep.c: New file.
35048
35049 * kern/misc.c: Don't include
35050 <kern/time.h> anymore.
35051 (grub_millisleep_generic): Removed.
35052
35053 * commands/sleep.c (grub_interruptible_millisleep): Uses
35054 grub_get_time_ms() instead of grub_get_rtc().
35055
35056 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35057 function.
35058 (grub_cpu_is_cpuid_supported): New inline function.
35059 (grub_cpu_is_tsc_supported): New inline function.
35060 (grub_tsc_init): New function prototype.
35061 (grub_tsc_get_time_ms): New function prototype.
35062
35063 * kern/i386/tsc.c (grub_get_time_ms): New file.
35064
35065 * include/grub/time.h: Include <grub/types.h.
35066 (grub_millisleep_generic): Removed.
35067 (grub_get_time_ms): New prototype.
35068 (grub_install_get_time_ms): New prototype.
35069 (grub_rtc_get_time_ms): New prototype.
35070
35071 * kern/time.c (grub_get_time_ms): New function.
35072 (grub_install_get_time_ms): New function.
35073
35074 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35075 <grub/time.h> anymore.
35076 (grub_millisleep): Removed.
35077 (grub_machine_init): Call grub_tsc_init.
35078
35079 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35080 get_time_ms() implementation.
35081
35082 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35083 (ieee1275_get_time_ms): New function.
35084 (grub_machine_init): Install get_time_ms() implementation.
35085
35086 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35087 (grub_machine_init): Call grub_tsc_init().
35088 (grub_millisleep): Removed.
35089
35090 * kern/ieee1275/init.c (grub_millisleep): Removed.
35091 (grub_machine_init): Install ieee1275_get_time_ms()
35092 implementation.
35093 (ieee1275_get_time_ms): New function.
35094 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35095 real work.
35096
35097 2008-08-05 Marco Gerards <marco@gnu.org>
35098
35099 * disk/ata.c: Include <grub/pci.h>.
35100 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35101 (grub_ata_initialize): Rewritten.
35102 (grub_ata_device_initialize): New function.
35103
35104 2008-08-04 Pavel Roskin <proski@gnu.org>
35105
35106 * kern/main.c: Include grub/mm.h.
35107
35108 2008-08-04 Robert Millan <rmh@aybabtu.com>
35109
35110 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35111 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35112 corruption problem).
35113
35114 2008-08-04 Robert Millan <rmh@aybabtu.com>
35115
35116 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35117 warnings introduced in my last commit.
35118
35119 2008-08-03 Robert Millan <rmh@aybabtu.com>
35120
35121 Make PCI available on all i386 architectures.
35122
35123 * include/grub/i386/pc/pci.h: Move from here ...
35124 * include/grub/i386/pci.h: ... to here.
35125
35126 * include/grub/i386/pc/pci.h: Remove.
35127 * include/grub/i386/efi/pci.h: Remove.
35128 * include/grub/x86_64/efi/pci.h: Remove.
35129
35130 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35131 `<grub/cpu/pci.h>'.
35132
35133 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35134 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35135 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35136
35137 * conf/i386-ieee1275.rmk: Likewise.
35138
35139 2008-08-03 Robert Millan <rmh@aybabtu.com>
35140
35141 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35142 (grub_console_setcursor): Make it possible to set cursor off.
35143
35144 2008-08-03 Robert Millan <rmh@aybabtu.com>
35145
35146 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35147 of modules instead of assuming which platform provides what.
35148 * util/update-grub.in: Likewise.
35149
35150 2008-08-03 Robert Millan <rmh@aybabtu.com>
35151
35152 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35153 instead of `grub_install_dos_part' to determine whether a drive needs
35154 to be prepended to prefix (`grub_install_dos_part' is not reliable,
35155 because it can be overridden when loading GRUB via Multiboot).
35156
35157 2008-08-02 Robert Millan <rmh@aybabtu.com>
35158
35159 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35160
35161 2008-08-02 Robert Millan <rmh@aybabtu.com>
35162
35163 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35164 of informational grub_dprintf() calls.
35165
35166 2008-08-02 Robert Millan <rmh@aybabtu.com>
35167
35168 * disk/memdisk.c (memdisk_size): Don't initialize.
35169 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35170
35171 * include/grub/i386/pc/kernel.h
35172 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35173 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35174 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35175 (grub_arch_memdisk_size): Remove.
35176
35177 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35178 field (was only used to transfer a constant). Add `type' field to
35179 support multiple module types.
35180 (grub_module_iterate): New function.
35181
35182 * kern/device.c (grub_device_open): Do not hide error messages
35183 when grub_disk_open() fails. Use grub_print_error() instead.
35184
35185 * kern/i386/pc/init.c (grub_arch_modules_addr)
35186 (grub_arch_memdisk_size): Remove functions.
35187 (grub_arch_modules_addr): Return the module address in high memory
35188 (now that it isn't copied anymore).
35189
35190 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35191 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35192 decompression routine (grub_total_module_size already includes that
35193 now). Don't copy modules back to low memory.
35194
35195 * kern/main.c: Include `<grub/mm.h>'.
35196 (grub_load_modules): Split out (and use) ...
35197 (grub_module_iterate): ... this function, which iterates through
35198 module objects and runs a hook.
35199 Comment out grub_mm_init_region() call, as it would cause non-ELF
35200 modules to be overwritten.
35201
35202 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35203 the memdisk image in its own region, make it part of the module list.
35204 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35205 (main): Parse --memdisk|-m option, and pass user-provided path as
35206 parameter to generate_image().
35207 (add_segments): Pass `memdisk_path' down to load_modules().
35208 (load_modules): Embed memdisk image in module section when requested.
35209 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35210 `header.type' instead of `header.offset'.
35211
35212 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35213 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35214 (memdisk_mod_LDFLAGS): New variables.
35215 * conf/i386-coreboot.rmk: Likewise.
35216 * conf/i386-ieee1275.rmk: Likewise.
35217
35218 2008-08-02 Robert Millan <rmh@aybabtu.com>
35219
35220 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35221 (backward_relocator): New variables. Used to allocate and relocate
35222 the payload, respectively.
35223 (grub_multiboot_load_elf32): Load into heap instead of requested
35224 address, install the appropriate relocator code in each bound of
35225 the payload, and set the entry point such that
35226 grub_multiboot_real_boot() will jump to one of them.
35227
35228 * kern/i386/loader.S (grub_multiboot_payload_size)
35229 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35230 (grub_multiboot_payload_entry_offset): New variables.
35231 (grub_multiboot_real_boot): Set cpu context to what the relocator
35232 expects, and jump to the relocator instead of the payload.
35233
35234 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35235 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35236 (grub_multiboot_payload_entry_offset): Export.
35237
35238 2008-08-01 Bean <bean123ch@gmail.com>
35239
35240 * normal/menu_entry.c (editor_getline): Don't return the original
35241 string as result, as it will be released by lexer once it has done
35242 using it.
35243
35244 2008-08-01 Robert Millan <rmh@aybabtu.com>
35245
35246 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35247 within menuentries, not before them.
35248 util/grub.d/10_hurd.in: Likewise.
35249
35250 2008-08-01 Bean <bean123ch@gmail.com>
35251
35252 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35253 (bufio_mod_SOURCES): New macro.
35254 (bufio_mod_CFLAGS): Likewise.
35255 (bufio_mod_LDFLAGS): Likewise.
35256
35257 * include/grub/bufio.h: New file.
35258
35259 * io/bufio.c: Likewise.
35260
35261 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35262 (grub_video_reader_png): Use grub_buffile_open to open file.
35263
35264 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35265 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35266
35267 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35268 (grub_video_reader_tga): Use grub_buffile_open to open file.
35269
35270 * font/manager.c: Include <grub/bufio.h>.
35271 (add_font): Use grub_buffile_open to open file.
35272
35273 2008-07-31 Robert Millan <rmh@aybabtu.com>
35274
35275 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35276 ELF segments, use a macro for arbitrarily accessing any of them instead
35277 of preparing a pointer that allows access to one at a time.
35278 (grub_multiboot_load_elf64): Likewise.
35279
35280 2008-07-31 Bean <bean123ch@gmail.com>
35281
35282 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35283 GRUB_KERNEL_MACHINE_DATA_END.
35284
35285 2008-07-30 Robert Millan <rmh@aybabtu.com>
35286
35287 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35288 Increase from 0x50 to 0x60.
35289 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35290 use UUIDs to identify the root drive for them. If that's not
35291 possible, abort.
35292 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35293 check, for cross-disk installs.
35294
35295 2008-07-30 Robert Millan <rmh@aybabtu.com>
35296
35297 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35298 is non-empty, use it to set the `prefix' environment variable instead
35299 of the usual approach.
35300 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35301 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35302 environment variable instead of dummy make_install_device().
35303
35304 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35305 (start): Insert a data section, with `grub_prefix' variable.
35306 * kern/i386/linuxbios/startup.S: Likewise.
35307
35308 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35309 New variable reference.
35310 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35311 New macro. Defines offset of `grub_prefix' within startup.S (relative
35312 to `start').
35313 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35314 section within startup.S (relative to `start').
35315 * include/grub/i386/coreboot/kernel.h: Likewise.
35316
35317 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35318 Overwrite grub_prefix with its contents, at the beginning of the
35319 first segment.
35320 (main): Understand -p|--prefix.
35321
35322 2008-07-30 Robert Millan <rmh@aybabtu.com>
35323
35324 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35325
35326 2008-07-30 Robert Millan <rmh@aybabtu.com>
35327
35328 * term/i386/pc/vga_text.c (grub_console_cls): Use
35329 grub_console_gotoxy() to go back to beginning of the screen.
35330 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35331
35332 2008-07-29 Christian Franke <franke@computer.org>
35333
35334 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35335 Add conversion of emulated mount points on Cygwin.
35336
35337 2008-07-29 Christian Franke <franke@computer.org>
35338
35339 * util/update-grub.in: Add a check for admin
35340 group on Cygwin.
35341 Remove old `grub.cfg.new' before creation.
35342 Add `-f' to `mv' to handle the different filesystem
35343 semantics of Windows.
35344
35345 2008-07-29 Bean <bean123ch@gmail.com>
35346
35347 * normal/main.c (get_line): Fix buffer overflow bug.
35348
35349 2008-07-28 Robert Millan <rmh@aybabtu.com>
35350
35351 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35352 (struct grub_apple_header): New struct. Describes the layout of
35353 the partmap header.
35354 (apple_partition_map_iterate): Check the header magic as well as the
35355 partition magic (which was already being checked).
35356
35357 2008-07-28 Pavel Roskin <proski@gnu.org>
35358
35359 * genmk.rb: Add a warning to the beginning of the output that
35360 it's a generated file and should not be edited.
35361
35362 2008-07-28 Robert Millan <rmh@aybabtu.com>
35363
35364 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35365 with the same number are found, just use issue a warning with
35366 grub_dprintf(), as this error has been reported to be non-fatal.
35367
35368 2008-07-27 Robert Millan <rmh@aybabtu.com>
35369
35370 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35371 information.
35372
35373 2008-07-27 Bean <bean123ch@gmail.com>
35374
35375 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35376 (grub_fat_find_dir): Ignore case when comparing filename.
35377
35378 2008-07-27 Bean <bean123ch@gmail.com>
35379
35380 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35381 smallino, as it's more descriptive, and i8count can be confused with
35382 the other field count.
35383 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35384 inode type.
35385
35386 2008-07-27 Bean <bean123ch@gmail.com>
35387
35388 * commands/crc.c: New file.
35389
35390 * lib/crc.c: Likewise.
35391
35392 * include/grub/lib/crc.h: Likewise.
35393
35394 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35395
35396 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35397 (hexdump): Move this function to ...
35398
35399 * lib/hexdump.c: ... here.
35400
35401 * include/grub/hexdump.h: Renamed to ...
35402
35403 * include/grub/lib/hexdump.h: ... this.
35404
35405 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35406
35407 * util/grub-editenv.c: Likewise.
35408
35409 * include/envblk.h: Renamed to ...
35410
35411 * include/lib/envblk.h: ... this.
35412
35413 * util/envblk.c: Renamed to ...
35414
35415 * lib/envblk.c: ... this.
35416
35417 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35418 lib/hexdump.c.
35419 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35420 (pkglib_MODULES): Add crc.mod.
35421 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35422 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35423 (crc_mod_SOURCES): New macro.
35424 (crc_mod_CFLAGS): Likewise.
35425 (crc_mod_LDFLAGS): Likewise.
35426
35427 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35428
35429 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35430
35431 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35432
35433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35434
35435 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35436
35437 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35438
35439 * commands/help.c: Include <grub/term.h>.
35440 (TERM_WIDTH): Removed. Updated all users.
35441
35442 2008-07-27 Pavel Roskin <proski@gnu.org>
35443
35444 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35445 spurious warnings about a comment within a comment.
35446
35447 2008-07-25 Robert Millan <rmh@aybabtu.com>
35448
35449 * util/getroot.c (find_root_device): Skip devices that match
35450 /dev/dm-[0-9]. This lets the real device be found for any type of
35451 abstraction (LVM, EVMS, RAID..).
35452 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35453 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35454 device is found first, find_root_device() will now skip it.
35455
35456 2008-07-24 Pavel Roskin <proski@gnu.org>
35457
35458 * include/grub/types.h: Use __builtin_bswap32() and
35459 __builtin_bswap64() with gcc 4.3 and newer.
35460
35461 2008-07-24 Christian Franke <franke@computer.org>
35462
35463 * util/i386/pc/grub-install.in: If `--debug' is specified,
35464 pass `--verbose' to grub-setup.
35465 Abort script if make_system_path_relative_to_its_root() fails.
35466
35467 2008-07-24 Bean <bean123ch@gmail.com>
35468
35469 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35470 variable `target_platform' should be `platform'.
35471
35472 2008-07-24 Bean <bean123ch@gmail.com>
35473
35474 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35475 (grub_png_init_fixed_block): New function.
35476 (grub_png_decode_image_data): Handle fixed huffman code compression.
35477
35478 2008-07-24 Bean <bean123ch@gmail.com>
35479
35480 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35481 (grub_pe2elf_SOURCES): New macro.
35482 (CLEANFILES): Add grub-pe2elf.
35483
35484 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35485 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35486 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35487 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35488 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35489 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35490 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35491 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35492 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35493 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35494 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35495 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35496 (GRUB_PE32_DT_FUNCTION): Likewise.
35497 (GRUB_PE32_REL_I386_DIR32): Likewise.
35498 (GRUB_PE32_REL_I386_REL32): Likewise.
35499 (grub_pe32_symbol): New structure.
35500 (grub_pe32_reloc): Likewise.
35501
35502 * util/grub-pe2elf.c: New file.
35503
35504 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35505 start symbol in non pc platform.
35506
35507 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35508
35509 The following patches are from Christian Franke.
35510
35511 * include/grub/dl.h: Remove .previous, gas supports this only
35512 for ELF format.
35513
35514 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35515 Remove .type, gas supports this only for ELF format.
35516
35517 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35518 nullbytes in symbol table. This fixes an infinite loop if table is
35519 zero filled.
35520
35521 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35522 TARGET_IMG_LDFLAGS and EXEEXT.
35523
35524 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35525 TARGET_IMG_LDFLAGS_AC.
35526 (grub_CHECK_STACK_ARG_PROBE): New function.
35527
35528 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35529
35530 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35531
35532 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35533 to set TARGET_IMG_LD* accordingly.
35534 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35535 Add call to grub_CHECK_STACK_ARG_PROBE.
35536 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35537
35538 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35539
35540 * genmk.rb: Add EXEEXT to CLEANFILES.
35541
35542 2008-07-23 Robert Millan <rmh@aybabtu.com>
35543
35544 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35545 define the codes for arrows and lines used for the menu).
35546 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35547 as well.
35548
35549 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35550 fonts, because the latter are too slow.
35551
35552 2008-07-21 Bean <bean123ch@gmail.com>
35553
35554 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35555 a20. Run keyboard test last, as it will cause macbook to halt.
35556
35557 2008-07-18 Pavel Roskin <proski@gnu.org>
35558
35559 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35560 load foreign architecture modules correctly anyway. Keep
35561 support for loading host architecture modules, whether we
35562 compile them or not.
35563
35564 2008-07-17 Pavel Roskin <proski@gnu.org>
35565
35566 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35567 change target_cpu. The compiler default can mismatch target_cpu
35568 in any case.
35569
35570 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35571 * kern/efi/efi.c: Likewise.
35572
35573 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35574 target compiler is functional.
35575 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35576 are set up.
35577
35578 * configure.ac: Default to efi platform for x86_64-apple. Allow
35579 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35580 adjustments from the rest, only do them if target is not
35581 explicitly given. Merge other adjustments with the final sanity
35582 check. Remove an extraneous check for supported CPU. Be
35583 specific which CPU and which platform is not supported.
35584
35585 * configure.ac: Default to pc platform for x86_64.
35586
35587 2008-07-17 Robert Millan <rmh@aybabtu.com>
35588
35589 Partial LinuxBIOS -> Coreboot rename.
35590
35591 * conf/i386-linuxbios.rmk: Renamed to ...
35592 * conf/i386-coreboot.rmk: ... this.
35593 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35594 * configure.ac: Accept "coreboot" as input platform (but maintain
35595 compatibility with "linuxbios").
35596 * include/grub/i386/linuxbios: Renamed to ...
35597 * include/grub/i386/coreboot: ... this.
35598
35599 2008-07-17 Bean <bean123ch@gmail.com>
35600
35601 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35602 (appleldr_mod_SOURCE): New variable.
35603 (appleldr_mod_CFLAGS): Likewise.
35604 (appleldr_mod_LDFLAGS): Likewise.
35605 (pci_mod_SOURCES): Likewise.
35606 (pci_mod_CFLAGS): Likewise.
35607 (pci_mod_LDFLAGS): Likewise.
35608 (lspci_mod_SOURCES): Likewise.
35609 (lspci_mod_CFLAGS): Likewise.
35610 (lspci_mod_LDFLAGS): Likewise.
35611
35612 * conf/x86_64-efi.rmk: New file.
35613
35614 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35615 macro.
35616 (grub_efidisk_write): Likewise.
35617
35618 * include/efi/api.h (efi_call_0): New macro.
35619 (efi_call_1): Likewise.
35620 (efi_call_2): Likewise.
35621 (efi_call_3): Likewise.
35622 (efi_call_4): Likewise.
35623 (efi_call_5): Likewise.
35624 (efi_call_6): Likewise.
35625
35626 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35627 grub_rescue_cmd_chainloader.
35628
35629 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35630 (grub_pe32_optional_header): Change some fields based on i386 or
35631 x86_64 platform.
35632 (GRUB_PE32_PE32_MAGIC): Likewise.
35633
35634 * include/grub/efi/uga_draw.h: New file.
35635
35636 * include/grub/elf.h (STN_ABS): New constant.
35637 (R_X86_64_NONE): Relocation constant for x86_64.
35638 (R_X86_64_64): Likewise.
35639 (R_X86_64_PC32): Likewise.
35640 (R_X86_64_GOT32): Likewise.
35641 (R_X86_64_PLT32): Likewise.
35642 (R_X86_64_COPY): Likewise.
35643 (R_X86_64_GLOB_DAT): Likewise.
35644 (R_X86_64_JUMP_SLOT): Likewise.
35645 (R_X86_64_RELATIVE): Likewise.
35646 (R_X86_64_GOTPCREL): Likewise.
35647 (R_X86_64_32): Likewise.
35648 (R_X86_64_32S): Likewise.
35649 (R_X86_64_16): Likewise.
35650 (R_X86_64_PC16): Likewise.
35651 (R_X86_64_8): Likewise.
35652 (R_X86_64_PC8): Likewise.
35653
35654 * include/grub/i386/efi/pci.h: New file.
35655
35656 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35657 Change it value based on platform.
35658 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35659 (GRUB_E820_RAM): Likewise.
35660 (GRUB_E820_RESERVED): Likewise.
35661 (GRUB_E820_ACPI): Likewise.
35662 (GRUB_E820_NVS): Likewise.
35663 (GRUB_E820_EXEC_CODE): Likewise.
35664 (GRUB_E820_MAX_ENTRY): Likewise.
35665 (grub_e820_mmap): New structure.
35666 (linux_kernel_header): Change the efi field according to different
35667 kernel version, also field from linux_kernel_header.
35668
35669 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35670
35671 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35672 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35673 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35674 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35675 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35676 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35677 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35678 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35679 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35680 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35681
35682 * include/grub/x86_64/efi/kernel.h: New file.
35683
35684 * include/grub/x86_64/efi/loader.h: Likewise.
35685
35686 * include/grub/x86_64/efi/machine.h: Likewise.
35687
35688 * include/grub/x86_64/efi/pci.h: Likewise.
35689
35690 * include/grub/x86_64/efi/time.h: Likewise.
35691
35692 * include/grub/x86_64/linux.h: Likewise.
35693
35694 * include/grub/x86_64/setjmp.h: Likewise.
35695
35696 * include/grub/x86_64/time.h: Likewise.
35697
35698 * include/grub/x86_64/types.h: Likewise.
35699
35700 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35701 GRUB_TARGET_SIZEOF_VOID_P.
35702
35703 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35704 (grub_efi_locate_handle): Likewise.
35705 (grub_efi_open_protocol): Likewise.
35706 (grub_efi_set_text_mode): Likewise.
35707 (grub_efi_stall): Likewise.
35708 (grub_exit): Likewise.
35709 (grub_reboot): Likewise.
35710 (grub_halt): Likewise.
35711 (grub_efi_exit_boot_services): Likewise.
35712 (grub_get_rtc): Likewise.
35713
35714 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35715 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35716 (grub_efi_allocate_pages): Wrap efi calls.
35717 (grub_efi_free_pages): Wrap efi calls.
35718 (grub_efi_get_memory_map): Wrap efi calls.
35719
35720 * kern/x86_64/dl.c: New file.
35721
35722 * kern/x86_64/efi/callwrap.S: Likewise.
35723
35724 * kern/x86_64/efi/startup.S: Likewise.
35725
35726 * loader/efi/appleloader.c: Likewise.
35727
35728 * loader/efi/chainloader.c (cmdline): New variable.
35729 (grub_chainloader_unload): Wrap efi calls.
35730 (grub_chainloader_boot): Likewise.
35731 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35732 command line.
35733
35734 * loader/efi/chainloader_normal.c (chainloader_command):
35735 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35736 command line.
35737
35738 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35739 method.
35740 (grub_e820_add_region): New function.
35741 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35742 booting.
35743 (grub_find_video_card): New function.
35744 (grub_linux_setup_video): New function.
35745 (grub_rescue_cmd_linux): Probe for video information.
35746
35747 * normal/x86_64/setjmp.S: New file.
35748
35749 * term/efi/console.c (map_char): New function.
35750 (grub_console_putchar): Map unicode char.
35751 (grub_console_checkkey): Wrap efi calls.
35752 (grub_console_getkey): Likewise.
35753 (grub_console_getwh): Likewise.
35754 (grub_console_gotoxy): Likewise.
35755 (grub_console_cls): Likewise.
35756 (grub_console_setcolorstate): Likewise.
35757 (grub_console_setcursor): Likewise.
35758
35759 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35760
35761 2008-07-16 Pavel Roskin <proski@gnu.org>
35762
35763 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35764 format strings.
35765
35766 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35767 pointer, not an integer. This fixes a warning and prevents
35768 precision loss on 64-bit systems.
35769 (relocate_addresses): Remove unneeded cast.
35770
35771 2008-07-15 Pavel Roskin <proski@gnu.org>
35772
35773 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35774
35775 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35776
35777 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35778 Fix comparison between signed and unsigned.
35779
35780 * include/grub/i386/ieee1275/console.h: Declare
35781 grub_console_init() and grub_console_fini().
35782
35783 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35784 It's empty and unused.
35785
35786 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35787 beginning to avoid warnings with some compilers.
35788
35789 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35790 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35791
35792 2008-07-14 Pavel Roskin <proski@gnu.org>
35793
35794 * kern/env.c (grub_register_variable_hook): Don't copy empty
35795 string, it leaks memory. Pass "" to grub_env_set(), it should
35796 handle constant strings.
35797
35798 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35799 * commands/cmp.c (grub_cmd_cmp): Likewise.
35800 * kern/dl.c (grub_dl_flush_cache): Likewise.
35801 (grub_dl_load_core): Likewise.
35802 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35803 (grub_elf64_load_phdrs): Likewise.
35804
35805 2008-07-13 Pavel Roskin <proski@gnu.org>
35806
35807 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35808 between signed and unsigned.
35809 (LzmaEnc_Finish): Fix warning about an unused parameter.
35810
35811 2008-07-13 Bean <bean123ch@gmail.com>
35812
35813 * Makefile.in (enable_lzo): New rule.
35814
35815 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35816
35817 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35818
35819 * boot/i386/pc/lnxboot.S: #include <config.h>.
35820
35821 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
35822 its value according to the compression algorithm used, lzo or lzma.
35823
35824 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35825 compression algorithm according to configure macro.
35826
35827 * kern/i386/pc/startup.S (codestart): Likewise.
35828
35829 * kern/i386/pc/lzma_decode.S: New file.
35830
35831 * include/grub/lib/LzFind.h: Likewise.
35832
35833 * include/grub/lib/LzHash.h: Likewise.
35834
35835 * include/grub/lib/LzmaDec.h: Likewise.
35836
35837 * include/grub/lib/LzmaEnc.h: Likewise.
35838
35839 * include/grub/lib/LzmaTypes.h: Likewise.
35840
35841 * lib/LzFind.c: Likewise.
35842
35843 * lib/LzmaDec.c: Likewise.
35844
35845 * lib/LzmaEnc.c: Likewise.
35846
35847 2008-07-13 Bean <bean123ch@gmail.com>
35848
35849 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35850 (grub_ext4_extent_header): New structure.
35851 (grub_ext4_extent): Likewise.
35852 (grub_ext4_extent_idx): Likewise.
35853 (grub_ext4_find_leaf): New function.
35854 (grub_ext2_read_block): Handle extents.
35855
35856 2008-07-12 Robert Millan <rmh@aybabtu.com>
35857
35858 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35859
35860 2008-07-11 Robert Millan <rmh@aybabtu.com>
35861
35862 * util/grub.d/40_custom.in: New file. Example on how to add custom
35863 entries to /etc/grub.d.
35864 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35865 40_custom (implicitly, by merging all the grub.d rules).
35866
35867 2008-07-11 Pavel Roskin <proski@gnu.org>
35868
35869 * commands/read.c (grub_getline): Fix invalid memory access.
35870 Don't add newline to the variable value.
35871
35872 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35873 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35874 (serial_hw_get_port): Check validity of the port number.
35875 (grub_cmd_serial): Check return value of serial_hw_get_port().
35876
35877 2008-07-07 Pavel Roskin <proski@gnu.org>
35878
35879 * boot/i386/pc/diskboot.S (notification_string): Replace
35880 "Loading kernel" with just "loading". This is shorter, less
35881 confusing and saves a few bytes for possible future changes.
35882
35883 2008-07-05 Pavel Roskin <proski@gnu.org>
35884
35885 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35886 size for ATAPI devices, they are undefined. Output sector
35887 number in decimal form.
35888
35889 * disk/ata.c: Use named constants for status bits.
35890
35891 2008-07-04 Pavel Roskin <proski@gnu.org>
35892
35893 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35894 grub_addr_t before casting it to the void pointer to fix a
35895 warning. Non-addressable regions are discarded earlier.
35896 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35897 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35898 (check_signature): Don't shadow table_header.
35899 (grub_linuxbios_table_iterate): Cast numeric constants to
35900 grub_linuxbios_table_header_t.
35901 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35902 grub_stop().
35903
35904 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35905 prevent warnings.
35906
35907 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35908 pointer, which can cause warnings. Support 64-bit addresses.
35909
35910 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35911 of sizeof(long). This fixes PowerPC image generation on x86_64.
35912
35913 2008-07-04 Robert Millan <rmh@aybabtu.com>
35914
35915 This fixes a performance issue when pc & gpt partmap iterators
35916 didn't abort iteration even after our hook found what it was
35917 looking for (often causing expensive probes of non-existent drives).
35918
35919 Some callers relied on previous buggy behaviour, since they would
35920 raise an error when their own hooks caused early abortion of its
35921 iteration.
35922
35923 * kern/device.c (grub_device_open): Improve error message.
35924 * disk/lvm.c (grub_lvm_open): Likewise.
35925 * disk/raid.c (grub_raid_open): Likewise.
35926
35927 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35928 when hook requests it, independently of grub_errno.
35929 (pc_partition_map_probe): Do not fail when find_func() caused
35930 early abortion of pc_partition_map_iterate().
35931
35932 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35933 when hook requests it, independently of grub_errno.
35934 (gpt_partition_map_probe): Do not fail when find_func() caused
35935 early abortion of gpt_partition_map_iterate().
35936
35937 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35938 when hook requests it, independently of grub_errno. Do not fail when
35939 part_map_iterate_hook() caused early abortion of p->iterate().
35940
35941 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35942 when grub_partition_iterate() returned with non-zero.
35943
35944 2008-07-03 Pavel Roskin <proski@gnu.org>
35945
35946 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35947 like we do in grub_ata_pio_read().
35948 (grub_ata_readwrite): Always write individual sectors. Fix the
35949 sector count for the remainder.
35950 (grub_ata_write): Enable writing to ATA devices. Correctly
35951 report error for ATAPI devices.
35952
35953 2008-07-02 Pavel Roskin <proski@gnu.org>
35954
35955 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35956 warning.
35957
35958 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35959 for every read sector, we already increment it for the whole
35960 batch. This fixes reading more than 256 sectors at once.
35961
35962 * util/grub-editenv.c (cmd_info): Cast argument to long
35963 explicitly. ptrdiff_t reduces to int on i386.
35964
35965 * util/grub-editenv.c (main): Be specific which parameter is
35966 missing.
35967
35968 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35969 (memdisk): Make memdisk_orig_addr a pointer.
35970
35971 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35972 for file offsets, use grub_off_t instead. Fix printf format
35973 warnings.
35974
35975 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35976 there. Real unexpected warnings should not drown in the noise
35977 about known problems.
35978
35979 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35980 grub_disk_addr_t for memory addresses.
35981
35982 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35983 explicitly to fix a warning.
35984
35985 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35986
35987 * Makefile.in (MODULE_LDFLAGS): New variable.
35988 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35989 the linker accepts --build-id=none.
35990 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35991 MODULE_LDFLAGS.
35992 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35993
35994 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35995 those in Linux XFS code. Provide a way to access 64-bit parent
35996 inode.
35997 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35998 the end of struct grub_xfs_dir_header.
35999
36000 2008-07-02 Bean <bean123ch@gmail.com>
36001
36002 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36003 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36004 and GRUB_IEEE1275_FLAG_NO_ANSI.
36005
36006 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36007 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36008 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36009
36010 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36011 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36012
36013 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36014 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36015
36016 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36017 esc sequence on non ANSI terminal.
36018 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36019
36020 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36021 beginning of file.
36022
36023 2008-07-02 Bean <bean123ch@gmail.com>
36024
36025 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36026 (grub_editenv_SOURCES): New variable.
36027 (pkglib_MODULES): Add loadenv.mod.
36028 (loadenv_mod_SOURCES): New variable.
36029 (loadenv_mod_CFLAGS): Likewise.
36030 (loadenv_mod_LDFLAGS): Likewise.
36031
36032 * include/grub/envblk.h: New file.
36033
36034 * util/envblk.c: New file.
36035
36036 * util/grub-editenv.c: New file.
36037
36038 * commands/loadenv.c: New file.
36039
36040 2008-07-01 Pavel Roskin <proski@gnu.org>
36041
36042 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36043 not unsigned char. This fixes warnings and is consistent with
36044 other tags.
36045
36046 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36047
36048 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36049
36050 * term/tparm.c (analyze): Always set *popcount.
36051
36052 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36053 cast to fix a warning.
36054
36055 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36056 cast to suppress a warning.
36057
36058 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36059 grub_fshelp_read_file() expects.
36060
36061 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36062 write uuid as a 32-bit value in CPU byte order, so declare and
36063 use it as such.
36064
36065 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36066 long if the format specifier expects it.
36067 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36068 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36069 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36070 long to fix a warning.
36071 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36072 grub_dprintf() arguments to fix warnings.
36073
36074 2008-06-30 Pavel Roskin <proski@gnu.org>
36075
36076 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36077 install_bsd_part immediately before core.img is embedded or
36078 modified on disk. This fixes core.img verification if core.img
36079 cannot be embedded.
36080
36081 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36082 core_path to calculate the blocklist.
36083 Patch from Javier Martín <lordhabbit@gmail.com>
36084
36085 2008-06-29 Robert Millan <rmh@aybabtu.com>
36086
36087 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36088 block to disk block.
36089 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36090 Patch from Niels Böhm <bitbucket@arcor.de>
36091
36092 2008-06-29 Robert Millan <rmh@aybabtu.com>
36093
36094 * util/update-grub_lib.in (font_path): Search for fonts in
36095 /boot/grub first, which is more likely to be readable (we aren't
36096 deciding where fonts live, just looking for them).
36097
36098 2008-06-26 Pavel Roskin <proski@gnu.org>
36099
36100 * util/biosdisk.c (read_device_map): Don't leave dead map
36101 entries for devices failing stat() check.
36102
36103 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36104 core_path_dev for the core.img path on the target device.
36105
36106 2008-06-26 Robert Millan <rmh@aybabtu.com>
36107
36108 * disk/fs_uuid.c: New file.
36109 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36110 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36111 (fs_uuid_mod_LDFLAGS): New variables.
36112 * include/grub/disk.h (grub_disk_dev_id): Add
36113 `GRUB_DISK_DEVICE_UUID_ID'.
36114 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36115 implement iterate().
36116
36117 2008-06-26 Robert Millan <rmh@aybabtu.com>
36118
36119 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36120 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36121 Linux image includes no initrd.
36122
36123 2008-06-21 Javier Martín <lordhabbit@gmail.com>
36124
36125 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36126 call to resolve the core image location that effectively appended the
36127 name twice.
36128
36129 2008-06-21 Robert Millan <rmh@aybabtu.com>
36130
36131 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36132 call from here ...
36133
36134 * util/grub.d/10_hurd.in: ... to here ...
36135 * util/grub.d/10_linux.in: ... and here.
36136
36137 2008-06-19 Robert Millan <rmh@aybabtu.com>
36138
36139 * kern/main.c (grub_main): Export `prefix' variable immediately
36140 after it has been set by grub_machine_set_prefix().
36141
36142 2008-06-19 Robert Millan <rmh@aybabtu.com>
36143
36144 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36145 search result when not saving to variable, not the other way around.
36146 When saving to variable, abort iteration as soon as a match is found.
36147
36148 2008-06-19 Robert Millan <rmh@aybabtu.com>
36149
36150 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36151 check for partition that provides /boot/grub. Its logic is flawed,
36152 as it prevents prepare_grub_to_access_device() from being called
36153 multiple times.
36154
36155 2008-06-19 Robert Millan <rmh@aybabtu.com>
36156
36157 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36158 "insmod" command directly when abstraction modules are needed,
36159 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
36160 since it had already been processed).
36161
36162 2008-06-19 Pavel Roskin <proski@gnu.org>
36163
36164 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36165 changed. This is needed in case GRUB_LIBDIR changes.
36166 * conf/i386-ieee1275.rmk: Likewise.
36167 * conf/i386-linuxbios.rmk: Likewise.
36168 * conf/i386-pc.rmk: Likewise.
36169 * conf/powerpc-ieee1275.rmk: Likewise.
36170
36171 2008-06-18 Pavel Roskin <proski@gnu.org>
36172
36173 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36174 kernel_elf_symlist.c to symlist.c for consistency with other
36175 architectures. Update all users.
36176 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36177
36178 2008-06-18 Robert Millan <rmh@aybabtu.com>
36179
36180 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36181 it in prefix.
36182
36183 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36184 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36185 a RAID device, run setup() for all members independently on whether
36186 LVM abstraction is being used.
36187 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36188 If grub-mkimage has set `*install_dos_part == -2', don't override this
36189 value.
36190 Perform *install_dos_part adjustments independently on whether
36191 we're embedding or not.
36192 Clarify error message when image is too big for embedding.
36193 Remove duplicate *install_dos_part stanza.
36194
36195 2008-06-17 Robert Millan <rmh@aybabtu.com>
36196
36197 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36198 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36199 variables.
36200 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36201 values in grub_ofconsole_normal_color and
36202 grub_ofconsole_highlight_color (they're not directly related to
36203 background and foreground).
36204 (grub_ofconsole_setcolorstate): Extract background and foreground
36205 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36206
36207 2008-06-17 Robert Millan <rmh@aybabtu.com>
36208
36209 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36210 /boot/grub for the check in last commit, not /boot (they could be
36211 different partitions).
36212
36213 2008-06-16 Robert Millan <rmh@aybabtu.com>
36214
36215 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36216 asked to setup access for the same partition that provides /boot,
36217 don't bother using UUIDs since our root already has the value we
36218 want.
36219
36220 2008-06-16 Robert Millan <rmh@aybabtu.com>
36221
36222 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36223 I2O devices.
36224 Patch from Sven Mueller <sven@debian.org>.
36225
36226 2008-06-16 Robert Millan <rmh@aybabtu.com>
36227
36228 * util/update-grub.in: Check for $EUID instead of $UID.
36229 Reported by Vincent Zweije.
36230
36231 2008-06-16 Bean <bean123ch@gmail.com>
36232
36233 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
36234 (grub_ext2_read_block): Likewise.
36235 (grub_ext2_read_inode): Likewise.
36236 (grub_ext2_mount): Likewise.
36237 (grub_ext2_close): Likewise.
36238 (grub_ext3_get_journal): Removed.
36239
36240 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
36241 (grub_reiserfs_read_symlink): Likewise.
36242 (grub_reiserfs_mount): Likewise.
36243 (grub_reiserfs_open): Likewise.
36244 (grub_reiserfs_read): Likewise.
36245 (grub_reiserfs_close): Likewise.
36246 (grub_reiserfs_get_journal): Removed.
36247
36248 * fs/fshelp.c (grub_fshelp_read): Removed.
36249 (grub_fshelp_map_block): Likewise.
36250
36251 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36252 (grub_fshelp_journal): Likewise.
36253 (grub_fshelp_read): Likewise.
36254 (grub_fshelp_map_block): Likewise.
36255
36256 2008-06-16 Pavel Roskin <proski@gnu.org>
36257
36258 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36259 floating point anymore.
36260 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36261
36262 2008-06-15 Pavel Roskin <proski@gnu.org>
36263
36264 * commands/ls.c (grub_ls_list_files): Use integer calculations
36265 for human readable format, avoid floating point use.
36266 * kern/misc.c (grub_ftoa): Remove.
36267 (grub_vsprintf): Remove floating point support.
36268
36269 2008-06-15 Robert Millan <rmh@aybabtu.com>
36270
36271 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
36272 devices.
36273 Reported by Max Vozeler.
36274
36275 2008-06-15 Robert Millan <rmh@aybabtu.com>
36276
36277 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36278 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36279 skipped later.
36280 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36281 the beginning of the prefix.
36282
36283 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36284 It is assumed that if we have a memdisk, grub-mkimage has set
36285 grub_prefix to include the "(memdisk)" drive in it.
36286
36287 2008-06-15 Robert Millan <rmh@aybabtu.com>
36288
36289 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36290 Initialize keyboard controller after registering the terminal, so that
36291 grub_printf() can be called from grub_keyboard_controller_init().
36292
36293 2008-06-15 Robert Millan <rmh@aybabtu.com>
36294
36295 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36296 extent-btree which is written as big endian on disk.
36297 Reported by Alain Greppin <al@chilibi.org>.
36298
36299 2008-06-14 Robert Millan <rmh@aybabtu.com>
36300
36301 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36302 * util/i386/pc/grub-install.in (modules): Likewise.
36303
36304 2008-06-13 Pavel Roskin <proski@gnu.org>
36305
36306 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36307
36308 2008-06-13 Bean <bean123ch@gmail.com>
36309
36310 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36311
36312 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36313
36314 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36315 to indicate sparse block.
36316
36317 2008-06-12 Pavel Roskin <proski@gnu.org>
36318
36319 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36320 number, grub_fshelp_read() does it for us.
36321
36322 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36323 linear disk read with journal translation.
36324 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36325 * include/grub/fshelp.h: Declare grub_fshelp_read().
36326
36327 2008-06-09 Pavel Roskin <proski@gnu.org>
36328
36329 * fs/minix.c (grub_minix_mount): Handle error reading
36330 superblock.
36331
36332 2008-06-08 Robert Millan <rmh@aybabtu.com>
36333
36334 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36335 don't append the RAID prefix afterwards.
36336 Reported by Clint Adams.
36337
36338 2008-06-08 Robert Millan <rmh@aybabtu.com>
36339
36340 Based on description from Pavel:
36341 * kern/disk.c (grub_disk_check_range): Rename to ...
36342 (grub_disk_adjust_range): ... this. Add a comment explaining the
36343 tasks performed by this function.
36344
36345 2008-06-08 Robert Millan <rmh@aybabtu.com>
36346
36347 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36348 `num_serial' (for consistency with other variables).
36349 (struct grub_ntfs_data): Add `uuid' member.
36350 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36351 (grub_ntfs_uuid): New function.
36352 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36353
36354 2008-06-07 Pavel Roskin <proski@gnu.org>
36355
36356 * util/biosdisk.c (open_device): Revert last change to the
36357 function, it broke installation. The sector needs to be
36358 different dependent on which device is opened.
36359
36360 2008-06-06 Robert Millan <rmh@aybabtu.com>
36361
36362 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36363 rest of GRUB, and breakage doesn't happen if its value were modified.
36364
36365 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36366 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36367 a constant (same value).
36368 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36369 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36370
36371 2008-06-06 Robert Millan <rmh@aybabtu.com>
36372
36373 * util/biosdisk.c (open_device): Do not modify sector offset when
36374 accessing a partition. kern/disk.c already handles this for us.
36375
36376 2008-06-06 Robert Millan <rmh@aybabtu.com>
36377
36378 * util/grub-emu.c (grub_machine_init): Move code in this function from
36379 here ...
36380 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36381 segfault in case grub_printf() is called).
36382
36383 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36384 grub_probe. Update all users not to explicitly add it again.
36385 (grub_device): New variable; contains corresponding device for grubdir.
36386 (fs_module, partmap_module, devabstraction_module): Pass
36387 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36388 every time.
36389
36390 2008-06-05 Robert Millan <rmh@aybabtu.com>
36391
36392 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36393 is found, print it (same layout as with labels).
36394
36395 2008-06-04 Robert Millan <rmh@aybabtu.com>
36396
36397 * util/biosdisk.c (get_drive): Rename to ...
36398 (find_grub_drive): ... this. Update all users.
36399
36400 (get_os_disk): Rename to ...
36401 (convert_system_partition_to_system_disk): ... this. Update all users.
36402
36403 (find_drive): Rename to ...
36404 (find_system_device): ... this. Update all users.
36405
36406 2008-06-04 Robert Millan <rmh@aybabtu.com>
36407
36408 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36409 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36410 (make_device_map): Likewise.
36411
36412 2008-06-01 Robert Millan <rmh@aybabtu.com>
36413
36414 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36415 before dereferencing it.
36416
36417 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36418 union with fat12/fat16-specific ones. Add some new fields, including
36419 `num_serial' for both versions.
36420 (struct grub_fat_data): Add `uuid' member.
36421 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36422 names. Initialize `data->uuid' using `num_serial'.
36423 (grub_fat_uuid): New function.
36424 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36425
36426 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36427 (grub_reiserfs_uuid): New function.
36428 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36429 member.
36430
36431 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36432 (grub_xfs_uuid): New function.
36433 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36434
36435 2008-06-01 Robert Millan <rmh@aybabtu.com>
36436
36437 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36438 code that is backward compatible with pre-uuid search command.
36439
36440 2008-05-31 Robert Millan <rmh@aybabtu.com>
36441
36442 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36443 floppies after everything else, to ensure floppy drive isn't accessed
36444 unnecessarily (patch from Bean).
36445
36446 2008-05-31 Robert Millan <rmh@aybabtu.com>
36447
36448 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36449 not print device names when we were asked to set a variable.
36450
36451 2008-05-31 Robert Millan <rmh@aybabtu.com>
36452
36453 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36454 using "cursor-on" and "cursor-off" commands (understood at least by
36455 the Open Firmware flavour on OLPC).
36456
36457 2008-05-31 Michael Gorven <michael@gorven.za.net>
36458
36459 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36460 on and off sequences.
36461
36462 2008-05-31 Robert Millan <rmh@aybabtu.com>
36463
36464 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36465 * util/update-grub.in: Likewise.
36466
36467 2008-05-30 Pavel Roskin <proski@gnu.org>
36468
36469 * util/biosdisk.c (linux_find_partition): Simplify logic and
36470 make the code more universal. Keep special processing for
36471 devfs, but use a simple rule for all other devices. If the
36472 device ends with a number, append 'p' and the partition number.
36473 Otherwise, append only the partition number.
36474
36475 2008-05-30 Robert Millan <rmh@aybabtu.com>
36476
36477 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36478 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36479 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36480 the `root' parameter to Linux.
36481
36482 2008-05-30 Robert Millan <rmh@aybabtu.com>
36483
36484 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36485 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36486 --fs_uuid with --fs-uuid.
36487 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36488 all filesystems support them).
36489
36490 2008-05-30 Robert Millan <rmh@aybabtu.com>
36491
36492 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36493 grub_printf() flags, since we're printing in units of 2 bytes.
36494
36495 2008-05-30 Robert Millan <rmh@aybabtu.com>
36496
36497 * util/grub.d/00_header.in: Remove obsolete comment referencing
36498 convert_system_path_to_grub_path().
36499 * util/update-grub.in: Likewise.
36500 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36501 (convert_system_path_to_grub_path): Add a warning message explaining
36502 that this function is deprecated. Rely on is_path_readable_by_grub()
36503 for the readability checks.
36504 (font_path): Use is_path_readable_by_grub() for the readability
36505 check rather than convert_system_path_to_grub_path().
36506
36507 2008-05-30 Robert Millan <rmh@aybabtu.com>
36508
36509 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36510 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36511 converting it first.
36512 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36513 grub.cfg for access to font file, and afterwards call it again to set
36514 the root device.
36515
36516 2008-05-30 Robert Millan <rmh@aybabtu.com>
36517
36518 * commands/search.c (options): Add --fs_uuid option.
36519 (search_fs_uuid): New function.
36520 (grub_cmd_search): Fix --set argument passing.
36521 Use search_fs_uuid() when requested via --fs_uuid.
36522 (grub_search_init): Update help message.
36523 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36524 and redeclare it as an array of 16-bit words.
36525 (grub_ext2_uuid): New function.
36526 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36527 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36528 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36529 (GRUB_DEVICE_BOOT_UUID): New variables.
36530 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36531 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36532 whenever possible.
36533 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36534 just assume `root' variable has the right value.
36535 * util/grub.d/10_linux.in: Likewise.
36536 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36537 via PRINT_FS_UUID.
36538 (main): Recognise `-t fs_uuid' argument.
36539
36540 2008-05-30 Robert Millan <rmh@aybabtu.com>
36541
36542 * util/biosdisk.c (map): Redefine structure to hold information
36543 about GRUB drive name.
36544 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36545 drive names.
36546 (call_hook): Remove.
36547 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36548 member. Assume drive has partitions.
36549 (grub_util_biosdisk_open): Access device names via `.device' struct
36550 member.
36551 (open_device): Likewise.
36552 (find_drive): Likewise.
36553 (read_device_map): Adjust map[] usage to match the new struct
36554 definition. Don't check for duplicates (still possible, but not cheap
36555 anymore).
36556 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36557 (make_device_name): Remove assumption of BIOS-like drive names.
36558
36559 2008-05-30 Pavel Roskin <proski@gnu.org>
36560
36561 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36562 compiling execute.c doesn't need grub_script.tab.h anymore.
36563 (normal/command.c_DEPENDENCIES): Likewise.
36564 (normal/function.c_DEPENDENCIES): Likewise.
36565 * conf/i386-ieee1275.rmk: Likewise.
36566 * conf/i386-linuxbios.rmk: Likewise.
36567 * conf/i386-pc.rmk: Likewise.
36568 * conf/powerpc-ieee1275.rmk: Likewise.
36569 * conf/sparc64-ieee1275.rmk: Likewise.
36570
36571 2008-05-29 Pavel Roskin <proski@gnu.org>
36572
36573 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36574 when scanning metadata for volume group name.
36575
36576 * include/grub/script.h: Don't include grub_script.tab.h. It's
36577 a generated file, which may only be included from the files with
36578 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36579 use union YYSTYPE, as the later allows forward declaration.
36580 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36581
36582 2008-05-29 Robert Millan <rmh@aybabtu.com>
36583
36584 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36585 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36586 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36587 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36588 scan codes.
36589
36590 2008-05-29 Robert Millan <rmh@aybabtu.com>
36591
36592 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36593 control key combinations.
36594
36595 2008-05-29 Robert Millan <rmh@aybabtu.com>
36596
36597 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36598 * util/ieee1275/grub-install.in: ... to here.
36599 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36600 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36601 (grub_install_SOURCES): Likewise.
36602
36603 2008-05-29 Robert Millan <rmh@aybabtu.com>
36604
36605 * fs/affs.c: Update copyright year.
36606 * fs/ext2.c: Likewise.
36607 * fs/fshelp.c: Likewise.
36608 * fs/hfsplus.c: Likewise.
36609 * fs/ntfs.c: Likewise.
36610 * fs/xfs.c: Likewise.
36611 * include/grub/fshelp.h: Likewise.
36612 * util/grub-mkdevicemap.c: Likewise.
36613
36614 2008-05-28 Robert Millan <rmh@aybabtu.com>
36615
36616 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36617 might need to be fatfs to support some firmware implementations
36618 (e.g. OFW or EFI).
36619
36620 2008-05-28 Robert Millan <rmh@aybabtu.com>
36621
36622 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36623 devices.
36624 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36625 (make_device_map): Likewise.
36626
36627 2008-05-20 Bean <bean123ch@gmail.com>
36628
36629 * fs/fshelp.c (grub_fshelp_map_block): New function.
36630 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36631 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36632
36633 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36634 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36635 (grub_fshelp_journal): New structure.
36636 (grub_fshelp_map_block): New function prototype.
36637 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36638 (grub_fshelp_map_block): Likewise.
36639
36640 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36641 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36642 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36643 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36644 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36645 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36646 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36647 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36648 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36649 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36650 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36651 (grub_ext2_sblock): New members for journal support.
36652 (grub_ext3_journal_header): New structure.
36653 (grub_ext3_journal_revoke_header): Likewise.
36654 (grub_ext3_journal_block_tag): Likewise.
36655 (grub_ext3_journal_sblock): Likewise.
36656 (grub_fshelp_node): New members logfile and journal.
36657 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36658 grub_fshelp_map_block to get real block number.
36659 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36660 number.
36661 (grub_ext2_read_inode): Likewise.
36662 (grub_ext3_get_journal): New function.
36663 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36664 (grub_ext2_close): Release memory used by journal.
36665
36666 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36667 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36668 (grub_reiserfs_transaction_header): Renamed to
36669 grub_reiserfs_description_block, replace field data with real_blocks.
36670 (grub_reiserfs_commit_block): New structure.
36671 (grub_reiserfs_data): New member journal.
36672 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36673 number.
36674 (grub_reiserfs_read_symlink): Likewise.
36675 (grub_reiserfs_iterate_dir): Likewise.
36676 (grub_reiserfs_open): Likewise.
36677 (grub_reiserfs_read): Likewise.
36678 (grub_reiserfs_get_journal): New function.
36679 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36680 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36681 using grub_reiserfs_get_journal.
36682 (grub_reiserfs_close): Release memory used by journal.
36683
36684 * fs/affs.c (grub_affs_read_block): Change block type to
36685 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36686
36687 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36688
36689 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36690
36691 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36692
36693 * fs/udf.c (grub_udf_read_block): Change block type to
36694 grub_disk_addr_t. Use type cast to avoid warning.
36695
36696 * fs/xfs.c (grub_xfs_read_block): Likewise.
36697
36698 2008-05-16 Christian Franke <franke@computer.org>
36699
36700 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36701 to ensure that break with ESC will always work.
36702 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36703 Remove ESC from keyboard queue.
36704
36705 2008-05-16 Christian Franke <franke@computer.org>
36706
36707 * util/biosdisk.c: [__CYGWIN__] Add includes.
36708 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36709 (get_os_disk): Move variable declarations to OS specific
36710 parts to avoid warning.
36711 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36712 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36713 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36714 Cygwin.
36715 * util/getroot.c: [__CYGWIN__] Add includes.
36716 (strip_extra_slashes): Fix "/" case.
36717 [__CYGWIN__] (get_win32_path): New function.
36718 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36719 [__CYGWIN__] (find_root_device): Disable.
36720 [__CYGWIN__] (get_bootsec_serial): New function.
36721 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36722 [__linux__] (grub_guess_root_device): Add early returns to simplify
36723 structure.
36724 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36725 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36726 check for Linux only.
36727
36728 2008-05-15 Bean <bean123ch@gmail.com>
36729
36730 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36731 keyboard hang problem in apple's intel mac.
36732
36733 2008-05-09 Robert Millan <rmh@aybabtu.com>
36734
36735 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36736 devices.
36737 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36738 (make_device_map): Likewise.
36739 Reported by Aurelien Jarno <aurel32@debian.org>
36740
36741 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
36742
36743 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36744 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36745 (make_device_map): Output entries for xvd type disks.
36746
36747 2008-05-07 Robert Millan <rmh@aybabtu.com>
36748
36749 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36750 devices.
36751 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36752 (make_device_map): Likewise.
36753 Reported by Roland Dreier <rdreier@cisco.com>
36754
36755 2008-05-07 Robert Millan <rmh@aybabtu.com>
36756
36757 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36758 grub_strstr() call. Correct a few mistakes in failure path handling.
36759
36760 2008-05-06 Robert Millan <rmh@aybabtu.com>
36761
36762 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36763 Do not print a trailing slash (therefore, the root directory is an
36764 empty string).
36765 (convert_system_path_to_grub_path): Do not remove trailing slash
36766 from make_system_path_relative_to_its_root() output.
36767
36768 * util/i386/pc/grub-install.in: Add trailing slash to output from
36769 make_system_path_relative_to_its_root().
36770
36771 2008-05-06 Robert Millan <rmh@aybabtu.com>
36772
36773 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36774 ensures that output lines aren't intermangled with those sent to
36775 stderr (via grub_util_info()).
36776 * util/grub-probe.c (grub_refresh): Likewise.
36777 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36778
36779 2008-05-05 Christian Franke <franke@computer.org>
36780
36781 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36782 Add Cygwin device names.
36783 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36784 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36785 (check_device): Return error instead of success on empty name.
36786 (make_device_map): Move label inside linux specific code to
36787 prevent compiler warning.
36788
36789 2008-04-30 Robert Millan <rmh@aybabtu.com>
36790
36791 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36792 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36793 first boot option.
36794 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36795
36796 2008-04-29 Robert Millan <rmh@aybabtu.com>
36797
36798 * docs/grub.cfg: New file (example GRUB configuration).
36799
36800 2008-04-26 Robert Millan <rmh@aybabtu.com>
36801
36802 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36803 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36804 and `disk/ieee1275/nand.c'.
36805
36806 2008-04-25 Bean <bean123ch@gmail.com>
36807
36808 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36809 i386-linuxbios.
36810
36811 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36812 change the buffer size to 4096 for cdrom device.
36813
36814 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36815 and nand.mod.
36816 (_linux_mod_SOURCES): New variable.
36817 (_linux_mod_CFLAGS): Likewise.
36818 (_linux_mod_LDFLAGS): Likewise.
36819 (linux_mod_SOURCES): Likewise.
36820 (linux_mod_CFLAGS): Likewise.
36821 (linux_mod_LDFLAGS): Likewise.
36822 (nand_mod_SOURCES): Likewise.
36823 (nand_mod_CFLAGS): Likewise.
36824 (nand_mod_LDFLAGS): Likewise.
36825
36826 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36827 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36828 type property. (nand device in olpc don't have this property)
36829
36830 * include/grub/disk.h (grub_disk_dev_id): New macro
36831 GRUB_DISK_DEVICE_NAND_ID.
36832
36833 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36834 function prototype.
36835 (grub_rescue_cmd_initrd): Likewise.
36836
36837 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36838 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36839 ofw_cif_handler and ofw_idt, adjust padding number.
36840
36841 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36842 GRUB_MACHINE_IEEE1275 is defined.
36843
36844 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36845 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36846
36847 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36848 on nested function heap_init.
36849 (grub_upper_mem): New variable for i386-ieee1275.
36850 (grub_get_extended_memory): New function for i386-ieee1275.
36851 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36852
36853 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36854 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36855 property.
36856
36857 * loader/i386/ieee1275/linux.c: New file.
36858
36859 * loader/i386/ieee1275/linux_normal.c: New file.
36860
36861 * disk/ieee1275/nand.c: New file.
36862
36863 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36864
36865 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36866 value.
36867 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36868
36869 2008-04-18 Robert Millan <rmh@aybabtu.com>
36870
36871 Restructures early code path on ieee1275 to unify grub_main() as
36872 the first C function that is executed in every platform.
36873
36874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36875 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36876 cmain().
36877 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36878 * kern/ieee1275/cmain.c (cmain): Rename to ...
36879 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36880 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36881 at the beginning.
36882
36883 2008-04-18 Robert Millan <rmh@aybabtu.com>
36884
36885 * util/update-grub.in: Fix syntax error when setting
36886 `GRUB_PRELOAD_MODULES'.
36887 Reported by Stephane Chazelas <stephane@artesyncp.com>
36888
36889 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36890
36891 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36892 section into account, newer toolchains generate unique build ids
36893 * configure.ac: remove the test for --build-id=none acceptance,
36894 we want build ids to be preserved
36895 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36896 far from other sections don't cause the raw binary images grow
36897 size
36898
36899 2008-04-15 Robert Millan <rmh@aybabtu.com>
36900
36901 * disk/lvm.c: Update copyright year.
36902 * kern/misc.c: Likewise.
36903
36904 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36905
36906 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36907 there is no memory left for physical volume name.
36908
36909 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36910
36911 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36912 volume name mapping to support bigger than 9 character names properly.
36913
36914 2008-04-13 Robert Millan <rmh@aybabtu.com>
36915
36916 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36917 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36918
36919 2008-04-13 Christian Franke <franke@computer.org>
36920
36921 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36922 to create a floppy emulation boot CD when non emulation mode
36923 does not work.
36924 Enable Joliet CD filesystem extension.
36925
36926 2008-04-13 Robert Millan <rmh@aybabtu.com>
36927
36928 * kern/misc.c (grub_strncat): Fix off-by-one error.
36929 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36930
36931 * kern/env.c (grub_env_context_close): Clear current context, not
36932 previous one.
36933 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36934
36935 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36936
36937 2008-04-13 Robert Millan <rmh@aybabtu.com>
36938
36939 Improve robustness when handling LVM.
36940
36941 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36942 (and leave `*p' unmodified).
36943 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36944 through it.
36945 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36946 iterating through it.
36947 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36948 through it.
36949 (grub_lvm_scan_device): Check the return value (and fail gracefully
36950 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36951 Don't assume `vg->pvs != NULL' when iterating through it.
36952
36953 2008-04-13 Robert Millan <rmh@aybabtu.com>
36954
36955 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36956 * genmk.rb (partmap): New variable.
36957 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36958 (#{partmap}): New target rule.
36959 * genpartmaplist.sh: New file.
36960 * Makefile.in (pkglib_DATA): Add partmap.lst.
36961 (partmap.lst): New target rule.
36962 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36963 modules (including all partition maps), instead of preloading them.
36964
36965 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36966
36967 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36968 `linux-boot-prober' (if installed) to detect other operating
36969 systems which are installed on the computer and add them to
36970 the boot menu.
36971 * conf/common.rmk: Build and install 30_os-prober.
36972
36973 2008-04-12 Robert Millan <rmh@aybabtu.com>
36974
36975 * kern/powerpc/ieee1275/init.c: Move from here ...
36976 * kern/ieee1275/init.c: ... to here. Update all users.
36977
36978 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36979 * kern/ieee1275/cmain.c: ... to here. Update all users.
36980
36981 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36982 * kern/ieee1275/openfw.c: ... to here. Update all users.
36983
36984 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36985 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36986
36987 2008-04-10 Pavel Roskin <proski@gnu.org>
36988
36989 * configure.ac: Always use "_cv_" in cache variables for
36990 compatibility with Autoconf 2.62.
36991
36992 2008-04-07 Robert Millan <rmh@aybabtu.com>
36993
36994 Revert grub/machine/init.h addition by Pavel (since it breaks on
36995 i386-ieee1275 and others):
36996 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36997 * util/powerpc/ieee1275/misc.c: Likewise.
36998
36999 2008-04-07 Robert Millan <rmh@aybabtu.com>
37000
37001 * util/grub-probe.c (probe): Improve error message.
37002
37003 2008-04-07 Robert Millan <rmh@aybabtu.com>
37004
37005 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37006 (this prevents the presence of a bogus entry from ruining the whole
37007 thing).
37008
37009 2008-04-06 Pavel Roskin <proski@gnu.org>
37010
37011 * util/biosdisk.c: Include grub/util/biosdisk.h.
37012 * util/grub-fstest.c (execute_command): Make static.
37013 * util/grub-mkdevicemap.c (check_device): Likewise.
37014 * util/i386/pc/misc.c: Include grub/machine/init.h.
37015 * util/powerpc/ieee1275/misc.c: Likewise.
37016 * util/lvm.c: Include grub/util/lvm.h.
37017 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37018 grub/cache.h.
37019 * util/raid.c: Include grub/util/raid.h.
37020 (grub_util_getdiskname): Make static.
37021
37022 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37023 grub_hostfs_fini(), as they are called from grub_init_all() and
37024 grub_fini_all() respectively. This fixes an infinite loop in
37025 grub-fstest due to double registration of hostfs.
37026 Reported by Christian Franke <Christian.Franke@t-online.de>
37027
37028 2008-04-05 Pavel Roskin <proski@gnu.org>
37029
37030 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37031 all 8 functions. Otherwise, probe function 0 only.
37032
37033 2008-04-04 Pavel Roskin <proski@gnu.org>
37034
37035 * commands/lspci.c (grub_lspci_iter): Print the bus number
37036 correctly.
37037
37038 * commands/lspci.c (grub_pci_classes): Fix typos.
37039 (grub_lspci_iter): Don't print func twice. Print vendor ID
37040 before device ID, as it's normally done.
37041
37042 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37043 Fix signedness warnings.
37044 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37045 Likewise.
37046 * util/ieee1275/get_disk_name.c: Include config.h so that
37047 _GNU_SOURCE is defined and getline() is declared. Mark an
37048 unused argument as such. Fix a signedness warning.
37049
37050 2008-04-02 Pavel Roskin <proski@gnu.org>
37051
37052 * genkernsyms.sh.in: Use more robust assignments for CC and
37053 srcdir. Quote srcdir.
37054 * gensymlist.sh.in: Likewise. Assert at the compile time that
37055 the symbol table is not empty.
37056
37057 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37058 * fs/cpio.c (grub_cpio_read): Likewise.
37059
37060 2008-04-01 Pavel Roskin <proski@gnu.org>
37061
37062 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37063 * disk/host.c (grub_host_open): Likewise.
37064 * disk/loopback.c (grub_loopback_open): Likewise.
37065 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37066 disk->id as in disk/host.c, not a multi-character constant.
37067
37068 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37069 later is obsolete, potentially dangerous and sets a bad example.
37070 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37071 * util/misc.c (grub_util_get_image_size): Likewise.
37072
37073 * disk/loopback.c (options): Improve help for "--partitions".
37074
37075 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37076 options to align them with the short options, e.g. "echo -e".
37077
37078 2008-03-31 Bean <bean123ch@gmail.com>
37079
37080 * video/reader/png.c (grub_png_data): New member is_16bit and
37081 image_data.
37082 (grub_png_decode_image_header): Detect 16 bit png image.
37083 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37084 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37085 (grub_video_reader_png): Release memory occupied by image_data.
37086
37087 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37088 4096 bytes.
37089 (grub_nfs_mount): Skip the test for sector per cluster.
37090
37091 * include/grub/ntfs.h (MAX_SPC): Removed.
37092
37093 2008-03-31 Bean <bean123ch@gmail.com>
37094
37095 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37096 (grub_probe_SOURCES): Add fs/afs.c.
37097 (grub_fstest_SOURCES): Likewise.
37098 (afs_mod_SOURCES): New variable.
37099 (afs_mod_CFLAGS): Likewise.
37100 (afs_mod_LDFLAGS): Likewise.
37101
37102 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37103 (grub_emu_SOURCES): Likewise.
37104
37105 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37106
37107 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37108
37109 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37110
37111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37112
37113 * fs/afs.c: New file.
37114
37115 2008-03-30 Pavel Roskin <proski@gnu.org>
37116
37117 * disk/host.c: Include grub/misc.h to fix a warning.
37118 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37119 warnings about implicit declarations.
37120
37121 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37122 variable.
37123 * include/grub/i386/loader.h: Change declaration of
37124 grub_linux_boot() to match what grub_loader_set() expects.
37125 * util/getroot.c (grub_guess_root_device): Return const char* to
37126 fix a warning.
37127 * util/grub-probe.c (probe): Fix a warning about uninitialized
37128 abstraction_name variable.
37129 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37130 second argument as unused to fix a warning.
37131
37132 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37133 missing grub_error() call.
37134
37135 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37136 2.60 and newer uses it to define datadir.
37137
37138 * commands/sleep.c: Fix warning about implicit declaration.
37139 * disk/memdisk.c: Likewise.
37140 * loader/aout.c: Likewise.
37141 * loader/i386/bsd_normal.c: Likewise.
37142 * util/grub-probe.c: Likewise.
37143
37144 * commands/i386/cpuid.c (has_longmode): Make static.
37145 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37146 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37147
37148 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37149 GDT. This is more robust, as %ds can change.
37150 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37151 calling real_to_prot().
37152 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37153
37154 2008-03-28 Pavel Roskin <proski@gnu.org>
37155
37156 * kern/i386/pc/startup.S: Assert that uncompressed functions
37157 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37158 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37159 code, as they push parts of the code (error handlers) beyond
37160 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37161 code as correctness and size.
37162
37163 2008-03-28 Pavel Roskin <proski@gnu.org>
37164
37165 * kern/i386/pc/startup.S
37166 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37167 data block address to the real mode, keep offset minimal. This
37168 works around a bug in AWARD BIOS on old Athlon systems, which
37169 makes CD detection hang.
37170
37171 2008-03-26 Pavel Roskin <proski@gnu.org>
37172
37173 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37174 const.
37175 * include/grub/normal.h: Add grub_parse_color_name_pair()
37176 declaration.
37177
37178 2008-03-24 Bean <bean123ch@gmail.com>
37179
37180 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37181 (cd_count): Removed.
37182 (cd_drive): New variable.
37183 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37184 (grub_biosdisk_call_hook): Likewise.
37185 (grub_biosdisk_iterate): Change cdrom detection method.
37186 (grub_biosdisk_open): Replace cd_start with cd_drive.
37187 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37188 detect cdrom device.
37189
37190 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37191 Removed.
37192 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37193 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37194 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37195 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37196 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37197 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37198 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37199 (grub_biosdisk_cdrp): New structure.
37200 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37201
37202 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37203
37204 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37205 device.
37206
37207 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37208 New function.
37209
37210 2008-03-20 Robert Millan <rmh@aybabtu.com>
37211
37212 Remove 2 TiB limit in ata.mod.
37213 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37214 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37215 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37216 grub_uint64_t instead of grub_uint32_t.
37217
37218 2008-03-05 Bean <bean123ch@gmail.com>
37219
37220 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37221 (grub_multiboot): Set boot device.
37222
37223 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37224
37225 2008-03-02 Bean <bean123ch@gmail.com>
37226
37227 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37228 symlink_buffer.
37229
37230 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37231
37232 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37233 texinfo.tex.
37234
37235 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37236 modified.
37237
37238 * docs/fdl.texi: New file.
37239
37240 * docs/mdate-sh: New file. Copied from gnulib.
37241 * docs/texinfo.tex: Likewise.
37242
37243 * config.guess: Updated from gnulib.
37244 * install-sh: Likewise.
37245
37246 2008-02-28 Robert Millan <rmh@aybabtu.com>
37247
37248 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37249 (aout_mod_SOURCES): New variable.
37250 (aout_mod_CFLAGS): Likewise.
37251 (aout_mod_LDFLAGS): Likewise.
37252
37253 * conf/i386-ieee1275.rmk: Likewise.
37254
37255 2008-02-28 Robert Millan <rmh@aybabtu.com>
37256
37257 * util/update-grub.in: Reorganise terminal validity check. Accept
37258 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37259 Based on suggestion by Franklin PIAT.
37260
37261 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37262
37263 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37264 function.
37265 * util/getroot.c (grub_util_check_block_device): New function that
37266 returns the given argument if it is a block device and returns NULL else.
37267 * util/grub-probe.c (argument_is_device): New variable.
37268 (probe): Promote device_name from a variable to an argument. Receive
37269 device_name from grub_util_check_block_device() if path is NULL and from
37270 grub_guess_root_device() else. Do not free() device_name anymore.
37271 (options): Introduce new parameter '-d, --device'.
37272 (main): Add description of the new parameter to the help screen.
37273 Rename path variable to argument. Set argument_is_device if the '-d'
37274 option is given. Pass argument to probe() depending on
37275 argument_is_device.
37276
37277 2008-02-24 Bean <bean123ch@gmail.com>
37278
37279 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37280 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37281 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37282 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37283 (GRUB_ISO9660_VOLDESC_END): Likewise.
37284 (grub_iso9660_primary_voldesc): New member escape.
37285 (grub_iso9660_data): New member joliet.
37286 (grub_iso9660_convert_string): New function.
37287 (grub_iso9660_mount): Detect joliet extension.
37288 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37289 (grub_iso9660_iso9660_label): Likewise.
37290
37291 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37292 (grub_setup_SOURCES): Add fs/udf.c.
37293 (grub_fstest_SOURCES): Likewise.
37294 (udf_mod_SOURCES): New variable.
37295 (udf_mod_CFLAGS): Likewise.
37296 (udf_mod_LDFLAGS): Likewise.
37297
37298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37299 (grub_emu_SOURCES): Likewise.
37300
37301 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37302
37303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37304
37305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37306
37307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37308
37309 * fs/udf.c: New file.
37310
37311 2008-02-24 Robert Millan <rmh@aybabtu.com>
37312
37313 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37314 (normal/lexer.c_DEPENDENCIES): New variables.
37315 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37316 (normal/lexer.c_DEPENDENCIES): Likewise.
37317 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37318 (normal/lexer.c_DEPENDENCIES): Likewise.
37319 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37320 (normal/lexer.c_DEPENDENCIES): Likewise.
37321 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37322 (normal/lexer.c_DEPENDENCIES): Likewise.
37323 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37324 (normal/lexer.c_DEPENDENCIES): Likewise.
37325
37326 2008-02-23 Robert Millan <rmh@aybabtu.com>
37327
37328 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37329 since they were intended to be in hex. This didn't break previously
37330 because of a bug in gpt_partition_map_iterate() (see below).
37331
37332 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37333 when checking the validity of GPT header.
37334 Remove `partno', since it always provides the same information as `i'.
37335
37336 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37337
37338 * include/grub/efi/time.h: Fix a wrong comment.
37339
37340 2008-02-19 Pavel Roskin <proski@gnu.org>
37341
37342 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37343 message.
37344
37345 2008-02-19 Bean <bean123ch@gmail.com>
37346
37347 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37348 (aout_mod_SOURCES): New variable.
37349 (aout_mod_CFLAGS): Likewise.
37350 (aout_mod_LDFLAGS): Likewise.
37351 (_bsd_mod_SOURCES): New variable.
37352 (_bsd_mod_CFLAGS): Likewise.
37353 (_bsd_mod_LDFLAGS): Likewise.
37354 (bsd_mod_SOURCES): New variable.
37355 (bsd_mod_CFLAGS): Likewise.
37356 (bsd_mod_LDFLAGS): Likewise.
37357
37358 * include/grub/aout.h: New file.
37359
37360 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37361
37362 * include/grub/i386/bsd.h: New file.
37363
37364 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37365 to make it public.
37366
37367 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37368 function is called, so that it's possible to change it inside the hook.
37369 (grub_elf64_load): Likewise.
37370 (grub_elf_file): Don't close the file if elf header is not found.
37371 (grub_elf_close): Close the file if grub_elf_file fails (The new
37372 grub_elf_file won't close it).
37373 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37374 (grub_elf64_size): Likewise.
37375
37376 * kern/i386/loader.S (grub_unix_real_boot): New function.
37377
37378 * loader/aout.c: New file.
37379
37380 * loader/i386/bsd.c: New file.
37381
37382 * loader/i386/bsd_normal.c: New file.
37383
37384 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37385
37386 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
37387 can test other formats.
37388
37389 2008-02-19 Robert Millan <rmh@aybabtu.com>
37390
37391 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37392 (grub_gpt_partition_type_empty): Redefine with macro from
37393 `<grub/gpt_partition.h>'.
37394 (gpt_partition_map_iterate): Adjust partition type comparison.
37395
37396 Export `entry' as partmap-specific `part.data' struct.
37397 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37398
37399 * include/grub/gpt_partition.h (grub_gpt_header)
37400 (grub_gpt_partentry): ... to here (new file).
37401
37402 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37403
37404 (grub_gpt_partition_type_bios_boot): New const variable, defined
37405 with macro from `<grub/gpt_partition.h>'.
37406
37407 (setup): Replace `first_start' with `embed_region', which keeps
37408 track of the embed region (and is partmap-agnostic).
37409
37410 Replace find_first_partition_start() with find_usable_region(),
37411 which finds a usable region for embedding using partmap-specific
37412 knowledge (supports PC/MSDOS and GPT).
37413
37414 Fix all assumptions that the embed region start at sector 1, using
37415 `embed_region.start' from now on. Similarly, use `embed_region.end'
37416 rather than `first_start' to calculate available size.
37417
37418 In grub_util_info() message, replace "into after the MBR" with an
37419 indication of the specific sector our embed region starts at.
37420
37421 2008-02-19 Robert Millan <rmh@aybabtu.com>
37422
37423 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37424 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37425 `commands/reboot.c'.
37426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37427 (halt_mod_SOURCES): Likewise.
37428 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37429 (halt_mod_SOURCES): Likewise.
37430
37431 2008-02-17 Christian Franke <franke@computer.org>
37432
37433 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37434
37435 2008-02-17 Robert Millan <rmh@aybabtu.com>
37436
37437 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37438 set `first_start' to 0 for non-PC/MSDOS partition maps.
37439
37440 2008-02-16 Robert Millan <rmh@aybabtu.com>
37441
37442 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37443 do not assume partition map is PC/MSDOS before performing checks that
37444 are specific to that layout.
37445
37446 2008-02-13 Robert Millan <rmh@aybabtu.com>
37447
37448 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37449 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37450 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37451
37452 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37453
37454 * configure.ac: Only a cosmetic change on the handling of
37455 -fno-stack-protector.
37456
37457 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37458
37459 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37460 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37461 reboot.c.
37462 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37463 (halt_mod_SOURCES): New variable.
37464 (halt_mod_CFLAGS): Likewise.
37465 (halt_mod_LDFLAGS): Likewise.
37466 (reboot_mod_SOURCES): Likewise.
37467 (reboot_mod_CFLAGS): Likewise.
37468 (reboot_mod_LDFLAGS): Likewise.
37469
37470 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37471 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37472 reboot.c.
37473 (halt_mod_SOURCES): Likewise.
37474 (reboot_mod_SOURCES): Likewise.
37475
37476 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37477 commands/i386/pc/reboot.c by commands/reboot.c.
37478 (reboot_mod_SOURCES): Likewise.
37479
37480 * commands/i386/pc/reboot.c: merge this file ...
37481
37482 * commands/ieee1275/reboot.c: ... and this file ...
37483
37484 * commands/reboot.c: ... to this file.
37485 Add some precompiler directive to include the correct header for
37486 each machine.
37487
37488 * commands/ieee1275/halt.c: move this file ...
37489
37490 * commands/halt.c: ... to here.
37491 Add some precompiler directive to include the correct header for
37492 each machine.
37493
37494 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37495 (grub_halt): Likewise.
37496
37497 * kern/efi/efi.c (grub_reboot): New function.
37498 (grub_halt): Likewise.
37499
37500 2008-02-12 Robert Millan <rmh@aybabtu.com>
37501
37502 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37503 /dev (like it is done for /dev/mapper). This doesn't provide support
37504 for EVMS, but at least it is now easy to identify the problem when it
37505 arises.
37506
37507 2008-02-11 Robert Millan <rmh@aybabtu.com>
37508
37509 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37510 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37511 comparing it with -1, not 0.
37512
37513 2008-02-10 Robert Millan <rmh@aybabtu.com>
37514
37515 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37516 `disk/lvm.c'.
37517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37518 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37519
37520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37521 `disk/lvm.c' to the end of the list.
37522 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37523 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37524
37525 2008-02-10 Robert Millan <rmh@aybabtu.com>
37526
37527 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37528 grub_print_error() instead. This will let user know why we're entering
37529 rescue mode.
37530 Based on suggestions from Sam Morris.
37531
37532 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37533
37534 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37535 on remaining N args, instead of "--" arg N times.
37536
37537 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37538
37539 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37540 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37541 pattern for unknown glyphs.
37542
37543 2008-02-09 Robert Millan <rmh@aybabtu.com>
37544
37545 * configure.ac: Probe for `help2man'.
37546 * Makefile.in (builddir): New variable.
37547 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37548 or otherwise add a few flags/options to it.
37549 (install-local): For every executable utility or script that is
37550 installed, invoke $(HELP2MAN) to install a manpage based on --help
37551 output.
37552
37553 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37554 that it doesn't prevent --help from working in build tree.
37555
37556 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37557 with `bug-grub@gnu.org'.
37558 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37559 * util/update-grub.in (usage): New function.
37560 Implement proper argument check, with support for --help and --version
37561 (as well as existing -y).
37562
37563 2008-02-09 Christian Franke <franke@computer.org>
37564
37565 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37566 avoid overwriting previous output.
37567 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37568
37569 2008-02-09 Robert Millan <rmh@aybabtu.com>
37570
37571 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37572 drawing the menu.
37573
37574 2008-02-09 Robert Millan <rmh@aybabtu.com>
37575
37576 * commands/sleep.c: New file.
37577 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37578 (sleep_mod_SOURCES): New variable.
37579 (sleep_mod_CFLAGS): Likewise.
37580 (sleep_mod_LDFLAGS): Likewise.
37581
37582 2008-02-09 Robert Millan <rmh@aybabtu.com>
37583
37584 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37585 situations in which we can deduce the RAID size and the superblock
37586 doesn't match it.
37587
37588 2008-02-09 Robert Millan <rmh@aybabtu.com>
37589
37590 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37591 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37592 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37593
37594 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37595 and return a grub_diskmemberlist_t composed of physical array members.
37596 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37597
37598 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37599 prototype.
37600 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37601 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37602 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37603
37604 * util/grub-probe.c (probe): Move partmap probing code from here ...
37605 (probe_partmap): ... to here.
37606 (probe): Use probe_partmap() once for the disk we're probing, and
37607 additionally, when such disk contains a memberlist() struct member,
37608 once for each disk that is contained in the structure returned by
37609 memberlist().
37610
37611 2008-02-09 Robert Millan <rmh@aybabtu.com>
37612
37613 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37614 environment variable to 'all' in order to obtain debug output from
37615 non-util/ code.
37616 * util/i386/pc/grub-setup.c (main): Likewise.
37617
37618 2008-02-08 Robert Millan <rmh@aybabtu.com>
37619
37620 * disk/raid.c (grub_raid_scan_device): Check for
37621 `array->device[sb.this_disk.number]' rather than for
37622 `array->device[sb.this_disk.number]->name', since the latter is not
37623 guaranteed to be accessible.
37624
37625 2008-02-08 Robert Millan <rmh@aybabtu.com>
37626
37627 * disk/raid.c: Update copyright.
37628 * fs/cpio.c: Likewise.
37629 * include/grub/raid.h: Likewise.
37630 * loader/i386/pc/multiboot.c: Likewise.
37631 * util/hostfs.c: Likewise.
37632
37633 2008-02-08 Robert Millan <rmh@aybabtu.com>
37634
37635 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37636 to a grub_disk_t array.
37637 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37638 `device[x]'.
37639 (grub_raid_scan_device): Replace `device[x].name' accesses with
37640 `device[x]->name'. Simplify initialization of `array->device[x]'.
37641
37642 2008-02-08 Robert Millan <rmh@aybabtu.com>
37643
37644 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37645 grub_dprintf() calls.
37646 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37647 error message.
37648
37649 2008-02-07 Christian Franke <franke@computer.org>
37650
37651 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37652 instead of fseek and ftell to support large files.
37653 (grub_hostfs_read): Likewise.
37654
37655 2008-02-07 Robert Millan <rmh@aybabtu.com>
37656
37657 Patch from Jeroen Dekkers.
37658 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
37659 failure, since successfully reading all array members might not be
37660 required.
37661
37662 2008-02-06 Robert Millan <rmh@aybabtu.com>
37663
37664 * util/grub-probe.c (probe): Simplify partmap probing (with the
37665 assumption that the first word up to the underscore equals to
37666 the module name).
37667
37668 2008-02-06 Christian Franke <franke@computer.org>
37669
37670 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37671 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37672 last block of a cpio or tar stream.
37673 Check for "TRAILER!!!" instead of any empty data
37674 block to detect last block of a cpio stream.
37675 (grub_cpio_dir): Fix constness of variable np.
37676 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37677 cpio or tar trailer is detected. This fixes a crash
37678 on open of a non existing file.
37679
37680 2008-02-05 Bean <bean123ch@gmail.com>
37681
37682 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37683 address of entry.
37684 (grub_multiboot_load_elf64): Likewise.
37685 (grub_multiboot): Initialize mbi structure.
37686
37687 * util/grub-fstest.c: Don't include unused header file script.h.
37688
37689 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
37690 of file.
37691 (grub_fstest_SOURCES): Likewise.
37692
37693 2008-02-05 Robert Millan <rmh@aybabtu.com>
37694
37695 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37696 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37697 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37698 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37699
37700 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37701 (translation_table): Replace hardcoded values with macros
37702 provided by `<grub/term.h>'.
37703
37704 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37705 (keyboard_map): Correct/add a few values, with macros provided
37706 by `<grub/term.h>'.
37707 (keyboard_map_shift): Zero values that don't differ from their
37708 `keyboard_map' equivalents.
37709 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37710 Discard the second scan code that is always sent by Caps lock.
37711 Only use `keyboard_map_shift' when it provides a non-zero value,
37712 otherwise fallback to `keyboard_map'.
37713
37714 2008-02-04 Bean <bean123ch@gmail.com>
37715
37716 * Makefile.in (enable_grub_fstest): New variable.
37717
37718 * conf/common.rmk (grub_fstest_init.lst): New rule.
37719 (grub_fstest_init.h): Likewise.
37720 (grub_fstest_init.c): Likewise.
37721 (util/grub-fstest.c_DEPENDENCIES): New variable.
37722 (grub_fstest_SOURCES): Likewise.
37723
37724 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37725
37726 * util/grub-fstest.c: New file.
37727
37728 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37729
37730 Make grub-setup handle a separate root device.
37731
37732 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37733 so that the root device can be compared with the destination
37734 device.
37735 When embedding the core image, if the root and destination devices
37736 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37737 0xFF.
37738 When not embedding, set ROOT_DRIVE to 0xFF.
37739
37740 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37741
37742 Add support for having a grub directory in a different drive. This
37743 is still only the data handling part.
37744
37745 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37746 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37747 (grub_root_drive): New variable.
37748
37749 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37750 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37751 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37752 as it was.
37753
37754 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37755
37756 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37757 macro.
37758 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37759
37760 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37761 is bogus, because PXE booting does not specify any drive
37762 correctly.
37763
37764 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37765 am not sure if this is really correct.
37766
37767 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37768 is always identical to the boot drive when booting from a CD.
37769
37770 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37771 longer.
37772 (root_drive): New variable.
37773 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37774 (setup_sectors): Push %dx right after popping it, because %dh will
37775 be modified later.
37776 (copy_buffer): Restore %dx.
37777
37778 2008-02-03 Robert Millan <rmh@aybabtu.com>
37779
37780 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37781 use `cdboot.img' for cdrom images.
37782
37783 2008-02-03 Robert Millan <rmh@aybabtu.com>
37784
37785 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37786 only setup gfxterm when `font' command has succeeded.
37787
37788 2008-02-03 Robert Millan <rmh@aybabtu.com>
37789
37790 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37791 (grub_rescue_cmd_multiboot_loader)
37792 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37793
37794 2008-02-03 Pavel Roskin <proski@gnu.org>
37795
37796 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
37797 %edx and %esi from stack only after grub_gate_a20() is called.
37798 grub_gate_a20() clobbers %edx.
37799
37800 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37801
37802 * configure.ac (AC_INIT): Bumped to 1.96.
37803
37804 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37805 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37806 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37807 video/readers/png.c.
37808
37809 2008-02-03 Bean <bean123ch@gmail.com>
37810
37811 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37812 (cdboot_img_SOURCES): New variable.
37813 (cdboot_img_ASFLAGS): New variable.
37814 (cdboot_img_LDFLAGS): New variable.
37815
37816 * boot/i386/pc/cdboot.S: New file.
37817
37818 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37819 (cd_count): Likewise.
37820 (grub_biosdisk_get_drive): Add support for cd device.
37821 (grub_biosdisk_call_hook): Likewise.
37822 (grub_biosdisk_iterate): Likewise.
37823 (grub_biosdisk_open): Likewise.
37824 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37825 (grub_biosdisk_rw): Support reading from cd device.
37826 (GRUB_MOD_INIT): Iterate cd devices.
37827
37828 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37829 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37830 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37831
37832 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37833
37834 2008-02-02 Robert Millan <rmh@aybabtu.com>
37835
37836 * commands/read.c: New file.
37837 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37838 (read_mod_SOURCES): New variable.
37839 (read_mod_CFLAGS): Likewise.
37840 (read_mod_LDFLAGS): Likewise.
37841
37842 2008-02-02 Robert Millan <rmh@aybabtu.com>
37843
37844 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37845 determining whether menu has to be displayed.
37846
37847 2008-02-02 Marco Gerards <marco@gnu.org>
37848
37849 * bus/pci.c: New file.
37850
37851 * include/grub/pci.h: Likewise.
37852
37853 * include/grub/i386/pc/pci.h: Likewise.
37854
37855 * commands/lspci.c: Likewise.
37856
37857 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37858 `lspci.mod'.
37859 (pci_mod_SOURCES): New variable.
37860 (pci_mod_CFLAGS): Likewise.
37861 (pci_mod_LDFLAGS): Likewise.
37862 (lspci_mod_SOURCES): Likewise.
37863 (lspci_mod_CFLAGS): Likewise.
37864 (lspci_mod_LDFLAGS): Likewise.
37865
37866 2008-02-02 Bean <bean123ch@gmail.com>
37867
37868 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37869 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37870
37871 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37872 (grub_xfs_btree_node): New structure.
37873 (grub_xfs_btree_root): New structure.
37874 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37875 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37876 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37877 (GRUB_XFS_EXTENT_SIZE): Likewise.
37878 (grub_xfs_read_block): Support btree format type.
37879 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37880 Use directory block as basic unit.
37881
37882 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37883
37884 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37885 __attribute__ ((__regparm__ (1))).
37886
37887 2008-02-01 Robert Millan <rmh@aybabtu.com>
37888
37889 Correct a mistake in previous commit.
37890
37891 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37892 top.
37893 (normal/command.c_DEPENDENCIES): New variable.
37894
37895 2008-02-01 Robert Millan <rmh@aybabtu.com>
37896
37897 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37898 top.
37899 (normal/command.c_DEPENDENCIES): New variable.
37900 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37901 * conf/i386-ieee1275.rmk: Likewise.
37902 * conf/i386-linuxbios.rmk: Likewise.
37903 * conf/i386-pc.rmk: Likewise.
37904 * conf/sparc64-ieee1275.rmk: Likewise.
37905 * conf/powerpc-ieee1275.rmk: Likewise.
37906 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37907
37908 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37909
37910 2008-02-01 Robert Millan <rmh@aybabtu.com>
37911
37912 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37913 call at beginning of function.
37914
37915 2008-01-31 Pavel Roskin <proski@gnu.org>
37916
37917 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37918 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37919 (grub_mkrescue_SOURCES): Likewise.
37920 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37921
37922 2008-01-30 Robert Millan <rmh@aybabtu.com>
37923
37924 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37925 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37926 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37927 (grub_probe_SOURCES): ... to here.
37928
37929 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37930 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37931 * conf/i386-ieee1275.rmk: Likewise.
37932 * conf/i386-linuxbios.rmk: Likewise.
37933 * conf/powerpc-ieee1275.rmk: Likewise.
37934
37935 2008-01-30 Tristan Gingold <gingold@free.fr>
37936
37937 * kern/rescue.c: Silently accept empty lines.
37938
37939 2008-01-29 Bean <bean123ch@gmail.com>
37940
37941 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37942 (real_code_2): Code cleanup and change comment style.
37943 (move_memory): Avoid using 32-bit address mode.
37944
37945 2008-01-29 Bean <bean123ch@gmail.com>
37946
37947 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37948 (png_mod_SOURCES): New variable.
37949 (png_mod_CFLAGS): Likewise.
37950 (png_mod_LDFLAGS): Likewise.
37951
37952 * video/readers/png.c: New file.
37953
37954 2008-01-28 Robert Millan <rmh@aybabtu.com>
37955
37956 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37957 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37958 `ifndef GRUB_MOD_GAP' hack.
37959 * util/elf/grub-mkimage.c (add_segments): Likewise.
37960
37961 2008-01-27 Robert Millan <rmh@aybabtu.com>
37962
37963 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37964 `GRUB_MOD_GAP' for platforms in which it's not defined.
37965 * util/elf/grub-mkimage.c (add_segments): Likewise.
37966
37967 2008-01-27 Robert Millan <rmh@aybabtu.com>
37968
37969 Get grub-emu to build again (including parallel builds).
37970
37971 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37972 Split into ...
37973 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37974 (normal/execute.c_DEPENDENCIES): ... this, ...
37975 (grub-emu_DEPENDENCIES): ... and this.
37976
37977 * conf/i386-efi.rmk: Likewise.
37978 * conf/i386-linuxbios.rmk: Likewise.
37979 * conf/i386-ieee1275.rmk: Likewise.
37980 * conf/powerpc-ieee1275.rmk: Likewise.
37981 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37982
37983 2008-01-27 Robert Millan <rmh@aybabtu.com>
37984
37985 * NEWS: Add a few items.
37986
37987 2008-01-27 Robert Millan <rmh@aybabtu.com>
37988
37989 Fix parallel builds with grub-emu. Based on earlier commit for
37990 grub-probe and grub-setup.
37991
37992 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37993 (util/grub-emu.c_DEPENDENCIES): ... this.
37994 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37995 (util/grub-emu.c_DEPENDENCIES): ... this.
37996 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37997 (util/grub-emu.c_DEPENDENCIES): ... this.
37998 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37999 (util/grub-emu.c_DEPENDENCIES): ... this.
38000 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38001 (util/grub-emu.c_DEPENDENCIES): ... this.
38002
38003 2008-01-27 Pavel Roskin <proski@gnu.org>
38004
38005 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38006 to create a gap between _end and the modules added to the image
38007 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38008 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38009 * util/elf/grub-mkimage.c (add_segments): Likewise.
38010
38011 2008-01-26 Pavel Roskin <proski@gnu.org>
38012
38013 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38014 just return an error.
38015
38016 2008-01-26 Bean <bean123ch@gmail.com>
38017
38018 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38019 (grub_reiserfs_get_item): Save offset of the next item.
38020 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38021
38022 2008-01-25 Robert Millan <rmh@aybabtu.com>
38023
38024 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38025 make all filesystem sources appear together (possibly fixing omissions
38026 while at it).
38027 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38028 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38029 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38031
38032 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38033 add `kern/file.c'.
38034 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38035 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38036 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38037 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38038
38039 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38040 (probe): Add a sanity check to make sure of our ability to read
38041 requested files when probing for filesystem type.
38042
38043 * genmk.rb: Update copyright year (2007).
38044
38045 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38046 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38047 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38048 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38049 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38050 : Remove function prototypes.
38051
38052 2008-01-25 Robert Millan <rmh@aybabtu.com>
38053
38054 Revert my previous commits (based on wrong assumption of how grub_errno
38055 works).
38056
38057 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
38058 * kern/file.c (grub_file_open): Likewise.
38059
38060 2008-01-24 Pavel Roskin <proski@gnu.org>
38061
38062 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38063 that hang if GRUB tries to setup colors.
38064 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38065 colors for firmwares that don't support it.
38066 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38067 Recognize Open Hack'Ware, set flags to work around its
38068 limitations.
38069
38070 2008-01-24 Robert Millan <rmh@aybabtu.com>
38071
38072 * kern/file.c (grub_file_open): Do not account previous failures of
38073 unrelated functions when grub_errno is checked for.
38074 Reported by Oleg Strikov.
38075
38076 2008-01-24 Bean <bean123ch@gmail.com>
38077
38078 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38079 (grub_ufs_sblock): New member volume name.
38080 (grub_ufs_find_file): Fix string copy bug.
38081 (grub_ufs_label): Implement this function properly.
38082
38083 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38084 (grub_hfs_iterate_records): Use the correct file number for extents
38085 and catalog file. Fix problem in next index calculation.
38086 (grub_hfs_find_node): Replace recursive function call with loop.
38087 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38088
38089 2008-01-23 Robert Millan <rmh@aybabtu.com>
38090
38091 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38092 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38093 (grub_multiboot2_real_boot): New function prototype.
38094
38095 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38096 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38097
38098 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38099 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38100
38101 2008-01-23 Robert Millan <rmh@aybabtu.com>
38102
38103 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38104 #ifdef'ed out grub_printf().
38105
38106 2008-01-23 Robert Millan <rmh@aybabtu.com>
38107
38108 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38109 grub_dprintf calls, since they make "debug=all" mode unusable.
38110 (grub_console_checkkey): Likewise.
38111
38112 2008-01-23 Robert Millan <rmh@aybabtu.com>
38113
38114 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38115 `term/i386/pc/at_keyboard.c'.
38116 (pkglib_MODULES): Add `serial.mod'.
38117 (serial_mod_SOURCES): New variable.
38118 (serial_mod_CFLAGS): Likewise.
38119 (serial_mod_LDFLAGS): Likewise.
38120
38121 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38122 `<grub/powerpc/ieee1275/console.h>'.
38123 (grub_keyboard_controller_init): New function prototype.
38124 (grub_console_checkkey): Likewise.
38125 (grub_console_getkey): Likewise.
38126
38127 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38128 keyboard on i386.
38129
38130 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38131 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38132
38133 2008-01-23 Robert Millan <rmh@aybabtu.com>
38134
38135 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38136 present, "(memdisk)/boot/grub" becomes the default prefix.
38137
38138 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38139 a memdisk tarball with all the modules. Add --overlay=DIR option that
38140 allows users to overlay additional files into the image.
38141
38142 2008-01-23 Robert Millan <rmh@aybabtu.com>
38143
38144 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38145 and `machine/memory.h'.
38146 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38147 (_multiboot_mod_SOURCES): New variable.
38148 (_multiboot_mod_CFLAGS): Likewise.
38149 (_multiboot_mod_LDFLAGS): Likewise.
38150 (multiboot_mod_SOURCES): Likewise.
38151 (multiboot_mod_CFLAGS): Likewise.
38152 (multiboot_mod_LDFLAGS): Likewise.
38153
38154 * include/grub/i386/ieee1275/loader.h: New file.
38155
38156 * include/grub/i386/ieee1275/machine.h: Likewise.
38157
38158 * include/grub/i386/ieee1275/memory.h: Likewise.
38159
38160 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38161 variable declaration.
38162 (grub_os_area_size): Likewise.
38163
38164 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38165 (grub_lower_mem, grub_upper_mem): New variables.
38166 (grub_stop_floppy): New function (just to make
38167 grub_multiboot2_real_boot() happy).
38168
38169 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38170 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38171 (grub_stop): New function.
38172 Include `"../realmode.S"' and `"../loader.S"'.
38173
38174 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38175 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38176
38177 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38178 rely on grub_multiboot2_real_boot() for final boot.
38179
38180 2008-01-22 Robert Millan <rmh@aybabtu.com>
38181
38182 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38183 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38184 device that doesn't look like an SD card.
38185 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38186 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38187 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38188 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38189 found.
38190
38191 2008-01-22 Robert Millan <rmh@aybabtu.com>
38192
38193 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38194 avoid claiming over our own code.
38195
38196 2008-01-22 Bean <bean123ch@gmail.com>
38197
38198 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38199 (jpeg_mod_SOURCES): New variable.
38200 (jpeg_mod_CFLAGS): Likewise.
38201 (jpeg_mod_LDFLAGS): Likewise.
38202
38203 * video/readers/jpeg.c : New file.
38204
38205 2008-01-22 Bean <bean123ch@gmail.com>
38206
38207 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38208 there are no more items.
38209
38210 2008-01-21 Robert Millan <rmh@aybabtu.com>
38211
38212 * kern/mm.c (grub_mm_init_region): Improve debug message.
38213
38214 2008-01-21 Robert Millan <rmh@aybabtu.com>
38215
38216 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38217 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38218 address.
38219 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38220 a C macro.
38221 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38222 Indicates start of upper memory.
38223 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38224 (generate_image): Abort when image size is big enough to corrupt
38225 upper memory.
38226
38227 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38228 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38229 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38230 instead of hardcoding 0xA0000.
38231 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38232 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38233 instead of hardcoding 0xA0000.
38234
38235 2008-01-21 Robert Millan <rmh@aybabtu.com>
38236
38237 * disk/memdisk.c (memdisk_size): New variable.
38238 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38239 `memdisk_size'.
38240 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38241 image to dynamic memory.
38242 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38243 `memdisk_size'. Free memdisk block.
38244
38245 2008-01-21 Robert Millan <rmh@aybabtu.com>
38246
38247 Fix detection of very small filesystems (like tar).
38248
38249 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38250 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38251 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38252 a problem with this disk).
38253
38254 2008-01-21 Robert Millan <rmh@aybabtu.com>
38255
38256 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38257 on grub_biosdisk_rw_standard() error.
38258
38259 2008-01-21 Robert Millan <rmh@aybabtu.com>
38260
38261 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38262 recent changes.
38263 * kern/elf.c: Likewise.
38264 * kern/ieee1275/ieee1275.c: Likewise.
38265 * kern/powerpc/ieee1275/openfw.c: Likewise.
38266 * term/ieee1275/ofconsole.c: Likewise.
38267
38268 2008-01-21 Robert Millan <rmh@aybabtu.com>
38269
38270 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38271
38272 * include/grub/kernel.h (grub_arch_memdisk_addr)
38273 (grub_arch_memdisk_size): Moved from here ...
38274
38275 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38276 (grub_arch_memdisk_size): ... to here.
38277
38278 2008-01-21 Robert Millan <rmh@aybabtu.com>
38279
38280 Mostly based on bugfix from Bean.
38281
38282 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38283 attribute with hook() parameter.
38284 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38285 declaration.
38286 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38287 attribute with hook() parameter.
38288 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38289 declaration.
38290
38291 2008-01-21 Robert Millan <rmh@aybabtu.com>
38292
38293 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38294 (pkglib_MODULES): Add `memdisk.mod'.
38295 (memdisk_mod_SOURCES): New variable.
38296 (memdisk_mod_CFLAGS): Likewise.
38297 (memdisk_mod_LDFLAGS): Likewise.
38298
38299 * disk/memdisk.c: New file.
38300
38301 * include/grub/disk.h (grub_disk_dev_id): Add
38302 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38303
38304 * include/grub/i386/pc/kernel.h
38305 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38306 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38307 (grub_kernel_image_size): New variable declaration.
38308 (grub_total_module_size): Likewise.
38309 (grub_memdisk_image_size): Likewise.
38310
38311 * include/grub/i386/pc/memory.h
38312 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38313
38314 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38315 (grub_arch_memdisk_addr): New variable declaration.
38316 (grub_arch_memdisk_size): Likewise.
38317
38318 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38319 (grub_arch_memdisk_size): Likewise.
38320
38321 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38322 (codestart): Replace hardcoded `0x100000' with
38323 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38324
38325 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38326 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38327 not NULL, append the contents of the file it refers to, at the end of
38328 the compressed kernel image. Initialize `grub_memdisk_image_size'
38329 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38330 (options): Add "memdisk"|'m' option.
38331 (main): Parse --memdisk|-m option, and pass user-provided path as
38332 parameter to generate_image().
38333
38334 2008-01-20 Robert Millan <rmh@aybabtu.com>
38335
38336 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38337 grub_dprintf() calls from here ...
38338 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38339
38340 2008-01-20 Robert Millan <rmh@aybabtu.com>
38341
38342 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38343
38344 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38345 declaration.
38346 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38347 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38348 `GRUB_IEEE1275_FLAG_REAL_MODE'.
38349 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
38350 property).
38351 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38352 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38353
38354 2008-01-19 Robert Millan <rmh@aybabtu.com>
38355
38356 Get rid of confusing function (superseded by
38357 `grub_ieee1275_get_integer_property')
38358 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38359 prototype.
38360 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38361 function.
38362 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38363 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
38364 in native endianness from grub_ieee1275_get_integer_property().
38365
38366 2008-01-19 Robert Millan <rmh@aybabtu.com>
38367
38368 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38369 command after "shut-down", since implementations differ on which
38370 the command for halt is.
38371
38372 2008-01-19 Robert Millan <rmh@aybabtu.com>
38373
38374 * include/grub/i386/linuxbios/console.h: Add header protection.
38375 (grub_keyboard_controller_init): New function prototype.
38376 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38377 (KEYBOARD_COMMAND_READ): Likewise.
38378 (KEYBOARD_COMMAND_WRITE): Likewise.
38379 (KEYBOARD_SCANCODE_SET1): Likewise.
38380 (grub_keyboard_controller_write): New function.
38381 (grub_keyboard_controller_read): Likewise.
38382 (grub_keyboard_controller_init): Likewise.
38383
38384 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38385 (grub_console_init): On coreboot/LinuxBIOS, call
38386 grub_keyboard_controller_init().
38387
38388 2008-01-19 Robert Millan <rmh@aybabtu.com>
38389
38390 PowerPC changes provided by Pavel Roskin.
38391
38392 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38393 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38394 don't rely on cmain() doing it.
38395 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38396 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38397
38398 2008-01-16 Robert Millan <rmh@aybabtu.com>
38399
38400 * include/grub/i386/linuxbios/memory.h
38401 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38402 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38403 receive `table_header' as argument. Instead, probe for it in the
38404 known memory ranges where it can be present.
38405 (grub_available_iterate): Do not pass a fixed `table_header' address
38406 to grub_linuxbios_table_iterate().
38407
38408 2008-01-15 Robert Millan <rmh@aybabtu.com>
38409
38410 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38411 * conf/i386-ieee1275.rmk: New file.
38412 * include/grub/i386/ieee1275/console.h: Likewise.
38413 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38414 * include/grub/i386/ieee1275/kernel.h: Likewise.
38415 * include/grub/i386/ieee1275/time.h: Likewise.
38416 * kern/i386/ieee1275/init.c: Likewise.
38417 * kern/i386/ieee1275/startup.S: Likewise.
38418
38419 2008-01-15 Robert Millan <rmh@aybabtu.com>
38420
38421 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38422 when pointers are 32-bit (but still do set it to one when they are
38423 64-bit).
38424
38425 2008-01-15 Robert Millan <rmh@aybabtu.com>
38426
38427 * include/grub/ieee1275/ieee1275.h
38428 (grub_ieee1275_get_integer_property): New function prototype.
38429
38430 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38431 (grub_ieee1275_get_integer_property): New function. Wraps around
38432 grub_ieee1275_get_property() to handle endianness.
38433
38434 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38435 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38436 where appropriate.
38437 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38438 (grub_map): Likewise.
38439 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38440
38441 2008-01-15 Bean <bean123ch@gmail.com>
38442
38443 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38444 (grub_script_execute_cmdline): Reset grub_errno.
38445
38446 * normal/main.c (read_config_file): Reset grub_errno.
38447
38448 * normal/parse.y (script_init): New.
38449 (script): Move function and menuentry here.
38450 (delimiter): New.
38451 (command): Add delimiter at the end of command.
38452 (commands): Adjust to match the new command.
38453 (commandblock): Remove grub_script_lexer_record_start.
38454 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38455 (if): Use the new commands.
38456
38457 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38458
38459 2008-01-15 Robert Millan <rmh@aybabtu.com>
38460
38461 * normal/menu.c (run_menu): Move timeout message from here ...
38462 (print_timeout): ... to here.
38463 (run_menu): Use print_timeout() once during initial draw to print
38464 the whole message, and again in every clock tick to update only
38465 the number of seconds.
38466
38467 2008-01-15 Robert Millan <rmh@aybabtu.com>
38468
38469 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38470 actual size of `available' from grub_ieee1275_get_property(), and
38471 restrict parsing to that bound.
38472
38473 2008-01-15 Christian Franke <franke@computer.org>
38474
38475 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38476 (argp_program_version): Remove variable.
38477 (argp_program_bug_address): Likewise.
38478 (options): Convert from struct argp_option to struct option.
38479 (struct arguments): Remove.
38480 (parse_opt): Remove.
38481 (usage): New function.
38482 (main): Replace struct args members by simple variables.
38483 Replace argp_parse() by getopt_long().
38484 Add switch to evaluate options.
38485 Add missing "(...)" around root_dev in prefix string.
38486
38487 2008-01-14 Robert Millan <rmh@aybabtu.com>
38488
38489 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38490 for grub_ieee1275_exit(), in order to improve portability.
38491
38492 2008-01-14 Robert Millan <rmh@aybabtu.com>
38493
38494 * util/grub.d/10_linux.in (prefix): Define.
38495 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38496
38497 2008-01-13 Pavel Roskin <proski@gnu.org>
38498
38499 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38500 grub_errno if no errors have been detected.
38501
38502 2008-01-12 Robert Millan <rmh@aybabtu.com>
38503
38504 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38505 (grub_util_get_dev_abstraction): New function prototype.
38506
38507 * util/getroot.c: Include `<grub/util/getroot.h>'
38508 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38509 (grub_util_get_dev_abstraction): ... here (new function).
38510
38511 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38512 `PRINT_ABSTRACTION'.
38513 (probe): Probe for abstraction type when requested.
38514 (main): Understand `--target=abstraction'.
38515
38516 * util/i386/efi/grub-install.in: Add abstraction module to core
38517 image when it is found to be necessary.
38518 * util/i386/pc/grub-install.in: Likewise.
38519 * util/powerpc/ieee1275/grub-install.in: Likewise.
38520
38521 * util/update-grub_lib.in (font_path): Return system path without
38522 converting to GRUB path.
38523 * util/update-grub.in: Convert system path returned by font_path()
38524 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38525 abstraction module is needed for loading fonts (if any). Export
38526 that as `GRUB_PRELOAD_MODULES'.
38527 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38528 insmod commands).
38529
38530 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38531
38532 Remove some unused code from reiserfs.
38533
38534 * fs/reiserfs.c (struct grub_reiserfs_key)
38535 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38536 (struct grub_reiserfs_node_body): Removed.
38537 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38538 Likewise.
38539 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38540 Likewise.
38541 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38542 Likewise.
38543 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38544 Likewise.
38545 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38546 Likewise.
38547 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38548 Likewise.
38549 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38550 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38551 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38552
38553 2008-01-10 Robert Millan <rmh@aybabtu.com>
38554
38555 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38556 Determines if a file is garbage left by packaging systems, etc.
38557 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38558 for processing /etc/grub.d scripts.
38559 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38560 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38561 as a condition for processing Linux images.
38562
38563 2008-01-10 Pavel Roskin <proski@gnu.org>
38564
38565 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38566 to compile reiserfs.c on PowerPC.
38567
38568 2008-01-10 Robert Millan <rmh@aybabtu.com>
38569
38570 * kern/device.c (grub_device_iterate): Do not abort device iteration
38571 when one of the devices cannot be opened.
38572 * kern/disk.c (grub_disk_open): Do not account previous failures of
38573 unrelated functions when grub_errno is checked for.
38574
38575 2008-01-08 Robert Millan <rmh@aybabtu.com>
38576
38577 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38578 `! grub_linux_is_bzimage', change order of address comparison to make
38579 it more intuitive, and improve "too big zImage" error message.
38580
38581 2008-01-08 Robert Millan <rmh@aybabtu.com>
38582
38583 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38584 `$(update-grub_DATA)'.
38585 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38586 targets.
38587
38588 2008-01-07 Robert Millan <rmh@aybabtu.com>
38589
38590 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38591 which instruction is modified by grub-setup during installation
38592 (since it wasn't obvious by only looking at this file).
38593
38594 2008-01-07 Robert Millan <rmh@aybabtu.com>
38595
38596 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38597 listing actual TODO items.
38598
38599 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38600
38601 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38602 correctly.
38603 (grub_reiserfs_get_key_offset): Likewise.
38604 (grub_reiserfs_set_key_offset): Likewise.
38605 (grub_reiserfs_set_key_type): Likewise.
38606 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38607
38608 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38609 better to remove the bitfield version completely.
38610
38611 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38612
38613 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38614 allocated from the heap, due to the fshelp implementation.
38615 (grub_reiserfs_dir): Free NODE, due to the same reason.
38616
38617 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38618
38619 Mostly from Vincent Pelletier:
38620
38621 * fs/reiserfs.c: New file.
38622
38623 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38624 (reiserfs_mod_SOURCES): New variable.
38625 (reiserfs_mod_CFLAGS): Likewise.
38626 (reiserfs_mod_LDFLAGS): Likewise.
38627
38628 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38629 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38630 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38631 normal/color.c.
38632
38633 2008-01-06 Robert Millan <rmh@aybabtu.com>
38634
38635 * normal/color.c: Remove `<grub/env.h>'.
38636
38637 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38638
38639 * include/grub/normal.h: Include <grub/env.h>.
38640
38641 2008-01-05 Robert Millan <rmh@aybabtu.com>
38642
38643 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38644 usage example with `(hd0,1)'.
38645 Reported by Samuel Thibault.
38646
38647 2008-01-05 Robert Millan <rmh@aybabtu.com>
38648
38649 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38650 (grub_linux_boot_zimage): Rename to ...
38651 (grub_linux_boot): ... this.
38652 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38653 (grub_linux_boot_zimage): Conditionalize zImage copy.
38654
38655 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38656 (grub_linux_boot_bzimage): Remove prototype.
38657 (grub_linux_boot_zimage): Rename to ...
38658 (grub_linux_boot): ... this.
38659
38660 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38661 (grub_linux_boot): Remove function.
38662
38663 2008-01-05 Robert Millan <rmh@aybabtu.com>
38664
38665 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38666 (grub_env_write_color_highlight): Likewise.
38667 (grub_wait_after_message): Likewise.
38668
38669 * normal/color.c: New file.
38670
38671 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38672 (normal_mod_DEPENDENCIES): Likewise.
38673
38674 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38675 (normal_mod_DEPENDENCIES): Likewise.
38676
38677 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38678 (normal_mod_DEPENDENCIES): Likewise.
38679
38680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38681 (normal_mod_DEPENDENCIES): Likewise.
38682
38683 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38684 for waiting after a message is printed.
38685 * normal/main.c (read_config_file): Likewise.
38686 (grub_normal_init): Register grub_env_write_color_normal() and
38687 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38688 `color_highlight' variables as global.
38689
38690 * normal/menu.c (grub_wait_after_message): New function.
38691 (grub_color_menu_normal): New variable. Replaces ...
38692 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38693 (grub_color_menu_highlight): New variable. Replaces ...
38694 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38695 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38696 `GRUB_TERM_COLOR_STANDARD'.
38697 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38698 `normal_code' and `highlight_code' to `old_color_normal' and
38699 `old_color_highlight', respectively.
38700 (grub_menu_init_page): Update colors when drawing the menu, based on
38701 `menu_color_normal' and `menu_color_highlight' variables.
38702 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38703 a message is printed.
38704
38705 2008-01-05 Robert Millan <rmh@aybabtu.com>
38706
38707 * kern/env.c (grub_env_context_open): Propagate hooks for global
38708 variables to new context.
38709
38710 * kern/main.c (grub_set_root_dev): Export `root' variable.
38711
38712 2008-01-05 Robert Millan <rmh@aybabtu.com>
38713
38714 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
38715 discs unconditionally, since udev and others have options to provide
38716 them.
38717
38718 2008-01-05 Robert Millan <rmh@aybabtu.com>
38719
38720 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38721
38722 2008-01-04 Christian Franke <franke@computer.org>
38723
38724 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38725 of eisa_mmap.
38726
38727 2008-01-03 Pavel Roskin <proski@gnu.org>
38728
38729 * kern/i386/linuxbios/init.c: Put "void" to all function
38730 declarations with no arguments.
38731 * kern/powerpc/ieee1275/init.c: Likewise.
38732 * term/i386/pc/at_keyboard.c: Likewise.
38733 * term/i386/pc/vga_text.c: Likewise.
38734 * util/grub-mkdevicemap.c: Likewise.
38735
38736 2008-01-02 Robert Millan <rmh@aybabtu.com>
38737
38738 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38739 message when loaded image is out of bounds.
38740 (grub_multiboot_load_elf64): Likewise.
38741
38742 2008-01-02 Pavel Roskin <proski@gnu.org>
38743
38744 * util/grub.d/10_linux.in: Try version without ".old" when
38745 looking for initrd. It's better to use initrd from the newer
38746 kernel of the same version than no initrd at all.
38747
38748 2008-01-01 Robert Millan <rmh@aybabtu.com>
38749
38750 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38751
38752 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38753
38754 * include/grub/video.h: Added grub_video_unmap_color and
38755 grub_video_get_active_render_target.
38756 (grub_video_adapter): Added unmap_color and get_active_render_target.
38757
38758 * video/video.c: Added grub_video_unmap_color and
38759 grub_video_get_active_render_target.
38760 (grub_video_get_info): Changed method to accept NULL pointer as an
38761 argument to allow detection of active video adapter.
38762
38763 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38764 grub_video_vbe_unmap_color_int.
38765 Added grub_video_vbe_unmap_color and
38766 grub_video_vbe_get_active_render_target.
38767 (grub_video_vbe_adapter): Added unmap_color and
38768 get_active_render_target.
38769
38770 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
38771 with grub_video_vbe_unmap_color_int.
38772
38773 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38774 (DEFAULT_NORMAL_COLOR): Likewise.
38775 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38776 (DEFAULT_FG_COLOR): Removed.
38777 (DEFAULT_BG_COLOR): Likewise.
38778 (DEFAULT_CURSOR_COLOR): Changed value.
38779 (grub_virtual_screen): Added standard_color_setting,
38780 normal_color_setting, highlight_color_setting and term_color.
38781 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38782 (bitmap_width): Added.
38783 (bitmap_height): Likewise.
38784 (bitmap): Likewise.
38785 (set_term_color): Likewise.
38786 (grub_virtual_screen_setup): Changed to use new terminal coloring
38787 settings.
38788 (grub_gfxterm_init): Added init for bitmap.
38789 (grub_gfxterm_fini): Added destroy for bitmap.
38790 (redraw_screen_rect): Updated to use background bitmap and new
38791 terminal coloring.
38792 (scroll_up): Added optimization for case when there is no bitmap.
38793 (grub_gfxterm_cls): Fixed to use correct background color.
38794 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38795 coloring.
38796 (grub_virtual_screen_setcolor): Likewise.
38797 (grub_virtual_screen_getcolor): Added.
38798 (grub_gfxterm_background_image_cmd): Likewise.
38799 (grub_video_term): Added setcolor and getcolor.
38800 (MOD_INIT): Added registration of background_image command.
38801 (MOD_TERM): Added unregistration for background_image command.
38802
38803 2007-12-30 Pavel Roskin <proski@gnu.org>
38804
38805 * loader/multiboot_loader.c: Fix multiboot command
38806 unregistration. Fix all typos in the word "multiboot".
38807
38808 2007-12-29 Pavel Roskin <proski@gnu.org>
38809
38810 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38811 support for initrd names used in Fedora.
38812
38813 2007-12-26 Bean <bean123ch@gmail.com>
38814
38815 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38816 (cpio_mod_SOURCES): New variable.
38817 (cpio_mod_CFLAGS): Likewise.
38818 (cpio_mod_LDFLAGS): Likewise.
38819
38820 * fs/cpio.c: New file.
38821
38822 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38823
38824 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38825
38826 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38827
38828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38829
38830 2007-12-25 Robert Millan <rmh@aybabtu.com>
38831
38832 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38833 (grub_getcolor): New function.
38834
38835 * kern/term.c (grub_getcolor): New function.
38836 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38837 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38838 (print_entry): Set normal and highlight colors to
38839 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38840 respectively, before printing and restore them to old
38841 values afterwards.
38842 (grub_menu_init_page): Likewise. Fill an additional colored space
38843 that would otherwise be left blank.
38844
38845 * term/efi/console.c (grub_console_getcolor): New function.
38846 (struct grub_console_term.getcolor): New variable.
38847 * term/i386/pc/console.c (grub_console_getcolor): New function.
38848 (struct grub_console_term.getcolor): New variable.
38849 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38850 (struct grub_console_term.getcolor): New variable.
38851
38852 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38853 (struct grub_console_term.setcolor): Remove variable.
38854 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38855 (struct grub_console_term.setcolor): Remove variable.
38856 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38857 (struct grub_console_term.setcolor): Remove variable.
38858 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38859 (struct grub_console_term.setcolor): Remove variable.
38860
38861 2007-12-25 Robert Millan <rmh@aybabtu.com>
38862
38863 * configure.ac: Search for possible unifont.hex locations, and
38864 define UNIFONT_HEX if found.
38865
38866 * Makefile.in (UNIFONT_HEX): Define variable.
38867 (DATA): Rename to ...
38868 (PKGLIB): ... this. Update all users.
38869 (PKGDATA): New variable.
38870 (pkgdata_IMAGES): Rename to ...
38871 (pkglib_IMAGES): ... this. Update all users.
38872 (pkgdata_MODULES): Rename to ...
38873 (pkglib_MODULES): ... this. Update all users.
38874 (pkgdata_PROGRAMS): Rename to ...
38875 (pkglib_PROGRAMS): ... this. Update all users.
38876 (pkgdata_DATA): Rename to ...
38877 (pkglib_DATA): ... this. Update all users.
38878 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38879 (unicode.pff, ascii.pff): New rules.
38880 (all-local): Add `$(PKGDATA)' dependency.
38881 (install-local): Process `$(PKGDATA)'.
38882
38883 * util/update-grub_lib.in (font_path): Search for *.pff files in
38884 a few more locations, including `${pkgdata}'.
38885
38886 2007-12-23 Robert Millan <rmh@aybabtu.com>
38887
38888 Patch from Bean <bean123ch@gmail.com>:
38889 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38890 `size'.
38891
38892 2007-12-21 Bean <bean123ch@gmail.com>
38893
38894 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38895 (ntfscomp_mod_SOURCES): New variable.
38896 (ntfscomp_mod_CFLAGS): Likewise.
38897 (ntfscomp_mod_LDFLAGS): Likewise.
38898
38899 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38900 (grub_probe_SOURCES): Likewise.
38901 (grub_emu_SOURCES): Likewise.
38902
38903 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38904 (grub_emu_SOURCES): Likewise.
38905
38906 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38907 (grub_emu_SOURCES): Likewise.
38908
38909 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38910 (grub_emu_SOURCES): Likewise.
38911
38912 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38913 (read_run_list): Renamed to grub_ntfs_read_run_list.
38914 (decomp_nextvcn): Moved to ntfscomp.c.
38915 (decomp_getch): Likewise.
38916 (decomp_get16): Likewise.
38917 (decomp_block): Likewise.
38918 (read_block): Likewise.
38919 (read_data): Partially moved to ntfscomp.c.
38920 (fixup): Change unsigned to grub_uint16_t.
38921 (read_mft): Change unsigned long to grub_uint32_t.
38922 (read_attr): Likewise.
38923 (read_data): Likewise.
38924 (read_run_data): Likewise.
38925 (read_run_list): Likewise.
38926 (read_mft): Likewise.
38927
38928 * fs/ntfscomp.c: New file.
38929
38930 * include/grub/ntfs.h: New file.
38931
38932 2007-12-16 Robert Millan <rmh@aybabtu.com>
38933
38934 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38935 IDE disk check, since Linux is known to support 20 IDE disks.
38936 Reported by Colin Watson.
38937
38938 2007-12-15 Bean <bean123ch@gmail.com>
38939
38940 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38941 (lnxboot_img_SOURCES): New variable.
38942 (lnxboot_img_ASFLAGS): Likewise.
38943 (lnxboot_img_LDFLAGS): Likewise.
38944
38945 * boot/i386/pc/lnxboot.S: New file.
38946
38947 2007-11-24 Pavel Roskin <proski@gnu.org>
38948
38949 * configure.ac: Test if '--build-id=none' is supported by the
38950 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38951 objcopy to generate incorrect binary files (binutils
38952 2.17.50.0.18-1 as shipped by Fedora 8).
38953 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38954 linking, so that build ID doesn't break the test.
38955
38956 2007-11-24 Pavel Roskin <proski@gnu.org>
38957
38958 * include/grub/i386/time.h: use "void" in the argument list
38959 of grub_cpu_idle().
38960 * include/grub/powerpc/time.h: Likewise.
38961 * include/grub/sparc64/time.h: Likewise.
38962
38963 2007-11-18 Christian Franke <franke@computer.org>
38964
38965 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38966 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38967 This fixes the problem that function keys did not work in grub-emu.
38968
38969 2007-11-18 Christian Franke <franke@computer.org>
38970
38971 * disk/host.c (grub_host_open): Remove attribute unused from
38972 name parameter. Add check for "host". This fixes the problem
38973 that grub-emu does not find partitions.
38974
38975 2007-11-18 Christian Franke <franke@computer.org>
38976
38977 * util/hostfs.c (is_dir): New function.
38978 (grub_hostfs_dir): Handle missing dirent.d_type case.
38979 (grub_hostfs_read): Add missing fseek().
38980 (grub_hostfs_label): Clear label pointer. This fixes a crash
38981 of grub-emu on "ls (host)".
38982
38983 2007-11-18 Christian Franke <franke@computer.org>
38984
38985 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38986 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38987 to 64 bit boundary by default.
38988
38989 2007-11-18 Bean <bean123ch@gmail.com>
38990
38991 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38992 (hexdump_mod_SOURCES): New variable.
38993 (hexdump_mod_CFLAGS): Likewise.
38994 (hexdump_mod_LDFLAGS): Likewise.
38995
38996 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38997
38998 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38999
39000 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39001
39002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39003
39004 * include/grub/hexdump.h: New file.
39005
39006 * commands/hexdump.c: New file.
39007
39008 2007-11-10 Robert Millan <rmh@aybabtu.com>
39009
39010 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39011 in grub_outb() calls.
39012 (beep_on): Likewise.
39013
39014 2007-11-10 Christian Franke <franke@computer.org>
39015
39016 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39017 (grub_menu_run): Likewise.
39018
39019 2007-11-10 Robert Millan <rmh@aybabtu.com>
39020
39021 * include/grub/i386/efi/machine.h: New file.
39022 * include/grub/i386/linuxbios/machine.h: Likewise.
39023 * include/grub/i386/pc/machine.h: Likewise.
39024 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39025 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39026
39027 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39028 (serial_hw_io_addr): New variable.
39029 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39030 instead of `(unsigned short *) 0x400'.
39031
39032 2007-11-10 Bean <bean123ch@gmail.com>
39033
39034 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39035
39036 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39037
39038 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39039 (vga_mod_SOURCES): Added.
39040 (vga_mod_CFLAGS): Likewise.
39041 (vga_mod_LDFLAGS): Likewise.
39042
39043 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39044 grub_outb() calls.
39045 (set_map_mask): Likewise.
39046 (set_read_map): Likewise.
39047 (set_read_address): Likewise.
39048 (vga_font): Removed variable.
39049 (get_vga_glyph): Removed function.
39050 (invalidate_char): Likewise.
39051 (write_char): Changed to use grub_font_get_glyph() for font
39052 information.
39053 (grub_vga_putchar): Likewise.
39054 (grub_vga_getcharwidth): Likewise.
39055
39056 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39057
39058 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39059 flags.
39060 (pxeboot_img_LDFLAGS): Likewise.
39061 (diskboot_img_LDFLAGS): Likewise.
39062 (kernel_img_LDFLAGS): Likewise.
39063
39064 2007-11-06 Robert Millan <rmh@aybabtu.com>
39065
39066 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39067 in grub_outb() calls.
39068 (serial_hw_init): Likewise.
39069
39070 2007-11-05 Robert Millan <rmh@aybabtu.com>
39071
39072 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39073 spaces. Skip non-regular files.
39074
39075 2007-11-05 Robert Millan <rmh@aybabtu.com>
39076
39077 * kern/disk.c (grub_disk_firmware_fini)
39078 (grub_disk_firmware_is_tainted): New variables.
39079
39080 * include/grub/disk.h (grub_disk_firmware_fini)
39081 (grub_disk_firmware_is_tainted): Likewise.
39082
39083 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39084 (grub_disk_biosdisk_fini): ... to here.
39085 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39086 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39087 is set. Register grub_disk_biosdisk_fini() in
39088 `grub_disk_firmware_fini'.
39089
39090 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39091 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39092 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39093 to finish existing firmware disk interface.
39094
39095 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39096 (ata_mod_SOURCES): New variable.
39097 (ata_mod_CFLAGS): Likewise.
39098 (ata_mod_LDFLAGS): Likewise.
39099
39100 2007-11-05 Robert Millan <rmh@aybabtu.com>
39101
39102 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39103 (grub_ata_wait): Reimplement using grub_millisleep().
39104
39105 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39106 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39107
39108 2007-11-03 Marco Gerards <marco@gnu.org>
39109
39110 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39111 (CRTC_ADDR_PORT): New macro.
39112 (CRTC_DATA_PORT): Likewise.
39113 (CRTC_CURSOR): Likewise.
39114 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39115 (CRTC_CURSOR_ADDR_LOW): Likewise.
39116 (update_cursor): New function.
39117 (grub_console_real_putchar): Call `update_cursor'.
39118 (grub_console_gotoxy): Likewise.
39119 (grub_console_cls): Set the default color when clearing the
39120 screen.
39121 (grub_console_setcursor): Implemented.
39122
39123 2007-11-03 Marco Gerards <marco@gnu.org>
39124
39125 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39126 become activate.
39127 (grub_ata_pio_write): Likewise.
39128
39129 (grub_atapi_identify): Wait after issuing an ATA command.
39130 (grub_atapi_packet): Likewise.
39131 (grub_ata_identify): Likewise.
39132 (grub_ata_readwrite): Likewise.
39133
39134 2007-11-03 Marco Gerards <marco@gnu.org>
39135
39136 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39137 (grub_ata_pio_write): Likewise.
39138 (grub_ata_readwrite): Use `grub_error', instead of
39139 returning `grub_errno'.
39140
39141 2007-11-03 Marco Gerards <marco@gnu.org>
39142
39143 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39144 grub_ata_pio_write once for every single sector, instead of for
39145 multiple sectors.
39146
39147 2007-10-31 Robert Millan <rmh@aybabtu.com>
39148
39149 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39150
39151 * conf/i386-linuxbios.rmk: New file.
39152
39153 * kern/i386/pc/hardware.c: Likewise.
39154 * term/i386/pc/at_keyboard.c: Likewise.
39155 * term/i386/pc/vga_text.c: Likewise.
39156
39157 * include/grub/i386/linuxbios/boot.h: Likewise.
39158 * include/grub/i386/linuxbios/console.h: Likewise.
39159 * include/grub/i386/linuxbios/init.h: Likewise.
39160 * include/grub/i386/linuxbios/kernel.h: Likewise.
39161 * include/grub/i386/linuxbios/loader.h: Likewise.
39162 * include/grub/i386/linuxbios/memory.h: Likewise.
39163 * include/grub/i386/linuxbios/serial.h: Likewise.
39164 * include/grub/i386/linuxbios/time.h: Likewise.
39165
39166 * kern/i386/linuxbios/init.c: Likewise.
39167 * kern/i386/linuxbios/startup.S: Likewise.
39168 * kern/i386/linuxbios/table.c: Likewise.
39169
39170 2007-10-31 Marco Gerards <marco@gnu.org>
39171
39172 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39173 (ata_mod_SOURCES): New variable.
39174 (ata_mod_CFLAGS): Likewise.
39175 (ata_mod_LDFLAGS): Likewise.
39176
39177 * disk/ata.c: New file.
39178
39179 * include/grub/disk.h (grub_disk_dev_id): Add
39180 `GRUB_DISK_DEV_ATA_ID'.
39181
39182 2007-10-31 Robert Millan <rmh@aybabtu.com>
39183
39184 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39185 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39186
39187 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39188 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39189
39190 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39191 `<grub/types.h>'.
39192
39193 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39194
39195 2007-10-27 Robert Millan <rmh@aybabtu.com>
39196
39197 * include/grub/types.h (ULONG_MAX): Define macro.
39198
39199 2007-10-22 Robert Millan <rmh@aybabtu.com>
39200
39201 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39202 `"../realmode.S"'.
39203 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39204
39205 2007-10-22 Robert Millan <rmh@aybabtu.com>
39206
39207 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39208 (pkgdata_MODULES): Add `biosdisk.mod'.
39209 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39210 variables.
39211
39212 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39213 (grub_biosdisk_init): Replace with ...
39214 (GRUB_MOD_INIT(biosdisk)): ... this.
39215 (grub_biosdisk_fini): Replace with ...
39216 (GRUB_MOD_FINI(biosdisk)): ... this.
39217
39218 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39219 (grub_machine_init): Remove call to grub_biosdisk_init().
39220 (grub_machine_fini): Remove call to grub_machine_fini().
39221
39222 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39223
39224 2007-10-22 Robert Millan <rmh@aybabtu.com>
39225
39226 * include/grub/time.h: New file.
39227 * include/grub/i386/time.h: Likewise.
39228 * include/grub/powerpc/time.h: Likewise.
39229 * include/grub/sparc64/time.h: Likewise.
39230
39231 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39232 instances to ...
39233 (KERNEL_MACHINE_TIME_HEADER): ... this.
39234 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39235 instances to ...
39236 (KERNEL_MACHINE_TIME_HEADER): ... this.
39237 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39238 instances to ...
39239 (KERNEL_MACHINE_TIME_HEADER): ... this.
39240
39241 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39242 (grub_millisleep): New function.
39243 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39244 (grub_millisleep): New function.
39245 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39246 Remove `grub/machine/time.h' include.
39247 (grub_millisleep): New function.
39248 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39249 Remove `grub/machine/time.h' include.
39250 (grub_millisleep): New function.
39251
39252 * include/grub/misc.h (grub_div_roundup): New function.
39253
39254 * kern/misc.c: Include `<grub/time.h>'.
39255 (grub_millisleep_generic): New function.
39256
39257 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39258 Add `time.h'.
39259 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39260 Add `time.h'.
39261 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39262 `machine/time.h'. Add `time.h'.
39263 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39264
39265 2007-10-21 Robert Millan <rmh@aybabtu.com>
39266
39267 * include/grub/misc.h (grub_max): New function.
39268
39269 2007-10-21 Robert Millan <rmh@aybabtu.com>
39270
39271 * util/misc.c (grub_util_info): Call fflush() before returning.
39272
39273 2007-10-20 Robert Millan <rmh@aybabtu.com>
39274
39275 * genmk.rb (Image): Copy `extra_flags' from here ...
39276 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39277
39278 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39279 to `argc' and `args' arguments.
39280
39281 2007-10-17 Robert Millan <rmh@aybabtu.com>
39282
39283 * kern/i386/loader.S: New file.
39284
39285 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39286 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39287 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39288 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39289 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39290 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39291 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39292 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39293 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39294 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39295 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39296 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39297 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39298 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39299
39300 * kern/i386/realmode.S: New file.
39301
39302 * kern/i386/pc/startup.S (protstack): Moved from here ...
39303 * kern/i386/realmode.S (protstack)... to here.
39304 * kern/i386/pc/startup.S (gdt): Moved from here ...
39305 * kern/i386/realmode.S (gdt)... to here.
39306 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39307 * kern/i386/realmode.S (prot_to_real)... to here.
39308
39309 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39310 `kern/i386/realmode.S'.
39311
39312 2007-10-17 Robert Millan <rmh@aybabtu.com>
39313
39314 * include/grub/i386/loader.h: New file.
39315
39316 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39317 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39318 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39319 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39320 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39321 * include/grub/i386/loader.h (grub_linux_prot_size)
39322 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39323 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39324 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39325 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39326
39327 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39328
39329 2007-10-15 Robert Millan <rmh@aybabtu.com>
39330
39331 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39332 filesystem when dev->disk is unset.
39333 Do probe for filesystem even when dev->disk->has_partitions is set.
39334 In case a filesystem is found, always report it.
39335 In case it isn't, if dev->disk->has_partitions is set, report that
39336 a partition table was found instead of reporting that no filesystem
39337 could be identified.
39338
39339 2007-10-12 Robert Millan <rmh@aybabtu.com>
39340
39341 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39342 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39343
39344 * include/grub/types.h (grub_host_to_target16): New macro.
39345 (grub_host_to_target32): Likewise.
39346 (grub_host_to_target64): Likewise.
39347 (grub_target_to_host16): Likewise.
39348 (grub_target_to_host32): Likewise.
39349 (grub_target_to_host64): Likewise.
39350
39351 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39352 Renamed from to ...
39353 (GRUB_MOD_ALIGN): ...this. Update all users.
39354
39355 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39356 grub_host_to_target32.
39357 Replace grub_be_to_cpu32 with grub_target_to_host32.
39358 (load_modules): Likewise.
39359 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39360 Replace grub_be_to_cpu32 with grub_target_to_host32.
39361 Replace grub_cpu_to_be16 with grub_host_to_target16.
39362 Replace grub_cpu_to_be32 grub_host_to_target32.
39363
39364 2007-10-12 Robert Millan <rmh@aybabtu.com>
39365
39366 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39367 * util/elf/grub-mkimage.c: ... here.
39368
39369 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39370 `util/powerpc/ieee1275/grub-mkimage.c'.
39371
39372 2007-10-07 Robert Millan <rmh@aybabtu.com>
39373
39374 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39375 and make it easier to figure out.
39376 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39377 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39378 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39379 leave us with less than HEAP_MIN_SIZE total heap.
39380 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
39381
39382 2007-10-03 Robert Millan <rmh@aybabtu.com>
39383
39384 * include/grub/i386/io.h: New file.
39385 * commands/i386/pc/play.c (inb): Removed.
39386 (outb): Removed.
39387 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39388 with grub_outb().
39389 * term/i386/pc/serial.c (inb): Removed.
39390 (outb): Removed.
39391 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39392 with grub_outb().
39393 * term/i386/pc/vga.c (inb): Removed.
39394 (outb): Removed.
39395 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39396 with grub_outb().
39397
39398 2007-10-02 Robert Millan <rmh@aybabtu.com>
39399
39400 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39401 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39402 Reported by Marcin Kurek.
39403
39404 2007-09-07 Robert Millan <rmh@aybabtu.com>
39405
39406 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39407 SmartFirmware version updates (as released by Sven Luther), and avoid
39408 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39409 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39410 known broken.
39411
39412 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39413
39414 From Hitoshi Ozeki:
39415 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39416 when merging two regions.
39417
39418 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39419
39420 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39421 * normal/completion.c (grub_normal_do_completion): Likewise.
39422 Reported by Hitoshi Ozeki.
39423
39424 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39425
39426 Do not use devices at boot in chainloading.
39427
39428 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39429 (boot_part_addr): Likewise.
39430 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39431 with BOOT_DRIVE and BOOT_PART_ADDR.
39432 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39433 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39434
39435 2007-08-29 Robert Millan <rmh@aybabtu.com>
39436
39437 Patch from Simon Peter <dn.tlp@gmx.net>:
39438 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39439 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39440 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39441 util/i386/pc/grub-setup.c_DEPENDENCIES.
39442 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39443 util/grub-probe.c_DEPENDENCIES.
39444 * conf/powerpc-ieee1275.rmk: Likewise.
39445
39446 2007-08-28 Robert Millan <rmh@aybabtu.com>
39447
39448 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39449 to tell grub-mkdevicemap how to name devices.
39450 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39451 feature).
39452
39453 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39454 util/i386/get_disk_name.c.
39455 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39456 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39457 util/ieee1275/get_disk_name.c.
39458
39459 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39460
39461 * DISTLIST: Add util/i386/get_disk_name.c and
39462 util/ieee1275/get_disk_name.c.
39463
39464 * util/grub-mkdevicemap.c: Replace device naming logic with
39465 grub_util_get_disk_name() calls.
39466
39467 2007-08-20 Robert Millan <rmh@aybabtu.com>
39468
39469 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39470 (so that it works for both plural and singular quantities).
39471
39472 2007-08-05 Robert Millan <rmh@aybabtu.com>
39473
39474 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39475 so that [xz] isn't taken into account when determining order.
39476
39477 2007-08-02 Marco Gerards <marco@gnu.org>
39478
39479 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39480 `include/multiboot2.h', `include/grub/elfload.h',
39481 `include/multiboot.h', `include/grub/multiboot.h',
39482 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39483 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39484 `kern/elf.c', `loader/multiboot_loader.c',
39485 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39486 `loader/i386/pc/multiboot2.c',
39487 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39488 `util/i386/pc/grub-mkrescue.in'. Remove
39489 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39490 `include/grub/i386/pc/util/biosdisk.h' and
39491 `include/grub/powerpc/ieee1275/multiboot.h'.
39492
39493 2007-08-02 Bean <bean123ch@gmail.com>
39494
39495 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39496 (ntfs_mod_SOURCES): New variable.
39497 (ntfs_mod_CFLAGS): Likewise.
39498 (ntfs_mod_LDFLAGS): Likewise.
39499
39500 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39501 (grub_probe_SOURCES): Likewise.
39502 (grub_emu_SOURCES): Likewise.
39503
39504 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39505 (grub_emu_SOURCES): Likewise.
39506
39507 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39508 (grub_emu_SOURCES): Likewise.
39509
39510 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39511
39512 * fs/ntfs.c: New file.
39513
39514 2007-08-02 Bean <bean123ch@gmail.com>
39515
39516 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39517
39518 * file.h (grub_file): Likewise.
39519
39520 * fshelp.h (grub_fshelp_read_file): Likewise.
39521
39522 * util/i386/pc/grub-setup.c (setup): Likewise.
39523 (save_first_sector): Likewise.
39524 (save_blocklists): Likewise.
39525
39526 * fs/affs.c (grub_affs_read_file): Likewise.
39527
39528 * fs/ext2.c (grub_ext2_read_file): Likewise.
39529
39530 * fs/fat.c (grub_fat_read_data): Likewise.
39531
39532 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39533
39534 * fs/hfs.c (grub_hfs_read_file): Likewise.
39535
39536 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39537
39538 * fs/jfs.c (grub_jfs_read_file): Likewise.
39539
39540 * fs/minix.c (grub_minix_read_file): Likewise.
39541
39542 * fs/sfs.c (grub_sfs_read_file): Likewise.
39543
39544 * fs/ufs.c (grub_ufs_read_file): Likewise.
39545
39546 * fs/xfs.c (grub_xfs_read_file): Likewise.
39547
39548 * command/blocklist.c (read_blocklist): Likewise.
39549 (print_blocklist): Likewise.
39550
39551 2007-08-02 Marco Gerards <marco@gnu.org>
39552
39553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39554 `util/hostfs.c'.
39555
39556 * disk/host.c: New file.
39557
39558 * util/hostfs.c: Likewise.
39559
39560 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39561 return `GRUB_ERR_BAD_FS'.
39562 * fs/sfs.c (grub_sfs_mount): Likewise.
39563 * fs/xfs.c (grub_xfs_mount): Likewise.
39564
39565 * include/grub/disk.h (enum grub_disk_dev_id): Add
39566 `GRUB_DISK_DEVICE_HOST_ID'.
39567
39568 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39569
39570 2007-07-24 Jerone Young <jerone@gmail.com>
39571
39572 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39573 modules for compilation.
39574 * conf/powerpc-ieee1275.rmk: Likewise.
39575
39576 * include/multiboot.h: Move multiboot definitions to one file. Rename
39577 many definitions to not get grub specific.
39578 * include/multiboot2.h: Create header with multiboot 2 definitions.
39579 * include/grub/multiboot.h: Header for grub specific function
39580 prototypes and definitions.
39581 * include/grub/multiboot2.h: Likewise.
39582 * include/grub/multiboot_loader.h: Likewise.
39583 * include/grub/i386/pc/multiboot.h: Removed.
39584 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39585
39586 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39587 and 2 to allow for one multiboot and module commands.
39588 * loader/multiboot2.c: Add multiboot2 functionality.
39589 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39590 and definition names.
39591 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39592 2 functions.
39593 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39594 ieee1275 specific multiboot2 code.
39595
39596 * kern/i386/pc/startup.S: Change headers and definition names for
39597 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39598
39599 2007-07-22 Robert Millan <rmh@aybabtu.com>
39600
39601 * geninitheader.sh: Process file specified in first parameter rather
39602 than hardcoding grub_modules_init.lst.
39603 * geninit.sh: Likewise. Also, construct header name dynamically rather
39604 than hardcoding grub_modules_init.h.
39605
39606 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39607 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39608 grub_probe_init.[ch] and grub_setup_init.[ch].
39609
39610 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39611 grub_modules_init.h with grub_emu_init.h.
39612 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39613 grub_probe_init.[ch] files.
39614 * conf/i386-efi.rmk: Likewise.
39615 * conf/i386-pc.rmk: Likewise.
39616 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39617 grub_setup_init.[ch] files.
39618
39619 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39620 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39621 to initialize modules rather than a list of hardcoded functions.
39622 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39623 grub_init_all() to initialize modules rather than a list of hardcoded
39624 functions.
39625
39626 2007-07-22 Robert Millan <rmh@aybabtu.com>
39627
39628 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39629 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39630
39631 2007-07-22 Robert Millan <rmh@aybabtu.com>
39632
39633 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39634 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39635 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39636 flag when running on SmartFirmware.
39637 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39638 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39639 was set.
39640
39641 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39642 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39643 rather than decreasing it.
39644
39645 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39646 there's not enough space to do it, fail in the same way as when it
39647 can't be done because there are no partitions.
39648
39649 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39650 when nvsetenv failed.
39651
39652 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39653
39654 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39655 because this rule is automatically generated.
39656 (grub-mkrescue): Removed for the same reason as above.
39657
39658 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39659
39660 Migrate to GNU General Public License Version 3.
39661
39662 * COPYING: Replaced with the plain text version of GPLv3.
39663
39664 * config.guess: Updated from gnulib.
39665 * config.sub: Likewise.
39666
39667 * geninit.sh: Output a GPLv3 copyright notice.
39668 * geninitheader.sh: Likewise.
39669 * genmodsrc.sh: Likewise.
39670 * gensymlist.sh.in: Likewise.
39671
39672 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39673 * boot/i386/pc/diskboot.S: Likewise.
39674 * boot/i386/pc/pxeboot.S: Likewise.
39675 * commands/blocklist.c: Likewise.
39676 * commands/boot.c: Likewise.
39677 * commands/cat.c: Likewise.
39678 * commands/cmp.c: Likewise.
39679 * commands/configfile.c: Likewise.
39680 * commands/echo.c: Likewise.
39681 * commands/help.c: Likewise.
39682 * commands/ls.c: Likewise.
39683 * commands/search.c: Likewise.
39684 * commands/terminal.c: Likewise.
39685 * commands/test.c: Likewise.
39686 * commands/videotest.c: Likewise.
39687 * commands/i386/cpuid.c: Likewise.
39688 * commands/i386/pc/halt.c: Likewise.
39689 * commands/i386/pc/play.c: Likewise.
39690 * commands/i386/pc/reboot.c: Likewise.
39691 * commands/i386/pc/vbeinfo.c: Likewise.
39692 * commands/i386/pc/vbetest.c: Likewise.
39693 * commands/ieee1275/halt.c: Likewise.
39694 * commands/ieee1275/reboot.c: Likewise.
39695 * commands/ieee1275/suspend.c: Likewise.
39696 * disk/loopback.c: Likewise.
39697 * disk/lvm.c: Likewise.
39698 * disk/raid.c: Likewise.
39699 * disk/efi/efidisk.c: Likewise.
39700 * disk/i386/pc/biosdisk.c: Likewise.
39701 * disk/ieee1275/ofdisk.c: Likewise.
39702 * font/manager.c: Likewise.
39703 * fs/affs.c: Likewise.
39704 * fs/ext2.c: Likewise.
39705 * fs/fat.c: Likewise.
39706 * fs/fshelp.c: Likewise.
39707 * fs/hfs.c: Likewise.
39708 * fs/hfsplus.c: Likewise.
39709 * fs/iso9660.c: Likewise.
39710 * fs/jfs.c: Likewise.
39711 * fs/minix.c: Likewise.
39712 * fs/sfs.c: Likewise.
39713 * fs/ufs.c: Likewise.
39714 * fs/xfs.c: Likewise.
39715 * hello/hello.c: Likewise.
39716 * include/grub/acorn_filecore.h: Likewise.
39717 * include/grub/arg.h: Likewise.
39718 * include/grub/bitmap.h: Likewise.
39719 * include/grub/boot.h: Likewise.
39720 * include/grub/cache.h: Likewise.
39721 * include/grub/device.h: Likewise.
39722 * include/grub/disk.h: Likewise.
39723 * include/grub/dl.h: Likewise.
39724 * include/grub/elfload.h: Likewise.
39725 * include/grub/env.h: Likewise.
39726 * include/grub/err.h: Likewise.
39727 * include/grub/file.h: Likewise.
39728 * include/grub/font.h: Likewise.
39729 * include/grub/fs.h: Likewise.
39730 * include/grub/fshelp.h: Likewise.
39731 * include/grub/gzio.h: Likewise.
39732 * include/grub/hfs.h: Likewise.
39733 * include/grub/kernel.h: Likewise.
39734 * include/grub/loader.h: Likewise.
39735 * include/grub/lvm.h: Likewise.
39736 * include/grub/misc.h: Likewise.
39737 * include/grub/mm.h: Likewise.
39738 * include/grub/net.h: Likewise.
39739 * include/grub/normal.h: Likewise.
39740 * include/grub/parser.h: Likewise.
39741 * include/grub/partition.h: Likewise.
39742 * include/grub/pc_partition.h: Likewise.
39743 * include/grub/raid.h: Likewise.
39744 * include/grub/rescue.h: Likewise.
39745 * include/grub/script.h: Likewise.
39746 * include/grub/setjmp.h: Likewise.
39747 * include/grub/symbol.h: Likewise.
39748 * include/grub/term.h: Likewise.
39749 * include/grub/terminfo.h: Likewise.
39750 * include/grub/tparm.h: Likewise.
39751 * include/grub/types.h: Likewise.
39752 * include/grub/video.h: Likewise.
39753 * include/grub/efi/api.h: Likewise.
39754 * include/grub/efi/chainloader.h: Likewise.
39755 * include/grub/efi/console.h: Likewise.
39756 * include/grub/efi/console_control.h: Likewise.
39757 * include/grub/efi/disk.h: Likewise.
39758 * include/grub/efi/efi.h: Likewise.
39759 * include/grub/efi/pe32.h: Likewise.
39760 * include/grub/efi/time.h: Likewise.
39761 * include/grub/i386/linux.h: Likewise.
39762 * include/grub/i386/setjmp.h: Likewise.
39763 * include/grub/i386/types.h: Likewise.
39764 * include/grub/i386/efi/kernel.h: Likewise.
39765 * include/grub/i386/efi/loader.h: Likewise.
39766 * include/grub/i386/efi/time.h: Likewise.
39767 * include/grub/i386/pc/biosdisk.h: Likewise.
39768 * include/grub/i386/pc/boot.h: Likewise.
39769 * include/grub/i386/pc/chainloader.h: Likewise.
39770 * include/grub/i386/pc/console.h: Likewise.
39771 * include/grub/i386/pc/init.h: Likewise.
39772 * include/grub/i386/pc/kernel.h: Likewise.
39773 * include/grub/i386/pc/loader.h: Likewise.
39774 * include/grub/i386/pc/memory.h: Likewise.
39775 * include/grub/i386/pc/multiboot.h: Likewise.
39776 * include/grub/i386/pc/serial.h: Likewise.
39777 * include/grub/i386/pc/time.h: Likewise.
39778 * include/grub/i386/pc/vbe.h: Likewise.
39779 * include/grub/i386/pc/vbeblit.h: Likewise.
39780 * include/grub/i386/pc/vbefill.h: Likewise.
39781 * include/grub/i386/pc/vbeutil.h: Likewise.
39782 * include/grub/i386/pc/vga.h: Likewise.
39783 * include/grub/ieee1275/ieee1275.h: Likewise.
39784 * include/grub/ieee1275/ofdisk.h: Likewise.
39785 * include/grub/powerpc/libgcc.h: Likewise.
39786 * include/grub/powerpc/setjmp.h: Likewise.
39787 * include/grub/powerpc/types.h: Likewise.
39788 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39789 * include/grub/powerpc/ieee1275/console.h: Likewise.
39790 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39791 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39792 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39793 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39794 * include/grub/powerpc/ieee1275/time.h: Likewise.
39795 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39796 * include/grub/sparc64/libgcc.h: Likewise.
39797 * include/grub/sparc64/setjmp.h: Likewise.
39798 * include/grub/sparc64/types.h: Likewise.
39799 * include/grub/sparc64/ieee1275/console.h: Likewise.
39800 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39801 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39802 * include/grub/sparc64/ieee1275/time.h: Likewise.
39803 * include/grub/util/biosdisk.h: Likewise.
39804 * include/grub/util/getroot.h: Likewise.
39805 * include/grub/util/lvm.h: Likewise.
39806 * include/grub/util/misc.h: Likewise.
39807 * include/grub/util/raid.h: Likewise.
39808 * include/grub/util/resolve.h: Likewise.
39809 * io/gzio.c: Likewise.
39810 * kern/device.c: Likewise.
39811 * kern/disk.c: Likewise.
39812 * kern/dl.c: Likewise.
39813 * kern/elf.c: Likewise.
39814 * kern/env.c: Likewise.
39815 * kern/err.c: Likewise.
39816 * kern/file.c: Likewise.
39817 * kern/fs.c: Likewise.
39818 * kern/loader.c: Likewise.
39819 * kern/main.c: Likewise.
39820 * kern/misc.c: Likewise.
39821 * kern/mm.c: Likewise.
39822 * kern/parser.c: Likewise.
39823 * kern/partition.c: Likewise.
39824 * kern/rescue.c: Likewise.
39825 * kern/term.c: Likewise.
39826 * kern/efi/efi.c: Likewise.
39827 * kern/efi/init.c: Likewise.
39828 * kern/efi/mm.c: Likewise.
39829 * kern/i386/dl.c: Likewise.
39830 * kern/i386/efi/init.c: Likewise.
39831 * kern/i386/efi/startup.S: Likewise.
39832 * kern/i386/pc/init.c: Likewise.
39833 * kern/i386/pc/lzo1x.S: Likewise.
39834 * kern/i386/pc/startup.S: Likewise.
39835 * kern/ieee1275/ieee1275.c: Likewise.
39836 * kern/powerpc/cache.S: Likewise.
39837 * kern/powerpc/dl.c: Likewise.
39838 * kern/powerpc/ieee1275/cmain.c: Likewise.
39839 * kern/powerpc/ieee1275/crt0.S: Likewise.
39840 * kern/powerpc/ieee1275/init.c: Likewise.
39841 * kern/powerpc/ieee1275/openfw.c: Likewise.
39842 * kern/sparc64/cache.S: Likewise.
39843 * kern/sparc64/dl.c: Likewise.
39844 * kern/sparc64/ieee1275/init.c: Likewise.
39845 * kern/sparc64/ieee1275/openfw.c: Likewise.
39846 * loader/efi/chainloader.c: Likewise.
39847 * loader/efi/chainloader_normal.c: Likewise.
39848 * loader/i386/efi/linux.c: Likewise.
39849 * loader/i386/efi/linux_normal.c: Likewise.
39850 * loader/i386/pc/chainloader.c: Likewise.
39851 * loader/i386/pc/chainloader_normal.c: Likewise.
39852 * loader/i386/pc/linux.c: Likewise.
39853 * loader/i386/pc/linux_normal.c: Likewise.
39854 * loader/i386/pc/multiboot.c: Likewise.
39855 * loader/i386/pc/multiboot_normal.c: Likewise.
39856 * loader/powerpc/ieee1275/linux.c: Likewise.
39857 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39858 * normal/arg.c: Likewise.
39859 * normal/cmdline.c: Likewise.
39860 * normal/command.c: Likewise.
39861 * normal/completion.c: Likewise.
39862 * normal/execute.c: Likewise.
39863 * normal/function.c: Likewise.
39864 * normal/lexer.c: Likewise.
39865 * normal/main.c: Likewise.
39866 * normal/menu.c: Likewise.
39867 * normal/menu_entry.c: Likewise.
39868 * normal/misc.c: Likewise.
39869 * normal/parser.y: Likewise.
39870 * normal/script.c: Likewise.
39871 * normal/i386/setjmp.S: Likewise.
39872 * normal/powerpc/setjmp.S: Likewise.
39873 * normal/sparc64/setjmp.S: Likewise.
39874 * partmap/acorn.c: Likewise.
39875 * partmap/amiga.c: Likewise.
39876 * partmap/apple.c: Likewise.
39877 * partmap/gpt.c: Likewise.
39878 * partmap/pc.c: Likewise.
39879 * partmap/sun.c: Likewise.
39880 * term/gfxterm.c: Likewise.
39881 * term/terminfo.c: Likewise.
39882 * term/efi/console.c: Likewise.
39883 * term/i386/pc/console.c: Likewise.
39884 * term/i386/pc/serial.c: Likewise.
39885 * term/i386/pc/vesafb.c: Likewise.
39886 * term/i386/pc/vga.c: Likewise.
39887 * term/ieee1275/ofconsole.c: Likewise.
39888 * util/biosdisk.c: Likewise.
39889 * util/console.c: Likewise.
39890 * util/genmoddep.c: Likewise.
39891 * util/getroot.c: Likewise.
39892 * util/grub-emu.c: Likewise.
39893 * util/grub-mkdevicemap.c: Likewise.
39894 * util/grub-probe.c: Likewise.
39895 * util/lvm.c: Likewise.
39896 * util/misc.c: Likewise.
39897 * util/raid.c: Likewise.
39898 * util/resolve.c: Likewise.
39899 * util/update-grub.in: Likewise.
39900 * util/update-grub_lib.in: Likewise.
39901 * util/grub.d/00_header.in: Likewise.
39902 * util/grub.d/10_hurd.in: Likewise.
39903 * util/grub.d/10_linux.in: Likewise.
39904 * util/i386/efi/grub-install.in: Likewise.
39905 * util/i386/efi/grub-mkimage.c: Likewise.
39906 * util/i386/pc/grub-install.in: Likewise.
39907 * util/i386/pc/grub-mkimage.c: Likewise.
39908 * util/i386/pc/grub-mkrescue.in: Likewise.
39909 * util/i386/pc/grub-setup.c: Likewise.
39910 * util/i386/pc/misc.c: Likewise.
39911 * util/powerpc/ieee1275/grub-install.in: Likewise.
39912 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39913 * util/powerpc/ieee1275/misc.c: Likewise.
39914 * video/bitmap.c: Likewise.
39915 * video/video.c: Likewise.
39916 * video/i386/pc/vbe.c: Likewise.
39917 * video/i386/pc/vbeblit.c: Likewise.
39918 * video/i386/pc/vbefill.c: Likewise.
39919 * video/i386/pc/vbeutil.c: Likewise.
39920 * video/readers/tga.c: Likewise.
39921
39922 2007-07-02 Robert Millan <rmh@aybabtu.com>
39923
39924 * conf/i386-efi.rmk: Replace obsolete reference to
39925 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39926 with util/getroot.c.
39927 * conf/powerpc-ieee1275.rmk: Likewise.
39928 * conf/sparc64-ieee1275.rmk: Likewise.
39929
39930 * util/grub-emu.c (main): Fix unchecked pointer handling.
39931
39932 2007-07-02 Robert Millan <rmh@aybabtu.com>
39933
39934 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39935 invocation to fail, in order to support partition-less media.
39936
39937 * util/i386/pc/grub-install.in: Likewise.
39938
39939 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39940 which fs or partmap modules are needed (akin to its sister scripts).
39941
39942 Also use grub-probe to get rid of unportable /proc/mounts check.
39943
39944 Print the same informational message that the other scripts do, before
39945 exiting.
39946
39947 2007-06-23 Robert Millan <rmh@aybabtu.com>
39948
39949 * util/update-grub_lib.in (font_path): New function. Determine whether
39950 a font file can be found and, if so, echo the GRUB path to it.
39951
39952 * util/update-grub.in: Handle multiple terminals depending on user
39953 input, platform availability and font file presence. Propagate
39954 variables of our findings to /etc/grub.d/ children.
39955
39956 * util/grub.d/00_header.in: Handle multiple terminals, based on
39957 environment setup by update-grub.
39958
39959 2007-06-23 Robert Millan <rmh@aybabtu.com>
39960
39961 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39962
39963 2007-06-21 Robert Millan <rmh@aybabtu.com>
39964
39965 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39966 indicate end of data section in kernel image.
39967 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39968 GRUB_KERNEL_MACHINE_DATA_END.
39969
39970 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39971 space for it.
39972 * kern/i386/efi/startup.S: Likewise.
39973
39974 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39975 during image generation. Implement --prefix option to override this
39976 patch.
39977 * util/i386/efi/grub-mkimage.c: Likewise.
39978
39979 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39980 code to make path relative to its root into a separate function.
39981
39982 * util/i386/pc/grub-install.in: Use newly provided
39983 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39984 pass the result to grub-install --prefix.
39985
39986 2007-06-13 Robert Millan <rmh@aybabtu.com>
39987
39988 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39989 DEFAULT_DEVICE_MAP.
39990 * util/grub-emu.c: Use above definitions from misc.h instead of
39991 defining them.
39992 * util/grub-mkdevicemap.c: Likewise.
39993 * util/i386/pc/grub-setup.c: Likewise.
39994 * util/grub-probe.c: Likewise.
39995 (probe): Abort with grub_util_error() when either
39996 grub_guess_root_device or grub_util_get_grub_dev fails.
39997
39998 2007-06-12 Robert Millan <rmh@aybabtu.com>
39999
40000 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40001 "pager" assignment.
40002 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40003 "pcdata".
40004 * util/grub-probe.c (probe): Likewise for "drive_name".
40005
40006 2007-06-11 Robert Millan <rmh@aybabtu.com>
40007
40008 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40009 not just the cdrom one.
40010
40011 2007-06-11 Robert Millan <rmh@aybabtu.com>
40012
40013 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40014 Add --pkglibdir=DIR option to override pkglibdir.
40015 Mention --image-type=TYPE in help output.
40016 Fix --grub-mkimage (it was a no-op).
40017 Abort gracefully when no parameter is given.
40018
40019 2007-06-11 Robert Millan <rmh@aybabtu.com>
40020
40021 * util/i386/pc/grub-mkrescue.in: New file.
40022 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40023 * Makefile.in: Handle bin_SCRIPTS.
40024
40025 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40026
40027 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40028 list of video modes.
40029
40030 2007-06-06 Robert Millan <rmh@aybabtu.com>
40031
40032 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40033 file doesn't exist, or if it is in a filesystem grub can't read.
40034
40035 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40036 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40037 header comment to fit in 80 columns when the variables are resolved.
40038
40039 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40040 could be identified by update-grub. Remove redundant check for
40041 unifont.pff existence (since convert_system_path_to_grub_path now
40042 handles that).
40043
40044 2007-06-04 Robert Millan <rmh@aybabtu.com>
40045
40046 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40047
40048 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40049
40050 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40051
40052 2007-06-04 Robert Millan <rmh@aybabtu.com>
40053
40054 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40055
40056 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40057 grub_apple_partition_map_fini.
40058
40059 * util/biosdisk.c
40060 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40061 to access >2 TiB disks).
40062
40063 Print disk->total_sectors with %llu instead of %lu, since this
40064 variable is always 64-bit (prevents wrong disk size from being displayed
40065 on either >2 TiB disk or big-endian CPU).
40066
40067 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40068 into a generic case that supports all (sane) partition maps.
40069
40070 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40071 breaks big-endian.
40072
40073 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40074 and grub_apple_partition_map_fini() after that.
40075
40076 2007-06-01 Robert Millan <rmh@aybabtu.com>
40077
40078 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40079
40080 * util/grub.d/00_header.in: Only enable gfxterm when
40081 convert_system_path_to_grub_path() succeeds.
40082
40083 2007-05-20 Robert Millan <rmh@aybabtu.com>
40084
40085 * util/update-grub_lib.in: New file.
40086 * DISTLIST: Add update-grub_lib.in.
40087 * conf/common.rmk: Generate update-grub_lib and install it in
40088 $(lib_DATA).
40089 * Makefile.in: Add install routine for $(lib_DATA).
40090
40091 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40092 function provided by update-grub_lib to support arbitrary paths of
40093 unifont.pff.
40094 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40095 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40096
40097 2007-05-19 Robert Millan <rmh@aybabtu.com>
40098
40099 * commands/i386/cpuid.c: New module.
40100 * DISTLIST: Add it.
40101 * conf/i386-efi.rmk: Enable cpuid.mod.
40102 * conf/i386-pc.rmk: Likewise.
40103
40104 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40105
40106 * kern/disk.c (grub_disk_read): Check return value of
40107 grub_realloc().
40108
40109 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40110
40111 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40112 arrays.
40113 * disk/raid.c (grub_raid_open): Likewise.
40114
40115 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40116
40117 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40118 stack instead of on the heap.
40119
40120 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40121 before doing a read on it.
40122
40123 * configure.ac: Only use -fno-stack-protector for the target
40124 environment.
40125
40126 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40127
40128 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40129 __attribute_ ((unused)) to mode_type argument.
40130
40131 * util/getroot.c (grub_guess_root_device): Fix #endif.
40132
40133 * kern/misc.c (memcmp): Fix prototype.
40134
40135 * include/grub/partition.h [GRUB_UTIL]
40136 (grub_gpt_partition_map_init): Add prototype.
40137 (grub_gpt_partition_map_fini): Likewise.
40138
40139 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40140 at the right place.
40141
40142 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40143 (grub_fat_read_data): Likewise.
40144 (grub_fat_find_dir): Likewise.
40145
40146 * font/manager.c (find_glyph): Make table a const.
40147 (grub_font_get_glyph): Remove bitmap from if statement.
40148
40149 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40150
40151 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40152 code, first search for device in /dev/mapper, then in /dev.
40153 (grub_util_get_grub_dev): New function.
40154 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40155 prototype.
40156 * util/grub-probe.c (probe): Remove check for RAID, call
40157 grub_util_get_grub_dev() instead of
40158 grub_util_biosdisk_get_grub_dev().
40159 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40160 grub_util_biosdisk_get_grub_dev().
40161 * util/i386/pc/grub-setup.c (main): Likewise.
40162
40163 2007-05-16 Robert Millan <rmh@aybabtu.com>
40164
40165 * DISTLIST: Update for the latest changes.
40166 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40167 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40168 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40169 grub/util/biosdisk.h.
40170 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40171 grub/util/biosdisk.h.
40172
40173 2007-05-16 Robert Millan <rmh@aybabtu.com>
40174
40175 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40176
40177 2007-05-16 Robert Millan <rmh@aybabtu.com>
40178
40179 * util/i386/efi/grub-install.in: New.
40180 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40181 newly added grub-install.
40182 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40183 include.
40184 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40185 grub/util/biosdisk.h.
40186 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40187 grub/util/biosdisk.h.
40188
40189 2007-05-16 Robert Millan <rmh@aybabtu.com>
40190
40191 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40192 * include/grub/util/biosdisk.h: ... here.
40193 * util/i386/pc/biosdisk.c: Moved to ...
40194 * util/biosdisk.c: ... here.
40195 * util/i386/pc/getroot.c: Moved to ...
40196 * util/getroot.c: ... here.
40197 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40198 * util/grub-mkdevicemap.c: ... here.
40199 * util/i386/pc/grub-probe.c: Moved to ...
40200 * util/grub-probe.c: ... here.
40201
40202 2007-05-15 Robert Millan <rmh@aybabtu.com>
40203
40204 * util/update-grub.in: Remove duplicated line in grub.cfg header
40205 message.
40206
40207 2007-05-13 Robert Millan <rmh@aybabtu.com>
40208
40209 * util/update-grub.in: Fix a few assumptions about the devices holding
40210 /, /boot and /boot/grub being the same.
40211 * util/grub.d/00_header.in: Likewise.
40212 * util/grub.d/10_hurd.in: Likewise.
40213 * util/grub.d/10_linux.in: Likewise.
40214
40215 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40216 patterns. Use that to define the `.old' suffix as older than `'.
40217
40218 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40219
40220 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40221 the grub.cfg header message.
40222
40223 2007-05-11 Robert Millan <rmh@aybabtu.com>
40224
40225 * util/update-grub.in: Create device.map if it doesn't already exist,
40226 before attempting to run grub-probe.
40227 Check for grub-probe and grub-mkdevicemap with the same code
40228 grub-install is using.
40229 Remove test mode.
40230
40231 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40232
40233 * Makefile.in: Add the datarootdir autoconf variable.
40234
40235 2007-05-09 Robert Millan <rmh@aybabtu.com>
40236
40237 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
40238 fail gracefully if dev->disk->partition == NULL.
40239
40240 2007-05-07 Robert Millan <rmh@aybabtu.com>
40241
40242 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40243 determine partition map module.
40244 * util/i386/pc/grub-install.in: Use this feature to decide which
40245 partition module to load, instead of hardcoding pc and gpt.
40246
40247 2007-05-07 Robert Millan <rmh@aybabtu.com>
40248
40249 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40250 source directory differs from build directory.
40251
40252 2007-05-05 Robert Millan <rmh@aybabtu.com>
40253
40254 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40255 initialisation.
40256
40257 2007-05-05 Robert Millan <rmh@aybabtu.com>
40258
40259 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40260
40261 2007-05-05 Robert Millan <rmh@aybabtu.com>
40262
40263 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40264 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40265
40266 2007-05-05 Robert Millan <rmh@aybabtu.com>
40267
40268 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40269 (grub_probe_SOURCES): Likewise.
40270 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40271 GPT and initialize dos_part and bsd_part accordingly.
40272 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40273 install_bsd_part.
40274 (main): Activate gpt module for use during partition identification,
40275 and deactivate it afterwards.
40276 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40277 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40278 partition identification, and deactivate it afterwards.
40279
40280 2007-05-05 Robert Millan <rmh@aybabtu.com>
40281
40282 * term/i386/pc/console.c (grub_console_fini): Call
40283 grub_term_set_current() before grub_term_unregister().
40284
40285 2007-05-04 Robert Millan <rmh@aybabtu.com>
40286
40287 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40288 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40289 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40290 and update-grub_DATA.
40291 * conf/common.rmk: Build and install update-grub components.
40292 * conf/common.mk: Regenerate.
40293 * util/update-grub.in: New. Core of update-grub.
40294 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40295 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40296 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40297 * util/grub.d/README: New. Document grub.d directory layout.
40298
40299 2007-05-01 Robert Millan <rmh@aybabtu.com>
40300
40301 * util/grub-emu.c: Move initialization functions
40302 grub_util_biosdisk_init() and grub_init_all() before
40303 grub_util_biosdisk_get_grub_dev(), which relies on them.
40304
40305 2007-04-19 Robert Millan <rmh@aybabtu.com>
40306
40307 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40308 it is used later.
40309
40310 2007-04-18 Jerone Young <jerone@gmail.com>
40311
40312 * kernel/elf.c: Add missing parenthesis for conditional statement
40313 stanza.
40314
40315 2007-04-10 Jerone Young <jerone@gmail.com>
40316
40317 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40318 continue on and look for device node with real device name.
40319
40320 2007-04-10 Jerone Young <jerone@gmail.com>
40321
40322 * configure.ac: Add argument for autoconf to use transformation
40323 ability.
40324 * Makefile.in: Add autoconf package transformation code.
40325 * util/i386/pc/grub-install.in: Likewise.
40326 * util/powerpc/ieee1275/grub-install.in: Likewise.
40327
40328 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40329
40330 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40331 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40332 (EXT2_REVISION): Likewise.
40333 (EXT2_INODE_SIZE): Likewise.
40334 (struct grub_ext2_block_group): Added a missing member
40335 "used_dirs".
40336 (grub_ext2_read_inode): Divide by the inode size in a superblock
40337 instead of 128 to obtain INODES_PER_BLOCK.
40338 Use the macro EXT2_INODE_SIZE instead of directly using
40339 SBLOCK->INODE_SIZE.
40340
40341 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40342
40343 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40344 superblock instead of the structure size to compute an
40345 offset. This fixes the problem that GRUB could not read a
40346 filesystem when inode size is different from 128-byte.
40347
40348 2007-03-05 Marco Gerards <marco@gnu.org>
40349
40350 * normal/main.c (read_config_file): When "menu" is not set, create
40351 an initial context.
40352
40353 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40354
40355 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40356 (HEAP_LIMIT): New macro.
40357 (grub_claim_heap): Claim memory up to `heaplimit'.
40358
40359 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40360
40361 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40362 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40363 (_start): Likewise.
40364 (grub_arch_modules_addr): Return address after `_end'.
40365 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40366 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40367 (add_segments): Calculate `_end' from phdr size and location.
40368 (ALIGN_UP): Moved to ...
40369 * include/grub/misc.h: here.
40370 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40371 New macro.
40372 (GRUB_IEEE1275_MODULE_BASE): Removed.
40373
40374 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40375
40376 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40377 loop boundary.
40378
40379 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40380
40381 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40382 All users updated.
40383 (grub_elf64_load_hook_t): Likewise.
40384 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40385 debug output.
40386
40387 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40388
40389 * kern/mm.c: Update copyright.
40390 (grub_mm_debug): Correct syntax error.
40391 (grub_mm_dump_free): New function.
40392 (grub_debug_free): Call `grub_free'.
40393 * include/grub/mm.h: Update copyright.
40394 (grub_mm_dump_free): Add declaration.
40395
40396 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40397
40398 * include/grub/ieee1275/ieee1275.h: Update copyright.
40399 * kern/powerpc/ieee1275/init.c: Likewise.
40400 * kern/powerpc/ieee1275/openfw.c: Likewise.
40401
40402 * loader/powerpc/ieee1275/linux.c: Likewise.
40403 * include/grub/elfload.h: Likewise.
40404 * kern/elf.c: Likewise.
40405 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40406 callers.
40407 (grub_elf64_load): Likewise.
40408 (grub_elf32_load_segment): Move to a nested function.
40409 (grub_elf64_load_segment): Likewise.
40410
40411 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40412
40413 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40414 prototype.
40415 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40416 (grub_heap_len): Likewise.
40417 (HEAP_SIZE): New macro.
40418 (grub_claim_heap): New function.
40419 (grub_machine_init): Don't claim heap directly. Call
40420 `grub_claim_heap'.
40421 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40422 (grub_available_iterate): New function.
40423
40424 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40425
40426 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40427 * configure.ac: Use it for testing the HOST and TARGET compilers.
40428
40429 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40430
40431 * Makefile.in (enable_grub_emu): New variable.
40432 * configure.ac (--enable-grub-emu): New option.
40433 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40434 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40435 * conf/i386-pc.rmk: Likewise.
40436 * conf/powerpc-ieee1275.rmk: Likewise.
40437 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40438
40439 2006-12-12 Marco Gerards <marco@gnu.org>
40440
40441 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40442
40443 * kern/env.c (grub_env_unset): Don't free the member `value' when
40444 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40445 pointer.
40446
40447 * normal/main.c (current_menu): Removed.
40448 (free_menu): Unset the `menu' environment variable.
40449 (grub_normal_menu_addentry): Make use of the environment variable
40450 `menu', instead of using the global `current_menu'. Allocate
40451 memory for the sourcecode of this entry.
40452 (read_config_file): New argument `nested', changed all callers.
40453 Only in the case of a new context, initialize a new menu. Set the
40454 `menu' environment variable.
40455 (grub_normal_execute): Don't set and unset the environment
40456 variable `menu' here anymore. Only free the menu when leaving the
40457 context.
40458
40459 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40460 leak.
40461
40462 2006-12-11 Marco Gerards <marco@gnu.org>
40463
40464 * normal/menu_entry.c (run): Fix off by one bug so the last line
40465 is executed. Move the loader check to outside the loop.
40466
40467 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40468
40469 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40470
40471 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40472
40473 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40474 the number of sectors. Reported by Andrey Shuvikov
40475 <mr_hyro@yahoo.com>.
40476
40477 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40478
40479 * kern/disk.c (grub_disk_read): When there is a read error, always
40480 try to read only the necessary data.
40481
40482 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40483 disk/raid.c.
40484 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40485 prototype.
40486 [GRUB_UTIL] (grub_raid_fini): Likewise.
40487 [GRUB_UTIL] (grub_lvm_init): Likewise.
40488 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40489 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40490 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40491 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40492 and grub_raid_fini().
40493
40494 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40495
40496 * include/grub/types.h (__unused): Rename to UNUSED.
40497 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40498 (grub_elf64_size): Likewise.
40499
40500 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40501
40502 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40503 grub_error_push and grub_error_pop in the error-handling path.
40504 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40505 length.
40506
40507 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40508
40509 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40510 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40512 (kernel_elf_SOURCES): Likewise.
40513 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40514 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40515 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40516 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40517 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40518 (elf_mod_SOURCES): New variable.
40519 (elf_mod_CFLAGS): Likewise.
40520 (elf_mod_LDFLAGS): Likewise.
40521 * include/grub/types.h (__unused): New macro.
40522 * include/grub/elfload.h: New file.
40523 * kern/elf.c: Likewise.
40524 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40525 (ELF32_LOADMASK): New macro.
40526 (ELF64_LOADMASK): Likewise.
40527 (vmlinux): Removed.
40528 (grub_linux_load32): New function.
40529 (grub_linux_load64): Likewise.
40530 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40531 Use grub_elf_t instead of grub_file_t.
40532
40533 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40534
40535 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40536 `catch_result' to struct set_color_args.
40537
40538 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40539
40540 * normal/menu.c: Include grub/script.h.
40541 * normal/menu_entry.c: Likewise.
40542 * include/grub/normal.h: Do not include grub/script.h.
40543
40544 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40545
40546 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40547
40548 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40549
40550 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40551 disk.
40552 (grub_disk_close): Print debug messages when closing a disk.
40553 (grub_disk_read): Print debug messages when disk read fails.
40554 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40555 filesystem type.
40556 * kern/partition.c: Include misc.h.
40557 (grub_partition_iterate): Print debug messages when detecting
40558 partition type.
40559
40560 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40561
40562 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40563 is negative.
40564 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40565
40566 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40567
40568 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40569 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40570
40571 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40572
40573 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40574 instead of sizeof(lv). Patch by Michael Guntsche.
40575
40576 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40577
40578 * disk/lvm.c: Rename VGS to VG_LIST.
40579 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40580 (grub_lvm_open): Likewise.
40581 Thanks to Michael Guntsche for finding this bug.
40582
40583 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40584
40585 * configure.ac (AC_INIT): Bumped to 1.95.
40586
40587 2006-10-14 Robert Millan <rmh@aybabtu.com>
40588
40589 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40590 with "/dev/.static/dev/md".
40591
40592 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40593
40594 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40595 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40596 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40597 DRIVE_NAME are always freed.
40598
40599 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40600 DOS_PART, as a DOS partition is counted from one instead of zero
40601 now. Reported by Robert Millan.
40602
40603 2006-10-14 Robert Millan <rmh@aybabtu.com>
40604
40605 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40606 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40607 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40608 string returned by grub_guess_root_device.
40609 * util/i386/pc/grub-setup.c: Likewise.
40610 * util/i386/pc/grub-probefs.c: Likewise.
40611
40612 * util/i386/pc/grub-probefs.c: Rename to ...
40613 * util/i386/pc/grub-probe.c: ... this.
40614 * DISTLIST: Remove grub-probefs, add grub-probe.
40615 * conf/i386-efi.rmk: Likewise.
40616 * conf/i386-pc.rmk: Likewise.
40617 * util/i386/pc/grub-install.in: Likewise.
40618
40619 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40620 choose which information we want to print.
40621
40622 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40623
40624 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40625 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40626 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40627 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40628 video/readers/tga.c and video/i386/pc/vbeutil.c.
40629
40630 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40631
40632 Added support for RAID and LVM.
40633
40634 * disk/lvm.c: New file.
40635 * disk/raid.c: Likewise.
40636 * include/grub/lvm.h: Likewise.
40637 * include/grub/raid.h: Likewise.
40638 * include/grub/util/lvm.h: Likewise.
40639 * include/grub/util/raid.h: Likewise.
40640 * util/lvm.c: Likewise.
40641 * util/raid.c: Likewise.
40642
40643 * include/grub/disk.h (grub_disk_dev_id): Add
40644 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40645 (grub_disk_get_size): New prototype.
40646 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40647 returns a partition.
40648 (grub_disk_get_size): New function.
40649
40650 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40651 verbatim if grub_install_dos_part is -2.
40652
40653 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40654 and LVM devices.
40655
40656 * util/i386/pc/grub-setup.c (setup): New argument
40657 MUST_EMBED. Force embedding of GRUB when the argument is
40658 true. Close FILE before returning.
40659 (main): Add support for RAID and LVM.
40660
40661 * conf/common.rmk: Add RAID and LVM modules.
40662 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40663 util/lvm.c.
40664 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40665
40666 * kern/misc.c (grub_strstr): New function.
40667 * include/grub/misc.h (grub_strstr): New prototype.
40668
40669 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40670
40671 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40672
40673 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40674
40675 * kern/misc.c (grub_strtoull): Guess the base only if not
40676 specified.
40677
40678 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40679
40680 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40681 PowerMac support.
40682
40683 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40684
40685 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40686
40687 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40688 Remove `flags' argument. All callers changed.
40689 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40690 (IEEE1275_IHANDLE_INVALID): New variable.
40691 (IEEE1275_CELL_INVALID): New variable.
40692 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40693 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40694 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40695 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40696 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40697 codes from Open Firmware. All callers updated.
40698 (grub_ieee1275_next_property): Directly return Open Firmware return
40699 code.
40700 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40701 Standardize error checking from `grub_ieee1275_get_property'.
40702 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40703 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40704
40705 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40706
40707 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40708 `instance_to_package_args' to `instance_to_path_args'.
40709
40710 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40711 `grub_ieee1275_chosen'.
40712
40713 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40714 `grub_ieee1275_interpret'.
40715
40716 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40717
40718 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40719
40720 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40721
40722 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40723 (__cmpdi): Likewise.
40724
40725 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40726 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40727 `grub_ssize_t'.
40728
40729 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
40730
40731 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40732 to type `grub_ssize_t'.
40733 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40734
40735 2006-09-22 Marco Gerards <marco@gnu.org>
40736
40737 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40738 newlines.
40739
40740 2006-09-22 Marco Gerards <marco@gnu.org>
40741
40742 * commands/echo.c: New file.
40743
40744 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40745
40746 * conf/common.rmk (echo_mod_SOURCES): New variable.
40747 (echo_mod_CFLAGS): Likewise.
40748 (echo_mod_LDFLAGS): Likewise.
40749
40750 2006-09-22 Marco Gerards <marco@gnu.org>
40751
40752 * normal/main.c (get_line): Malloc memory instead of using
40753 preallocated memory. Removed the arguments `cmdline' and
40754 `max_len'. Updated all callers.
40755
40756 2006-09-22 Marco Gerards <marco@gnu.org>
40757
40758 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40759 (normal_mod_DEPENDENCIES): Likewise.
40760
40761 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40762 (normal_mod_DEPENDENCIES): Likewise.
40763
40764 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40765
40766 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
40767
40768 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40769 programs.
40770 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40771 (normal_mod_DEPENDENCIES): Likewise.
40772 * conf/i386-pc.mk: Regenerate.
40773 * conf/i386-efi.mk: Likewise
40774 * conf/common.mk: Likewise.
40775 * conf/powerpc-ieee1275.mk: Likewise.
40776 * conf/sparc64-ieee1275.mk: Likewise.
40777
40778 2006-09-22 Robert Millan <rmh@aybabtu.com>
40779
40780 Sync with i386 version.
40781 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40782 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40783
40784 2006-09-21 Robert Millan <rmh@aybabtu.com>
40785
40786 Import from GRUB Legacy (lib/device.c):
40787 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40788 (init_device_map) [__linux__]: Add support for I2O devices.
40789
40790 2006-09-14 Marco Gerards <marco@gnu.org>
40791
40792 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40793 `-melf_i386'.
40794
40795 2006-09-14 Robert Millan <rmh@aybabtu.com>
40796
40797 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40798 /boot/grub/*.lst.
40799
40800 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
40801
40802 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40803 before adding it to device.map.
40804
40805 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
40806
40807 * genmk.rb: Let GCC generate dependencies the first time it
40808 compiles a file; using the -MD option.
40809 * conf/common.mk: Regenerate.
40810 * conf/i386-pc.mk: Likewise.
40811 * conf/i386-efi.mk: Likewise.
40812 * conf/powerpc-ieee1275.mk: Likewise.
40813 * conf/sparc64-ieee1275.mk: Likewise.
40814
40815 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40816
40817 Move the prototypes of grub_setjmp and grub_longjmp to
40818 cpu/setjmp.h, so that each architecture may specify different
40819 attributes.
40820
40821 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40822 (grub_longjmp): Likewise.
40823 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40824 (grub_longjmp): Likewise.
40825 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40826 (grub_longjmp): Likewise.
40827
40828 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40829 [!GRUB_UTIL] (grub_longjmp): Removed.
40830
40831 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40832
40833 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40834 "color!" method does not return any value.
40835
40836 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40837
40838 * include/grub/bitmap.h: New file.
40839
40840 * include/grub/i386/pc/vbeutil.h: Likewise.
40841
40842 * video/bitmap.c: Likewise.
40843
40844 * video/readers/tga.c: Likewise.
40845
40846 * video/i386/pc/vbeutil.c: Likewise.
40847
40848 * commands/videotest.c: Code cleanup and updated to reflect to new
40849 video API.
40850
40851 * term/gfxterm.c: Likewise.
40852
40853 * video/video.c: Likewise.
40854
40855 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40856 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40857 (bitmap_mod_SOURCES): New entry.
40858 (bitmap_mod_CFLAGS): Likewise.
40859 (bitmap_mod_LDFLAGS): Likewise.
40860 (tga_mod_SOURCES): Likewise.
40861 (tga_mod_CFLAGS): Likewise.
40862 (tga_mod_LDFLAGS): Likewise.
40863
40864 * include/grub/video.h (grub_video_blit_operators): New enum type.
40865 (grub_video_render_target): Changed as forward declaration and moved
40866 actual definition to be video driver specific.
40867 (grub_video_adapter.blit_bitmap): Added blitting operator.
40868 (grub_video_adapter.blit_render_target): Likewise.
40869 (grub_video_blit_bitmap): Likewise.
40870 (grub_video_blit_render_target): Likewise.
40871
40872 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40873 driver specific render target definition.
40874 (grub_video_vbe_map_rgba): Added driver internal helper.
40875 (grub_video_vbe_unmap_color): Updated to use
40876 grub_video_i386_vbeblit_info.
40877 (grub_video_vbe_get_video_ptr): Likewise.
40878
40879 * include/grub/i386/pc/vbeblit.h
40880 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40881 grub_video_i386_vbeblit_info.
40882 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40883 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40884 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40885 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40886 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40887 (grub_video_i386_vbeblit_index_index): Likewise.
40888 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40889 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40890 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40891 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40892 operator.
40893 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40894 operator.
40895
40896 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40897 include/grub/i386/pc/vbeblit.h.
40898
40899 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40900 Updated to use grub_video_i386_vbeblit_info.
40901 (grub_video_i386_vbefill_R8G8B8): Likewise.
40902 (grub_video_i386_vbefill_index): Likewise.
40903 (grub_video_i386_vbefill): Added generic filler.
40904
40905 * video/i386/pc/vbefill.c: Updated to reflect changes on
40906 include/grub/i386/pc/vbefill.h.
40907
40908 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40909 grub_video_i386_vbeblit_info.
40910 (grub_video_vbe_unmap_color): Likewise.
40911 (grub_video_vbe_blit_glyph): Likewise.
40912 (grub_video_vbe_scroll): Likewise.
40913 (grub_video_vbe_draw_pixel): Removed function.
40914 (grub_video_vbe_get_pixel): Likewise.
40915 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40916 updated code to use it.
40917 (common_blitter): Added common blitter for render target and bitmap.
40918 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40919 (grub_video_vbe_blit_render_target): Likewise.
40920
40921 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40922
40923 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40924 is in text mode if there is no console control protocol instance
40925 available.
40926
40927 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40928
40929 * include/grub/video.h: Code cleanup.
40930
40931 * include/grub/i386/pc/vbe.h: Likewise.
40932
40933 * video/i386/pc/vbe.c: Likewise.
40934
40935 * video/i386/pc/vbeblit.c: Likewise.
40936
40937 * video/i386/pc/vbefill.c: Likewise.
40938
40939 * video/video.c: Likewise. Also added more comments.
40940
40941 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40942
40943 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40944 (struct grub_biosdisk_dap): Likewise.
40945
40946 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40947 linkage settings for all functions.
40948
40949 2006-07-12 Marco Gerards <marco@gnu.org>
40950
40951 * configure.ac (--enable-mm-debug): Fix typo.
40952
40953 * genkernsyms.sh.in: Use proper quoting for `CC'.
40954
40955 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40956
40957 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40958 (normal_mod_ASFLAGS): Remove "-m32".
40959
40960 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40961
40962 * util/misc.c: Include config.h.
40963 [!HAVE_MEMALIGN]: Do not include malloc.h.
40964 (grub_memalign): Use posix_memalign, if present. Then, use
40965 memalign, if present. Otherwise, emit an error.
40966
40967 * util/grub-emu.c: Do not include malloc.h.
40968
40969 * include/grub/util/misc.h: Include unistd.h. This is required for
40970 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40971 D. Eades III <hde@foobar-qux.org>.
40972
40973 * configure.ac (AC_GNU_SOURCE): Added.
40974 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40975 type.
40976
40977 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40978
40979 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40980 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40981
40982 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40983
40984 * include/grub/types.h (grub_host_addr_t): Rename to
40985 grub_target_addr_t.
40986 (grub_host_off_t): Rename to grub_target_off_t.
40987 (grub_host_size_t): Rename to grub_target_size_t.
40988 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40989 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40990
40991 * include/grub/kernel.h (struct grub_module_header): Change type
40992 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40993 (grub_module_info): Likewise.
40994
40995 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40996
40997 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40998 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40999 Velazquez <jesus.velazquez@gmail.com>.
41000
41001 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41002
41003 Count partitions from 1 instead of 0 in the string representation
41004 of partitions. Still use 0-based internally.
41005
41006 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41007 (sun_partition_map_iterate): Use grub_partition_t instead of
41008 struct grub_partition *. Cast DESC->START_CYLINDER to
41009 grub_uint64_t after converting the endian.
41010 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41011 (sun_partition_map_get_name): Add 1 to P->INDEX.
41012
41013 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41014 PCDATA->DOS_PART.
41015 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41016
41017 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41018 zero instead of one.
41019 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41020 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41021
41022 * partmap/apple.c (apple_partition_map_iterate): Change the type
41023 of POS to unsigned.
41024 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41025 (apple_partition_map_get_name): Add 1 into P->INDEX.
41026
41027 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41028 of POS to unsigned.
41029 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41030 calculate the offset of a partition.
41031 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41032 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41033
41034 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41035 SECTOR to grub_disk_addr_t.
41036 (acorn_partition_map_iterate): Likewise.
41037 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41038 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41039 top.
41040 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41041
41042 * kern/i386/pc/init.c (make_install_device): Add 1 into
41043 GRUB_INSTALL_DOS_PART.
41044
41045 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41046 conditional.
41047
41048 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41049
41050 Clean up the code to support 64-bit addressing in disks and
41051 files. This change is not enough for filesystems yet.
41052
41053 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41054 type of "start" to grub_uint64_t.
41055 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41056 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41057 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41058 convert addresses.
41059
41060 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41061 to grub_disk_addr_t.
41062
41063 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41064 string.
41065
41066 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41067
41068 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41069 to char *.
41070
41071 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41072
41073 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41074
41075 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41076
41077 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41078 to grub_off_t, to detect an error from grub_file_seek.
41079 (grub_multiboot_load_elf32): Likewise.
41080
41081 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41082 maximum unsigned long value when an overflow is detected.
41083 (grub_strtoull): New function.
41084 (grub_divmod64): Likewise.
41085 (grub_lltoa): use grub_divmod64.
41086
41087 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41088 grub_disk_addr_t.
41089 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41090 the pointer to next character. Use grub_strtoull instead of
41091 grub_strtoul.
41092 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41093 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41094 respectively.
41095
41096 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
41097 return value is signed.
41098 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41099 test if OFFSET is less than zero, as OFFSET is unsigned now.
41100
41101 * kern/disk.c (struct grub_disk_cache): Change the type of
41102 "sector" to grub_disk_addr_t.
41103 (grub_disk_cache_get_index): Change the type of SECTOR to
41104 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41105 unsigned after shifting.
41106 (grub_disk_cache_invalidate): Change the type of SECTOR to
41107 grub_disk_addr_t.
41108 (grub_disk_cache_unlock): Likewise.
41109 (grub_disk_cache_store): Likewise.
41110 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41111 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41112 grub_disk_addr_t and grub_uint64_t, respectively.
41113 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41114 body, as the value of OFFSET is tweaked by
41115 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41116 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41117 respectively.
41118 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41119 body, as the value of OFFSET is tweaked by
41120 grub_disk_check_range. Change the types of LEN and N to
41121 grub_size_t.
41122
41123 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41124 and "saved_offset" to grub_off_t.
41125 (test_header): Cast BUF to char *.
41126 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41127 to char *.
41128 (grub_gzio_read): Change the types of OFFSET and SIZE to
41129 grub_off_t and grub_size_t, respectively.
41130
41131 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41132 Removed.
41133 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41134 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41135 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41136 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41137 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41138
41139 * include/grub/types.h (grub_off_t): Unconditionally set to
41140 grub_uint64_t.
41141 (grub_disk_addr_t): Changed to grub_uint64_t.
41142
41143 * include/grub/partition.h (struct grub_partition): Change the
41144 types of "start", "len" and "offset" to grub_disk_addr_t,
41145 grub_uint64_t and grub_disk_addr_t, respectively.
41146 (grub_partition_get_start): Return grub_disk_addr_t.
41147 (grub_partition_get_len): Return grub_uint64_t.
41148
41149 * include/grub/misc.h (grub_strtoull): New prototype.
41150 (grub_divmod64): Likewise.
41151
41152 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41153 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41154 grub_off_t, respectively.
41155 All callers and references changed.
41156
41157 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41158 grub_size_t in "read".
41159 All callers and references changed.
41160
41161 * include/grub/file.h (struct grub_file): Change the types of
41162 "offset" and "size" to grub_off_t and grub_off_t,
41163 respectively. Change the type of SECTOR to grub_disk_addr_t in
41164 "read_hook".
41165 (grub_file_read): Change the type of LEN to grub_size_t.
41166 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41167 grub_off_t.
41168 (grub_file_size): Return grub_off_t.
41169 (grub_file_tell): Likewise.
41170 All callers and references changed.
41171
41172 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41173 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41174 "write".
41175 (struct grub_disk): Change the type of "total_sectors" to
41176 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
41177 "read_hook".
41178 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41179 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41180 (grub_disk_write): Likewise.
41181 All callers and references changed.
41182
41183 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41184 char * for grub_strncmp to silence gcc.
41185 (grub_iso9660_mount): Likewise.
41186 (grub_iso9660_mount): Likewise.
41187 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41188 return statement.
41189 (grub_iso9660_iterate_dir): Likewise.
41190 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41191
41192 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41193 LEN to grub_disk_addr_t and grub_size_t, respectively.
41194
41195 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41196
41197 * fs/jfs.c (grub_jfs_read_file): Likewise.
41198
41199 * fs/minix.c (grub_jfs_read_file): Likewise.
41200
41201 * fs/sfs.c (grub_jfs_read_file): Likewise.
41202
41203 * fs/ufs.c (grub_jfs_read_file): Likewise.
41204
41205 * fs/xfs.c (grub_jfs_read_file): Likewise.
41206
41207 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41208 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41209 respectively.
41210
41211 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41212 BLKNR to -1 instead of returning GRUB_ERRNO.
41213 (grub_ext2_read_file): Change the types of SECTOR and
41214 LEN to grub_disk_addr_t and grub_size_t, respectively.
41215
41216 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41217 LEN to grub_disk_addr_t and grub_size_t, respectively.
41218
41219 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41220 grub_file_read.
41221
41222 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41223 string. Do not cast SECTOR explicitly.
41224
41225 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41226 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41227 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41228 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41229 over 2TB and LBA mode is not supported, raise an error.
41230 (get_safe_sectors): New function.
41231 (grub_biosdisk_read): Use get_safe_sectors.
41232 (grub_biosdisk_write): Likewise.
41233
41234 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41235 (grub_efidisk_write): Likewise.
41236
41237 * disk/loopback.c (delete_loopback): Cosmetic changes.
41238 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41239 correctly.
41240 (grub_loopback_open): Likewise.
41241 (grub_loopback_read): Likewise. Also, change the type of POS to
41242 grub_off_t, and fix the usage of grub_memset.
41243
41244 * commands/i386/pc/play.c: Include grub/machine/time.h.
41245
41246 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41247 print FILE->SIZE.
41248
41249 * commands/configfile.c: Include grub/env.h.
41250
41251 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41252 GRUB_ERRNO directly instead. Change the type of POS to
41253 grub_off_t. Follow the coding standard.
41254
41255 * commands/blocklist.c: Include grub/partition.h.
41256 (grub_cmd_blocklist): Return an error if the underlying device is
41257 not a disk. Take the starting sector of a partition into account,
41258 if a partition is used.
41259
41260 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41261 a length field.
41262 (lba_mode): Support 64-bit addresses.
41263 (chs_mode): Likewise.
41264 (copy_buffer): Adapted to the new offsets of a length field and a
41265 segment field.
41266 (blocklist_default_start): Allocate 64-bit space.
41267
41268 * boot/i386/pc/boot.S (force_lba): Removed.
41269 (boot_drive): Moved to under KERNEL_SECTOR.
41270 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
41271 space.
41272 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41273 is useless.
41274 (lba_mode): Refactored to support a 64-bit address. More size
41275 optimization.
41276 (setup_sectors): Likewise.
41277
41278 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41279
41280 * DISTLIST: Added include/grub/i386/linux.h. Removed
41281 include/grub/i386/pc/linux.h
41282
41283 * configure.ac (AC_INIT): Bumped to 1.94.
41284
41285 * config.guess: Updated from gnulib.
41286 * config.sub: Likewise.
41287 * install-sh: Likewise.
41288 * mkinstalldirs: Likewise.
41289
41290 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41291
41292 * conf/common.rmk (grub_modules_init.lst): Depended on
41293 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41294 MODSRCFILES.
41295
41296 * genmk.rb (PModule::rule): Reverted the previous change.
41297
41298 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41299
41300 * conf/common.rmk (grub_modules_init.lst): Depends on
41301 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41302 that the target does not exist before producing.
41303 (grub_modules_init.h): Remove the target before generating.
41304 (grub_emu_init.c): Likewise.
41305
41306 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41307
41308 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41309
41310 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41311 for the target-specific tests. Make sure that we also have the
41312 up-to-date target variables for those tests.
41313
41314 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41315
41316 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41317 (PModule::rule): Likewise.
41318
41319 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41320
41321 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41322 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41323 target-specific flags should be prefixed.
41324 (PModule::rule): Likewise.
41325
41326 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41327
41328 * configure.ac (CMP): Check if cmp is available explicitly.
41329
41330 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41331
41332 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41333 (target_cpu): New variable.
41334 (pkglibdir): Use target_cpu instead of host_cpu.
41335
41336 * util/i386/pc/grub-install.in (host_cpu): Removed.
41337 (target_cpu): New variable.
41338 (pkglibdir): Use target_cpu instead of host_cpu.
41339
41340 * util/genmoddep.c: Removed.
41341
41342 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41343 instead of GRUB_HOST_SIZEOF_VOID_P.
41344 * kern/dl.c: Likewise.
41345
41346 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41347 ...
41348 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41349 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41350 (GRUB_TARGET_SIZEOF_LONG): ... this.
41351 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41352 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41353 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41354 to ...
41355 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41356 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41357 (GRUB_TARGET_SIZEOF_LONG): ... this.
41358 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41359 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41360 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41361 to ...
41362 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41363 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41364 (GRUB_TARGET_SIZEOF_LONG): ... this.
41365 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41366 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41367
41368 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41369 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41370 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41371 instead of GRUB_HOST_SIZEOF_LONG.
41372 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41373 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41374 GRUB_CPU_WORDS_BIGENDIAN.
41375 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41376 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41377 grub_host_ssize_t.
41378
41379 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41380 (genmoddep_SOURCES): Likewise.
41381 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41382 (genmoddep_SOURCES): Likewise.
41383 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41384 (genmoddep_SOURCES): Likewise.
41385 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41386 Likewise.
41387 (genmoddep_SOURCES): Likewise.
41388
41389 * genmoddep.awk: New file.
41390
41391 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41392 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41393 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41394 (PModule::rule): Likewise.
41395 (Program::rule): Likewise.
41396 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41397 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41398 respectively.
41399
41400 * configure.ac: Rewritten intensively to use host and target
41401 instead of build and host, respectively.
41402
41403 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41404 (host_cpu): Removed.
41405 (target_cpu): New variable.
41406 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41407 (BUILD_CC): Removed.
41408 (BUILD_CFLAGS): Likewise.
41409 (BUILD_CPPFLAGS): Likewise.
41410 (TARGET_CC): New variable.
41411 (TARGET_CFLAGS): Likewise.
41412 (TARGET_CPPFLAGS): Likewise.
41413 (TARGET_LDFLAGS): Likewise.
41414 (AWK): Likewise.
41415 (include): Use target_cpu instead of host_cpu.
41416 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41417
41418 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41419
41420 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41421
41422 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41423 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41424 field 'false' to 'exec_on_false'.
41425 (grub_script_create_cmdif): Renamed argument names to reflect above
41426 changes.
41427
41428 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41429
41430 * normal/script.c (grub_script_create_cmdif): Likewise.
41431
41432 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41433
41434 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41435 top.
41436 (grub_hfsplus_btree_recptr): Likewise.
41437 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41438 FILEBLOCK both to pass a block number and store next block
41439 number.
41440 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41441 overflow file correctly. Specify errors appropriately, because
41442 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41443 grub_hfsplus_btree_recptr to get the pointer to a found key.
41444 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41445 is found.
41446
41447 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41448 linux.mod.
41449 (_linux_mod_SOURCES): New variable.
41450 (_linux_mod_CFLAGS): Likewise.
41451 (_linux_mod_LDFLAGS): Likewise.
41452 (linux_mod_SOURCES): Likewise.
41453 (linux_mod_CFLAGS): Likewise.
41454 (linux_mod_LDFLAGS): Likewise.
41455
41456 * DISTLIST: Added loader/i386/efi/linux.c,
41457 loader/i386/efi/linux_normal.c and
41458 include/grub/i386/efi/loader.h.
41459
41460 * loader/i386/efi/linux.c: New file.
41461 * loader/i386/efi/linux_normal.c: Likewise.
41462 * include/grub/i386/efi/loader.h: Likewise.
41463
41464 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41465
41466 * commands/blocklist.c: New file.
41467
41468 * DISTLIST: Added commands/blocklist.c.
41469
41470 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41471 color for the background, and a darker color for the foreground.
41472 (grub_console_checkkey): Return READ_KEY.
41473 (grub_console_cls): Set the background to
41474 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41475
41476 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41477
41478 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41479 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41480
41481 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41482 prototype.
41483
41484 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41485 BG. The spec is wrong again.
41486
41487 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41488 prototype.
41489 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41490
41491 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41492 commands/blocklist.c.
41493 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41494
41495 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41496 (blocklist_mod_SOURCES): New variable.
41497 (blocklist_mod_CFLAGS): Likewise.
41498 (blocklist_mod_LDFLAGS): Likewise.
41499
41500 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41501
41502 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41503 duplication.
41504 (lba_mode): Use %eax more intensively to reduce the code size.
41505
41506 2006-05-20 Marco Gerards <marco@gnu.org>
41507
41508 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41509
41510 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41511 for `menuentry'.
41512 (script): Accept leading newlines.
41513 (newlines): New rule to describe 0 or more newlines.
41514 (commands): Accept `command' with trailing newline. Fixed the
41515 order in which arguments were passed to `grub_script_add_cmd'.
41516 Accept commands separated by newlines.
41517 (function): Changed to accept newlines.
41518 (menuentry) Rewritten.
41519
41520 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41521 front of the list, instead of to the end.
41522
41523 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41524
41525 * util/i386/pc/grub-install.in (bindir): New variable.
41526 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41527 Shaver <lbgwjl@gmail.com>.
41528
41529 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41530
41531 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41532 grub/machine/linux.h
41533 * loader/i386/pc/linux.c: Likewise.
41534
41535 * include/grub/i386/pc/linux.h: Moved to ...
41536 * include/grub/i386/linux.h: ... here.
41537
41538 * include/grub/i386/linux.h (struct linux_kernel_params): New
41539 struct.
41540
41541 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41542
41543 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41544 checking.
41545 (grub_video_vbe_blit_glyph): Likewise.
41546 (grub_video_vbe_blit_bitmap): Likewise.
41547 (grub_video_vbe_blit_render_target): Likewise.
41548
41549 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41550
41551 * configure.ac (--with-platform): Properly quote the square
41552 brackets.
41553
41554 2006-05-08 Marco Gerards <marco@gnu.org>
41555
41556 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41557 this...
41558 (kernel_elf_HEADERS): ...to this. Updated all users.
41559 (grubof_symlist.c): Renamed from this...
41560 (kernel_elf_symlist.c): ...to this. Updated all users.
41561 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41562 (grubof_SOURCES): Renamed from this...
41563 (kernel_elf_SOURCES): ...to this.
41564 (grubof_HEADERS): Renamed from this...
41565 (kernel_elf_HEADERS): ...to this.
41566 (grubof_CFLAGS): Renamed from this...
41567 (kernel_elf_CFLAGS): ...to this.
41568 (grubof_ASFLAGS): Renamed from this...
41569 (kernel_elf_ASFLAGS): ...to this.
41570 (grubof_LDFLAGS): Renamed from this...
41571 (kernel_elf_LDFLAGS): ...to this.
41572
41573 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41574 this...
41575 (kernel_elf_HEADERS): ...to this. Updated all users.
41576 (grubof_symlist.c): Renamed from this...
41577 (kernel_elf_symlist.c): ...to this. Updated all users.
41578 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41579 (grubof_SOURCES): Renamed from this...
41580 (kernel_elf_SOURCES): ...to this.
41581 (grubof_HEADERS): Renamed from this...
41582 (kernel_elf_HEADERS): ...to this.
41583 (grubof_CFLAGS): Renamed from this...
41584 (kernel_elf_CFLAGS): ...to this.
41585 (grubof_ASFLAGS): Renamed from this...
41586 (kernel_elf_ASFLAGS): ...to this.
41587 (grubof_LDFLAGS): Renamed from this...
41588 (kernel_elf_LDFLAGS): ...to this.
41589
41590 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41591 `kernel.elf' instead of `grubof'.
41592
41593 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41594
41595 Add --with-platform to configure. Use pkglibdir instead of
41596 pkgdatadir. This is reported by Roger Leigh.
41597
41598 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41599 (host_vendor): Likewise.
41600 (host_os): Likewise.
41601 (pkgdatadir): Likewise.
41602 (platform): New variable.
41603 (pkglibdir): Likewise.
41604 Use PKGLIBDIR instead of PKGDATADIR.
41605
41606 * util/i386/pc/grub-install.in (datadir): Removed.
41607 (host_vendor): Likewise.
41608 (host_os): Likewise.
41609 (pkgdatadir): Likewise.
41610 (platform): New variable.
41611 (pkglibdir): Likewise.
41612 Use PKGLIBDIR instead of PKGDATADIR.
41613
41614 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41615 instead of GRUB_DATADIR.
41616 (main): Likewise.
41617 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41618 (main): Likewise.
41619 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41620 (main): Likewise.
41621
41622 * configure.ac (--with-platform): New option.
41623 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41624
41625 * Makefile.in: Include a makefile based on PLATFORM instead of
41626 HOST_VENDOR.
41627 (pkgdatadir): Not appended by the machine type.
41628 (pkglibdir): Appended by the machine type.
41629 (host_vendor): Removed.
41630 (platform): New variable.
41631 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41632 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41633 (uninstall): Likewise.
41634
41635 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41636
41637 Use the environment context in the menu. Remove the commands
41638 "default" and "timeout", and use variables instead.
41639
41640 * normal/menu.c: Include grub/env.h.
41641 (print_entry): Cast TITLE to silence gcc.
41642 (get_timeout): New function.
41643 (set_timeout): Likewise.
41644 (get_entry_number): Likewise.
41645 (run_menu): Use a default entry, a fallback entry and a timeout
41646 in the environment variables "default", "fallback" and
41647 "timeout". Also, tweak the default entry if it is not within the
41648 current menu entries.
41649 (grub_menu_run): Use a fallback entry in the environment variable
41650 "fallback".
41651
41652 * normal/main.c (read_config_file): Do not initialize
41653 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41654 NEWMENU->TIMEOUT.
41655 (grub_normal_execute): Use a data slot to store the menu.
41656
41657 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41658 fallback_entry and timeout.
41659 (struct grub_menu_list): Removed.
41660 (grub_menu_list_t): Likewise.
41661 (struct grub_context): Likewise.
41662 (grub_context_t): Likewise.
41663 (grub_context_get): Likewise.
41664 (grub_context_get_current_menu): Likewise.
41665 (grub_context_push_menu): Likewise.
41666 (grub_context_pop_menu): Likewise.
41667 (grub_default_init): Likewise.
41668 (grub_default_fini): Likewise.
41669 (grub_timeout_init): Likewise.
41670 (grub_timeout_fini): Likewise.
41671
41672 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41673 and timeout.mod.
41674 (normal_mod_SOURCES): Removed normal/context.c.
41675
41676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41677 commands/default.c, commands/timeout.c and normal/context.c.
41678 (normal_mod_SOURCES): Removed normal/context.c.
41679
41680 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41681 commands/timeout.c and normal/context.c.
41682 (normal_mod_SOURCES): Removed normal/context.c.
41683
41684 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41685 commands/default.c, commands/timeout.c and normal/context.c.
41686 (normal_mod_SOURCES): Removed normal/context.c.
41687
41688 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41689 timeout.mod.
41690 (default_mod_SOURCES): Removed.
41691 (default_mod_CFLAGS): Likewise.
41692 (default_mod_LDFLAGS): Likewise.
41693 (timeout_mod_SOURCES): Removed.
41694 (timeout_mod_CFLAGS): Likewise.
41695 (timeout_mod_LDFLAGS): Likewise.
41696
41697 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41698 normal/context.c.
41699
41700 * commands/default.c: Removed.
41701 * commands/timeout.c: Likewise.
41702 * normal/context.c: Likewise.
41703
41704 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41705
41706 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41707
41708 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41709
41710 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41711 "next" to "prev" for readability.
41712 (struct grub_env_sorted_var): New struct.
41713 (grub_env_context): Renamed to ...
41714 (initial_context): ... this.
41715 (grub_env_var_context): Renamed to ...
41716 (current_context): ... this.
41717 (grub_env_find): Look only at CURRENT_CONTEXT.
41718 (grub_env_context_open): Rewritten to copy exported variables from
41719 previous context.
41720 (grub_env_context_close): Rewritten according to the new
41721 scheme. Also, add an assertion to prevent the initial context from
41722 removed.
41723 (grub_env_insert): Removed the code for the sorted list.
41724 (grub_env_remove): Likewise.
41725 (grub_env_export): Simply mark the variable with
41726 GRUB_ENV_VAR_GLOBAL.
41727 (grub_env_set): A cosmetic change for naming consistency.
41728 (grub_env_get): Likewise.
41729 (grub_env_unset): Likewise.
41730 (grub_env_iterate): Rewritten to sort variables within this
41731 function.
41732 (grub_register_variable_hook): Fixed for naming consistency. Call
41733 grub_env_find again, only if NAME is not found at the first time.
41734 (mangle_data_slot_name): New function.
41735 (grub_env_set_data_slot): Likewise.
41736 (grub_env_get_data_slot): Likewise.
41737 (grub_env_unset_data_slot): Likewise.
41738
41739 * include/grub/env.h (grub_env_var_type): New enum.
41740 (GRUB_ENV_VAR_LOCAL): New constant.
41741 (GRUB_ENV_VAR_GLOBAL): Likewise.
41742 (GRUB_ENV_VAR_DATA): Likewise.
41743 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41744 "type".
41745 (grub_env_set): Replace VAR with NAME for consistency.
41746 (grub_register_variable_hook): Likewise.
41747 (grub_env_export): Specify the name of the argument.
41748 (grub_env_set_data_slot): New prototype.
41749 (grub_env_get_data_slot): Likewise.
41750 (grub_env_unset_data_slot): Likewise.
41751
41752 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41753
41754 Extend the loader so that GRUB can accept a loader which comes
41755 back to GRUB when a loaded image exits. Also, this change adds
41756 support for a chainloader on EFI.
41757
41758 * term/efi/console.c: Include grub/misc.h.
41759 (grub_console_checkkey): Display a scan code on the top for
41760 debugging. This will be removed once the EFI port gets stable.
41761 Correct the scan code mapping.
41762
41763 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41764 allocate memory from larger regions, in order to reduce the number
41765 of allocated regions. Otherwise, the MacOSX loader panics.
41766 (filter_memory_map): Avoid less than 1MB for compatibility with
41767 other loaders.
41768 (add_memory_regions): Allocate from the tail of a region, if
41769 possible, to avoid allocating a region near to 1MB, for the MacOSX
41770 loader.
41771
41772 * kern/efi/init.c (grub_efi_set_prefix): Specify
41773 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41774
41775 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41776 argument IMAGE_HANDLE and specify it to get a loaded image.
41777 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41778 grub_efi_get_loaded_image.
41779 (grub_efi_get_filename): Divide the length by the size of
41780 grub_efi_char16_t.
41781 (grub_efi_get_device_path): New function.
41782 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41783 the length by the size of grub_efi_char16_t for a file path device
41784 path node.
41785
41786 * kern/loader.c (grub_loader_noreturn): New variable.
41787 (grub_loader_set): Accept a new argument NORETURN. Set
41788 GRUB_LOADER_NORETURN to NORETURN.
41789 All callers changed.
41790 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41791 grub_machine_fini.
41792
41793 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41794 prototype.
41795 (grub_efi_get_loaded_image): Take an argument to specify an image
41796 handle.
41797
41798 * include/grub/loader.h (grub_loader_set): Added one more argument
41799 NORETURN.
41800
41801 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41802 instead of grub_efi_open_protocol.
41803 (grub_efidisk_get_device_name): Likewise.
41804 (grub_efidisk_close): Print a newline.
41805 (grub_efidisk_get_device_handle): Fixed to use
41806 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41807 GRUB_EFI_DEVICE_PATH_TYPE.
41808
41809 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41810 * kern/efi/efi.c (device_path_guid): ... here.
41811
41812 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41813 chain.mod.
41814 (kernel_mod_HEADERS): Added efi/disk.h.
41815 (_chain_mod_SOURCES): New variable.
41816 (_chain_mod_CFLAGS): Likewise.
41817 (_chain_mod_LDFLAGS): Likewise.
41818 (chain_mod_SOURCES): Likewise.
41819 (chain_mod_CFLAGS): Likewise.
41820 (chain_mod_LDFLAGS): Likewise.
41821
41822 * DISTLIST: Added include/grub/efi/chainloader.h,
41823 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41824
41825 * include/grub/efi/chainloader.h: New file.
41826 * loader/efi/chainloader.c: Likewise.
41827 * loader/efi/chainloader_normal.c: Likewise.
41828
41829 2006-04-30 Marco Gerards <marco@gnu.org>
41830
41831 * commands/configfile.c (grub_cmd_source): New function.
41832 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41833 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41834
41835 2006-04-30 Marco Gerards <marco@gnu.org>
41836
41837 * normal/execute.c (grub_script_execute_cmd): Change the return
41838 type to `grub_err_t'. Correctly return the error.
41839 (grub_script_execute_cmdline): In case a command line is not a
41840 command or a function, try to interpret it as an assignment.
41841
41842 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41843
41844 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41845 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41846 skip a node whose name is obviously invalid as UTF-16,
41847 i.e. contains a NUL character. Stop the iteration when the last
41848 directory entry is found. Instead of using the return value of
41849 grub_hfsplus_btree_iterate_node, store the value in RET and use
41850 it, because the iterator can be stopped by the last directory
41851 entry.
41852
41853 2006-04-30 Marco Gerards <marco@gnu.org>
41854
41855 * include/grub/env.h (grub_env_export): New prototype. Reported
41856 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41857
41858 2006-04-30 Marco Gerards <marco@gnu.org>
41859
41860 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41861 size of the extents in a catalog file record.
41862
41863 2006-04-29 Marco Gerards <marco@gnu.org>
41864
41865 * commands/configfile.c (grub_cmd_configfile): Execute the
41866 configfile within its own context.
41867
41868 * include/grub/env.h (grub_env_context_open): New prototype.
41869 (grub_env_context_close): Likewise.
41870
41871 * kern/env.c (grub_env): Removed.
41872 (grub_env_sorted): Likewise.
41873 (grub_env_context): New variable.
41874 (grub_env_var_context): Likewise.
41875 (grub_env_find): Search both the active context and the global
41876 context.
41877 (grub_env_context_open): New function.
41878 (grub_env_context_close): Likewise.
41879 (grub_env_insert): Likewise.
41880 (grub_env_remove): Likewise.
41881 (grub_env_export): Likewise.
41882 (grub_env_set): Changed to use helper functions to avoid code
41883 duplication.
41884 (grub_env_iterate): Rewritten so both the current context and the
41885 global context are being used.
41886
41887 * normal/command.c (export_command): New function.
41888 (grub_command_init): Register the `export' function.
41889
41890 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41891
41892 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41893 explicitly to suppress gcc's warnings.
41894 * fs/fat.c (grub_fat_find_dir): Likewise.
41895 (grub_fat_label): Likewise.
41896 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41897 (grub_xfs_mount): Likewise.
41898 (grub_xfs_label): Likewise.
41899 * fs/affs.c (grub_affs_mount): Likewise.
41900 (grub_affs_label): Likewise.
41901 (grub_affs_iterate_dir): Likewise.
41902 * fs/sfs.c (grub_sfs_mount): Likewise.
41903 (grub_sfs_iterate_dir): Likewise.
41904 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41905 * fs/hfs.c (grub_hfs_mount): Likewise.
41906 (grub_hfs_cmp_catkeys): Likewise.
41907 (grub_hfs_find_dir): Likewise.
41908 (grub_hfs_dir): Likewise.
41909 (grub_hfs_label): Likewise.
41910 * fs/jfs.c (grub_jfs_mount): Likewise.
41911 (grub_jfs_opendir): Likewise.
41912 (grub_jfs_getent): Likewise.
41913 (grub_jfs_lookup_symlink): Likewise.
41914 (grub_jfs_label): Likewise.
41915 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41916 (grub_hfsplus_iterate_dir): Likewise.
41917 (grub_hfsplus_btree_iterate_node): Made static.
41918
41919 * util/grub-emu.c (prefix): New variable.
41920 (grub_machine_set_prefix): New function.
41921 (main): Do not set the environment variable "prefix" here. Only
41922 set PREFIX, which is used later by grub_machine_set_prefix.
41923
41924 * include/grub/video.h: Do not include grub/symbol.h.
41925 (grub_video_register): Not exported. This symbol is not defined in
41926 the kernel.
41927 (grub_video_unregister): Likewise.
41928 (grub_video_iterate): Likewise.
41929 (grub_video_setup): Likewise.
41930 (grub_video_restore): Likewise.
41931 (grub_video_get_info): Likewise.
41932 (grub_video_get_blit_format): Likewise.
41933 (grub_video_set_palette): Likewise.
41934 (grub_video_get_palette): Likewise.
41935 (grub_video_set_viewport): Likewise.
41936 (grub_video_get_viewport): Likewise.
41937 (grub_video_map_color): Likewise.
41938 (grub_video_map_rgb): Likewise.
41939 (grub_video_map_rgba): Likewise.
41940 (grub_video_fill_rect): Likewise.
41941 (grub_video_blit_glyph): Likewise.
41942 (grub_video_blit_bitmap): Likewise.
41943 (grub_video_blit_render_target): Likewise.
41944 (grub_video_scroll): Likewise.
41945 (grub_video_swap_buffers): Likewise.
41946 (grub_video_create_render_target): Likewise.
41947 (grub_video_delete_render_target): Likewise.
41948 (grub_video_set_active_render_target): Likewise.
41949
41950 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41951 Undefined.
41952 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41953
41954 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41955 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41956 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41957 instead of $(srcdir)/genkernsyms.sh.
41958
41959 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41960 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41961 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41962 instead of $(srcdir)/genkernsyms.sh.
41963
41964 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41965 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41966 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41967 instead of $(srcdir)/genkernsyms.sh.
41968
41969 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41970 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41971 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41972 instead of $(srcdir)/genkernsyms.sh.
41973
41974 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41975 genkernsyms.sh.
41976
41977 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41978 genkernsyms.sh.
41979 (gensymlist.sh): New target.
41980 (genkernsyms.sh): Likewise.
41981
41982 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41983 genkernsyms.sh.in and gensymlist.sh.in.
41984
41985 * genkernsyms.sh: Removed.
41986 * gensymlist.sh: Likewise.
41987
41988 * genkernsyms.sh.in: New file.
41989 * gensymlist.sh.in: Likewise.
41990
41991 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41992
41993 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41994 clobber "prefix", since we may have already set it manually.
41995
41996 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41997
41998 * kern/misc.c (abort): New alias for grub_abort.
41999
42000 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42001
42002 A new machine-specific function "grub_machine_set_prefix" is
42003 defined. This is called after loading modules, so that a prefix
42004 initialization can use modules. Also, this change adds an
42005 intensive debugging feature for the memory manager via the
42006 configure option "--enable-mm-debug".
42007
42008 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42009 PART.LEN.
42010
42011 * kern/sparc64/ieee1275/init.c (abort): Removed.
42012 (grub_stop): Likewise.
42013 (grub_exit): New function.
42014 (grub_set_prefix): Renamed to ...
42015 (grub_machine_set_prefix): ... this.
42016 (grub_machine_init): Do not call grub_set_prefix.
42017
42018 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42019 (grub_machine_set_prefix): ... this.
42020 (grub_machine_init): Do not call grub_set_prefix.
42021
42022 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42023 (grub_machine_init): Do not set the prefix here.
42024
42025 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42026
42027 * kern/efi/init.c: Include grub/mm.h.
42028 (grub_efi_set_prefix): New function.
42029
42030 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42031 (grub_efi_get_filename): New function.
42032 (grub_print_device_path): Renamed to ...
42033 (grub_efi_print_device_path): ... this.
42034
42035 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42036 [MM_DEBUG] (grub_realloc): Likewise.
42037 [MM_DEBUG] (grub_free): Likewise.
42038 [MM_DEBUG] (grub_memalign): Likewise.
42039 [MM_DEBUG] (grub_mm_debug): New variable.
42040 [MM_DEBUG] (grub_debug_malloc): New function.
42041 [MM_DEBUG] (grub_debug_free): New function.
42042 [MM_DEBUG] (grub_debug_realloc): New function.
42043 [MM_DEBUG] (grub_debug_memalign): New function.
42044
42045 * kern/misc.c (grub_abort): Print a newline to distinguish
42046 the message.
42047
42048 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42049 grub_set_root_dev after loading modules. This is necessary when
42050 setting a prefix depends on modules.
42051
42052 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42053 (grub_efi_print_device_path): ... this.
42054 (grub_efi_get_filename): New prototype.
42055 (grub_efi_set_prefix): Likewise.
42056
42057 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42058 and grub/disk.h.
42059 (grub_efidisk_get_device_handle): New prototype.
42060 (grub_efidisk_get_device_name): Likewise.
42061
42062 * include/grub/mm.h: Include config.h.
42063 (MM_DEBUG): Removed.
42064 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42065 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42066 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42067 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42068 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42069 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42070 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42071 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42072 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42073
42074 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42075
42076 * disk/efi/efidisk.c: Include grub/partition.h.
42077 (iterate_child_devices): New function.
42078 (add_device): First, compare only last device path nodes, so that
42079 devices are sorted by the types.
42080 (grub_efidisk_get_device_handle): New function.
42081 (grub_efidisk_get_device_name): Likewise.
42082
42083 * configure.ac (--enable-mm-debug): New option to enable the
42084 memory manager debugging feature. This makes the binary much
42085 bigger, so is disabled by default.
42086
42087 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42088
42089 Use grub_abort instead of grub_stop, and grub_exit must be
42090 define in each architecture now. Also, this change adds support
42091 for EFI disks.
42092
42093 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42094 (grub_getkey): New function.
42095 (grub_term_get_current): Likewise.
42096
42097 * util/i386/pc/grub-setup.c: Include grub/term.h.
42098 (grub_getkey): New function.
42099 (grub_term_get_current): Likewise.
42100
42101 * util/misc.c (grub_stop): Renamed to ...
42102 (grub_exit): ... this.
42103
42104 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42105 (grub_exit): ... this.
42106 (grub_machine_init): Use grub_abort instead of abort.
42107 (grub_stop): Removed.
42108
42109 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42110 abort.
42111
42112 * kern/i386/pc/startup.S (grub_exit): New function.
42113 (cold_reboot): New label.
42114
42115 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42116 (grub_efi_init): Call grub_efidisk_init.
42117 (grub_efi_fini): Call grub_efidisk_fini.
42118
42119 * kern/efi/efi.c: Include grub/mm.h.
42120 (grub_efi_console_control_guid): Renamed to ...
42121 (console_control_guid): ... this.
42122 (grub_efi_loaded_image_guid): Renamed to ...
42123 (loaded_image_guid): ... this.
42124 (grub_efi_locate_handle): New function.
42125 (grub_efi_open_protocol): Likewise.
42126 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42127 GRUB_EFI_CONSOLE_CONTROL_GUID.
42128 (grub_efi_exit): Removed.
42129 (grub_stop): Likewise.
42130 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42131 (grub_exit): New function.
42132 (grub_print_device_path): Likewise.
42133
42134 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42135 (grub_enter_rescue_mode): Register "exit".
42136
42137 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42138 (grub_abort): New function.
42139
42140 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42141
42142 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42143
42144 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42145
42146 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42147 (grub_print_device_path): New prototype.
42148 (grub_efi_locate_handle): Likewise.
42149 (grub_efi_open_protocol): Likewise.
42150
42151 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42152 * disk/efi/efidisk.c: Likewise.
42153
42154 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42155
42156 * include/grub/efi/console_control.h
42157 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42158
42159 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42160 last 8 bytes as an array.
42161 (GRUB_EFI_DISK_IO_GUID): New macro.
42162 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42163 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42164 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42165 grub_uint8_t.
42166 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42167 (struct grub_efi_device_path): Rename the member "sub_type" to
42168 "subtype".
42169 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42170 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42171 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42172 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42173 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42174 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42175 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42176 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42177 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42178 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42179 (struct grub_efi_pci_device_path): New structure.
42180 (grub_efi_pci_device_path_t): New type.
42181 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42182 (struct grub_efi_pccard_device_path): New structure.
42183 (grub_efi_pccard_device_path_t): New type.
42184 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42185 (struct grub_efi_memory_mapped_device_path): New structure.
42186 (grub_efi_memory_mapped_device_path_t): New type.
42187 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42188 (struct grub_efi_vendor_device_path): New structure.
42189 (grub_efi_vendor_device_path_t): New type.
42190 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42191 (struct grub_efi_controller_device_path): New structure.
42192 (grub_efi_controller_device_path_t): New type.
42193 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42194 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42195 (struct grub_efi_acpi_device_path): New structure.
42196 (grub_efi_acpi_device_path_t): New type.
42197 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42198 (struct grub_efi_expanded_acpi_device_path): New structure.
42199 (grub_efi_expanded_acpi_device_path_t): New type.
42200 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42201 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42202 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42203 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42204 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42205 (struct grub_efi_atapi_device_path): New structure.
42206 (grub_efi_atapi_device_path_t): New type.
42207 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42208 (struct grub_efi_fibre_channel_device_path): New structure.
42209 (grub_efi_fibre_channel_device_path_t): New type.
42210 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42211 (struct grub_efi_1394_device_path): New structure.
42212 (grub_efi_1394_device_path_t): New type.
42213 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42214 (struct grub_efi_usb_device_path): New structure.
42215 (grub_efi_usb_device_path_t): New type.
42216 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42217 (struct grub_efi_usb_class_device_path): New structure.
42218 (grub_efi_usb_class_device_path_t): New type.
42219 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42220 (struct grub_efi_i2o_device_path): New structure.
42221 (grub_efi_i2o_device_path_t): New type.
42222 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42223 (struct grub_efi_mac_address_device_path): New structure.
42224 (grub_efi_mac_address_device_path_t): New type.
42225 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42226 (struct grub_efi_ipv4_device_path): New structure.
42227 (grub_efi_ipv4_device_path_t): New type.
42228 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42229 (struct grub_efi_ipv6_device_path): New structure.
42230 (grub_efi_ipv6_device_path_t): New type.
42231 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42232 (struct grub_efi_infiniband_device_path): New structure.
42233 (grub_efi_infiniband_device_path_t): New type.
42234 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42235 (struct grub_efi_uart_device_path): New structure.
42236 (grub_efi_uart_device_path_t): New type.
42237 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42238 (struct grub_efi_vendor_messaging_device_path): New structure.
42239 (grub_efi_vendor_messaging_device_path_t): New type.
42240 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42241 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42242 (struct grub_efi_hard_drive_device_path): New structure.
42243 (grub_efi_hard_drive_device_path_t): New type.
42244 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42245 (struct grub_efi_cdrom_device_path): New structure.
42246 (grub_efi_cdrom_device_path_t): New type.
42247 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42248 (struct grub_efi_vendor_media_device_path): New structure.
42249 (grub_efi_vendor_media_device_path_t): New type.
42250 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42251 (struct grub_efi_file_path_device_path): New structure.
42252 (grub_efi_file_path_device_path_t): New type.
42253 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42254 (struct grub_efi_protocol_device_path): New structure.
42255 (grub_efi_protocol_device_path_t): New type.
42256 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42257 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42258 (struct grub_efi_bios_device_path): New structure.
42259 (grub_efi_bios_device_path_t): New type.
42260 (struct grub_efi_disk_io): New structure.
42261 (grub_efi_disk_io_t): New type.
42262 (struct grub_efi_block_io_media): New structure.
42263 (grub_efi_block_io_media_t): New type.
42264 (struct grub_efi_block_io): New structure.
42265 (grub_efi_block_io_t): New type.
42266
42267 * include/grub/misc.h (grub_stop): Removed.
42268 (grub_exit): New prototype.
42269 (grub_abort): Likewise.
42270
42271 * include/grub/disk.h (enum grub_disk_dev_id): Added
42272 GRUB_DISK_DEVICE_EFIDISK_ID.
42273
42274 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42275 disk/efi/efidisk.c.
42276 (kernel_syms.lst): Remove the target if an error occurs.
42277
42278 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42279
42280 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42281 as it was simply too buggy.
42282
42283 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42284
42285 * kern/misc.c (grub_lltoa): New function.
42286 (grub_vsprintf): Added support for the long long suffix,
42287 i.e. "ll".
42288
42289 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42290
42291 * Makefile.in (LDFLAGS): Add variable.
42292 (LD): Remove variable.
42293 * configure.ac: Add -m32 to LDFLAGS.
42294 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42295 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42296 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42297 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42298 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42299 variables.
42300 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42301 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42302 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42303
42304 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42305
42306 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42307 length for unknown glyph.
42308
42309 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42310
42311 Add support for pre-loaded modules into the EFI port.
42312
42313 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42314 completely. Accept one more argument DIR. The caller has changed.
42315
42316 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42317
42318 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42319 (grub_efi_loaded_image_guid): New variable.
42320 (grub_efi_get_loaded_image): New function.
42321 (grub_arch_modules_addr): Likewise.
42322
42323 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42324 prototype.
42325
42326 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42327 (struct grub_efi_loaded_image): New structure.
42328 (grub_efi_loaded_image_t): New type.
42329
42330 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42331
42332 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42333 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42334 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42335
42336 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42337
42338 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42339
42340 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42341
42342 * DISTLIST: Added include/grub/efi/console.h,
42343 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42344 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42345
42346 * include/grub/efi/console.h: New file.
42347 * include/grub/efi/time.h: Likewise.
42348 * include/grub/i386/efi/kernel.h: Likewise.
42349 * kern/efi/init.c: Likewise.
42350 * kern/efi/mm.c: Likewise.
42351 * term/efi/console.c: Likewise.
42352
42353 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42354 (grub_stop): Removed.
42355 (grub_get_rtc): Likewise.
42356 (grub_machine_init): Simply call grub_efi_init.
42357 (grub_machine_fini): Call grub_efi_fini.
42358
42359 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42360 (grub_efi_output_string): Removed.
42361 (grub_efi_stall): New function.
42362 (grub_stop): Likewise.
42363 (grub_get_rtc): Likewise.
42364
42365 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42366 (grub_efi_stall): New prototype.
42367 (grub_efi_allocate_pages): Likewise.
42368 (grub_efi_free_pages): Likewise.
42369 (grub_efi_get_memory_map): Likewise.
42370 (grub_efi_mm_init): Likewise.
42371 (grub_efi_mm_fini): Likewise.
42372 (grub_efi_init): Likewise.
42373 (grub_efi_fini): Likewise.
42374
42375 * include/grub/i386/efi/time.h: Do not include
42376 grub/symbol.h. Include grub/efi/time.h.
42377 (GRUB_TICKS_PER_SECOND): Removed.
42378 (grub_get_rtc): Likewise.
42379
42380 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42381 Added padding. The EFI spec is buggy.
42382 (GRUB_EFI_BLACK): New macro.
42383 (GRUB_EFI_BLUE): Likewise.
42384 (GRUB_EFI_GREEN): Likewise.
42385 (GRUB_EFI_CYAN): Likewise.
42386 (GRUB_EFI_RED): Likewise.
42387 (GRUB_EFI_MAGENTA): Likewise.
42388 (GRUB_EFI_BROWN): Likewise.
42389 (GRUB_EFI_LIGHTGRAY): Likewise.
42390 (GRUB_EFI_BRIGHT): Likewise.
42391 (GRUB_EFI_DARKGRAY): Likewise.
42392 (GRUB_EFI_LIGHTBLUE): Likewise.
42393 (GRUB_EFI_LIGHTGREEN): Likewise.
42394 (GRUB_EFI_LIGHTCYAN): Likewise.
42395 (GRUB_EFI_LIGHTRED): Likewise.
42396 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42397 (GRUB_EFI_YELLOW): Likewise.
42398 (GRUB_EFI_WHITE): Likewise.
42399 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42400 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42401 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42402 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42403 (GRUB_EFI_BACKGROUND_RED): Likewise.
42404 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42405 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42406 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42407 (GRUB_EFI_TEXT_ATTR): Likewise.
42408
42409 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42410 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42411 (kernel_mod_HEADERS): Added efi/time.h.
42412
42413 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42414
42415 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42416 include/grub/efi/api.h, include/grub/efi/console_control.h,
42417 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42418 include/grub/i386/efi/time.h, kern/efi/efi.c,
42419 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42420 and util/i386/efi/grub-mkimage.c.
42421
42422 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42423
42424 * genmk.rb (PModule#rule): Do not export symbols if
42425 #{prefix}_EXPORTS is set to "no".
42426
42427 * conf/i386-efi.mk: New file.
42428 * conf/i386-efi.rmk: Likewise.
42429 * include/grub/efi/api.h: Likewise.
42430 * include/grub/efi/console_control.h: Likewise.
42431 * include/grub/efi/efi.h: Likewise.
42432 * include/grub/efi/pe32.h: Likewise.
42433 * include/grub/i386/efi/time.h: Likewise.
42434 * kern/efi/efi.c: Likewise.
42435 * kern/i386/efi/init.c: Likewise.
42436 * kern/i386/efi/startup.S: Likewise.
42437 * util/i386/efi/grub-mkimage.c: Likewise.
42438
42439 2006-04-17 Marco Gerards <marco@gnu.org>
42440
42441 * include/grub/script.h: Include <grub/parser.h> and
42442 "grub_script.tab.h".
42443 (struct grub_lexer_param): New struct.
42444 (struct grub_parser_param): Likewise.
42445 (grub_script_create_arglist): Pass the state in an argument.
42446 (grub_script_add_arglist): Likewise.
42447 (grub_script_create_cmdline): Likewise.
42448 (grub_script_create_cmdblock): Likewise.
42449 (grub_script_create_cmdif): Likewise.
42450 (grub_script_create_cmdmenu): Likewise.
42451 (grub_script_add_cmd): Likewise.
42452 (grub_script_arg_add): Likewise.
42453 (grub_script_lexer_ref): Likewise.
42454 (grub_script_lexer_deref): Likewise.
42455 (grub_script_lexer_record_start): Likewise.
42456 (grub_script_lexer_record_stop): Likewise.
42457 (grub_script_mem_record): Likewise.
42458 (grub_script_mem_record_stop): Likewise.
42459 (grub_script_malloc): Likewise.
42460 (grub_script_yylex): Likewise.
42461 (grub_script_yyparse): Likewise.
42462 (grub_script_yyerror): Likewise.
42463 (grub_script_yylex): Likewise.
42464 (grub_script_lexer_init): Return the state.
42465
42466 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42467 (grub_script_lexer_done): Likewise.
42468 (grub_script_lexer_getline): Likewise.
42469 (grub_script_lexer_refs): Likewise.
42470 (script): Likewise.
42471 (newscript): Likewise.
42472 (record): Likewise.
42473 (recording): Likewise.
42474 (recordpos): Likewise.
42475 (recordlen): Likewise.
42476 (grub_script_lexer_init): Return the state instead of setting
42477 global variables.
42478 (grub_script_lexer_ref): Use the newly added argument for state
42479 instead of globals.
42480 (grub_script_lexer_deref): Likewise.
42481 (grub_script_lexer_record_start): Likewise.
42482 (grub_script_lexer_record_stop): Likewise.
42483 (recordchar): Likewise.
42484 (nextchar): Likewise.
42485 (grub_script_yylex2): Likewise.
42486 (grub_script_yylex): Likewise.
42487 (grub_script_yyerror): Likewise.
42488
42489 * normal/parser.y (func_mem): Removed variable.
42490 (menu_entry): Likewise.
42491 (err): Likewise.
42492 (%lex-param): New parser option.
42493 (%parse-param): Likewise.
42494 (script): Always return the AST.
42495 (argument): Pass the state around.
42496 (arguments): Likewise.
42497 (grubcmd): Likewise.
42498 (commands): Likewise.
42499 (function): Likewise.
42500 (menuentry): Likewise.
42501 (if_statement): Likewise.
42502 (if): Likewise.
42503
42504 * normal/script.c (grub_script_memused): Removed variable.
42505 (grub_script_parsed): Likewise.
42506 (grub_script_malloc): Added a state argument. Use that instead of
42507 global variables.
42508 (grub_script_mem_record): Likewise.
42509 (grub_script_mem_record_stop): Likewise.
42510 (grub_script_arg_add): Likewise.
42511 (grub_script_add_arglist): Likewise.
42512 (grub_script_create_cmdline): Likewise.
42513 (grub_script_create_cmdif): Likewise.
42514 (grub_script_create_cmdmenu): Likewise.
42515 (grub_script_add_cmd): Likewise.
42516 (grub_script_parse): Setup the state before calling the parser.
42517
42518 2006-04-16 Marco Gerards <marco@gnu.org>
42519
42520 * normal/command.c (grub_command_init): Remove the title command.
42521
42522 * normal/lexer.c (grub_script_yylex): Renamed from this...
42523 (grub_script_yylex2): ... to this.
42524 (grub_script_yylex): New function. Temporary
42525 introduced to filter some tokens.
42526 (grub_script_yyerror): Print a newline.
42527
42528 * normal/main.c (read_config_file): Output information about the
42529 lines that contain errors. Wait for a key after all lines have
42530 been processed. Don't return an empty menu.
42531
42532 * normal/parser.y (func_mem): Don't initialize.
42533 (menu_entry): Likewise.
42534 (err): New variable.
42535 (script): Don't return anything when an error was encountered.
42536 (ws, returns): Removed rules.
42537 (argument): Disabled concatenated variable support.
42538 (arguments): Remove explicit separators.
42539 (grubcmd): Likewise.
42540 (function): Likewise.
42541 (menuentry): Likewise.
42542 (if): Likewise.
42543 (commands): Likewise. Add error handling.
42544
42545 * normal/script.c (grub_script_create_cmdline): If
42546 `grub_script_parsed' is 0, assume the parser encountered an error.
42547
42548 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42549
42550 * configure.ac: Add support for EFI. Fix the typo
42551 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42552
42553 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42554
42555 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42556 foreign multibyte characters should be shown correctly.
42557
42558 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42559
42560 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42561 calculation.
42562 (read_config_file): Made it to close file before returning.
42563
42564 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42565
42566 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42567 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42568 video/i386/pc/vbefill.c.
42569
42570 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42571 video/i386/pc/vbefill.c.
42572
42573 * include/grub/video.h (grub_video_blit_format): New enum.
42574 (grub_video_mode_info): Added new member blit_format.
42575 (grub_video_get_blit_format): New function prototype.
42576
42577 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42578 function prototype.
42579 (grub_video_vbe_map_rgb): Likewise.
42580 (grub_video_vbe_unmap_color): Likewise.
42581
42582 * include/grub/i386/pc/vbeblit.h: New file.
42583
42584 * include/grub/i386/pc/vbefill.h: New file.
42585
42586 * video/video.c (grub_video_get_blit_format): New function.
42587 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42588 (grub_video_vbe_map_rgb): Likewise.
42589 (grub_video_vbe_unmap_color): Likewise.
42590
42591 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42592 optimized fills.
42593 (grub_video_vbe_blit_render_target): Changed to use more optimized
42594 blits.
42595 (grub_video_vbe_setup): Added detection for optimized settings.
42596 (grub_video_vbe_create_render_target): Likewise.
42597
42598 * video/i386/pc/vbeblit.c: New file.
42599
42600 * video/i386/pc/vbefill.c: New file.
42601
42602 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42603
42604 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42605 here...
42606
42607 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42608 parsing to support both hex and dec ranges. If filename was missing
42609 show usage information.
42610
42611 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42612
42613 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42614 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42615
42616 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42617 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42618 (video_mod_SOURCES): Added.
42619 (video_mod_CFLAGS): Likewise.
42620 (video_mod_LDFLAGS): Likewise.
42621 (gfxterm_mod_SOURCES): Likewise.
42622 (gfxterm_mod_CFLAGS): Likewise.
42623 (gfxterm_mod_LDFLAGS): Likewise.
42624 (videotest_mod_SOURCES): Likewise.
42625 (videotest_mod_CFLAGS): Likewise.
42626 (videotest_mod_LDFLAGS): Likewise.
42627 (vesafb_mod_SOURCES): Removed.
42628 (vesafb_mod_CFLAGS): Likewise.
42629 (vesafb_mod_LDFLAGS): Likewise.
42630 (vga_mod_SOURCES): Likewise.
42631 (vga_mod_CFLAGS): Likewise.
42632 (vga_mod_LDFLAGS): Likewise.
42633
42634 * commands/videotest.c: New file.
42635
42636 * font/manager.c (fill_with_default_glyph): Modified to use
42637 grub_font_glyph.
42638 (grub_font_get_glyph): Likewise.
42639 (fontmanager): Renamed from this...
42640 (font_manager): ... to this.
42641
42642 * include/grub/font.h (grub_font_glyph): Added new structure.
42643 (grub_font_get_glyph): Modified to use grub_font_glyph.
42644
42645 * include/grub/misc.h (grub_abs): Added as inline function.
42646
42647 * include/grub/video.h: New file.
42648
42649 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42650 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42651 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42652 (grub_vbe_get_controller_info): Renamed from this...
42653 (grub_vbe_bios_get_controller_info): ... to this.
42654 (grub_vbe_get_mode_info): Renamed from this...
42655 (grub_vbe_bios_get_mode_info): ... to this.
42656 (grub_vbe_set_mode): Renamed from this...
42657 (grub_vbe_bios_set_mode): ... to this.
42658 (grub_vbe_get_mode): Renamed from this...
42659 (grub_vbe_bios_get_mode): ... to this.
42660 (grub_vbe_set_memory_window): Renamed from this...
42661 (grub_vbe_bios_set_memory_window): ... to this.
42662 (grub_vbe_get_memory_window): Renamed from this...
42663 (grub_vbe_bios_get_memory_window): ... to this.
42664 (grub_vbe_set_scanline_length): Renamed from this...
42665 (grub_vbe_set_scanline_length): ... to this.
42666 (grub_vbe_get_scanline_length): Renamed from this...
42667 (grub_vbe_bios_get_scanline_length): ... to this.
42668 (grub_vbe_set_display_start): Renamed from this...
42669 (grub_vbe_bios_set_display_start): ... to this.
42670 (grub_vbe_get_display_start): Renamed from this...
42671 (grub_vbe_bios_get_display_start): ... to this.
42672 (grub_vbe_set_palette_data): Renamed from this...
42673 (grub_vbe_bios_set_palette_data): ... to this.
42674 (grub_vbe_set_pixel_rgb): Removed.
42675 (grub_vbe_set_pixel_index): Likewise.
42676
42677 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42678 from this...
42679 (grub_vbe_bios_get_controller_info): ... to this.
42680 (grub_vbe_get_mode_info): Renamed from this...
42681 (grub_vbe_bios_get_mode_info): ... to this.
42682 (grub_vbe_set_mode): Renamed from this...
42683 (grub_vbe_bios_set_mode): ... to this.
42684 (grub_vbe_get_mode): Renamed from this...
42685 (grub_vbe_bios_get_mode): ... to this.
42686 (grub_vbe_set_memory_window): Renamed from this...
42687 (grub_vbe_bios_set_memory_window): ... to this.
42688 (grub_vbe_get_memory_window): Renamed from this...
42689 (grub_vbe_bios_get_memory_window): ... to this.
42690 (grub_vbe_set_scanline_length): Renamed from this...
42691 (grub_vbe_set_scanline_length): ... to this.
42692 (grub_vbe_get_scanline_length): Renamed from this...
42693 (grub_vbe_bios_get_scanline_length): ... to this.
42694 (grub_vbe_set_display_start): Renamed from this...
42695 (grub_vbe_bios_set_display_start): ... to this.
42696 (grub_vbe_get_display_start): Renamed from this...
42697 (grub_vbe_bios_get_display_start): ... to this.
42698 (grub_vbe_set_palette_data): Renamed from this...
42699 (grub_vbe_bios_set_palette_data): ... to this.
42700 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42701 getting corrupted after calling it. Added more pushes and pops.
42702 (grub_vbe_bios_set_mode): Likewise.
42703 (grub_vbe_bios_get_mode): Likewise.
42704 (grub_vbe_bios_get_memory_window): Likewise.
42705 (grub_vbe_bios_set_scanline_length): Likewise.
42706 (grub_vbe_bios_get_scanline_length): Likewise.
42707 (grub_vbe_bios_get_display_start): Likewise.
42708 (grub_vbe_bios_set_palette_data): Likewise.
42709
42710 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42711 (cl_insert): Likewise.
42712 (cl_delete): Likewise.
42713
42714 * term/gfxterm.c: New file.
42715
42716 * term/i386/pc/vesafb.c: Removed file.
42717
42718 * video/video.c: New file.
42719
42720 * video/i386/pc/vbe.c (real2pm): Added new function.
42721 (grub_video_vbe_draw_pixel): Likewise.
42722 (grub_video_vbe_get_video_ptr): Likewise.
42723 (grub_video_vbe_get_pixel): Likewise
42724 (grub_video_vbe_init): Likewise.
42725 (grub_video_vbe_fini): Likewise.
42726 (grub_video_vbe_setup): Likewise.
42727 (grub_video_vbe_get_info): Likewise.
42728 (grub_video_vbe_set_palette): Likewise.
42729 (grub_video_vbe_get_palette): Likewise.
42730 (grub_video_vbe_set_viewport): Likewise.
42731 (grub_video_vbe_get_viewport): Likewise.
42732 (grub_video_vbe_map_color): Likewise.
42733 (grub_video_vbe_map_rgb): Likewise.
42734 (grub_video_vbe_map_rgba): Likewise.
42735 (grub_video_vbe_unmap_color): Likewise.
42736 (grub_video_vbe_fill_rect): Likewise.
42737 (grub_video_vbe_blit_glyph): Likewise.
42738 (grub_video_vbe_blit_bitmap): Likewise.
42739 (grub_video_vbe_blit_render_target): Likewise.
42740 (grub_video_vbe_scroll): Likewise.
42741 (grub_video_vbe_swap_buffers): Likewise.
42742 (grub_video_vbe_create_render_target): Likewise.
42743 (grub_video_vbe_delete_render_target): Likewise.
42744 (grub_video_vbe_set_active_render_target): Likewise.
42745 (grub_vbe_set_pixel_rgb): Remove function.
42746 (grub_vbe_set_pixel_index): Likewise.
42747 (index_color_mode): Remove static variable.
42748 (active_mode): Likewise.
42749 (framebuffer): Likewise.
42750 (bytes_per_scan_line): Likewise.
42751 (grub_video_vbe_adapter): Added new static variable.
42752 (framebuffer): Likewise.
42753 (render_target): Likewise.
42754 (initial_mode): Likewise.
42755 (mode_in_use): Likewise.
42756 (mode_list): Likewise.
42757
42758 2006-03-10 Marco Gerards <marco@gnu.org>
42759
42760 * configure.ac (AC_INIT): Bumped to 1.93.
42761
42762 * DISTLIST: Added `include/grub/hfs.h'.
42763
42764 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42765
42766 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42767 18H, which might help the BIOS falling back to next boot media.
42768
42769 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42770
42771 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42772 Poe Chen <poe.poechen@gmail.com>.
42773
42774 2006-01-17 Marco Gerards <marco@gnu.org>
42775
42776 * include/grub/normal.h: Include <grub/script.h>.
42777 (grub_command_list): Removed struct.
42778 (grub_command_list_t): Removed type.
42779 (grub_menu_entry): Remove members `num' and `command_list'. Add
42780 members `commands' and `sourcecode'.
42781 * include/grub/script.h: Add inclusion guards.
42782 (grub_script_cmd_menuentry): New struct.
42783 (grub_script_execute_menuentry): New prototype.
42784 (grub_script_lexer_record_start): Likewise.
42785 (grub_script_lexer_record_stop): Likewise.
42786 * normal/execute.c (grub_script_execute_menuentry): New function.
42787 * normal/lexer.c (record, recording, recordpos, recordlen): New
42788 variables.
42789 (grub_script_lexer_record_start): New function.
42790 (grub_script_lexer_record_stop): Likewise.
42791 (recordchar): Likewise.
42792 (nextchar): Likewise.
42793 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42794 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42795 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42796 (current_menu): New variable.
42797 (free_menu): Mainly rewritten.
42798 (grub_normal_menu_addentry): New function.
42799 (read_config_file): Rewritten.
42800 * normal/menu.c (run_menu_entry): Mainly rewritten.
42801 * normal/menu_entry.c (make_screen): Rewritten the code to insert
42802 the menu entry.
42803 (run): Mainly rewritten.
42804 * normal/parser.y (menu_entry): New variable.
42805 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42806 (menuentry): New rule.
42807 (command): Add `menuentry'.
42808 (if_statement): Allow additional returns before `fi'.
42809 * normal/script.c (grub_script_create_cmdmenu): New function.
42810
42811 2006-01-03 Marco Gerards <marco@gnu.org>
42812
42813 * INSTALL: GNU Bison is required.
42814 * configure.ac: Rewritten the test to detect Bison.
42815 * Makefile.in (YACC): New variable. Reported by Xun Sun
42816 <xun.sun.cn@gmail.com>.
42817
42818 2006-01-03 Marco Gerards <marco@gnu.org>
42819
42820 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42821 the HFS+ filesystem to filesystem blocks.
42822 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42823 GCC warning is silenced.
42824
42825 2006-01-03 Marco Gerards <marco@gnu.org>
42826
42827 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42828 read from disk from big endian to host byte order.
42829
42830 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42831
42832 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42833 documentation.
42834 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42835 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42836 embedded HFS+ filesystem.
42837 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42838 (grub_hfs_sblock): Move from here...
42839 * include/grub/hfs.h: To here... New file.
42840 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42841 documentation.
42842 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42843 New macros.
42844 (grub_hfsplus_volheader): Change type of member `magic' to
42845 `grub_uint16_t'.
42846 (grub_hfsplus_data): Add new member `embedded_offset'.
42847 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42848 returned block.
42849 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42850 Calculate the offset.
42851
42852 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42853
42854 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42855 Removed.
42856 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42857
42858 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42859
42860 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42861 ENV->NAME is NULL after allocating ENV->VALUE.
42862
42863 2005-12-25 Marco Gerards <marco@gnu.org>
42864
42865 * kern/env.c (grub_env_set): Rewritten the error handling code.
42866
42867 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42868
42869 * geninit.sh: Made more robust, and more portable.
42870
42871 2005-12-25 Marco Gerards <marco@gnu.org>
42872
42873 Add support for Apple HFS+ filesystems.
42874
42875 * fs/hfsplus.c: New file.
42876
42877 * DISTLIST: Added `fs/hfsplus.c'.
42878
42879 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42880 (hfsplus_mod_SOURCES): New variable.
42881 (hfsplus_mod_CFLAGS): Likewise.
42882 (hfsplus_mod_LDFLAGS): Likewise.
42883 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42884 (grub_setup_SOURCES): Likewise.
42885 (grub_mkdevicemap_SOURCES): Likewise.
42886 (grub_emu_SOURCES): Likewise.
42887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42888
42889 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42890
42891 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42892
42893 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42894
42895 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42896 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42897 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42898 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42899 normal/lexer.c, normal/parser.y, normal/script.c, and
42900 partmap/gpt.c.
42901 Removed kern/sparc64/cache.c.
42902
42903 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42904 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42905 grub_emu_init.c.
42906
42907 * configure.ac (AC_INIT): Bumped to 1.92.
42908
42909 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42910
42911 * kern/err.c (grub_error_push): Added new function to support error
42912 stacks.
42913 (grub_error_pop): Likewise.
42914 (grub_error_stack_items): New local variable to support error stacks.
42915 (grub_error_stack_pos): Likewise.
42916 (grub_error_stack_assert): Likewise.
42917 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42918 stack depth.
42919 (grub_print_error): Added support to print errors from error stack.
42920
42921 * include/grub/err.h (grub_error_push): Added function prototype.
42922 (grub_error_pop): Likewise.
42923
42924 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42925
42926 * configure.ac: Accept `powerpc64' as host_cpu.
42927 (amd64): Rename to `biarch32'.
42928
42929 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42930 non-cacheline-aligned addresses.
42931
42932 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42933 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42934 if `size' is non-zero.
42935
42936 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42937
42938 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42939 and `cd' to make sure the filename is not prefixed with a
42940 directory name.
42941 (pkgdata_MODULES): Add `gpt.mod'.
42942 (gpt_mod_SOURCES): New variable.
42943 (gpt_mod_CFLAGS): Likewise.
42944 (gpt_mod_LDFLAGS): Likewise.
42945
42946 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42947
42948 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42949 New macro.
42950
42951 * partmap/gpt.c: New file.
42952
42953 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42954 GPT partition map is detected.
42955
42956 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42957
42958 * commands/i386/pc/play.c: New file.
42959 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42960 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42961 macros.
42962
42963 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42964
42965 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42966 ((unused))' to silence gcc warning.
42967
42968 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42969
42970 * configure.ac: Correct `AC_PROG_YACC' test.
42971
42972 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42973
42974 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42975 check before installing files.
42976
42977 2005-11-22 Mike Small <smallm@panix.com>
42978
42979 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42980 number regex so multidigit numbers are recognized correctly.
42981
42982 2005-11-22 Mike Small <smallm@panix.com>
42983
42984 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42985 debugging message before attempting to claim memory.
42986 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42987 multiple addresses in case of failure.
42988
42989 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42990
42991 * term/tparm.c (get_space): Remove empty `if' statement.
42992
42993 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42994
42995 * kern/parser.c (check_varstate): Rename `state' to 's'.
42996
42997 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42998
42999 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43000 variable definitions to the beginning of each function. Sort stack
43001 variables by size.
43002 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43003 `buf' argument to `char *'.
43004
43005 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43006
43007 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43008 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43009 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43010 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43011 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43012 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43013 configfile.mod, search.mod, gzio.mod and test.mod.
43014 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43015 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43016 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43017 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43018 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43019 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43020 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43021 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43022 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43023 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43024 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43025 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43026 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43027 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43028 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43029 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43030 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43031 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43032 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43033 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43034 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43035 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43036 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43037
43038 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43039 `grep --include'.
43040 (pkgdata_MODULES): Add test.mod.
43041
43042 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43043
43044 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43045 appending to variables with "+=".
43046 (PModule): Use full pathname to generate *.lst filenames.
43047
43048 * Makefile.in: Fixed list rules moved from genmk.rb.
43049 (.DELETE_ON_ERROR): New special target.
43050 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43051
43052 * conf/i386-pc.rmk: Include conf/common.mk.
43053 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
43054 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
43055 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43056 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43057 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43058 configfile.mod, search.mod, gzio.mod and test.mod.
43059 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43060 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43061 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43062 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43063 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43064 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43065 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43066 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43067 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43068 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43069 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43070 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43071 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43072 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43073 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43074 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43075 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43076 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43077 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43078 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43079 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43080 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43081 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43082 here...
43083 * conf/common.rmk: ... to here. New file.
43084
43085 * conf/common.mk: New file.
43086
43087 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43088
43089 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43090 (grub_script.tab.c): ... here.
43091
43092 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43093 (grub_script.tab.c): ... here.
43094
43095 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43096 (grub_script.tab.c): ... here.
43097
43098 * normal/command.c (grub_command_find): Fixed a memory leak of
43099 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43100
43101 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43102
43103 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43104 "@" which marks the start of a comment on ARM.
43105 (VARIABLE): Likewise.
43106
43107 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43108
43109 Add support for Linux/ADFS partition tables.
43110
43111 * partmap/acorn.c: New file.
43112
43113 * include/grub/acorn_filecore.h: Likewise.
43114
43115 * DISTLIST: Added `partmap/acorn.c' and
43116 `include/grub/acorn_filecore.h'.
43117
43118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43119 `partmap/acorn.c'.
43120 (pkgdata_MODULES): Add `acorn.mod'.
43121 (acorn_mod_SOURCES): New variable.
43122 (acorn_mod_CFLAGS): Likewise.
43123
43124 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43125 `partmap/acorn.c'.
43126 (pkgdata_MODULES): Add `acorn.mod'.
43127 (acorn_mod_SOURCES): New variable.
43128 (acorn_mod_CFLAGS): Likewise.
43129
43130 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43131 (pkgdata_MODULES): Add `acorn.mod'.
43132 (acorn_mod_SOURCES): New variable.
43133 (acorn_mod_CFLAGS): Likewise.
43134 (acorn_mod_LDFLAGS): Likewise.
43135
43136 * include/types.h (grub_disk_addr_t): New typedef.
43137
43138 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
43139
43140 * geninit.sh: New file.
43141
43142 * geninitheader.sh: Likewise.
43143
43144 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43145 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43146 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43147 * commands/configfile.c (grub_configfile_init)
43148 (grub_configfile_fini): Likewise.
43149 * commands/default.c (grub_default_init, grub_default_fini):
43150 Likewise.
43151 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43152 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43153 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43154 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43155 Likewise.
43156 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43157 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43158 Likewise.
43159 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
43160 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
43161 Likewise.
43162 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43163 Likewise.
43164 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
43165 Likewise.
43166 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43167 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43168 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43169 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43170 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43171 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43172 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43173 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43174 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43175 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43176 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43177 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43178 * partmap/amiga.c (grub_amiga_partition_map_init)
43179 (grub_amiga_partition_map_fini): Likewise.
43180 * partmap/apple.c (grub_apple_partition_map_init)
43181 (grub_apple_partition_map_fini): Likewise.
43182 * partmap/pc.c (grub_pc_partition_map_init)
43183 (grub_pc_partition_map_fini): Likewise.
43184 * partmap/sun.c (grub_sun_partition_map_init,
43185 grub_sun_partition_map_fini): Likewise.
43186 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43187 Likewise.
43188
43189 * util/grub-emu.c: Include <grub_modules_init.h>.
43190 (main): Don't initialize and de-initialize any modules directly,
43191 use `grub_init_all' and `grub_fini_all' instead.
43192
43193 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43194 `grub_vesafb_mod_init'.
43195 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43196 all users.
43197 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43198 `grub_vga_mod_init'. Updated all users.
43199 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
43200
43201 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43202 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43203 rules.
43204
43205 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43206 Generate a function to initialize the module in utilities.
43207 Updated all callers.
43208 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43209 initialize the module in utilities. Updated all callers.
43210
43211 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43212
43213 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43214 escape sequence and a literal ^L to clear the screen.
43215
43216 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43217 when returning from Open Firmware.
43218
43219 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43220
43221 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43222 (grub_ofconsole_height): Likewise.
43223 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43224 manually insert a '\n'.
43225 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43226 `grub_ofconsole_height'. Return early if these are already set.
43227
43228 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43229
43230 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43231 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43232 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43233 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43234 and `normal/script.c'.
43235 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43236 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43237 (test_mod_SOURCES): New variable.
43238 (test_mod_CFLAGS): Likewise.
43239 (test_mod_LDFLAGS): Likewise.
43240 (pkgdata_MODULES): Add `test.mod'.
43241 (grub_script.tab.c): New rule.
43242 (grub_script.tab.h): Likewise.
43243
43244 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
43245
43246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43247 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43248 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43249 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43250 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43251 (test_mod_SOURCES): New variable.
43252 (test_mod_CFLAGS): Likewise.
43253 (pkgdata_MODULES): Add `test.mod'.
43254 (grub_script.tab.c): New rule.
43255 (grub_script.tab.h): Likewise.
43256
43257 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
43258
43259 Add initial scripting support.
43260
43261 * commands/test.c: New file.
43262 * include/grub/script.h: Likewise.
43263 * normal/execute.c: Likewise.
43264 * normal/function.c: Likewise.
43265 * normal/lexer.c: Likewise.
43266 * normal/parser.y: Likewise.
43267 * normal/script.c: Likewise.
43268
43269 * configure.ac: Add `AC_PROG_YACC' test.
43270
43271 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43272 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43273 `normal/function.c' and `normal/script.c'.
43274 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43275 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43276 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43277 variables.
43278 (pkgdata_MODULES): Add `test.mod'.
43279 (grub_script.tab.c): New rule.
43280 (grub_script.tab.h): Likewise.
43281
43282 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43283
43284 * include/grub/normal.h (grub_test_init): New prototype.
43285 (grub_test_fini): Likewise.
43286
43287 * normal/command.c: Include <grub/script.h>.
43288 (grub_command_execute): Rewritten.
43289
43290 * util/grub-emu.c (main): Call `grub_test_init' and
43291 `grub_test_fini'.
43292
43293 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43294
43295 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43296 to 0.
43297 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43298 there are no pending characters.
43299
43300 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43301
43302 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43303 `grub_strndup' to drop device arguments. Replace unnecessary
43304 `grub_strndup' with `grub_strdup'.
43305
43306 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43307
43308 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43309 `debug' environment variable has been set.
43310
43311 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
43312
43313 * Makefile.in (install-local): Use $(DATA).
43314 (uninstall): Likewise.
43315 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43316 (sbin_UTILITIES): ... to here.
43317 (sbin_SCRIPTS): New variable.
43318 (grub_install_SOURCES): New variable.
43319 * util/powerpc/ieee1275/grub-install.in: New file.
43320 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43321 variable.
43322 (add_segments): Call `grub_util_get_path'.
43323
43324 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43325
43326 From Timothy Baldwin:
43327 * commands/ls.c (grub_ls_list_files): Close FILE with
43328 grub_file_close.
43329 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43330
43331 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
43332
43333 * include/grub/parser.h: New file.
43334
43335 * kern/parser.c: Likewise.
43336
43337 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43338 (grub_setup_SOURCES): Likewise.
43339 (grub_probefs_SOURCES): Likewise.
43340 (grub_emu_SOURCES): Likewise.
43341 (kernel_img_HEADERS): Add `parser.h'.
43342
43343 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43344 (grub_emu_SOURCES): Add `kern/parser.c'.
43345 (grubof_SOURCES): Likewise.
43346
43347 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43348 (grubof_SOURCES): Add `kern/parser.c'.
43349
43350 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43351
43352 * kern/misc.c (grub_split_cmdline): Removed function.
43353
43354 * kern/rescue.c: Include <grub/parser.h>.
43355 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43356 of `grub_split_cmdline'.
43357
43358 * normal/command.c: Include <grub/parser.h>.
43359 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43360 of `grub_split_cmdline'.
43361
43362 * normal/completion.c: Include <grub/parser.h>.
43363 (cmdline_state): New variable.
43364 (iterate_dir): End the filename with a quote depending on the
43365 command line state.
43366 (get_state): new function.
43367 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43368 split the arguments and determine the current argument. When the
43369 argument string is not quoted, escape all spaces.
43370
43371 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43372
43373 * normal/sparc64/setjmp.S: New file.
43374
43375 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43376
43377 * include/grub/sparc64/libgcc.h: New file.
43378 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43379 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43380 normal/sparc64/setjmp.c.
43381
43382 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43383
43384 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43385 * kern/sparc64/cache.S: New file.
43386 * kern/sparc64/cache.c: Removed.
43387 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43388 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43389 -mtune=ultrasparc.
43390 (COMMON_LDFLAGS): Add -melf64_sparc.
43391 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43392 (grubof_SOURCES): Use cache.S instead of cache.c.
43393 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43394 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43395 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43396 commented though.
43397 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43398 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43399 (linux_mod_CFLAGS): Commented out.
43400 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43401 out because module isn't built.
43402 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43403 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43404 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43405 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43406 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43407 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43408 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43409 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43410 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43411 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43412 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43413 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43414 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43415 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43416
43417 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43418
43419 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43420 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43421 longer, because HFS should not be used on PC.
43422
43423 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43424
43425 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43426 consistently within the loop.
43427
43428 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43429
43430 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43431 directory can not be read.
43432
43433 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43434
43435 * configure.ac (AC_INIT): Increase the version number to 1.91.
43436
43437 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43438 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43439 term/i386/pc/serial.c.
43440
43441 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43442
43443 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43444 file size must be permitted.
43445
43446 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43447 between %ah and %al.
43448
43449 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43450
43451 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43452 grub_uint64_t.
43453 Call the hook with a NUL-terminated filename.
43454 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43455 grub_cpu_to_be32.
43456
43457 * kern/term.c (cursor_state): New variable.
43458 (grub_term_set_current): Reset the cursor state on a new
43459 terminal.
43460 (grub_setcursor): Rewritten to use CURSOR_STATE.
43461 (grub_getcursor): New function.
43462
43463 * include/grub/term.h (grub_getcursor): New prototype.
43464
43465 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43466 integers on ARM. Reported by Timothy Baldwin
43467 <T.E.Baldwin99@members.leeds.ac.uk>.
43468
43469 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43470
43471 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43472 allocated.
43473 (grub_sfs_dir): Likewise.
43474
43475 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43476
43477 Add support for the SFS filesystem.
43478
43479 * fs/sfs.c: New file.
43480
43481 * DISTLIST: Added `fs/sfs.c'.
43482
43483 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43484 (grub_probefs_SOURCES): Likewise.
43485 (grub_emu_SOURCES): Likewise.
43486 (pkgdata_MODULES): Add `sfs.mod'.
43487 (sfs_mod_SOURCES): New variable.
43488 (sfs_mod_CFLAGS): Likewise.
43489 (sfs_mod_LDFLAGS): Likewise.
43490
43491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43492 (pkgdata_MODULES): Add `sfs.mod'.
43493 (sfs_mod_SOURCES): New variable.
43494 (sfs_mod_CFLAGS): Likewise.
43495
43496 * util/grub-emu.c (main): Call `grub_sfs_init' and
43497 `grub_sfs_fini'.
43498
43499 * include/grub/fs.h (grub_sfs_init): New prototype.
43500 (grub_sfs_fini): Likewise.
43501
43502 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43503
43504 Add support for the AFFS filesystem.
43505
43506 * fs/affs.c: New file.
43507
43508 * DISTLIST: Added `fs/affs.c'.
43509
43510 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43511 (grub_probefs_SOURCES): Likewise.
43512 (grub_emu_SOURCES): Likewise.
43513 (pkgdata_MODULES): Add `affs.mod'.
43514 (affs_mod_SOURCES): New variable.
43515 (affs_mod_CFLAGS): Likewise.
43516 (affs_mod_LDFLAGS): Likewise.
43517
43518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43519 (pkgdata_MODULES): Add `affs.mod'.
43520 (affs_mod_SOURCES): New variable.
43521 (affs_mod_CFLAGS): Likewise.
43522
43523 * util/grub-emu.c (main): Call `grub_affs_init' and
43524 `grub_affs_fini'.
43525
43526 * include/grub/fs.h (grub_affs_init): New prototype.
43527 (grub_affs_fini): Likewise.
43528
43529 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43530
43531 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43532
43533 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43534
43535 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43536 `-m32' to CFLAGS.
43537
43538 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43539 linking.
43540
43541 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43542 (COMMON_LDFLAGS): New variable.
43543 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43544 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43545 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43546 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43547 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43548 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43549 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43550 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43551 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43552 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43553 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43554 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43555 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43556 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43557 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43558 variables.
43559 (normal_mod_ASFLAGS): Add `-m32'.
43560
43561 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43562 (grub_host_size_t, grub_host_ssize_t): New types.
43563 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43564 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43565 `GRUB_HOST_SIZEOF_VOID_P'.
43566
43567 * include/grub/kernel.h (struct grub_module_header): Type of
43568 member offset changed to `grub_host_off_t'. Type of member size
43569 changed to `grub_host_size_t'.
43570 (struct grub_module_info): Type of member offset changed to
43571 `grub_host_off_t'. Type of member size changed to
43572 `grub_host_size_t'.
43573
43574 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43575
43576 Make GRUB's kernel compliant to Multiboot Specification.
43577
43578 * kern/i386/pc/startup.S (multiboot_header): New label.
43579 (multiboot_entry): Likewise.
43580 (multiboot_trampoline): Likewise.
43581
43582 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43583 Increased to 0x4A0.
43584
43585 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43586 put parentheses after a question mark.
43587 [!GRUB_UTIL] (my_mod): New variable.
43588
43589 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43590
43591 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43592
43593 Adds support for the XFS filesystem. Btrees are not supported
43594 yet.
43595
43596 * fs/xfs.c: New file.
43597
43598 * DISTLIST: Added `fs/xfs.c'.
43599
43600 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43601 (grub_probefs_SOURCES): Likewise.
43602 (grub_emu_SOURCES): Likewise.
43603 (pkgdata_MODULES): Add `xfs.mod'.
43604 (xfs_mod_SOURCES): New variable.
43605 (xfs_mod_CFLAGS): Likewise.
43606
43607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43608 (pkgdata_MODULES): Add `xfs.mod'.
43609 (xfs_mod_SOURCES): New variable.
43610 (xfs_mod_CFLAGS): Likewise.
43611
43612 * util/grub-emu.c (main): Call `grub_xfs_init' and
43613 `grub_xfs_fini'.
43614
43615 * include/grub/fs.h (grub_xfs_init): New prototype.
43616 (grub_xfs_fini): Likewise.
43617
43618
43619 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43620
43621 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43622 color modes, allow greater than 16 colors to be configured as
43623 a default palette.
43624
43625 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43626
43627 * normal/completion.c (complete_arguments): Add the qualifier
43628 const into OPTIONS.
43629
43630 From Omniflux <omniflux+lists@omniflux.com>:
43631 * include/grub/terminfo.h: New file.
43632 * include/grub/tparm.h: Likewise.
43633 * include/grub/i386/pc/serial.h: Likewise.
43634 * term/terminfo.c: Likewise.
43635 * term/tparm.c: Likewise.
43636 * term/i386/pc/serial.c: Likewise.
43637 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43638 serial.mod.
43639 (terminfo_mod_SOURCES): New variable.
43640 (terminfo_mod_CFLAGS): Likewise.
43641 (serial_mod_SOURCES): Likewise.
43642 (serial_mod_CFLAGS): Likewise.
43643
43644 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43645
43646 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43647 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43648 and kern/powerpc/ieee1275/cmain.c, respectively.
43649
43650 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43651 * kern/powerpc/ieee1275/crt0.S: ... here.
43652
43653 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43654 * kern/powerpc/ieee1275/cmain.c: ... here.
43655
43656 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43657 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43658 instead of boot/powerpc/ieee1275/crt0.S and
43659 boot/powerpc/ieee1275/cmain.c, respectively.
43660
43661 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43662 sectors. It was not used anyway.
43663
43664 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43665
43666 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43667 `unused parameter' warning.
43668
43669 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43670
43671 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43672 function.
43673 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43674 getcharwidth.
43675
43676 2005-08-28 Marco Gerards <metgerards@student.han.nl>
43677
43678 * include/grub/normal.h (enum grub_completion_type): Added
43679 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43680
43681 * normal/cmdline.c (print_completion): Handle
43682 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43683 * normal/menu_entry.c (store_completion): Likewise.
43684
43685 * normal/completion.c (complete_arguments): New function.
43686 (grub_normal_do_completion): Call `complete_arguments' when the
43687 current words start with a dash.
43688
43689 2005-08-27 Marco Gerards <metgerards@student.han.nl>
43690
43691 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43692 `gzio.mod' instead of `io.mod').
43693
43694 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43695
43696 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43697 (DISTDIRS): Added io and video.
43698 Rewrite the search routine to make an output consistently.
43699
43700 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43701 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43702 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43703 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43704 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43705 util/powerpc/ieee1275/misc.c.
43706
43707 * include/grub/gzio.h: New file.
43708 * io/gzio.c: Likewise.
43709
43710 * kern/file.c (grub_file_close): Call grub_device_close only if
43711 FILE->DEVICE is not NULL.
43712
43713 * include/grub/mm.h [!NULL] (NULL): New macro.
43714
43715 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43716
43717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43718 (pkgdata_MODULES): Added gzio.mod.
43719 (gzio_mod_SOURCES): New variable.
43720 (gzio_mod_CFLAGS): Likewise.
43721
43722 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43723 (pkgdata_MODULES): Added gzio.mod.
43724 (gzio_mod_SOURCES): New variable.
43725 (gzio_mod_CFLAGS): Likewise.
43726
43727 * commands/cat.c: Include grub/gzio.h.
43728 (grub_cmd_cat): Use grub_gzfile_open instead of
43729 grub_file_open.
43730
43731 * commands/cmp.c: Include grub/gzio.h.
43732 (grub_cmd_cmp): Use grub_gzfile_open instead of
43733 grub_file_open.
43734
43735 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43736 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43737 grub_file_open.
43738 (grub_rescue_cmd_module): Likewise.
43739
43740 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43741
43742 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43743 kern/sparc64/ieee1275/init.c because it contains _start.
43744 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43745
43746 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43747
43748 * configure.ac: Add support for sparc64 host with ieee1275
43749 firmware.
43750 * configure: Generated from configure.ac.
43751 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43752 instead of int.
43753 (grub_ofdisk_read): Likewise.
43754 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43755 pointers as (void *) to remove a warning.
43756 (grub_ofdisk_close): Likewise.
43757 (grub_ofdisk_read): Likewise.
43758 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43759 returns, so make it return void to remove a warning.
43760 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43761 Corresponding prototype change.
43762 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43763 values, and cast the pointers as (void *) to remove a warning.
43764 (grub_mm_dump): Likewise.
43765 * conf/sparc64-ieee1275.mk: New file.
43766 * conf/sparc64-ieee1275.rmk: Likewise.
43767 * include/grub/sparc64/setjmp.h: Likewise.
43768 * include/grub/sparc64/types.h: Likewise.
43769 * include/grub/sparc64/ieee1275/console.h: Likewise.
43770 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43771 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43772 * include/grub/sparc64/ieee1275/time.h: Likewise.
43773 * kern/sparc64/cache.c: Likewise.
43774 * kern/sparc64/dl.c: Likewise.
43775 * kern/sparc64/ieee1275/init.c: Likewise.
43776 * kern/sparc64/ieee1275/openfw.c: Likewise.
43777
43778 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43779
43780 * util/console.c (grub_ncurses_putchar): If C is greater than
43781 0x7f, set C to a question mark.
43782 (grub_ncurses_getcharwidth): New function.
43783 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43784 getcharwidth.
43785
43786 * normal/menu.c (print_entry): Made aware of Unicode. First,
43787 convert TITLE to UCS-4, and predict the cursor position by
43788 grub_getcharwidth.
43789
43790 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43791 const to SRC.
43792 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43793
43794 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43795
43796 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43797 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43798 grub_strcat.
43799
43800 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43801 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43802 grub_strcpy and grub_strlen. Take it into account that a space
43803 character is inserted as a delimiter.
43804
43805 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43806
43807 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
43808 invalid magic in the error.
43809
43810 * commands/search.c: New file.
43811
43812 * util/grub-emu.c (main): Call grub_search_init and
43813 grub_search_fini.
43814
43815 * kern/rescue.c (grub_rescue_print_disks): Removed.
43816 (grub_rescue_print_devices): New function.
43817 (grub_rescue_cmd_ls): Use grub_device_iterate with
43818 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43819 grub_rescue_print_disks.
43820
43821 * kern/partition.c (grub_partition_iterate): Return the result of
43822 PARTMAP->ITERATE instead of GRUB_ERRNO.
43823
43824 * kern/device.c: Include grub/partition.h.
43825 (grub_device_iterate): New function.
43826
43827 * include/grub/partition.h (grub_partition_iterate): Return int
43828 instead of grub_err_t.
43829
43830 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43831 prototype.
43832 [GRUB_UTIL] (grub_search_fini): Likewise.
43833
43834 * include/grub/device.h (grub_device_iterate): New prototype.
43835
43836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43837 commands/search.c.
43838 (pkgdata_MODULES): Added search.mod.
43839 (search_mod_SOURCES): New variable.
43840 (search_mod_CFLAGS): Likewise.
43841
43842 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43843 (pkgdata_MODULES): Added search.mod.
43844 (search_mod_SOURCES): New variable.
43845 (search_mod_CFLAGS): Likewise.
43846
43847 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43848 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43849 All callers changed.
43850
43851 * DISTLIST: Added commands/search.c.
43852
43853 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43854
43855 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43856 conversion.
43857 (grub_getcharwidth): New function.
43858
43859 * kern/misc.c (grub_utf8_to_ucs4): New function.
43860
43861 * include/grub/term.h (struct grub_term): Added a new member
43862 "getcharwidth".
43863 (grub_getcharwidth): New prototype.
43864
43865 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43866
43867 * term/i386/pc/console.c (map_char): New function. Segregated from
43868 grub_console_putchar.
43869 (grub_console_putchar): Use map_char.
43870 (grub_console_getcharwidth): New function.
43871 (grub_console_term): Specified grub_console_getcharwidth as
43872 getcharwidth.
43873
43874 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43875 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43876
43877 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43878 GRUB_ERRNO.
43879 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43880 on grub_strtoul completely.
43881 (write_char): Declare local variables in the beginning of the
43882 function.
43883 (grub_vesafb_getcharwidth): New function.
43884 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43885 getcharwidth.
43886
43887 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43888
43889 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43890 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43891 commands/i386/pc/vbetest.c.
43892
43893 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43894 call grub_vbe_get_controller_info again, because the returned
43895 information is volatile.
43896 (grub_vbe_set_video_mode): Mostly rewritten.
43897 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43898 grub_vbe_status_t correctly.
43899 (grub_vbe_get_video_mode_info): Likewise.
43900 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43901 several if statements.
43902
43903 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43904 * commands/i386/pc/vbeinfo.c: ... this.
43905
43906 * commands/i386/pc/vbe_test.c: Renamed to ...
43907 * commands/i386/pc/vbetest.c: ... this.
43908
43909 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43910 ...
43911 (grub_cmd_vbeinfo): ... this. Save video modes before
43912 iterating. Skip a video mode, if it is not available, not enough
43913 information is given or it is monochrome. Show the memory
43914 model. Leave the interpretation of MODEVAR to grub_strtoul
43915 completely.
43916 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43917 (GRUB_MOD_FINI): Likewise.
43918
43919 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43920 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43921 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43922 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43923 grub_strtoul completely.
43924 (real2pm): Removed.
43925 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43926 (GRUB_MOD_FINI): Likewise.
43927
43928 * normal/misc.c: Include grub/mm.h.
43929
43930 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43931 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43932 (vbe_list_modes_mod_SOURCES): Removed.
43933 (vbe_list_modes_mod_CFLAGS): Likewise.
43934 (vbe_test_mod_SOURCES): Likewise.
43935 (vbe_test_mod_CFLAGS): Likewise.
43936 (vbeinfo_mod_SOURCES): New variable.
43937 (vbeinfo_mod_CFLAGS): Likewise.
43938 (vbetest_mod_SOURCES): Likewise.
43939 (vbetest_mod_CFLAGS): Likewise.
43940
43941 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43942
43943 * normal/misc.c: New file.
43944
43945 * DISTLIST: Added normal/misc.c.
43946
43947 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43948 DISK to HOOK. Call HOOK with DISK.
43949 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43950 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43951 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43952
43953 * normal/menu_entry.c (struct screen): Added a new member
43954 "completion_shown".
43955 (completion_buffer): New global variable.
43956 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43957 (store_completion): New function.
43958 (complete): Likewise.
43959 (clear_completions): Likewise.
43960 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43961 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43962 a tab, call complete.
43963
43964 * normal/completion.c (disk_dev): Removed.
43965 (print_simple_completion): Likewise.
43966 (print_partition_completion): Likewise.
43967 (print_func): New global variable.
43968 (add_completion): Do not take the arguments WHAT or PRINT any
43969 longer. Added a new argument TYPE. Instead of printing directly,
43970 call PRINT_FUNC if not NULL.
43971 All callers changed.
43972 (complete_device): Use a local variable DEV instead of
43973 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43974 (grub_normal_do_completion): Take a new argument HOOK. Do not
43975 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43976 empty string, return NULL instead.
43977 All callers changed.
43978
43979 * normal/cmdline.c (print_completion): New function.
43980
43981 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43982 to HOOK.
43983 All callers changed.
43984
43985 * kern/disk.c (grub_print_partinfo): Removed.
43986
43987 * include/grub/partition.h (struct grub_partition_map): Add a new
43988 argument DISK into HOOK of ITERATE.
43989 (grub_partition_iterate): Add a new argument DISK to HOOK.
43990
43991 * include/grub/normal.h (enum grub_completion_type): New enum.
43992 (grub_completion_type_t): New type.
43993 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43994 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43995 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43996 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43997 (grub_normal_do_completion): Added a new argument HOOK.
43998 (grub_normal_print_device_info): New prototype.
43999
44000 * include/grub/disk.h (grub_print_partinfo): Removed.
44001
44002 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44003 (normal_mod_SOURCES): Likewise.
44004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44005 (normal_mod_SOURCES): Likewise.
44006
44007 * commands/ls.c (grub_ls_list_disks): Use
44008 grub_normal_print_device_info instead of grub_print_partinfo. Free
44009 PNAME.
44010 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44011 duplicating the code.
44012
44013 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44014
44015 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
44016 follow GCS more precisely.
44017 * commands/i386/pc/vbe_test.c: Likewise.
44018 * include/grub/i386/pc/vbe.h: Likewise.
44019 * term/i386/pc/vesafb.c: Likewise.
44020 * video/i386/pc/vbe.c: Likewise.
44021
44022 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44023
44024 * DISTLIST: Added term/i386/pc/vesafb.c
44025 DISTLIST: Added video/i386/pc/vbe.c
44026 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44027 DISTLIST: Added commands/i386/pc/vbe_test.c.
44028 * commands/i386/pc/vbe_list_modes.c: New file.
44029 * commands/i386/pc/vbe_test.c: Likewise.
44030 * term/i386/pc/vesafb.c: Likewise.
44031 * video/i386/pc/vbe.c: Likewise.
44032 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44033 (grub_vbe_probe) Added prototype.
44034 (grub_vbe_set_video_mode) Likewise.
44035 (grub_vbe_get_video_mode) Likewise.
44036 (grub_vbe_get_video_mode_info) Likewise.
44037 (grub_vbe_set_pixel_rgb) Likewise.
44038 (grub_vbe_set_pixel_index) Likewise.
44039 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44040 (pkgdata_MODULES): Added vesafb.mod.
44041 (pkgdata_MODULES): Added vbe_list_modes.mod.
44042 (pkgdata_MODULES): Added vbe_test.mod.
44043 (vbe_mod_SOURCES): Added.
44044 (vbe_mod_CFLAGS): Likewise.
44045 (vesafb_mod_SOURCES): Likewise.
44046 (vesafb_mod_CFLAGS): Likewise.
44047 (vbe_list_modes_mod_SOURCES): Likewise.
44048 (vbe_list_modes_mod_CFLAGS): Likewise.
44049 (vbe_test_mod_SOURCES): Likewise.
44050 (vbe_test_mod_CFLAGS): Likewise.
44051
44052 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44053
44054 * normal/command.c (grub_command_execute): If INTERACTIVE is
44055 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44056 CMDLINE. Disable the pager if INTERACTIVE is true.
44057 All callers are changed.
44058
44059 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44060 before reading a config file.
44061 * normal/main.c (read_config_file): Even if a command is not
44062 found, register it if it is within an entry.
44063
44064 * util/grub-emu.c: Include sys/types.h and unistd.h.
44065 (options): Added --hold.
44066 (struct arguments): Added a new member "hold".
44067 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44068 missing.
44069 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44070 cleared by a debugger, if it is not zero.
44071
44072 * include/grub/normal.h (grub_command_execute): Add an argument
44073 INTERACTIVE.
44074
44075 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44076
44077 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44078
44079 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44080
44081 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44082 program with another one, because the old one didn't detect a bug
44083 in gcc-3.4. Always use regparm 2, because the new test is still
44084 not enough for gcc-4.0. Someone must investigate a simple test
44085 case which detects a bug in gcc-4.0.
44086
44087 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44088
44089 * DISTLIST: Added normal/completion.c.
44090
44091 * normal/completion.c: New file.
44092
44093 * term/i386/pc/console.c (grub_console_getwh): New function.
44094 (grub_console_term): Assign grub_console_getwh to getwh.
44095
44096 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44097 function is defined in normal/completion.c as
44098 grub_normal_do_completion.
44099 (grub_cmdline_get): Use grub_normal_do_completion instead of
44100 grub_tab_complete.
44101
44102 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44103 returns non-zero, otherwise return 0.
44104 (grub_partition_iterate): First, probe the partition map. Then,
44105 call ITERATE only for this partition map.
44106
44107 * kern/misc.c (grub_strncmp): Rewritten.
44108
44109 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44110 returns non-zero. Otherwise return 0.
44111
44112 * include/grub/partition.h (grub_partition_map_iterate): Return
44113 int instead of void.
44114
44115 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44116
44117 * include/grub/misc.h (grub_strncmp): Change the type of N to
44118 grub_size_t.
44119
44120 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44121 of void.
44122
44123 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
44124 unsigned explicitly before comparing it with I.
44125
44126 * kern/main.c (grub_env_write_root): Add the attribute unused into
44127 VAR.
44128
44129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44130 normal/completion.c.
44131 (normal_mod_SOURCES): Likewise.
44132 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44133 (normal_mod_SOURCES): Likewise.
44134
44135 * normal/command.c (grub_iterate_commands): If ITERATE returns
44136 non-zero, return one immediately.
44137
44138 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44139
44140 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44141 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44142 descriptions.
44143 (grub_vbe_get_controller_info): New function.
44144 (grub_vbe_get_mode_info): Likewise.
44145 (grub_vbe_set_mode): Likewise.
44146 (grub_vbe_get_mode): Likewise.
44147 (grub_vbe_set_memory_window): Likewise.
44148 (grub_vbe_get_memory_window): Likewise.
44149 (grub_vbe_set_scanline_length): Likewise.
44150 (grub_vbe_get_scanline_length): Likewise.
44151 (grub_vbe_set_display_start): Likewise.
44152 (grub_vbe_get_display_start): Likewise.
44153 (grub_vbe_set_palette_data): Likewise.
44154 * include/grub/i386/pc/vbe.h: New file.
44155
44156 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44157
44158 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44159 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44160 * DISTLIST: Likewise.
44161 * kern/ieee1275/of.c: Moved to ...
44162 * kern/ieee1275/ieee1275.c: ... here.
44163
44164 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44165
44166 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44167 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44168 Pass 0 as `end' parameter to grub_strtoul().
44169
44170 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44171
44172 * include/grub/powerpc/ieee1275/console.h: Do not include
44173 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44174 ifdef.
44175 (grub_console_cur_color): Remove i386-specific prototype.
44176 (grub_console_real_putchar): Likewise.
44177 (grub_console_checkkey): Likewise.
44178 (grub_console_getkey): Likewise.
44179 (grub_console_getxy): Likewise.
44180 (grub_console_gotoxy): Likewise.
44181 (grub_console_cls): Likewise.
44182 (grub_console_setcursor): Likewise.
44183 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44184 Include <grub/machine/console.h>.
44185 * term/ieee1275/ofconsole.c: Likewise.
44186
44187 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44188
44189 * Makefile.in (LIBLZO): New variable.
44190
44191 * configure.ac: Check for LZO version 2.
44192
44193 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44194 lzo/lzo1x.h instead of lzo1x.h.
44195
44196 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44197 of -llzo.
44198
44199 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44200 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44201
44202 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44203 copying the data from PARTITION to P.
44204
44205 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44206
44207 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44208 negative, unload the module.
44209
44210 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44211 map is "pc_partition_map" but not "pc".
44212 (usage): Fix the description. The options are --boot-image and
44213 --core-image but not --boot-file or --core-file.
44214 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44215 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44216 DEFAULT_DIRECTORY.
44217
44218 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44219 --core-file. Specify INSTALL_DEVICE as an argument.
44220
44221 * util/console.c: Include config.h.
44222 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44223 [HAVE_NCURSES_H]: Include ncurses.h.
44224 [HAVE_CURSES_H]: Include curses.h.
44225 [!A_NORMAL] (A_NORMAL): Defined as zero.
44226 [!A_STANDOUT] (A_STANDOUT): Likewise.
44227
44228 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44229 -lncurses.
44230 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44231
44232 * configure.ac: Check for curses libraries and headers.
44233
44234 * Makefile.in (LIBCURSES): New variable.
44235
44236 * genmk.rb (Script::rule): Set the executable bits.
44237
44238 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44239 name of the PC partition map is "pc_partition_map" but not "pc".
44240
44241 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44242
44243 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44244 (modules): Likewise.
44245 (usage): Added descriptions for --modules and --grub-probefs.
44246 Handle --modules and --grub-probefs. Save the arguments in MODULES
44247 and GRUB_PROBEFS, respectively.
44248 Auto-detect a filesystem module against GRUBDIR. If the result is
44249 empty and modules are not specified explicitly, abort the
44250 installation. Add the result to MODULES.
44251
44252 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44253 disk/powerpc/ieee1275/ofdisk.c,
44254 include/grub/powerpc/ieee1275/init.h and
44255 term/powerpc/ieee1275/ofconsole.c.
44256 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44257 term/ieee1275/ofconsole.c.
44258
44259 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44260
44261 * COPYING: Upgraded to the latest version. Only the address of the
44262 FSF office has changed.
44263
44264 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44265
44266 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44267 kern/ieee1275.c with kern/ieee1275/of.c.
44268
44269 * kern/ieee1275.c: Moved to ...
44270 * kern/ieee1275/of.c: ... here.
44271
44272 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44273
44274 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
44275 readability.
44276
44277 * config.guess: Updated to the latest version from gnulib.
44278 * config.sub: Likewise.
44279 * install.sh: Likewise.
44280 * mkinstalldirs: Likewise.
44281
44282 * include/grub/console.h: Removed. This file is arch-specific. Do
44283 not put this in include/grub.
44284
44285 * include/grub/i386/pc/console.h: Resurrected.
44286
44287 * util/console.c: Include grub/machine/console.h instead of
44288 grub/console.h.
44289 * util/grub-emu.c: Likewise.
44290
44291 2005-08-04 Marco Gerards <metgerards@student.han.nl>
44292
44293 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44294 hardcoded value.
44295
44296 From Vincent Pelletier <subdino2004@yahoo.fr>
44297 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44298 Redefined to use grub_getwh.
44299 (grub_term): New member named getwh.
44300 (grub_getwh): New prototype.
44301 * kern/term.c (grub_getwh): New function.
44302 * term/i386/pc/console.c (grub_console_getwh): New function.
44303 (grub_console_term): New member `getwh'.
44304 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44305 (grub_vga_term): New member `getwh'.
44306 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
44307 grub_ssize_t.
44308 (grub_ofconsole_getw): New function.
44309 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44310 (grub_ofconsole_term): New field named getwh and new initial
44311 value.
44312
44313 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44314
44315 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44316 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44317 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44318 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44319 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44320 of <grub/machine/ieee1275.h>.
44321 * commands/ieee1275/reboot.c: Likewise.
44322 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44323 * kern/ieee1275.c: ... to here. All users updated. Change all
44324 parameter structs to use new type `grub_ieee1275_cell_t'.
44325 * term/powerpc/ieee1275/ofconsole.c: Move ...
44326 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44327 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44328 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44329 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44330 to return int.
44331 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44332 Remove unused prototypes. All users updated.
44333 * include/grub/powerpc/ieee1275/console.h: Removed.
44334 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44335 `grub_ieee1275_cell_t'.
44336 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44337 Cast comparisons with -1 to the correct type.
44338 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44339 type to match `grub_ieee1275_entry_fn'.
44340
44341 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44342
44343 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44344
44345 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44346 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44347 partmap/sun.c.
44348 (grub_probefs_SOURCES): New variable.
44349
44350 * util/i386/pc/grub-probefs.c: New file.
44351
44352 * util/i386/pc/grub-setup.c (main): Call
44353 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44354 grub_hfs_init and grub_jfs_init to initialize the system. Call
44355 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44356 grub_pc_partition_map_fini to finish the system.
44357
44358 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44359
44360 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44361 function.
44362 (grub_multiboot_load_elf32): Likewise.
44363 (grub_multiboot_is_elf64): Likewise.
44364 (grub_multiboot_load_elf64): Likewise.
44365 (grub_multiboot_load_elf): Likewise.
44366 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44367 an ELF32 or ELF64 file.
44368 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44369
44370 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44371 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44372 NULL before calling FS->LABEL.
44373 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44374 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44375 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44376 before calling FS->LABEL.
44377
44378 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44379
44380 * util/i386/pc/grub-install.in (datadir): New variable.
44381 (libdir): Removed.
44382 (pkgdatadir): New variable.
44383 (pkglibdir): Removed.
44384
44385 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44386
44387 * DISTLIST: Added util/i386/pc/grub-install.in.
44388
44389 * util/i386/pc/grub-install.in: New file.
44390
44391 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44392 (grub_install_SOURCES): Likewise.
44393
44394 * genmk.rb: Added support for scripts.
44395 (Script): New class.
44396 (scripts): New variable.
44397
44398 * Makefile.in (install-local): Install sbin_SCRIPTS by
44399 INSTALL_SCRIPT.
44400 (uninstall): Remove sbin_SCRIPTS.
44401
44402 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44403 device, try to get a GRUB device by
44404 grub_util_biosdisk_get_grub_dev.
44405 Free DEST_DEV.
44406
44407 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44408 description for --device-map.
44409
44410 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44411
44412 Change the semantics of variable hooks. They now return strings
44413 instead of error values.
44414
44415 * util/i386/pc/grub-setup.c: Include grub/env.h.
44416 (setup): Use grub_device_set_root instead of grub_env_set.
44417
44418 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44419 grub_env_get instead of grub_device_set_root and
44420 grub_device_get_root, respectively.
44421
44422 * kern/main.c (grub_env_write_root): New function.
44423 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44424 grub_env_set instead of grub_device_set_root.
44425
44426 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44427 many variables.
44428 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44429 rather than calling ENV->WRITE_HOOK afterwards.
44430 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44431 passing a pointer of a pointer.
44432 (grub_register_variable_hook): Change the types of "read_hook" and
44433 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44434 respectively.
44435 Allocate the default empty string on the heap, because this string
44436 may be freed later.
44437
44438 * kern/device.c: Include grub/env.h.
44439 (grub_device_set_root): Removed.
44440 (grub_device_get_root): Likewise.
44441 (grub_device_open): Use grub_env_get instead of
44442 grub_device_get_root.
44443
44444 * include/grub/env.h (grub_env_read_hook_t): New type.
44445 (grub_env_write_hook_t): Likewise.
44446 (grub_env_var): Change the types of "read_hook" and "write_hook"
44447 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44448 (grub_register_variable_hook): Likewise.
44449
44450 * include/grub/device.h (grub_device_set_root): Removed.
44451 (grub_device_set_root): Likewise.
44452
44453 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44454 make sure that DIRNAME terminates with '/', so that
44455 grub_fat_find_dir will fail if PATH is not a directory.
44456
44457 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44458 from DIRNAME.
44459 Use the qualifier auto for print_files and print_files_long.
44460 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44461 as a regular file.
44462 Put a newline only if there is no error.
44463 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44464 used.
44465
44466 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44467
44468 * kern/partition.c (grub_partition_probe): Initialize PART to
44469 NULL. Otherwise, when no partition map is registered, this returns
44470 a garbage.
44471
44472 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44473
44474 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44475 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44476 valid.
44477
44478 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44479
44480 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44481 information on each device, if it does not have partitions. Print
44482 "Device" instead of "Disk", because this function is not specific
44483 to disk devices.
44484
44485 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44486 static to ensure that it is put on the memory rather than a
44487 register.
44488
44489 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44490
44491 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44492 (grub_cat_init): Likewise.
44493 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44494 (options): Likewise.
44495 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44496 (grub_configfile_init): Likewise.
44497 * font/manager.c (GRUB_MOD_INIT): Likewise.
44498 * commands/help.c (GRUB_MOD_INIT): Likewise.
44499 (grub_help_init): Likewise.
44500 * normal/command.c (grub_command_init): Likewise.
44501 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44502 * disk/loopback.c (grub_loop_init): Likewise.
44503 (GRUB_MOD_INIT): Likewise.
44504 * commands/ls.c (grub_ls_init): Likewise.
44505 (GRUB_MOD_INIT): Likewise.
44506 (options): Likewise.
44507 * commands/boot.c (grub_boot_init): Likewise.
44508 (GRUB_MOD_INIT): Likewise.
44509 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44510 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44511 (GRUB_MOD_INIT): Likewise.
44512 * commands/cmp.c (grub_cmp_init): Likewise.
44513 (GRUB_MOD_INIT): Likewise.
44514
44515 * normal/arg.c: Use <> instead of "" to include header files.
44516 (SHORT_ARG_HELP): New macro.
44517 (SHORT_ARG_USAGE): Likewise.
44518 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44519 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44520 descriptions.
44521 (find_short): Check if C is 'h' or 'u' explicitly.
44522 (grub_arg_show_help): Use space characters instead of tabs. Treat
44523 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44524 are shown with --help and --usage only if they are not used for
44525 the command itself.
44526 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44527 'h' and 'u'.
44528
44529 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44530 const into "longarg". Change the type of "shortarg" to int.
44531
44532 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44533
44534 * boot/i386/pc/boot.S (boot_drive_check): New label.
44535
44536 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44537 macro.
44538
44539 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44540 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44541
44542 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44543
44544 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44545 When turning off Gate A20, skip the check and return immediately,
44546 because this is not fatal usually.
44547
44548 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44549
44550 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44551 be 0x7C00 instead of 0x8000.
44552
44553 * boot/i386/pc/pxeboot.S: Rewritten.
44554
44555 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44556 EXT_C.
44557 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44558 result.
44559
44560 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44561
44562 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44563 robustness. This routine now supports a BIOS call and System
44564 Control Port A to modify the gate A20.
44565
44566 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44567 Increased to 0x440.
44568
44569 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44570
44571 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44572 device path and resulting ihandle.
44573 (grub_ofdisk_close): dprintf the ihandle being closed.
44574 (grub_ofdisk_read): dprintf function parameters.
44575 * kern/mm.c (grub_mm_init_region): Likewise.
44576 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44577 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44578 size, and boot arguments.
44579 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44580 before loading into memory.
44581 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44582 before loading into memory.
44583
44584 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44585
44586 * kern/mm.c: Added much documentation.
44587 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44588 8, set to 5 instead of 8.
44589
44590 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44591
44592 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44593
44594 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44595 (grub_mkdevicemap_SOURCES): New variable.
44596
44597 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44598 lib/device.c of GRUB Legacy.
44599
44600 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44601
44602 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44603 instead of PATH is NULL.
44604
44605 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44606
44607 * commands/cmp.c (BUFFER_SIZE): New macro.
44608 (grub_cmd_cmp): Close the right file at the right time. Compare
44609 only data just read. Don't report files of different size as
44610 identical. Dynamically allocate buffers. Move variable
44611 declarations at the beginning of function.
44612
44613 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44614
44615 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44616 reverse.
44617
44618 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44619
44620 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44621 when backspace is pressed at beginning of line.
44622
44623 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44624
44625 * DISTLIST: Added genfslist.sh.
44626
44627 * normal/main.c (fs_module_list): New variable.
44628 (autoload_fs_module): New function.
44629 (read_fs_list): Likewise.
44630 (grub_normal_execute): Call read_fs_list.
44631
44632 * kern/fs.c (grub_fs_autoload_hook): New variable.
44633 (grub_fs_probe): Added support for auto-loading.
44634
44635 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44636 (grub_fs_module_list_t): New type.
44637
44638 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44639 (grub_fs_autoload_hook): New prototype.
44640
44641 * genfslist.sh: New file.
44642
44643 * genmk.rb: Added a rule to generate a filesystem list.
44644
44645 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44646
44647 * configure.ac: Fix the test for cross-compiling.
44648
44649 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44650 define GRUB_UTIL anymore.
44651
44652 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44653 so this function works on other systems than just big endian.
44654 (load_modules): Likewise.
44655 (add_segments): Likewise.
44656
44657 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44658
44659 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44660 contains `l' modifier, get a long from va_arg().
44661
44662 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44663
44664 * kern/mm.c (grub_free): If the next free block which is being
44665 merged is the first free block, set the first block to the block
44666 being freed.
44667 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44668
44669 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44670
44671 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44672 `grub_ieee1275_chosen'.
44673
44674 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44675
44676 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44677 (grub_ieee1275_chosen): New variable.
44678 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44679 `chosen'.
44680 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44681 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44682 Rename first argument to `phandle' for consistency.
44683 (grub_ieee1275_get_property_length): Likewise.
44684 (grub_ieee1275_next_property): Likewise. Change type of first argument
44685 to grub_ieee1275_phandle_t.
44686 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44687 Move export next to declaration.
44688 (grub_ieee1275_chosen): New variable.
44689 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44690 Correct cosmetic typo.
44691 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44692 `grub_ieee1275_chosen'.
44693 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44694 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44695 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44696 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44697 `grub_ieee1275_chosen'.
44698
44699 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44700
44701 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44702 /chosen/bootargs.
44703 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44704 /chosen/bootargs as "variable=value" pairs.
44705
44706 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44707
44708 * include/grub/misc.h (grub_dprintf): New macro.
44709 (grub_real_dprintf): New prototype.
44710 (grub_strword): Likewise.
44711 (grub_iswordseparator): Likewise.
44712 * kern/misc.c (grub_real_dprintf): New function.
44713 (grub_strword): Likewise.
44714 (grub_iswordseparator): Likewise.
44715
44716 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44717
44718 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44719 (roundup): Remove macro.
44720 (grub_ieee1275_flags): Make static.
44721 (grub_ieee1275_realmode): Remove.
44722 (grub_ieee1275_test_flag): New function.
44723 (grub_ieee1275_set_flag): Likewise.
44724 (find_options): Rename to `grub_ieee1275_find_options'; update
44725 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44726 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44727 (cmain): New prototype.
44728 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44729 `grub_ieee1275_flags' directly.
44730 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44731 machine/biosdisk.h.
44732 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44733 Don't include grub/machine/init.h.
44734 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44735 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44736 Remove prototype.
44737 (grub_ieee1275_realmode): Likewise.
44738 (grub_ieee1275_flag): New enum.
44739 (grub_ieee1275_test_flag): New prototype.
44740 (grub_ieee1275_set_flag): New prototype.
44741 * include/grub/powerpc/ieee1275/init.h: Remove file.
44742 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44743 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44744 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44745 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44746 comment.
44747 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44748 `grub_ieee1275_test_flag'.
44749 (grub_ieee1275_encode_devname): Likewise.
44750
44751 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44752
44753 * include/grub/powerpc/ieee1275/ieee1275.h
44754 (grub_ieee1275_encode_devname): New prototype.
44755 (grub_ieee1275_get_filename): Likewise.
44756 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44757 function.
44758 (grub_set_prefix): Likewise.
44759 (grub_machine_init): Call grub_set_prefix.
44760 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44761 (grub_parse_type): New enum.
44762 (grub_ieee1275_get_devargs): New function.
44763 (grub_ieee1275_get_devname): Likewise.
44764 (grub_ieee1275_parse_args): Likewise.
44765 (grub_ieee1275_get_filename): Likewise.
44766 (grub_ieee1275_encode_devname): Likewise.
44767
44768 2005-03-30 Marco Gerards <metgerards@student.han.nl>
44769
44770 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44771 `grub_loader_unset'.
44772
44773 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44774
44775 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44776 instead of grub_ieee1275_interpret.
44777 (grub_halt_init): New function.
44778 (grub_halt_fini): Likewise.
44779 (GRUB_MOD_INIT): Correct message grammar.
44780 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44781 instead of grub_ieee1275_interpret.
44782 (grub_reboot_init): New function.
44783 (grub_reboot_fini): Likewise.
44784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44785 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44786 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44787 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44788 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44789 function.
44790 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44791 Add prototype.
44792 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44793 prototype.
44794 (grub_halt): Likewise.
44795 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44796 (cmain): Remove __attribute__((unused)).
44797 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44798 (grub_heap_len): Likewise.
44799 (grub_machine_fini): New function.
44800 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44801 (grub_halt): Likewise.
44802 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44803 function.
44804 * util/powerpc/ieee1275/misc.c: New file.
44805
44806 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44807
44808 * DISTLIST: New file.
44809 * gendistlist.sh: Likewise.
44810
44811 * Makefile.in (COMMON_DISTFILES): Removed.
44812 (BOOT_DISTFILES): Likewise.
44813 (CONF_DISTFILES): Likewise.
44814 (DISK_DISTFILES): Likewise.
44815 (FS_DISTFILES): Likewise.
44816 (INCLUDE_DISTFILES): Likewise.
44817 (KERN_DISTFILES): Likewise.
44818 (LOADER_DISTFILES): Likewise.
44819 (TERM_DISTFILES): Likewise.
44820 (UTIL_DISTFILES): Likewise.
44821 (DISTFILES): Likewise.
44822 (uninstall): Uninstall files in $(pkgdata_DATA).
44823 (DISTLIST): New target.
44824 (distdir): Use the contents of the file DISTLIST to get a list of
44825 distributed files.
44826
44827 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44828
44829 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44830 descriptor. This is ported from GRUB Legacy.
44831
44832 * gencmdlist.sh: Added an extra semicolon to make it work with
44833 old sed versions. Reported by Robert Bihlmeyer
44834 <robbe@orcus.priv.at>.
44835
44836 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
44837
44838 Automatic loading of commands is supported.
44839
44840 * normal/main.c (read_command_list): New function.
44841 (grub_normal_execute): Call read_command_list.
44842
44843 * normal/command.c (grub_register_command): Return zero or CMD.
44844 Allocate CMD->NAME from the heap.
44845 Initialize CMD->MODULE_NAME to zero.
44846 Find the same name as well. If the same command is found and it is
44847 a dummy command, overwrite members. If it is not a dummy command,
44848 return zero.
44849 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44850 (grub_command_find): If a dummy command is found, load a module
44851 and retry to find a command only once.
44852
44853 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44854 make sure that each command is loaded.
44855
44856 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44857 macro.
44858 (struct grub_command): Remove const from the member `name'.
44859 Add a new member `module_name'.
44860 (grub_register_command): Return grub_command_t.
44861
44862 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44863 sure that each command is loaded.
44864
44865 * genmk.rb (PModule::rule): Specify a module name without the
44866 suffix ".mod" to gencmdlist.sh.
44867
44868 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44869
44870 * gencmdlist.sh: New file.
44871
44872 * genmk.rb (PModule::rule): Generate a rule for a command list.
44873 Clean command.lst.
44874 Generate command.lst from $(COMMANDFILES).
44875
44876 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44877 (DATA): Added $(pkgdata_DATA).
44878 (install-local): Install files in $(pkgdata_DATA).
44879
44880 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44881
44882 * term/i386/pc/vga.c (debug_command): Removed.
44883 (GRUB_MOD_INIT): Do not register the command "debug".
44884
44885 From Hollis Blanchard:
44886 * commands/configfile.c: New file.
44887 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44888 commands/configfile.c.
44889 (pkgdata_MODULES): Added configfile.mod.
44890 (configfile_mod_SOURCES): New variable.
44891 (configfile_mod_CFLAGS): Likewise.
44892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44893 commands/configfile.c.
44894 (pkgdata_MODULES): Added configfile.mod.
44895 (configfile_mod_SOURCES): New variable.
44896 (configfile_mod_CFLAGS): Likewise.
44897 * util/grub-emu.c (main): Call grub_configfile_init and
44898 grub_configfile_fini.
44899 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44900 prototype.
44901 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44902
44903 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44904
44905 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44906 address.
44907
44908 * commands/help.c (grub_cmd_help): Do not print newlines after
44909 the last command in print_command_help.
44910
44911 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44912
44913 * commands/default.h: New file.
44914 * commands/timeout.h: Likewise.
44915 * normal/context.c: Likewise.
44916
44917 * util/misc.c: Do not include sys/times.h.
44918 Include sys/time.h and grub/machine/time.h.
44919 (grub_get_rtc): Rewritten with gettimeofday.
44920
44921 * util/grub-emu.c (main): Call grub_default_init and
44922 grub_timeout_init before grub_normal_init, and call
44923 grub_timeout_fini and grub_default_fini after grub_main.
44924
44925 * util/console.c (grub_ncurses_checkkey): Return the read
44926 character or -1.
44927
44928 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44929 timeouts.
44930
44931 * normal/main.c (read_config_file): Push MENU. If this fails,
44932 print an error and wait for a user input.
44933 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44934 If a menu is empty or an error occurs, pop MENU.
44935 (grub_normal_execute): Pop and free MENU after grub_menu_run
44936 returns.
44937
44938 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44939
44940 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44941 include time.h.
44942 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44943 without GRUB_UTIL.
44944 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44945 time.h.
44946 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44947 without GRUB_UTIL.
44948
44949 * include/grub/normal.h (struct grub_menu_list): New struct.
44950 (grub_menu_list_t): New type.
44951 (struct grub_context): New struct.
44952 (grub_context_t): New type.
44953 (grub_register_command): Got rid of EXPORT_FUNC.
44954 (grub_unregister_command): Likewise.
44955 (grub_context_get): New prototype.
44956 (grub_context_get_current_menu): Likewise.
44957 (grub_context_push_menu): Likewise.
44958 (grub_context_pop_menu): Likewise.
44959 [GRUB_UTIL] (grub_default_init): Likewise.
44960 [GRUB_UTIL] (grub_default_fini): Likewise.
44961 [GRUB_UTIL] (grub_timeout_init): Likewise.
44962 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44963
44964 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44965 commands/timeout.c and normal/context.c.
44966 (pkgdata_MODULES): Added default.mod and timeout.mod.
44967 (normal_mod_SOURCES): Added normal/context.c.
44968 (default_mod_SOURCES): New variable.
44969 (default_mod_CFLAGS): Likewise.
44970 (timeout_mod_SOURCES): Likewise.
44971 (timeout_mod_CFLAGS): Likewise.
44972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44973 conf/i386-pc.rmk.
44974 (pkgdata_MODULES): Added default.mod and timeout.mod.
44975 (normal_mod_SOURCES): Added normal/context.c.
44976 (default_mod_SOURCES): New variable.
44977 (default_mod_CFLAGS): Likewise.
44978 (timeout_mod_SOURCES): Likewise.
44979 (timeout_mod_CFLAGS): Likewise.
44980
44981 * Makefile.in (all-local): Added $(MKFILES).
44982
44983 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44984
44985 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44986 (grub_emu_SOURCES): Likewise.
44987 (pkgdata_MODULES): Add `sun.mod'.
44988 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44990 `partmap/sun.c'.
44991 (pkgdata_MODULES): Add `sun.mod'.
44992 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44993 * include/grub/partition.h (grub_sun_partition_map_init): New
44994 prototype.
44995 (grub_sun_partition_map_fini): Likewise.
44996 * partmap/sun.c: New file.
44997 * util/grub-emu.c (main): Initialize and de-initialize the sun
44998 partitionmap support.
44999
45000 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45001
45002 This implements an Emacs-like menu entry editor.
45003
45004 * normal/menu_entry.c: New file.
45005
45006 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45007 characters to ASCII.
45008 (saved_char): New variable.
45009 (grub_ncurses_checkkey): Rewritten completely.
45010 (grub_ncurses_getkey): Likewise.
45011 (grub_ncurses_init): Call raw instead of cbreak.
45012
45013 * normal/menu.c (print_entry): Do not put a space.
45014 (init_page): Renamed to ...
45015 (grub_menu_init_page): ... this. All callers changed.
45016 (edit_menu_entry): Removed.
45017 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45018
45019 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45020
45021 * kern/misc.c (grub_vprintf): Call grub_refresh.
45022
45023 * normal/menu.c (DISP_LEFT): Renamed to ...
45024 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45025 * normal/menu.c (DISP_UP): Renamed to ...
45026 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45027 * normal/menu.c (DISP_RIGHT): Renamed to ...
45028 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45029 * normal/menu.c (DISP_DOWN): Renamed to ...
45030 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45031 * normal/menu.c (DISP_HLINE): Renamed to ...
45032 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45033 * normal/menu.c (DISP_VLINE): Renamed to ...
45034 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45035 * normal/menu.c (DISP_UL): Renamed to ...
45036 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45037 * normal/menu.c (DISP_UR): Renamed to ...
45038 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45039 * normal/menu.c (DISP_LL): Renamed to ...
45040 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45041 * normal/menu.c (DISP_LR): Renamed to ...
45042 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45043 * normal/menu.c (TERM_WIDTH): Renamed to ...
45044 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45045 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45046 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45047 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45048 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45049 * normal/menu.c (TERM_MARGIN): Renamed to ...
45050 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45051 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45052 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45053 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45054 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45055 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45056 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45057 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45058 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45059 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45060 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45061 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45062 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45063 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45064 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45065 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45066 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45067 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45068 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45069 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45070 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45071 All callers changed.
45072
45073 * include/grub/normal.h: New prototype.
45074
45075 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45076 normal/menu_entry.c.
45077 (normal_mod_SOURCES): Likewise.
45078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45079 (normal_mod_SOURCES): Likewise.
45080
45081 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45082
45083 * include/grub/normal.h (grub_halt_init): New prototype.
45084 (grub_halt_fini): Likewise.
45085 (grub_reboot_init): Likewise.
45086 (grub_reboot_fini): Likewise.
45087
45088 * util/grub-emu.c: Include signal.h.
45089 (main_env): New global variable.
45090 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45091 catch C-c.
45092 (grub_machine_fini): New function.
45093 (main): Call grub_halt_init and grub_reboot_init before
45094 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45095 Call setjmp with MAIN_ENV to go back afterwards.
45096 Call grub_machine_fini right before return.
45097
45098 * include/grub/util/misc.h: Include setjmp.h.
45099 (main_env): New prototype.
45100
45101 * include/grub/kernel.h (grub_machine_fini): New prototype.
45102 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45103 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45104
45105 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45106 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45107 * term/i386/pc/console.c (grub_console_fini): Likewise.
45108
45109 * util/i386/pc/misc.c: New file.
45110
45111 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45112 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45113 commands/i386/pc/reboot.c.
45114
45115 2005-02-14 Guillem Jover <guillem@hadrons.org>
45116
45117 * include/grub/dl.h (grub_dl_check_header): New prototype.
45118 (grub_arch_dl_check_header): Change return type to grub_err_t,
45119 remove size parameter and export function. Update all callers.
45120 * kern/dl.c (grub_dl_check_header): New function.
45121 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45122 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45123 are inside the core.
45124 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45125 independent ELF header checks.
45126 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45127 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45128 `grub_dl_check_header' instead of explicit checks. Check for the
45129 ELF type.
45130 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45131 `grub_dl_check_header' instead of explicit checks. Remove arch
45132 specific ELF header checks.
45133
45134 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45135 argument SIZE.
45136
45137 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45138
45139 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45140 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45141
45142 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45143
45144 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
45145 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
45146 (part_map_iterate): Clear `grub_errno' and return 0 if
45147 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
45148 * partmap/amiga.c (amiga_partition_map_iterate): Return
45149 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45150 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45151
45152 2005-02-01 Guillem Jover <guillem@hadrons.org>
45153
45154 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45155 help info.
45156
45157 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45158
45159 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45160 Removed prototype.
45161 (grub_rescue_cmd_linux): New prototype.
45162 (grub_rescue_cmd_initrd): Likewise.
45163 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45164 `bi_rec'.
45165 (grub_linux_release_mem): Release the memory for the initrd.
45166 (grub_load_linux): Renamed from this...
45167 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45168 Changed `entry' not to be static. Loop over memory regions to
45169 find another one when the default fails.
45170 (grub_rescue_cmd_initrd): New function.
45171 (grub_linux_init): Remove function.
45172 (grub_linux_fini): Likewise.
45173 (GRUB_MOD_INIT): Register `initrd'.
45174 (GRUB_MOD_FINI): Unregister `initrd'.
45175 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45176 Function removed.
45177 (grub_linux_normal_fini): Likewise.
45178 (GRUB_MOD_INIT): Register `initrd'.
45179 (GRUB_MOD_FINI): Unregister `initrd'.
45180
45181 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45182
45183 * commands/help.c: New file.
45184 * normal/arg.c (show_help): Renamed to...
45185 (grub_arg_show_help): ... this.
45186 * commands/i386/pc/halt.c: New file.
45187 * commands/i386/pc/reboot.c: Likewise.
45188 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45189 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45190 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45191 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45192 variables.
45193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45194 `commands/help.c'.
45195 (pkgdata_MODULES): Add `help.mod'.
45196 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45197 * grub/i386/pc/init.h (grub_reboot): New prototype.
45198 (grub_halt): Likewise.
45199 * include/grub/normal.h (grub_arg_show_help): New prototype.
45200 (grub_help_init): Likewise.
45201 (grub_help_fini): Likewise.
45202 * util/grub-emu.c (main): Initialize and deinitialize the help
45203 command.
45204
45205 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45206
45207 * normal/command.c (grub_command_init): Fixed the description of
45208 the `set' and `unset' commands.
45209
45210 2005-01-31 Marco Gerards <metgerards@student.han.nl>
45211
45212 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45213 function.
45214 * commands/ieee1275/halt.c: New file.
45215 * commands/ieee1275/reboot.c: Likewise.
45216 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45217 `__attribute__ ((unused))'. Some GCS related fixed.
45218 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45219 (grub_suspend_fini): Likewise.
45220 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45221 and `halt.mod'.
45222 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45223 (halt_mod_CFLAGS): New variables.
45224 * include/grub/powerpc/ieee1275/ieee1275.h
45225 (grub_ieee1275_interpret): New prototype.
45226
45227 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45228
45229 * include/grub/misc.h (memmove): New prototype.
45230 (memcpy): Likewise.
45231
45232 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45233
45234 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45235 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45236
45237 2005-01-22 Marco Gerards <metgerards@student.han.nl>
45238
45239 * kern/misc.c (grub_strndup): Function rewritten.
45240
45241 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45242
45243 * normal/menu.c (TERM_WIDTH): Macro redefined.
45244 (TERM_TOP_BORDER_Y): Likewise.
45245 (draw_border): Replaced while-loop by a for-loop. Make the number
45246 of lines consistent with the number of lines displayed in
45247 print_entries. Added a margin below the rectangle.
45248 (print_entry): Make the entry fit in the rectangle.
45249 (print_entries): Display the scroll arrows next to the right
45250 border.
45251
45252 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45253
45254 * fs/minix.c (grub_minix_find_file): Reserve more space for
45255 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45256 `grub_strncpy' to copy `path' into it.
45257
45258 2005-01-21 Marco Gerards <metgerards@student.han.nl>
45259
45260 Add the loopback device, a device via which files can be accessed
45261 as devices.
45262
45263 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45264 (pkgdata_MODULES): Add loopback.mod.
45265 (loopback_mod_SOURCES): New variable.
45266 (loopback_mod_CFLAGS): Likewise.
45267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45268 `disk/loopback.c'.
45269 (pkgdata_MODULES): Add loopback.mod.
45270 (loopback_mod_SOURCES): New variable.
45271 (loopback_mod_CFLAGS): Likewise.
45272 * disk/loopback.c: new file.
45273 * include/grub/normal.h (grub_loop_init): New prototype.
45274 (grub_loop_fini): New prototype.
45275 * util/grub-emu.c (main): Initialize and de-initialize loopback
45276 support.
45277 * include/grub/disk.h (grub_disk_dev_id): Add
45278 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45279
45280 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45281
45282 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45283 function.
45284 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45285 (suspend_mod_SOURCES): New variable.
45286 (suspend_mod_CFLAGS): Likewise.
45287 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45288 New prototype.
45289 * commands/ieee1275/suspend.c: New file.
45290
45291 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45292
45293 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
45294 ((unused))' to `__attribute__ ((used))'.
45295 (GRUB_MOD_FINI): Likewise.
45296 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45297 * genmk.rb (PModule): Assign space to common symbols when linking
45298 modules.
45299
45300 2005-01-20 Marco Gerards <metgerards@student.han.nl>
45301
45302 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45303 `unsigned' arguments to `grub_size_t'.
45304 (grub_malloc): Likewise.
45305 (grub_realloc): Likewise.
45306 (grub_memalign): Likewise.
45307 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45308 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45309 * util/misc.c (grub_malloc): Likewise.
45310 (grub_realloc): Likewise.
45311 * kern/mm.c (get_header_from_pointer): Change the casts to
45312 `unsigned' into a cast to `grub_size_t'.
45313
45314 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45315 point to `currnode' when `currnode' is changed.
45316
45317 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45318 Schottelius <nico-linux@schottelius.org>.
45319
45320 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45321
45322 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45323 (note_path): Remove variable.
45324 (GRUB_IEEE1275_NOTE_NAME): New macro.
45325 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45326 (grub_ieee1275_note_hdr): New structure.
45327 (grub_ieee1275_note_desc): Likewise.
45328 (grub_ieee1275_note): Likewise.
45329 (load_note): Remove `dir' argument. All callers updated. Remove
45330 `note_img' and `path'. Do not load a file from `note_path'.
45331 Initialize a struct grub_ieee1275_note and write that to `out'.
45332 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45333
45334 2005-01-05 Marco Gerards <metgerards@student.han.nl>
45335
45336 * util/misc.c (grub_util_read_image): Revert last change. It
45337 called `grub_util_read_at', which seeks from the beginning of the
45338 file.
45339
45340 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45341
45342 * TODO: Add note about endianness in grub-mkimage.
45343 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45344 section.
45345 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45346 (grub_mkimage_SOURCES): New target.
45347 * include/grub/kernel.h (grub_start_addr): Remove variable.
45348 (grub_end_addr): Likewise.
45349 (grub_total_module_size): Likewise.
45350 (grub_kernel_image_size): Likewise.
45351 (GRUB_MODULE_MAGIC): New constant.
45352 (grub_module_info): New structure.
45353 (grub_arch_modules_addr): New prototype.
45354 (grub_get_end_addr): Remove prototype.
45355 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45356 * include/grub/powerpc/ieee1275/kernel.h: New file.
45357 * include/grub/util/misc.h (grub_util_get_fp_size): New
45358 prototype.
45359 (grub_util_read_at): Likewise.
45360 (grub_util_write_image_at): Likewise.
45361 * kern/main.c (grub_get_end_addr): Remove function.
45362 (grub_load_modules): Call grub_arch_modules_addr instead of using
45363 grub_end_addr. Look for a grub_module_info struct in memory. Use
45364 the grub_module_info fields instead of calling grub_get_end_addr
45365 as loop conditions. Move grub_add_unused_region code here.
45366 (grub_add_unused_region): Remove function.
45367 * kern/i386/pc/init.c: Include grub/cache.h.
45368 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45369 one call to add_mem_region.
45370 (grub_arch_modules_addr): New function.
45371 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45372 (grub_total_module_size): Likewise.
45373 Include grub/machine/kernel.h.
45374 (grub_arch_modules_addr): New function.
45375 * util/grub-emu.c (grub_end_addr): Remove variable.
45376 (grub_total_module_size): Likewise.
45377 (grub_arch_modules_addr): New function.
45378 * util/misc.c: Include unistd.h.
45379 (grub_util_get_fp_size): New function.
45380 (grub_util_read_at): Likewise.
45381 (grub_util_write_image_at): Likewise.
45382 (grub_util_read_image): Call grub_util_read_at.
45383 (grub_util_write_image): Call grub_util_write_image_at.
45384 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45385 additional memory in kernel_img for a struct grub_module_info.
45386 Fill in that grub_module_info.
45387 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45388
45389 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45390
45391 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45392 New function.
45393 * include/grub/powerpc/ieee1275/ieee1275.h
45394 (grub_ieee1275_milliseconds): New prototype.
45395 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45396 Change to 1000.
45397 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45398 grub_ieee1275_milliseconds.
45399
45400 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45401
45402 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45403 variable.
45404 (find_options): New function.
45405 (cmain): Call find_options.
45406 * include/grub/powerpc/ieee1275/ieee1275.h
45407 (grub_ieee1275_realmode): New extern variable.
45408 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45409 grub_map if grub_ieee1275_realmode is false.
45410
45411 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45412
45413 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45414 lines are inserted and make it work like readline. Reported by
45415 Vincent Pelletier <subdino2004@yahoo.fr>.
45416
45417 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45418
45419 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45420
45421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45422 `kern/powerpc/cache.S'.
45423
45424 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45425
45426 * genmk.rb: Handle the `Program' class in the main loop. Written
45427 by Johan Rydberg <jrydberg@gnu.org>.
45428 (Program): New class.
45429 (programs): New variable.
45430 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45431 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45432 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45433 (help_arch): Function removed.
45434 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45435 `powerpc/libgcc.h' and `loader.h'.
45436 (pkgdata_PROGRAMS): New variable.
45437 (sbin_UTILITIES): Variable removed.
45438 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45439 (grubof_SOURCES): Variable re-defined so it only includes the
45440 core functionality.
45441 (grubof_CFLAGS): Remove `-DGRUBOF'.
45442 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45443 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45444 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45445 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45446 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45447 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45448 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45449 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45450 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45451 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45452 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45453 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45454 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45455 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45456 (pc_mod_CFLAGS): New variables.
45457 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45458 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45459 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45460 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45461 Moved from here...
45462 * include/grub/i386/pc/init.h (grub_os_area_addr)
45463 (rub_os_area_size): ... to here.
45464 * include/grub/powerpc/ieee1275/ieee1275.h
45465 (grub_ieee1275_entry_fn): Export symbol.
45466 * include/grub/powerpc/ieee1275/init.h: New file.
45467 * include/grub/powerpc/libgcc.h: Likewise.
45468 * include/grub/cache.h: Likewise.
45469 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45470 <hollis@penguinppc.org>.
45471 * kern/dl.c: Include <grub/cache.h>.
45472 (grub_dl_flush_cache): New function.
45473 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45474 for this module.
45475 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45476 (grub_console_init): Removed prototypes.
45477 (grub_machine_init): Don't initialize the modules anymore.
45478 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45479 static.
45480 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45481 Macro undef removed.
45482 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45483 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45484 relocation `R_PPC_REL32'. Return an error when the relocation is
45485 unknown.
45486 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45487 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45488 * util/misc.c (grub_arch_sync_caches): Likewise.
45489
45490 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45491
45492 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45493 `symlist.c', add `grubof_symlist.c'.
45494 (symlist.c): Variable removed.
45495 (grubof_HEADERS): Variable added.
45496 (grubof_symlist.c): New target.
45497 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45498 `kernel_img_HEADERS'.
45499 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45500 * kern/powerpc/dl.c: New file.
45501 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45502 Function removed.
45503 (grub_arch_dl_relocate_symbols): Likewise.
45504 (grub_register_exported_symbols): Likewise.
45505
45506 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45507
45508 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45509 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45510 to fail instead. Reported by Vincent Pelletier
45511 <subdino2004@yahoo.fr>.
45512
45513 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45514 it is not allocated. Reported by Vincent Pelletier
45515 <subdino2004@yahoo.fr>.
45516
45517 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45518 output so the output looks better.
45519
45520 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45521
45522 Modulize the partition map support and add support for the amiga
45523 partition map.
45524
45525 * commands/ls.c: Include <grub/partition.h> instead of
45526 <grub/machine/partition.h>.
45527 * kern/disk.c: Likewise.
45528 * kern/rescue.c: Likewise.
45529 * loader/i386/pc/chainloader.c: Likewise.
45530 * normal/cmdline.c: Likewise.
45531 * kern/powerpc/ieee1275/init.c: Likewise.
45532 (grub_machine_init): Call `grub_pc_partition_map_init',
45533 `grub_amiga_partition_map_init' and
45534 `grub_apple_partition_map_init'.
45535 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45536 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45537 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45538 `partition.h' and `pc_partition.h'.
45539 (grub_setup_SOURCES): Remove
45540 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45541 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45542 (grub_emu_SOURCES): Likewise.
45543 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45544 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45545 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45547 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45548 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45549 (grubof_SOURCES): Likewise.
45550 * disk/i386/pc/partition.c: File removed.
45551 * disk/powerpc/ieee1275/partition.c: Likewise.
45552 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45553 * include/grub/i386/pc/partition.h: Likewise.
45554 * kern/partition.c: New file.
45555 * partmap/amiga.c: Likewise.
45556 * partmap/apple.c: Likewise.
45557 * partmap/pc.c: Likewise.
45558 * include/grub/partition.h: Likewise..
45559 * include/grub/pc_partition.h: Likewise.
45560 * util/grub-emu.c: Include <grub/partition.h> instead of
45561 <grub/machine/partition.h>.
45562 (main): Call `grub_pc_partition_map_init',
45563 `grub_amiga_partition_map_init' and
45564 `grub_apple_partition_map_init' and deinitialize afterwards.
45565 * util/i386/pc/biosdisk.c: Include `#include
45566 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45567 `<grub/machine/partition.h>'.
45568 * util/i386/pc/grub-setup.c: Likewise.
45569 * util/i386/pc/biosdisk.c: Likewise.
45570 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45571 partition information in case of a PC partition.
45572 * util/i386/pc/grub-setup.c: Include `#include
45573 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45574 `<grub/machine/partition.h>'.
45575 (setup): Only access the PC specific partition information in case
45576 of a PC partition.
45577
45578 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45579
45580 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45581 (grub_longjmp): Likewise.
45582 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45583 20.
45584 * normal/powerpc/setjmp.S: New file.
45585 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45586 `normal/powerpc/setjmp.S'.
45587 (grubof_CFLAGS): Add `-DGRUBOF'.
45588 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45589 [GRUB_UTIL && !GRUBOF].
45590
45591 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45592
45593 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45594 property named `name'. Correctly handle the error returned by
45595 `grub_ieee1275_finddevice' if a device can not be opened.
45596
45597 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45598
45599 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45600 `actual' for negativity.
45601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45602 kern/fshelp.c.
45603
45604 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45605
45606 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45607 (PAGE_OFFSET): New macro.
45608 (CRTC_ADDR_PORT): Likewise.
45609 (CRTC_DATA_PORT): Likewise.
45610 (START_ADDR_HIGH_REGISTER): Likewise.
45611 (START_ADDR_LOW_REGISTER): Likewise.
45612 (GRAPHICS_ADDR_PORT): Likewise.
45613 (GRAPHICS_DATA_PORT): Likewise.
45614 (READ_MAP_REGISTER): Likewise.
45615 (INPUT_STATUS1_REGISTER): Likewise.
45616 (INPUT_STATUS1_VERTR_BIT): Likewise.
45617 (page): New variable.
45618 (wait_vretrace): New function.
45619 (set_read_map): Likewise.
45620 (set_start_address): Likewise.
45621 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45622 the right page.
45623 (check_vga_mem): Take the page into account.
45624 (write_char): Likewise.
45625 (write_cursor): Likewise.
45626 (scroll_up): Likewise. Copy the page to the page that is not
45627 shown and switch between both pages.
45628 (grub_vga_putchar): Fix off by one error.
45629 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45630 account.
45631
45632 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45633
45634 Add support for iso9660 (including rockridge).
45635
45636 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45637 (iso9660_mod_SOURCES): New variable.
45638 (iso9660_mod_CFLAGS): Likewise.
45639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45640 * include/grub/fs.h (grub_iso9660_init): New prototype.
45641 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45642 * fs/iso9660.c: New file.
45643
45644 * include/grub/misc.h (grub_strncat): New prototype.
45645 * kern/misc.c (grub_strncat): New function.
45646
45647 * fs/hfs.c (grub_hfs_mount): Translate the error
45648 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45649 * fs/jfs.c (grub_jfs_mount): Likewise.
45650 * fs/ufs.c (grub_ufs_mount): Likewise.
45651
45652 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45653
45654 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45655 which initialized BAT registers.
45656 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45657 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45658 Move from here...
45659 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45660 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45661 ... to here.
45662 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45663 (grub_mapclaim): Likewise.
45664 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45665 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45666 hand.
45667
45668 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45669
45670 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45671 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45672 -ffreestanding and -msoft-float.
45673
45674 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45675
45676 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45677 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45678 set in grub_ieee1275_flags.
45679
45680 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45681
45682 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45683 prototype.
45684 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45685 grub_console_init first.
45686 Change the memory range used for grub_ieee1275_claim and
45687 grub_mm_init_region.
45688 Print an error message if the claim fails.
45689 Include <grub/misc.h>.
45690
45691 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45692
45693 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45694 Call grub_children_iterate for device nodes of type `scsi',
45695 `ide', or `ata'.
45696 (grub_ofdisk_open): Remove manual device alias resolution.
45697 Fix memory leak when device cannot be opened.
45698 * include/grub/powerpc/ieee1275/ieee1275.h
45699 (grub_children_iterate): New prototype.
45700 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45701 New function.
45702 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45703 Return -1 if args.size was -1.
45704
45705 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45706
45707 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45708 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45709 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45710 Open Firmware's memory for it; claim memory from _start to _end.
45711 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45712 (_end): New extern.
45713 (_start): Zero BSS from __bss_start to _end.
45714 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45715 New extern.
45716 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45717
45718 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45719
45720 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45721 -1 if args.base was -1.
45722
45723 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45724
45725 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45726 escape sequence instead of a literal ^L. Also call
45727 grub_ofconsole_gotoxy.
45728
45729 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45730
45731 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45732 void * arguments to grub_addr_t. All callers updated. Also make
45733 the `result' argument optional.
45734 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45735 All callers updated.
45736
45737 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45738
45739 * commands/ls.c (grub_ls_list_files): Use the string following the
45740 initial ')', if present, as the filesystem path.
45741 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45742
45743 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45744
45745 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45746
45747 Make the source code of the menu interface more readable.
45748
45749 * normal/menu.c: Include grub/mm.h.
45750 (TERM_WIDTH): New macro.
45751 (TERM_HEIGHT): Likewise.
45752 (TERM_INFO_HEIGHT): Likewise.
45753 (TERM_MARGIN): Likewise.
45754 (TERM_SCROLL_WIDTH): Likewise.
45755 (TERM_TOP_BORDER_Y): Likewise.
45756 (TERM_LEFT_BORDER_X): Likewise.
45757 (TERM_BORDER_WIDTH): Likewise.
45758 (TERM_MESSAGE_HEIGHT): Likewise.
45759 (TERM_BORDER_HEIGHT): Likewise.
45760 (TERM_NUM_ENTRIES): Likewise.
45761 (TERM_FIRST_ENTRY_Y): Likewise.
45762 (TERM_ENTRY_WIDTH): Likewise.
45763 (TERM_CURSOR_X): Likewise.
45764 (draw_border): Use macros instead of magic numbers.
45765 (print_entry): Likewise.
45766 (print_entries): Likewise.
45767 (run_menu): Likewise. Also, handle the key 'e'.
45768 (run_menu_entry): Ignore empty command lines.
45769 (print_message): Added a new argument EDIT. If EDIT is true,
45770 print a different message.
45771 (init_page): Likewise.
45772 (edit_menu_entry): New function. Not implemented yet.
45773
45774 2004-09-17 Marco Gerards <metgerards@student.han.nl>
45775
45776 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45777 can be loaded from normal mode.
45778
45779 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45780 `multiboot.mod'.
45781 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45782 (multiboot_mod_CFLAGS): New variables.
45783 * loader/i386/pc/linux_normal.c: New file.
45784 * loader/i386/pc/multiboot_normal.c: Likewise.
45785
45786 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45787 attribute `unused'.
45788
45789 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45790 `fdiro' to read the mode information from instead of `diro'.
45791
45792 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45793 looking up a symlink.
45794
45795 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45796 macro.
45797 * normal/command.c (grub_command_execute): Don't parse the
45798 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45799 flags of the command.
45800
45801 * normal/menu.c (grub_menu_run): Fix typo.
45802
45803 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45804
45805 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45806
45807 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45808 `y + 1' instead of `y - 1'.
45809
45810 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
45811
45812 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45813
45814 From Hollis Blanchard <hollis@penguinppc.org>:
45815 * kern/misc.c (memmove): New alias for grub_memmove.
45816 (memcmp): New alias for grub_memcmp.
45817 (memset): New alias for grub_memset.
45818 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45819 Change "int handle" to "grub_ieee1275_phandle_t handle".
45820 * include/grub/powerpc/ieee1275/ieee1275.h
45821 (grub_ieee1275_get_property): Likewise.
45822
45823 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45824
45825 Added normal mode command `chainloader' as module chain.mod, which
45826 depends on normal.mod and _chain.mod.
45827
45828 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45829 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45830 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45831 Deleted prototype.
45832 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45833 but arguments parsing moved to ...
45834 (grub_chainloader_cmd): ... here. New function.
45835 * include/grub/i386/pc/chainloader.h: New file.
45836 * loader/i386/pc/chainloader_normal.c: Likewise.
45837
45838 2004-09-11 Marco Gerards <metgerards@student.han.nl>
45839
45840 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45841 (grub_mkimage_LDFLAGS): Likewise.
45842 (grub_emu_SOURCES): Likewise.
45843 (kernel_img_HEADERS): Added fshelp.h.
45844 * fs/ext2.c: Include <grub/fshelp.h>.
45845 (FILETYPE_REG): New macro.
45846 (FILETYPE_INO_REG): Likewise.
45847 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45848 Changed all users.
45849 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45850 all users.
45851 (grub_fshelp_node): New struct.
45852 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45853 to a pointer.
45854 (grub_ext2_get_file_block): Removed function.
45855 (grub_ext2_read_block): New function.
45856 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45857 This function was written.
45858 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45859 (grub_ext2_find_file): Removed function.
45860 (grub_ext2_read_symlink): New function.
45861 (grub_ext2_iterate_dir): Likewise.
45862 (grub_ext2_open): Rewritten.
45863 (grub_ext2_dir): Rewritten.
45864 * include/grub/fshelp.h: New file.
45865 * fs/fshelp.c: Likewise.
45866
45867 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45868
45869 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45870 (print_message): Add a missing newline.
45871 (run_menu): Added timeout support.
45872 (run_menu_entry): New local function.
45873 (grub_menu_run): Added support for booting.
45874
45875 * kern/loader.c (grub_loader_is_loaded): New function.
45876
45877 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45878 (grub_get_rtc): Exported.
45879
45880 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45881 (grub_get_rtc): Exported.
45882
45883 * include/grub/normal.h (struct grub_command_list): Remove
45884 constant from the member `command'.
45885
45886 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45887
45888 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45889
45890 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45891
45892 2004-08-28 Marco Gerards <metgerards@student.han.nl>
45893
45894 Add support for the JFS filesystem.
45895
45896 * fs/jfs.c: New file.
45897 * include/grub/fs.h (grub_jfs_init): New prototype.
45898 (grub_jfs_fini): New prototype.
45899 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45900 (grub_emu_SOURCES): Likewise.
45901 (pkgdata_MODULES): Add jfs.mod.
45902 (jfs_mod_SOURCES): New variable.
45903 (jfs_mod_CFLAGS): Likewise.
45904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45905 (grubof_SOURCES): Likewise.
45906 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45907
45908 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45909 endian to the host endian.
45910 (grub_fat_utf16_to_utf8): Move function from there...
45911 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45912 the endianness of the source string anymore.
45913 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45914
45915 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45916
45917 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45918 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45919 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45920 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45921
45922 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45923 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45924 for `node_found' and `it_dir'.
45925 (grub_hfs_dir): Add prototype for `dir_hook'.
45926
45927 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45928 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45929 and `indir32' to silence a gcc warning.
45930
45931 * include/grub/fs.h (grub_hfs_init): New prototype.
45932 (grub_hfs_fini): Likewise.
45933
45934
45935 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45936
45937 Each disk device has its own id now. This is useful to make use
45938 of multiple disk devices.
45939
45940 * include/grub/disk.h (grub_disk_dev_id): New enum.
45941 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45942 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45943
45944 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45945 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45946
45947 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45948 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45949
45950 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45951 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45952
45953 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45954 "id" which is used by the cache manager.
45955
45956 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45957 of just "GRUB".
45958
45959 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45960
45961 * fs/hfs.c: New file.
45962 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45963 (grub_emu_SOURCES): Likewise.
45964 (pkgdata_MODULES): Add hfs.mod.
45965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45966 (grubof_SOURCES): Likewise.
45967 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45968
45969 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45970 * kern/misc.c (grub_strncasecmp): Add function.
45971
45972 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45973
45974 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45975 with parentheses.
45976
45977 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45978 (grub_ext2_dir): In case the directory entry type is unknown, read
45979 it from the inode.
45980
45981 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45982
45983 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45984 grub_load_linux instead of grub_rescue_cmd_linux as second
45985 argument of grub_rescue_register_command.
45986
45987 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45988
45989 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45990
45991 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45992 function.
45993 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45994 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45995 `loader/powerpc/ieee1275/linux.c',
45996 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45997 * include/grub/powerpc/ieee1275/ieee1275.h
45998 (grub_ieee1275_release): New prototype.
45999 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46000 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46001 normal, boot, linux and linux_normal.
46002 * loader/powerpc/ieee1275/linux.c: New file.
46003 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46004
46005 2004-07-12 Marco Gerards <metgerards@student.han.nl>
46006
46007 * normal/arg.c (grub_arg_parse): Correct error handling after
46008 reallocating the argumentlist (check if `argl' is not null instead
46009 of checking if `args' is not null).
46010 * kern/mm.c (grub_realloc): Return the same pointer when using the
46011 same region, instead of returning the header address.
46012
46013 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46014
46015 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46016 one block instead of two when looking for the initial partition.
46017 (grub_partition_probe): Initialize the local variable `p' with 0.
46018 Use base 10 for the grub_strtoul call.
46019 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46020 need for one local variable.
46021 (grub_strtoul): Don't add the new value to `num', instead of that
46022 just assign it.
46023
46024 2004-07-11 Marco Gerards <metgerards@student.han.nl>
46025
46026 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46027 (pxeboot_img_SOURCES): New variable.
46028 (pxeboot_img_ASFLAGS): Likewise.
46029 (pxeboot_img_LDFLAGS): Likewise.
46030 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46031 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46032 <lode_leroy@hotmail.com>.
46033
46034 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46035
46036 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46037 there was no input.
46038
46039 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46040
46041 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46042 the history buffer logic.
46043
46044 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46045
46046 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46047 (FILETYPE_INO_SYMLINK): New macros.
46048 (grub_ext2_find_file): Check if the node is a directory using the
46049 inode stat information instead of using the filetype in the
46050 dirent. Exclude the first character of an absolute symlink.
46051 (grub_ext2_dir): Mask out the filetype part of the mode member of
46052 the inode.
46053
46054 2004-05-24 Marco Gerards <metgerards@student.han.nl>
46055
46056 Add support for UFS version 1 and 2. Add support for the minix
46057 filesystem version 1 and 2, both the variants with 14 and 30 long
46058 filenames.
46059
46060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46061 fs/minix.c.
46062 (grub_emu_SOURCES): Likewise.
46063 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46064 (ufs_mod_SOURCES): New variable.
46065 (ufs_mod_CFLAGS): Likewise.
46066 (minix_mod_SOURCES): Likewise.
46067 (minix_mod_CFLAGS): Likewise.
46068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46069 fs/minix.c.
46070 (grubof_SOURCES): Likewise.
46071 * fs/ufs.c: New file.
46072 * fs/minix.c: New file.
46073 * include/grub/fs.h (grub_ufs_init): New prototype.
46074 (grub_ufs_fini): Likewise.
46075 (grub_minix_init): Likewise.
46076 (grub_minix_fini): Likewise.
46077 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46078 minix fs.
46079
46080 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46081
46082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46083 commands/ls.c, commands/terminal.c, commands/boot.c,
46084 commands/cmp.c and commands/cat.c.
46085 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46086
46087 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46088 "env.h"
46089
46090 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46091
46092 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46093 and grub_, respectively. Because the conversion is trivial and
46094 mechanical, I omit the details here. Please refer to the CVS
46095 if you need more information.
46096
46097 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46098
46099 * include/pupa: Renamed to ...
46100 * include/grub: ... this.
46101 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46102 * util/i386/pc/grub-mkimage.c: ... this.
46103 * util/i386/pc/pupa-setup.c: Renamed to ...
46104 * util/i386/pc/grub-setup.c: ... this.
46105 * util/pupa-emu.c: Renamed to ...
46106 * util/grub-emu.c: ... this.
46107
46108 2004-03-29 Marco Gerards <metgerards@student.han.nl>
46109
46110 Add support for the newworld apple macintosh (PPC). This has been
46111 tested on the powerbook 2000 only. It only adds support for
46112 generic ieee1275 functions, console and disk support. This should
46113 be easy to port to other architectures with support for Open
46114 Firmware.
46115
46116 * configure.ac: Accept the powerpc as host_cpu. In the case of
46117 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46118 specific tests are only executed while building for the i386.
46119 Inverse test for crosscompile.
46120 * genmk.rb (Utility): Allow assembler files.
46121 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46122 * conf/powerpc-ieee1275.rmk: New file.
46123 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46124 * disk/powerpc/ieee1275/partition.c: Likewise.
46125 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46126 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46127 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46128 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46129 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46130 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46131 * include/pupa/powerpc/ieee1275/loader.h
46132 * include/pupa/powerpc/setjmp.h: Likewise.
46133 * include/pupa/powerpc/types.h: Likewise.
46134 * kern/powerpc/ieee1275/init.c: Likewise.
46135 * kern/powerpc/ieee1275/openfw.c: Likewise.
46136 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46137
46138 These files were written by Johan Rydberg
46139 (jrydberg@night.trouble.net) and I only modified them slightly.
46140
46141 * boot/powerpc/ieee1275/cmain.c: New file.
46142 * boot/powerpc/ieee1275/crt0.S: Likewise.
46143 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46144 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46145
46146 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46147
46148 * Makefile.in: Update copyright.
46149 * genmodsrc.sh: Likewise.
46150 * gensymlist.sh: Likewise.
46151 * term/i386/pc/vga.c: Indent correctly.
46152
46153 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46154 bugreporting address.
46155 * util/i386/pc/pupa-setup.c (usage): Likewise,
46156 (main): Call pupa_ext2_init and pupa_ext2_fini.
46157
46158 * fs/fat.c (log2): Renamed to ...
46159 (fat_log2): ... this.
46160 All callers changed.
46161 * kern/misc.c (memcpy): Alias to pupa_memmove.
46162 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46163 lvalue cast.
46164 * util/console.c (pupa_ncurses_fini): Return 0.
46165
46166 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46167 Move fail label here.
46168 [__GNU__]: Don't warn when using stat.
46169 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46170 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46171 long int. Use strtol instead of strtoul.
46172
46173 2004-03-14 Marco Gerards <metgerards@student.han.nl>
46174
46175 * commands/boot.c: New file.
46176 * commands/cat.c: Likewise.
46177 * commands/cmp.c: Likewise.
46178 * commands/ls.c: Likewise.
46179 * commands/terminal.c: Likewise.
46180 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46181 (pupa_register_command): Changed interface to match the new
46182 argument parser.
46183 (pupa_command_execute): Changed (almost rewritten) so it uses
46184 pupa_split_command. Added support for setting variables using the
46185 syntax `foo=bar'.
46186 (rescue_command): Changed to work with the new argument parser.
46187 (terminal_command): Moved from here to commands/terminal.c.
46188 (set_command): New function.
46189 (unset_command): New function.
46190 (insmod_command): New function.
46191 (rmmod_command): New function.
46192 (lsmod_command): New function.
46193 (pupa_command_init): Don't initialize the command terminal
46194 anymore. Initialize the commands set, unset, insmod, rmmod and
46195 lsmod.
46196 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46197 (kernel_img_HEADERS): Add arg.h and env.h.
46198 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46199 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46200 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46201 normal/arg.c.
46202 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46203 terminal.mod.
46204 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46205 (boot_mod_SOURCES): New variable.
46206 (terminal_mod_SOURCES): Likewise.
46207 (ls_mod_SOURCES): Likewise.
46208 (cmp_mod_SOURCES): Likewise.
46209 (cat_mod_SOURCES): Likewise.
46210
46211 * normal/arg.c: New file.
46212 * kern/env.c: Likewise.
46213 * include/pupa/arg.h: Likewise.
46214 * include/pupa/env.h: Likewise.
46215 * font/manager.c (font_command): Changed to match argument parsing
46216 interface changes.
46217 (PUPA_MOD_INIT): Likewise.
46218 * hello/hello.c (pupa_cmd_hello): Likewise.
46219 (PUPA_MOD_INIT): Likewise.
46220 * include/pupa/disk.h: Include <pupa/device.h>.
46221 (pupa_print_partinfo): New prototype.
46222 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46223 (pupa_dl_get_prefix): Likewise.
46224 * include/pupa/misc.h: Include <pupa/err.h>.
46225 (pupa_isgraph): New prototype.
46226 (pupa_isdigit): Likewise.
46227 (pupa_split_cmdline): Likewise.
46228 * include/pupa/normal.h: Include <pupa/arg.h>.
46229 (pupa_command): Changed the prototype of the member `func' to
46230 match the argument parsing interface. Added member `options'.
46231 (pupa_register_command): Updated to match function.
46232 (pupa_arg_parse): New prototype.
46233 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46234 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46235 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46236 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46237 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46238 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46239 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46240 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46241 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46242 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46243 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46244 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46245 * kern/disk.c: Include <pupa/file.h>.
46246 (pupa_print_partinfo): New function.
46247 * kern/dl.c: Include <pupa/env.h>.
46248 (pupa_dl_dir): Variable removed.
46249 (pupa_dl_load): Use the environment variable `prefix' instead of
46250 the variable pupa_dl_dir.
46251 (pupa_dl_set_prefix): Function removed.
46252 (pupa_dl_get_prefix): Likewise.
46253 * kern/i386/pc/init.c: Include <pupa/env.h>.
46254 (pupa_machine_init): Use the environment variable `prefix' instead of
46255 using pupa_dl_set_prefix to set the prefix.
46256 * kern/main.c: Include <pupa/env.h>.
46257 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46258 using pupa_dl_get_prefix to get the prefix.
46259 * kern/misc.c: Include <pupa/env.h>.
46260 (pupa_isdigit): New function.
46261 (pupa_isgraph): Likewise.
46262 (pupa_ftoa): Likewise.
46263 (pupa_vsprintf): Added support for printing values of the type
46264 `double'. Make it possible to format variable output when using
46265 formatting like `%1.2%f'.
46266 (pupa_split_cmdline): New function.
46267 * kern/rescue.c: Include <pupa/env.h>.
46268 (next_word): Removed function.
46269 (pupa_rescue_cmd_prefix): Likewise.
46270 (pupa_rescue_cmd_set): New function.
46271 (pupa_rescue_cmd_unset): New function.
46272 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46273 split the command line instead of splitting it here. Added
46274 support for setting variables using the syntax `foo=bar'. Don't
46275 initialize the prefix command anymore. Initialized the set and
46276 unset commands.
46277 * normal/cmdline.c: Include <pupa/env.h>.
46278 (pupa_tab_complete): Added prototypes for print_simple_completion,
46279 print_partition_completion, add_completion, iterate_commands,
46280 iterate_dev, iterate_part and iterate_dir. Moved code to print
46281 partition information from here to kern/disk.c.
46282 (pupa_cmdline_run): Don't check if the function exists anymore.
46283 * normal/main.c: Include <pupa/env.h>.
46284 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46285 instead of using pupa_dl_get_prefix to get the prefix.
46286 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46287 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46288 warning.
46289 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46290 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46291 ((unused))' to silence a gcc warning.
46292 (pupa_vga_setcolor): Likewise.
46293 (debug_command): Changed to match argument parsing
46294 interface changes.
46295 * util/pupa-emu.c: Include <pupa/env.h>.
46296 (options): Added 0's for unused fields to silence a gcc warning.
46297 (argp): Likewise.
46298 (main): Use the environment variable `prefix' instead of using
46299 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46300 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46301 and terminal.
46302
46303 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46304 * util/misc.c: Include <malloc.h>.
46305 (pupa_malloc): Rewritten so errors are correctly reported.
46306 (pupa_realloc): Likewise.
46307 (pupa_memalign): Likewise.
46308 (pupa_mm_init_region): Declare unused variables with
46309 `__attribute__ ((unused))' to silence a gcc warning.
46310 * normal/i386/setjmp.S: Remove tab at the end of the file to
46311 silence a gcc warning.
46312 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46313 variables with `__attribute__ ((unused))' to silence a gcc
46314 warning.
46315 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46316 local variable i unsigned to silence a gcc warning.
46317
46318 * kern/term.c: Include <pupa/misc.h>.
46319 (pupa_more_lines): New variable.
46320 (pupa_more): Likewise.
46321 (pupa_putcode): When the pager is active pause at the end of every
46322 screen.
46323 (pupa_set_more): New function.
46324 * include/pupa/term.h (pupa_set_more): New prototype.
46325
46326
46327 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46328
46329 Now this project is GRUB 2 rather than PUPA. The location of
46330 the CVS repository was moved to GRUB's.
46331
46332 * configure.ac: Use bug-grub as the reporting address.
46333 Use GRUB instead of PUPA.
46334 Change the version number to 1.90.
46335
46336 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46337
46338 * genkernsyms.sh: Updated copyright information.
46339 * genmk.rb: Likewise.
46340 * genmodsrc.sh: Likewise.
46341 * gensymlist.sh: Likewise.
46342 * boot/i386/pc/boot.S: Likewise.
46343 * boot/i386/pc/diskboot.S: Likewise.
46344 * disk/i386/pc/biosdisk.c: Likewise.
46345 * disk/i386/pc/partition.c: Likewise.
46346 * font/manager.c: Likewise.
46347 * fs/ext2.c: Likewise.
46348 * fs/fat.c: Likewise.
46349 * include/pupa/boot.h: Likewise.
46350 * include/pupa/device.h: Likewise.
46351 * include/pupa/disk.h: Likewise.
46352 * include/pupa/dl.h: Likewise.
46353 * include/pupa/elf.h: Likewise.
46354 * include/pupa/err.h: Likewise.
46355 * include/pupa/file.h: Likewise.
46356 * include/pupa/font.h: Likewise.
46357 * include/pupa/fs.h: Likewise.
46358 * include/pupa/kernel.h: Likewise.
46359 * include/pupa/loader.h: Likewise.
46360 * include/pupa/misc.h: Likewise.
46361 * include/pupa/mm.h: Likewise.
46362 * include/pupa/net.h: Likewise.
46363 * include/pupa/normal.h: Likewise.
46364 * include/pupa/rescue.h: Likewise.
46365 * include/pupa/setjmp.h: Likewise.
46366 * include/pupa/symbol.h: Likewise.
46367 * include/pupa/term.h: Likewise.
46368 * include/pupa/types.h: Likewise.
46369 * include/pupa/i386/setjmp.h: Likewise.
46370 * include/pupa/i386/types.h: Likewise.
46371 * include/pupa/i386/pc/biosdisk.h: Likewise.
46372 * include/pupa/i386/pc/boot.h: Likewise.
46373 * include/pupa/i386/pc/console.h: Likewise.
46374 * include/pupa/i386/pc/init.h: Likewise.
46375 * include/pupa/i386/pc/kernel.h: Likewise.
46376 * include/pupa/i386/pc/linux.h: Likewise.
46377 * include/pupa/i386/pc/loader.h: Likewise.
46378 * include/pupa/i386/pc/memory.h: Likewise.
46379 * include/pupa/i386/pc/multiboot.h: Likewise.
46380 * include/pupa/i386/pc/partition.h: Likewise.
46381 * include/pupa/i386/pc/time.h: Likewise.
46382 * include/pupa/i386/pc/vga.h: Likewise.
46383 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46384 * include/pupa/util/getroot.h: Likewise.
46385 * include/pupa/util/misc.h: Likewise.
46386 * include/pupa/util/resolve.h: Likewise.
46387 * kern/device.c: Likewise.
46388 * kern/disk.c: Likewise.
46389 * kern/dl.c: Likewise.
46390 * kern/err.c: Likewise.
46391 * kern/file.c: Likewise.
46392 * kern/fs.c: Likewise.
46393 * kern/loader.c: Likewise.
46394 * kern/main.c: Likewise.
46395 * kern/misc.c: Likewise.
46396 * kern/mm.c: Likewise.
46397 * kern/rescue.c: Likewise.
46398 * kern/term.c: Likewise.
46399 * kern/i386/dl.c: Likewise.
46400 * kern/i386/pc/init.c: Likewise.
46401 * kern/i386/pc/lzo1x.S: Likewise.
46402 * kern/i386/pc/startup.S: Likewise.
46403 * loader/i386/pc/chainloader.c: Likewise.
46404 * loader/i386/pc/linux.c: Likewise.
46405 * loader/i386/pc/multiboot.c: Likewise.
46406 * normal/cmdline.c: Likewise.
46407 * normal/command.c: Likewise.
46408 * normal/main.c: Likewise.
46409 * normal/menu.c: Likewise.
46410 * normal/i386/setjmp.S: Likewise.
46411 * term/i386/pc/console.c: Likewise.
46412 * term/i386/pc/vga.c: Likewise.
46413 * util/console.c: Likewise.
46414 * util/genmoddep.c: Likewise.
46415 * util/misc.c: Likewise.
46416 * util/pupa-emu.c: Likewise.
46417 * util/resolve.c: Likewise.
46418 * util/unifont2pff.rb: Likewise.
46419 * util/i386/pc/biosdisk.c: Likewise.
46420 * util/i386/pc/getroot.c: Likewise.
46421 * util/i386/pc/pupa-mkimage.c: Likewise.
46422 * util/i386/pc/pupa-setup.c: Likewise.
46423
46424 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46425
46426 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46427 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46428 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46429 reading and reset it after reading.
46430 (pupa_ext2_close): Return PUPA_ERR_NONE.
46431
46432 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46433 Correct value.
46434 (struct linux_kernel_header): Add kernel_version and
46435 initrd_addr_max.
46436 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46437 pupa_file_read succeeds.
46438 (pupa_rescue_cmd_initrd): Implement.
46439
46440 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46441
46442 * fs/ext2.c (pupa_ext2_label): New function.
46443 (pupa_ext2_fs): Added label.
46444 * fs/fat.c (pupa_fat_label): New function.
46445 (pupa_fat_fs): Added label.
46446 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46447
46448 * kern/misc.c (pupa_strndup): New function.
46449 * include/pupa/misc.h (pupa_strndup): New prototype.
46450
46451 * include/pupa/normal.h: Include <pupa/err.h>.
46452 (pupa_set_history): New prototype.
46453 (pupa_iterate_commands): New prototype.
46454 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46455 <pupa/disk.h>, <pupa/file.h>.
46456 (hist_size): New variable.
46457 (hist_lines): Likewise.
46458 (hist_end): Likewise.
46459 (hist_used): Likewise.
46460 (pupa_set_history): New function.
46461 (pupa_history_get): Likewise.
46462 (pupa_history_add): Likewise.
46463 (pupa_history_replace): Likewise.
46464 (pupa_tab_complete): Likewise.
46465 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46466 completion shows partitionnames while completing partitions, this
46467 feature was suggested by Jeff Bailey.
46468 * normal/command.c (pupa_iterate_commands): New function.
46469 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46470 (pupa_normal_init): Initialize history buffer.
46471 (PUPA_MOD_INIT): Likewise.
46472 (pupa_normal_fini): Free the history buffer.
46473 (PUPA_MOD_FINI): Likewise.
46474
46475 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46476 key.
46477
46478 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46479 * configure.ac [i386]: Check for regparam bug.
46480 (NESTED_FUNC_ATTR) [! i386]: Defined.
46481
46482 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46483
46484 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46485 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46486 (pupa_emu_SOURCES): New variable.
46487 (pupa_emu_LDFLAGS): Likewise.
46488 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46489 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46490 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46491 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46492 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46493 (pupa_jmp_buf): New typedef.
46494 (pupa_setjmp) [PUPA_UTIL]: New macro.
46495 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46496 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46497 (pupa_refresh): New prototype.
46498 * include/pupa/util/getroot.h: New file.
46499 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46500 it.
46501 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46502 (pupa_rescue_cmd_cat): Likewise.
46503 (pupa_rescue_cmd_ls): Likewise.
46504 (pupa_rescue_cmd_testload): Likewise.
46505 (pupa_rescue_cmd_lsmod): Likewise.
46506 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46507 * normal/menu.c (run_menu): Likewise.
46508 * kern/term.c (pupa_cls): Likewise.
46509 (pupa_refresh): New function.
46510 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46511 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46512 * util/console.c: New file.
46513
46514 * util/i386/pc/getroot.c: New file.
46515 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46516 (pupa_putchar): New function.
46517 (pupa_refresh): Likewise.
46518 (xgetcwd): Function moved to ...
46519 (strip_extra_slashes): Likewise.
46520 (get_prefix): Likewise.
46521 * util/i386/pc/getroot.c: ... here.
46522 (find_root_device): Function moved and renamed to...
46523 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46524 Changed all callers.
46525 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46526 and renamed to...
46527 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46528 Changed all callers.
46529 * util/misc.c (pupa_memalign): New function.
46530 (pupa_mm_init_region): Likewise.
46531 (pupa_register_exported_symbols): Likewise.
46532 (pupa_putchar): Function removed.
46533 * util/pupa-emu.c: New file.
46534
46535 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46536
46537 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46538 (_multiboot_mod_SOURCES): New variable.
46539 (_multiboot_mod_CFLAGS): Likewise.
46540 * loader/i386/pc/multiboot.c: New file.
46541 * include/pupa/i386/pc/multiboot.h: Likewise.
46542 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46543 (pupa_multiboot_real_boot): New function.
46544 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46545 (pupa_multiboot_real_boot): New prototype.
46546 (pupa_rescue_cmd_multiboot): Likewise
46547 (pupa_rescue_cmd_module): Likewise.
46548
46549 * kern/loader.c (pupa_loader_set): Continue when
46550 pupa_loader_unload_func() fails.
46551 (pupa_loader_unset): New function.
46552 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46553
46554 * kern/misc.c (pupa_stpcpy): New function.
46555 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46556
46557 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46558
46559 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46560 for available extensions.
46561
46562 * include/pupa/i386/pc/time.h: New file.
46563 * kern/disk.c: Include <pupa/machine/time.h>.
46564 (PUPA_CACHE_TIMEOUT): New macro.
46565 (pupa_last_time): New variable.
46566 (pupa_disk_open): Flush the cache when there was a timeout.
46567 (pupa_disk_close): Reset the timer.
46568 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46569 pupa_currticks.
46570 * util/misc.c: Include <sys/times.h>
46571 (pupa_get_rtc): New function.
46572
46573 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46574
46575 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46576 as blocks.
46577 (pupa_ext2_get_file_block): Use blocks member.
46578
46579 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46580 first block. Return -1 instead of pupa_errno on error.
46581
46582 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46583
46584 * README: In the pupa-mkimage example use _chain instead of chain
46585 and ext2 instead of fat.
46586 * TODO: Replace ext2fs with jfs as an example. Add an item for
46587 adding journal playback for ext2fs.
46588 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46589 (pkgdata_MODULES): Added ext2.mod.
46590 (ext2_mod_SOURCES): New variable.
46591 (ext2_mod_CFLAGS): Likewise.
46592 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46593 * include/pupa/misc.h (pupa_strncpy): New prototype.
46594 (pupa_strcat): Likewise.
46595 (pupa_strncmp): Likewise.
46596 * kern/misc.c (pupa_strcat): Enable function.
46597 (pupa_strncpy): New function.
46598 (pupa_strncmp): Likewise.
46599 * fs/ext2.c: New file.
46600
46601 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46602 when the read failed before retrying.
46603 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46604 (_FILE_OFFSET_BITS): Likewise.
46605 * configure.ac: Added AC_SYS_LARGEFILE.
46606
46607 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46608
46609 * genmk.rb (PModule#rule): Make sure to get only symbol names
46610 from the output of nm.
46611 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46612
46613 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46614
46615 I forgot to check in these changes for a long time. This adds
46616 incomplete support for VGA console, and this is still very
46617 buggy. Also, a lot of consideration is required for I18N,
46618 UNICODE, and VGA font issues. Therefore, assume that this is
46619 such that "better than nothing".
46620
46621 * font/manager.c: New file.
46622 * include/pupa/font.h: Likewise.
46623 * include/pupa/i386/pc/vga.h: Likewise.
46624 * term/i386/pc/vga.c: Likewise.
46625 * util/unifont2pff.rb: Likewise.
46626
46627 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46628 (pkgdata_MODULES): Added vga.mod and font.mod.
46629 (vga_mod_SOURCES): New variables.
46630 (vga_mod_CFLAGS): Likewise.
46631 (font_mod_SOURCES): Likewise.
46632 (font_mod_CFLAGS): Likewise.
46633
46634 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46635
46636 * include/pupa/term.h: Include pupa/err.h.
46637 (struct pupa_term): Added init and fini.
46638 Changed the argument of putchar to pupa_uint32_t.
46639
46640 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46641 (pupa_console_real_putchar): New prototype.
46642 (pupa_console_putchar): Removed.
46643 (pupa_console_checkkey): Exported.
46644 (pupa_console_getkey): Likewise.
46645
46646 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46647 characters.
46648
46649 * kern/term.c (pupa_term_set_current): Rewritten.
46650 (pupa_putchar): Likewise.
46651 (pupa_putcode): New function.
46652
46653 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46654 (pupa_console_real_putchar): ... this.
46655 (pupa_vga_set_mode): New function.
46656 (pupa_vga_get_font): Likewise.
46657
46658 * normal/command.c: Include pupa/term.h.
46659 (terminal_command): New function.
46660 (pupa_command_init): Register the command "terminal".
46661
46662 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46663 (DISP_UP): Likewise.
46664 (DISP_RIGHT): Likewise.
46665 (DISP_DOWN): Likewise.
46666 (DISP_HLINE): Likewise.
46667 (DISP_VLINE): Likewise.
46668 (DISP_UL): Likewise.
46669 (DISP_UR): Likewise.
46670 (DISP_LL): Likewise.
46671 (DISP_LR): Likewise.
46672
46673 * term/i386/pc/console.c (pupa_console_putchar): New function.
46674
46675 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46676
46677 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46678 FIX. Reverse the path_list.
46679
46680 * include/pupa/normal.h: Export pupa_register_command and
46681 pupa_unregister_command.
46682
46683 * hello/hello.c (pupa_cmd_hello): New module.
46684 * conf/i386-pc.rmk: Added hello.mod.
46685
46686 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46687
46688 * kern/i386/pc/lzo1x.S: New file.
46689
46690 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46691 (compress_kernel): New variable.
46692 (generate_image): Heavily modified to support compressing a
46693 large part of the core image.
46694
46695 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46696 leak.
46697 (pupa_util_load_image): New function.
46698
46699 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46700 (pupa_compressed_size): New variable.
46701 (codestart): Enable Gate A20 here.
46702 Decompress the compressed part of the core image.
46703 Rearrange the code to put functions and variables which are
46704 required for initialization in the non-compressed part.
46705 Include lzo1x.S.
46706
46707 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46708 here.
46709
46710 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46711
46712 * include/pupa/i386/pc/kernel.h
46713 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46714 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46715 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46716 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46717 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46718
46719 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46720
46721 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46722 (Utility#rule): Likewise.
46723
46724 * configure.ac: Check if LZO is available.
46725
46726 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46727
46728 * include/pupa/normal.h: New file.
46729 * include/pupa/setjmp.h: Likewise.
46730 * include/pupa/i386/setjmp.h: Likewise.
46731 * normal/cmdline.c: Likewise.
46732 * normal/command.c: Likewise.
46733 * normal/main.c: Likewise.
46734 * normal/menu.c: Likewise.
46735 * normal/i386/setjmp.S: Likewise.
46736
46737 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46738 (pupa_rescue_cmd_initrd): Likewise.
46739
46740 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46741 Likewise.
46742
46743 * kern/i386/pc/startup.S (translation_table): New variable.
46744 (translate_keycode): New function.
46745 (pupa_console_getkey): Call translate_keycode.
46746
46747 * kern/rescue.c (attempt_normal_mode): New function.
46748 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46749 it failed, print a message.
46750
46751 * kern/mm.c (pupa_real_malloc): Print more information when a
46752 free magic is broken.
46753 (pupa_free): If the first free header is not free actually, set
46754 it to P.
46755
46756 * kern/main.c (pupa_load_normal_mode): Just load the module
46757 "normal".
46758 (pupa_main): Don't print the message
46759 "Entering into rescue mode..." here.
46760
46761 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46762 Declared.
46763 (pupa_rescue_cmd_initrd): Likewise.
46764 (pupa_rescue_cmd_initrd): Likewise.
46765
46766 * include/pupa/symbol.h (FUNCTION): Specify the type.
46767 (VARIABLE): Likewise.
46768
46769 * include/pupa/err.h (pupa_err_t): Added
46770 PUPA_ERR_UNKNOWN_COMMAND.
46771
46772 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46773 (pupa_dl_get_prefix): Likewise.
46774
46775 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46776 Added _chain.mod and _linux.mod instead of chain.mod and
46777 linux.mod.
46778 (chain_mod_SOURCES): Renamed to ...
46779 (_chain_mod_SOURCES): ... this.
46780 (chain_mod_CFLAGS): Renamed to ...
46781 (_chain_mod_CFLAGS): ... this.
46782 (linux_mod_SOURCES): Renamed to ...
46783 (_linux_mod_SOURCES): ... this.
46784 (linux_mod_CFLAGS): Renamed to ...
46785 (_linux_mod_CFLAGS): ... this.
46786 (normal_mod_SOURCES): New variable.
46787 (normal_mod_CFLAGS): Likewise.
46788 (normal_mod_ASFLAGS): Likewise.
46789
46790 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46791
46792 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46793 possible.
46794
46795 * kern/dl.c (pupa_dl_ref): Refer depending modules
46796 recursively.
46797 (pupa_dl_unref): Unrefer depending modules recursively.
46798 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46799 a module is unloaded before one depending on that module is
46800 unloaded.
46801 (pupa_dl_unload): Unload depending modules explicitly,
46802 if possible.
46803
46804 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46805
46806 * include/pupa/i386/pc/linux.h: New file.
46807 * loader/i386/pc/linux.c: Likewise.
46808
46809 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46810 Removed.
46811 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46812 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46813 of PUPA_CHAINLOADER_BOOT_SECTOR.
46814
46815 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46816 (pupa_linux_prot_size): New variable.
46817 (pupa_linux_tmp_addr): Likewise.
46818 (pupa_linux_real_addr): Likewise.
46819 (pupa_linux_boot_zimage): New function.
46820 (pupa_linux_boot_bzimage): Likewise.
46821
46822 * kern/i386/pc/init.c (struct mem_region): New structure.
46823 (MAX_REGIONS): New macro.
46824 (mem_regions): New variable.
46825 (num_regions): Likewise.
46826 (pupa_os_area_addr): Likewise.
46827 (pupa_os_area_size): Likewise.
46828 (pupa_lower_mem): Likewise.
46829 (pupa_upper_mem): Likewise.
46830 (add_mem_region): New function.
46831 (compact_mem_regions): Likewise.
46832 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46833 the size of the conventional memory and that of so-called upper
46834 memory (before the first memory hole).
46835 Instead of adding each found region to free memory, use
46836 add_mem_region and add them after removing overlaps.
46837 Also, add only 1/4 of the upper memory to free memory. The rest
46838 is used for loading OS images. Maybe this is ad hoc, but this
46839 makes it much easier to relocate OS images when booting.
46840
46841 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46842 (pupa_enter_rescue_mode): Don't register initrd and module.
46843
46844 * kern/mm.c: Include pupa/dl.h.
46845
46846 * kern/main.c: Include pupa/file.h and pupa/device.h.
46847
46848 * kern/loader.c (pupa_loader_load_module_func): Removed.
46849 (pupa_loader_load_module): Likewise.
46850
46851 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46852 ``.o''.
46853
46854 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46855 (pupa_linux_tmp_addr): Likewise.
46856 (pupa_linux_real_addr): Likewise.
46857 (pupa_linux_boot_zimage): Likewise.
46858 (pupa_linux_boot_bzimage): Likewise.
46859
46860 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46861 (pupa_upper_mem): Likewise.
46862 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46863 module is too dangerous.
46864
46865 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46866 (pupa_os_area_size): Likewise.
46867 (pupa_loader_set): Remove the first argument. Loader doesn't
46868 manage modules or initrd any longer.
46869 (pupa_loader_load_module): Removed.
46870
46871 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46872 (linux_mod_SOURCES): New variable.
46873 (linux_mod_CFLAGS): Likewise.
46874
46875 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46876
46877 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46878 the length of a blocklist correctly.
46879
46880 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46881 Use ioctl only if the OS file is a block device.
46882 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46883 not very useful for normal files.
46884
46885 * kern/main.c (pupa_set_root_dev): New function.
46886 (pupa_load_normal_mode): Likewise.
46887 (pupa_main): Call those above.
46888
46889 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46890 pupa_uint16_t.
46891
46892 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46893
46894 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46895
46896 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46897 (setup): Configure the installed partition information and the
46898 dl prefix.
46899
46900 * loader/i386/pc/chainloader.c (my_mod): New variable.
46901 (pupa_chainloader_unload): New function.
46902 (pupa_rescue_cmd_chainloader): Refer itself.
46903 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46904
46905 * kern/i386/pc/startup.S (install_partition): Removed.
46906 (version_string): Likewise.
46907 (config_file): Likewise.
46908 (pupa_install_dos_part): New variable.
46909 (pupa_install_bsd_part): Likewise.
46910 (pupa_prefix): Likewise.
46911 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46912
46913 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46914 and pupa/misc.h.
46915 (make_install_device): New function.
46916 (pupa_machine_init): Set the dl prefix.
46917
46918 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46919 (buf): Renamed to ...
46920 (linebuf): ... this.
46921 (pupa_rescue_cmd_prefix): New function.
46922 (pupa_rescue_cmd_insmod): Likewise.
46923 (pupa_rescue_cmd_rmmod): Likewise.
46924 (pupa_rescue_cmd_lsmod): Likewise.
46925 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46926 rmmod and lsmod.
46927
46928 * kern/mm.c (pupa_memalign): If failed even after invalidating
46929 disk caches, unload unneeded modules and retry.
46930
46931 * kern/misc.c (pupa_memmove): New function.
46932 (pupa_memcpy): Removed.
46933 (pupa_strcpy): New function.
46934 (pupa_itoa): Made static.
46935
46936 * kern/dl.c (pupa_dl_iterate): New function.
46937 (pupa_dl_ref): Likewise.
46938 (pupa_dl_unref): Likewise.
46939 (pupa_dl_unload): Return if succeeded or not.
46940 (pupa_dl_unload_unneeded): New function.
46941 (pupa_dl_unload_all): Likewise.
46942 (pupa_dl_init): Renamed to ...
46943 (pupa_dl_set_prefix): ... this.
46944 (pupa_dl_get_prefix): New function.
46945
46946 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46947 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46948 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46949 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46950 (pupa_install_dos_part): Declared.
46951 (pupa_install_bsd_part): Likewise.
46952 (pupa_prefix): Likewise.
46953 (pupa_boot_drive): Likewise.
46954
46955 * include/pupa/types.h: Fix a typo.
46956
46957 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46958 pupa_memmove.
46959 (pupa_memmove): Declared.
46960 (pupa_strcpy): Likewise.
46961
46962 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46963 pupa_mod_init takes one argument, its own module.
46964 (pupa_dl_unload_unneeded): Declared.
46965 (pupa_dl_unload_all): Likewise.
46966 (pupa_dl_ref): Likewise.
46967 (pupa_dl_unref): Likewise.
46968 (pupa_dl_iterate): Likewise.
46969 (pupa_dl_init): Renamed to ...
46970 (pupa_dl_set_prefix): ... this.
46971 (pupa_dl_get_prefix): Declared.
46972
46973 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46974 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46975 unloaded.
46976 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46977 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46978
46979 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46980 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46981
46982 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46983
46984 * util/i386/pc/pupa-setup.c (setup): Define the internal
46985 function find_first_partition_start at the top level, because GCC
46986 3.0.x cannot compile internal functions in deeper scopes
46987 correctly.
46988 (find_root_device): Use lstat instead of stat.
46989 Don't follow symbolic links.
46990 Fix the path-constructing code.
46991
46992 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46993 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46994 by a BLKGETSIZE ioctl first, because block devices don't fill
46995 the member st_mode of the structure stat on Linux.
46996 [__linux__] (linux_find_partition): Use a temporary buffer
46997 REAL_DEV for the working space. Copy it to DEV before returning.
46998 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46999 buffer cache consistent.
47000 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47001 strncmp. The previous value was merely wrong.
47002 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47003
47004 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47005 FAT size is 12. The previous value was merely wrong.
47006
47007 * kern/main.c (pupa_main): Don't split the starting message from
47008 newlines.
47009
47010 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47011 LF, because BIOS goes crazy about character attributes in this
47012 case.
47013
47014 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47015
47016 * include/i386/pc/util/biosdisk.h: New file.
47017 * util/i386/pc/biosdisk.c: Likewise.
47018 * util/i386/pc/pupa-setup.c: Likewise.
47019
47020 * Makefile.in (INCLUDE_DISTFILES): Added
47021 include/pupa/i386/pc/util/biosdisk.h.
47022 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47023 directory util/i386/pc.
47024 (install-local): Added a rule for sbin_UTILITIES.
47025 (uninstall): Likewise.
47026
47027 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47028
47029 * util/misc.c (xrealloc): New function.
47030 (pupa_malloc): Likewise.
47031 (pupa_free): Likewise.
47032 (pupa_realloc): Likewise.
47033 (pupa_stop): Likewise.
47034 (pupa_putchar): Likewise.
47035
47036 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47037
47038 * include/pupa/util/misc.h (xrealloc): Declared.
47039
47040 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47041 macro.
47042 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47043 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47044
47045 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47046 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47047
47048 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47049 way should be implemented.
47050 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47051
47052 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47053 the size of NAME for safety.
47054 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47055 0x88.
47056
47057 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47058 (pupa_setup_SOURCES): Likewise.
47059
47060 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47061
47062 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47063
47064 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47065 bunch of pushl's from pusha, because this destroys the return
47066 value.
47067
47068 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47069
47070 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47071 This means that any missing prototypes could be fatal. Also, you
47072 must take care when writing assembly code. See the comments at
47073 the beginning of startup.S, for more details.
47074
47075 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47076 compilation mechanism.
47077 (pupa_chainloader_real_boot): Likewise.
47078 (pupa_biosdisk_rw_int13_extensions): Likewise.
47079 (pupa_biosdisk_rw_standard): Likewise.
47080 (pupa_biosdisk_check_int13_extensions): Likewise.
47081 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47082 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47083 (pupa_get_memsize): Likewise.
47084 (pupa_get_mmap_entry): Likewise.
47085 (pupa_console_putchar): Likewise.
47086 (pupa_console_setcursor): Likewise.
47087 (pupa_getrtsecs): Use pushl instead of push.
47088
47089 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47090 memory instead of the stack for a mmap entry, because some
47091 BIOSes may ignore the maximum size and overflow.
47092
47093 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47094
47095 * genmk.rb (PModule#rule): Compile automatically generated
47096 sources with module-specific CFLAGS as well as other sources.
47097
47098 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47099
47100 * configure.ac: Check ld.
47101 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47102 respectively, before checking endianness and sizes.
47103
47104 * Makefile.in (LD): New variable.
47105
47106 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47107
47108 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47109
47110 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47111
47112 * Changelog: New file.
47113