]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/ntfs.c: Ue more appropriate types.
[grub2.git] / ChangeLog
CommitLineData
535714bd
VS
12013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/ntfs.c: Ue more appropriate types.
4 * grub-core/fs/ntfscomp.c: Likewise.
5 * include/grub/ntfs.h: Likewise.
6
3e4f3566
VS
72013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8
9 Support Apple FAT binaries on non-Apple platforms.
10
11 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
12 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
13 Likewise.
14 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
15 Apple FAT binaries.
16
4dedb13f
VS
172013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
20 sector devices.
21
f8861eaf
CW
222013-01-07 Colin Watson <cjwatson@ubuntu.com>
23
24 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
25 explicitly zeroing elements.
26 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
27 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
28 of elements in a structure already allocated using grub_zalloc.
29 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
30
86065b0a
CW
312013-01-07 Colin Watson <cjwatson@ubuntu.com>
32
33 * docs/grub.texi (grub_cpu): New subsection.
34 (grub_platform): Likewise.
35
c6f1e92f
VS
362013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
39
f797ec85
VS
402013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
43 divisions.
44
033d0b4b
VS
452013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
48 * grub-core/fs/ntfscomp.c: Likewise.
49 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
50 (grub_ntfs_comp): Likewise.
51
21d1b9a0
VS
522013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
55 Rename to ...
56 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
57 of groups_per_block. All users updated.
58
10ca8645
VS
592013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
62 grub_error properly.
63 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
64 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
65
a4c3ed4c
VS
662013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
69 always in /boot/zfs.
70 Reported by: Yuta Satoh.
71
0b716507
YS
722013-01-03 Yuta Satoh <nigoro>
73
74 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
75 ${grub_probe}
76
00c05e22
VS
772013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * configure.ac: Extend -Wno-trampolines to host.
80
dadddb76
VS
812013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
84 entry->len = 0.
85
54ce53ca
CW
862013-01-03 Colin Watson <cjwatson@ubuntu.com>
87
88 * docs/grub.texi (Invoking grub-mkrelpath): New section.
89 (Invoking grub-script-check): Likewise.
90
8912efca
CW
912013-01-03 Colin Watson <cjwatson@ubuntu.com>
92
93 * docs/grub.texi (Invoking grub-mount): New section.
94 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
95
c3fc8394
CW
962013-01-02 Colin Watson <cjwatson@ubuntu.com>
97
98 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
99 test failures, so that a failing unit test correctly causes 'make
100 check' to fail.
101
45d26abb
CW
1022013-01-02 Colin Watson <cjwatson@ubuntu.com>
103
104 Fix failing printf test.
105
106 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
107 '$' in the correct order when collecting type information.
108
971dd2c6
CW
1092013-01-02 Colin Watson <cjwatson@ubuntu.com>
110
111 * docs/grub.texi (configfile): Explain environment variable
112 handling.
113 (source): New section.
114 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
115
5c67ea6c
CW
1162012-12-31 Colin Watson <cjwatson@ubuntu.com>
117
118 Remove several trivially-unnecessary uses of nested functions.
119
120 * grub-core/commands/i386/pc/sendkey.c
121 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
122 instead of nested.
123 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
124 Rename to ...
125 (legacy_file_getline): ... this.
126 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
127 Likewise.
128 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
129 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
130 to ...
131 (probe_dummy_iter): ... this.
132 * grub-core/kern/i386/coreboot/mmap.c
133 (grub_linuxbios_table_iterate: check_signature): Likewise.
134 * grub-core/kern/parser.c (grub_parser_split_cmdline:
135 check_varstate): Likewise. Mark inline.
136 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
137 an additional parameter.
138 (find_long: fnd_long): Likewise. Pass two additional parameters.
139 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
140 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
141 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
142 Likewise. Rename to ...
143 (grub_cmos_find_port_iter): ... this.
144 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
145 Rename to ...
146 (find_rtc_iter): ... this.
147
148 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
149 function directly into the function body, since it is only called
150 once.
151
33a68ac6
CW
1522012-12-30 Colin Watson <cjwatson@ubuntu.com>
153
154 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
155 __attribute__ ((unused)).
156 * grub-core/video/bochs.c (find_card): Likewise.
157 * grub-core/video/cirrus.c (find_card): Likewise.
158 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
159 * grub-core/video/sis315pro.c (find_card): Likewise.
160 * grub-core/video/sm712.c (find_card): Likewise.
161
608b647a
CW
1622012-12-28 Colin Watson <cjwatson@ubuntu.com>
163
164 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
165 Fixes Savannah bug #37821.
166
fd49ceb3
CW
1672012-12-28 Colin Watson <cjwatson@ubuntu.com>
168
169 Apply program name transformations at build-time rather than at
170 run-time. Fixes Debian bug #696465.
171
172 * acinclude.m4 (grub_TRANSFORM): New macro.
173 * configure.ac: Create output variables with transformed names for
174 most programs.
175 * util/bash-completion.d/grub-completion.bash.in: Use
176 pre-transformed variables for program names.
177 * util/grub-install.in: Likewise.
178 * util/grub-kbdcomp.in: Likewise.
179 * util/grub-mkconfig.in: Likewise.
180 * util/grub-mkconfig_lib.in: Likewise.
181 * util/grub-mknetdir.in: Likewise.
182 * util/grub-mkrescue.in: Likewise.
183 * util/grub-mkstandalone.in: Likewise.
184 * util/grub-reboot.in: Likewise.
185 * util/grub-set-default.in: Likewise.
186 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
187 * tests/util/grub-shell-tester.in: Remove unused assignment.
188 * tests/util/grub-shell.in: Likewise.
189 * util/grub.d/00_header.in: Likewise.
190
7024b3c0
CW
1912012-12-28 Colin Watson <cjwatson@ubuntu.com>
192
193 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
194
195 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
196 HAVE_RAW_DECL_GETS.
197 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
198
e3501b13
VS
1992012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
202 Reported by: Eriks Latosheks <foresterlv>.
203
b40c88a9
VS
2042012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * docs/grub.texi (Network): Update instructions on generating netboot
207 image.
208
ce96d01c
VS
2092012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
212 around device name if necessarry.
213
0f596201
PFS
2142012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
215
216 * util/grub-install.in: Follow the symbolic link parameter added
217 to the file command.
218
600d5bdb
AB
2192012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
220
221 * util/grub-install.in: Remove stale TODO.
222
64ebd2f4
PFS
2232012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
224
225 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
226 dynamic allocation for the bootpath buffer.
227
74b2fe3e
DTB
2282012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
229
230 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
231 window too small.
232
969b804f
VS
2332012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
236 argument rather than font name. All users updated.
237 (grub_gfxterm_set_window): Likewise.
238
b9f5ebd6
VT
2392012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
240
241 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
242 from working.
243
258f43b7
VS
2442012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * util/getroot.c (convert_system_partition_to_system_disk): Support
247 nbd disks.
248
cc1ce5f9
VS
2492012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
252 infinite loop on corrupted FS.
253
e77a16ca
VS
2542012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
255
256 Fix big-endian mtime.
257
258 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
259 together sec and usec.
260 (grub_ufs_dir): Use correct byteswapping for UFS time.
261
d9c48c7b
VS
2622012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Support big-endian UFS1.
265
266 * Makefile.util.def (libgrubmods): Add ufs_be.c
267 * grub-core/Makefile.core.def (ufs1_be): New module.
268 * grub-core/fs/ufs_be.c: New file.
269 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
270 the file.
271
2f9f40ba
LL
2722012-11-28 Leif Lindholm <leif.lindholm@arm.com>
273
274 * include/grub/types.h: Fix functionality unaffecting typo in
275 GRUB_TARGET_WORDSIZE conditional macro.
276
48ff0889
PFS
2772012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
278
279 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
280
03711240
GS
2812012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
282
283 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
284 that /netbsd appears first (when it exists).
285
a31b11bd
CJ
2862012-10-12 Christoph Junghans <ottxor@gentoo.org>
287
288 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
289 Fixes Savannah bug #37558.
290
e8a5d5d4
CW
2912012-10-12 Colin Watson <cjwatson@ubuntu.com>
292
293 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
294 description of extract_entries_configfile.
295
2962012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
297
298 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
299 preferred_address.
300 (grub_cmd_linux): Likewise.
301 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
302 preferred_lifetime. Update all users.
303
288c757d
CW
3042012-09-26 Colin Watson <cjwatson@ubuntu.com>
305
306 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
307 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
308
0d35da3f
CW
3092012-09-26 Colin Watson <cjwatson@ubuntu.com>
310
311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
312 errors from grub-probe to /dev/null, not stdout.
313
b78c3127
VS
3142012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
317 sector 1.
318
473959f0
CW
3192012-09-24 Colin Watson <cjwatson@ubuntu.com>
320
321 * util/grub-install.in: Make the error message if $source_dir
322 doesn't exist more useful.
323
794c8c33
CW
3242012-09-22 Colin Watson <cjwatson@ubuntu.com>
325
326 Fix grub-emu build on FreeBSD.
327
328 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
329 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
330 headers on Linux.
331 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
332 implementation is currently Linux-specific.
333 * util/getroot.c (exec_pipe): Define only on Linux or when either
334 libzfs or libnvpair is unavailable.
335 (find_root_devices_from_poolname): Remove unused path variable.
336
86d08fdb
CW
3372012-09-19 Colin Watson <cjwatson@ubuntu.com>
338
339 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
340 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
341 should fit before end == 63.
342
735abf54
CW
3432012-09-19 Colin Watson <cjwatson@ubuntu.com>
344
345 * util/grub-setup.c (write_rootdev): Remove unused core_img
346 parameter. Update all callers.
347 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
348 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
349 GRUB_SETUP_BIOS.
350
140acd3c
VS
3512012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/grub-mkconfig_lib.in (grub_tab): New variable.
354 (grub_add_tab): New function.
355 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
356 * util/grub.d/10_illumos.in: Likewise.
357 * util/grub.d/10_kfreebsd.in: Likewise.
358 * util/grub.d/10_linux.in: Likewise.
359 * util/grub.d/10_netbsd.in: Likewise.
360 * util/grub.d/10_windows.in: Likewise.
361 * util/grub.d/10_xnu.in: Likewise.
362 * util/grub.d/20_linux_xen.in: Likewise.
363 * util/grub.d/30_os-prober.in: Likewise.
364
7ddffdad
VS
3652012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
368 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
369 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
370 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
371 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
372 ieee1275-nocursor.
373 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
374 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
375
4e092454
VS
3762012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
379 le-conversion.
380 Reported by: BURETTE, Bernard.
381
735abf54 3822012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
383
384 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
385 from comment.
386
dfd39dbd
CW
3872012-09-14 Colin Watson <cjwatson@ubuntu.com>
388
389 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
390 IEEE1275 machines. Fixes powerpc-emu compilation.
391 * include/grub/terminfo.h: Likewise.
392
3bfa763c
VS
3932012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
396 a const pointer.
397 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
398 const pointer.
399 (efiemu_set_variable): Make vendor_guid a const pointer.
400
250e475b
VS
4012012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Don't require grub-mkconfig_lib to generate manpages for programs.
404
405 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
406 dependencies, don't add grub-mkconfig_lib.
407 (program): Pass empty adddeps.
408 (script): Pass grub-mkconfig_lib as adddeps.
409
592fd0e4
VS
4102012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
413 * util/getroot.c (grub_find_device): Likewise.
414 (get_mdadm_uuid): Likewise.
415 (grub_util_is_imsm): Likewise.
416 (grub_util_pull_device): Likewise.
417 * util/grub-probe.c (probe): Likewise.
418
801a3027
BG
4192012-09-10 Benoit Gschwind <gschwind>
420
421 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
422 (devs): Add devpath_8.
423
c5052c81
PJ
4242012-09-08 Peter Jones <pjones@redhat.com>
425
426 * grub-core/Makefile.core.def (efifwsetup): New module.
427 * grub-core/commands/efi/efifwsetup.c: New file.
428 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
429 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
430 New define.
431 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
432
8e832f71
JS
4332012-09-05 Jiri Slaby <jslaby@suse.cz>
434
435 * configure.ac: Add SuSe path.
436
f0f55752
CW
4372012-09-05 Colin Watson <cjwatson@ubuntu.com>
438
439 * NEWS: Fix typo.
440
ecadc4c2
CW
4412012-09-05 Colin Watson <cjwatson@ubuntu.com>
442
443 * util/import_gcry.py: Sort cipher_files, to make build system
444 generation more deterministic.
445
64498f25
VS
4462012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
449 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
450 (grub_set_datetime): Likewise.
451
9cc836a2
VS
4522012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
455 warnings.
456
bcfcea01
VS
4572012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
460
a4099485
VS
4612012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
464
265c162a
CW
4652012-09-04 Colin Watson <cjwatson@ubuntu.com>
466
467 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
468 required for checkouts from bzr, but it may be useful for users or
469 distributors wishing to update translations against a tarball
470 distribution, and it can be helpful for the tarball to be a superset
471 of what's in bzr.
472
3d171e95
CW
4732012-09-04 Colin Watson <cjwatson@ubuntu.com>
474
475 * Makefile.am (EXTRA_DIST): Add
476 grub-core/tests/boot/linux.init-mips.S,
477 grub-core/tests/boot/linux.init-ppc.S, and
478 grub-core/tests/boot/linux-ppc.cfg.
479
f2c2503e
CW
4802012-09-04 Colin Watson <cjwatson@ubuntu.com>
481
482 * grub-core/mmap/mips/loongson: Remove empty directory.
483
4842012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
485
486 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
487 gone.
488
ab2163d5
CW
4892012-09-04 Colin Watson <cjwatson@ubuntu.com>
490
491 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
492 grub-sparc64-setup.
493
ce938140
GS
4942012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
495
496 * configure.ac: Strengthen the test for working -nostdinc -isystem.
497
529f58a5
GS
4982012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
499
500 * po/POTFILES.in: Regenerated.
501
16cf79e9
GS
5022012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
503
504 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
505 (NetBSD): New subsection.
506
39b27f1e 5072012-07-22 Ales Nesrsta <starous@volny.cz>
508
509 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
510 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
511
a885261b
VS
5122012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
515 * util/grub.d/10_hurd.in: Add missing quoting.
516 * util/grub.d/10_illumos.in: Likewise.
517 * util/grub.d/10_kfreebsd.in: Likewise.
518 * util/grub.d/10_linux.in: Likewise.
519 * util/grub.d/20_linux_xen.in: Likewise.
520
7bd29c01
VS
5212012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
522
523 New command `lsefi'.
524
525 * grub-core/Makefile.core.def (lsefi): New module.
526 * grub-core/commands/efi/lsefi.c: New file.
527 * include/grub/efi/api.h: Add more GUIDs.
528
ac625d8f
VS
5292012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
532 (grub_bsd_elf32_hook): Likewise.
533 (grub_bsd_elf64_size_hook): Likewise.
534 (grub_bsd_elf64_hook): Likewise.
535 (grub_bsd_load_elf): Likewise.
536
e73bb801
VS
5372012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
540 if hash function is unavailable.
541 (dec_stream_header): Likewise.
542
e81db8b5
VS
5432012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
546 filter state.
547
d187a1c3
VS
5482012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Fix coreboot compilation.
551
552 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
553 (grub_vga_text_init_real): ... this.
554 (grub_vga_text_fini): Rename to ...
555 (grub_vga_text_fini_real): ... this.
556
91a05f64
VS
5572012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
560
6af96df7
VS
5612012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/lib/legacy_parse.c: Support clear and testload.
564
4d569e12
VS
5652012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
568
073b57bb
VS
5692012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * grub-core/fs/ext2.c: Experimental support for 64-bit.
572
a706f4cc
VS
5732012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/net/tftp.c (ack): Fix endianness problem.
576 (tftp_receive): Likewise.
577 Reported by: Michael Davidsaver.
578
e7850aa9
VS
5792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * gentpl.py: Make mans depend on grub-mkconfig_lib.
582
5832012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
586 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
587 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
588
35692881
VS
5892012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
592 efi_mmap_size.
593 Reported by: Stuart Hayes.
594
c35fc5bd
VS
5952012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
596
597 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
598
599 * grub-core/Makefile.core.def (mda_text): New module.
600 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
601 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
602 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
603 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
604 here.
605 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
606 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
607 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
608 here.
609 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
610 to ..
611 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
612 ... here
613 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
614 here.
615 * grub-core/term/i386/vga_common.c: Removed.
616 * include/grub/i386/vga_common.h: Likewise.
617 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
618 (grub_vga_cr_bw_read): Likewise.
619 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
620 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
621 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
622 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
623 grub_vga_cr_read/grub_vga_cr_write.
624 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
625
5f91f701
VS
6262012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * configure.ac: Bump version to 2.00.
629 * grub-core/normal/main.c (features): Add feature_200_final.
630
0c4f85f6
VS
6312012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6322012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
633
634 * NEWS: Fix unclarity and language mistakes.
635
f923ad22
VS
6362012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
639 additional size to 3 pages.
640 Reported by: Stuart Hayes.
641
d22029ba
VS
6422012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * NEWS: Add 2.00 entry.
645
58eee08f
VS
6462012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
649 put explicit "/" for empty path.
650 (wildcard_expand): Improve dprintf.
651
c59bdff7
VS
6522012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
655 it's equal to currnode. This can happen with "" symlink.
656
5e6a440a
YB
6572012-06-27 Yves Blusseau <blusseau@zetam.org>
658
659 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
660 echo shell command by printf command.
661
73a68bcb
VS
6622012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
665 the value returned by firmware is the maximal position, not diumension.
666 (grub_terminfo_output_state): Use a more sane fallback.
667
392a603b
VS
6682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
671
42d0867f
VS
6722012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
675 frequency to 150 MHz.
676
489509f4
VS
6772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Apple fixes.
680
681 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
682 __APPLE_
683 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
684 definition.
685 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
686
9f3fc883
VS
6872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Handle slash in HFS label.
690
691 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
692 (grub_hfs_dir): Tanslate slash.
693 (grub_hfs_label): Don't translate slash.
694
54853fd7
VS
6952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
698 network protocol listing since it introduces problematic dependency on
699 net module.
700
4dc02ddf
VS
7012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
704
c50c867d
VS
7052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
706
707 Init video early on yeeloong to avoid being rebooted by watchdog.
708
709 * grub-core/Makefile.am (gensm712): New target.
710 (sm712_start.S): Likewise.
711 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
712 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
713 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
714 description.
715 * include/grub/vga.h: Move registry definitions to...
716 * include/grub/vgaregs.h: ... here.
717
5f92c8a1
VS
7182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
721 signedness.
722
e9e6f111
VS
7232012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
726 platforms with firmware disk drivers in the core.
727
754ad9eb
VS
7282012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
731 informative verbose message.
732 (read_lv): Handle 64-bit segment size.
733
315654c2
VS
7342012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
737
fb022c79
VS
7382012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
741 character but still remove trainling spaces.
742 (grub_fat_label): Ignore archive flag.
743
8645f72c
VS
7442012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
747 cast between linux_kernel_header and linux_kernel_params.
748
36498496
VS
7492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
752 type for size.
753 (grub_raid6_recover_func_t): Likewise.
754 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
755 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
756
0b5ea6b8
VS
7572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
760
650cfcfe
GS
7612012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
762
763 Fix overflow.
764
765 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
766 [__NetBSD__]: Add explicit cast before bitshift.
767
8a4d6a44
VS
7682012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * configure.ac: Bump to 2.00~rc1.
771
2fb97ed3
VS
7722012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
775 half of $a0.
776
1fa097dc
VS
7772012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7782012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
779
780 * docs/grub.texi: Fix search syntax.
781 (Multi-boot manual config): Put msdos rather than GPT example.
782 Grammar corrections.
783
c890ba78
VS
7842012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
787
0f92dca7
VS
7882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
791
3988c4a0
VS
7922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
795 message on double free. Put the value of magic in case of mismatch.
796
9e86d4c5
VS
7972012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
798
799 Speed-up video on yeeloong.
800
801 * grub-core/video/sm712.c (framebuffer): Remove render_target and
802 add cached_ptr.
803 (grub_video_sm712_video_fini): Unmap cached_ptr.
804 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
805 (grub_video_sm712_set_active_render_target): Removed.
806 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
807 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
808 sync caches.
809
ed24c312
VS
8102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Avoid flushing the same line multiple times on loongson.
813
814 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
815 Step in 32 bytes and not 1 byte.
816 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
817 Likewise.
818
d1718e7d
VS
8192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
822 subvolumes.
823
982f1909
VS
8242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
825
826 Implement flow control for http.
827
828 * grub-core/net/http.c (parse_line): Handle response 206.
829 (http_receive): Stall if too many packets are in the queue.
830 (http_establish): Fix range header.
831 (http_seek): Fix double free.
832 (http_close): Likewise.
833 (http_packets_pulled): New function.
834 (grub_http_protocol): Set http_seek
835 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
836 (ack_real): Set window depending on i_stall.
837 (grub_net_send_tcp_packet): Likewise.
838 (grub_net_tcp_stall): New function.
839 (grub_net_tcp_unstall): Likewise.
840 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
841 (grub_net_tcp_unstall): Likewise.
842
bd407d6e
VS
8432012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/net/tftp.c: Decrease stall to 50 packets.
846
c7564b8e
VS
8472012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
850
a3706162
VS
8512012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * tests/util/grub-shell.in: Fix a typo.
854
b27069e0
VS
8552012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
856
857 Implement flow control for tftp.
858
859 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
860 packets but stop only if stop condition is satisfied.
861 (grub_net_fs_read_real): Call packets_pulled after real read. Use
862 `stall' instead of `eof' as stop condition.
863 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
864 (http_err): Likewise.
865 * grub-core/net/tftp.c (ack): Replace the first argument with data
866 instead of socket.
867 (tftp_receive): Stall if too many packets are in wait queue.
868 (tftp_packets_pulled): New function.
869 (grub_tftp_protocol): Set packets_pulled.
870 * include/grub/net.h (grub_net_packets): New field count.
871 (grub_net_put_packet): Increment count.
872 (grub_net_remove_packet): Likewise.
873 (grub_net_app_protocol): New field `packets_pulled'.
874 (grub_net): New field `stall'.
875
6b9cfac6
VS
8762012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
879 sync part to handle them.
880
f35abd81
VS
8812012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
884 * grub-core/net/drivers/ieee1275/ofnet.c
885 (grub_ieee1275_net_config_real): Likewise.
886
0e7ec820
VS
8872012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
890 the direct route for server/gateway.
891
9d611a31
VS
8922012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
895 IP address to server name since we may not hame the DNS.
896
418f45ab
VS
8972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
900 freeing random buffer on failure.
901 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
902
44a0efc1
VS
9032012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
906
531e2241
VS
9072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
910 reserved bytes.
911 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
912 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
913 Handle malloc error correctly.
914
cde393c9
VS
9152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
918 blocks.
919
538478d0
VS
9202012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
923 increment.
924
9b55efe0
VS
9252012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
928 none is explicitly specified.
929
9eb832c3
VS
9302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
933 while reallocating.
934
d6b7c7c9
VS
9352012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Respect netmask from bootp/dhcp.
938
939 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
940 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
941 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
942 into ...
943 (grub_net_add_ipv4_local): ... this.
944 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
945 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
946 (grub_net_add_ipv4_local): New proto.
947
67caf9eb
VS
9482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
951 determining EFI memory map size.
952
43657558
VS
9532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
956
eb6d0dd3
VS
9572012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
960 when looking for partition separator.
961
31230544
VS
9622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
965 Escape commas.
966
918a2517
VS
9672012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Restructure FAT driver to avoid hook in label reading as it hits a
970 GCC bug.
971
972 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
973 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
974 (grub_fat_iterate_dir): Split into ...
975 (grub_fat_iterate_init): ... this, ...
976 (grub_fat_iterate_fini): ... this, ...
977 (grub_fat_iterate_dir_next): ... and this. All users updated.
978
9f1d654e
VS
9792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
982 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
983 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
984 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
985 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
986 New fields last_key and last_key_time.
987 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
988 extended key-esc into extended key-extended key.
989
52f0f643
VS
9902012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
991
992 Avoid unnecessary memcpy of whole video buffer.
993
994 * grub-core/video/fb/video_fb.c (dirty): New struct.
995 (framebuffer): Add members current_dirty and previous_dirty.
996 (dirty): New function.
997 (grub_video_fb_fill_rect): Update dirty.
998 (common_blitter): Likewise.
999 (grub_video_fb_scroll): Likewise.
1000 (doublebuf_blit_update_screen): Copy only dirty part.
1001 (doublebuf_pageflipping_update_screen): Likewise.
1002 (grub_video_fb_doublebuf_blit_init): Init dirty.
1003 (doublebuf_pageflipping_init): Likewise.
1004 (grub_video_fb_setup): Likewise.
1005
e169a180
VS
10062012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
1009 poll rate.
1010
48556879
VS
10112012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Fix wildcard regexp dot and other special characters handling.
1014 Reported by: Robert Mabee.
1015
1016 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1017 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1018 (split_path): Trigger expansion on '?'.
1019 (unescape): New function.
1020 (wildcard_expand): Unescape parts copied without globbing.
1021 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1022 (grub_script_arglist_to_argv): Don't unescape expansions.
1023
0494408e
VS
10242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * include/grub/net.h (grub_net_card): New member txbufsize.
1027 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1028 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1029 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1030 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1031 txbufsize.
1032 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1033 compatible property to check for macs. Set
1034 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1035 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1036 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1037 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1038 (send_card_buffer): Use txbuf.
1039 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1040 nested function out of the parent while on it.
1041
cc35fe8f
VS
10422012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1045 presence check.
1046 (grub_ieee1275_net_config_real): Fix config pointer.
1047
970a0a09
VS
10482012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1051 filename parsing to non-block devices.
1052
3e19bf87
VS
10532012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1056
c62d1a0c
VS
10572012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1060 All users updated.
1061
ef76bec3
VS
10622012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1065 UUID search command even if hints probing failed.
1066
10672012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
1068
1069 * po/POTFILES.in: Regenerated.
1070
70aaf305
VS
10712012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 Speed-up video on fuloong.
1074
1075 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1076 New function.
1077 (grub_pci_device_unmap_range): Handle non-cached address.
1078 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1079 add direct_ptr.
1080 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1081 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1082 (grub_video_sis315pro_set_active_render_target): Removed.
1083 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1084 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1085 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1086 sync caches.
1087 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1088 New proto.
1089
10400f0b
VS
10902012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * docs/grub.texi (Multi-boot manual config): New section.
1093
ba67e2c6
VS
10942012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 Avoid slow read-back from VRAM.
1097
1098 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1099 Move from here ...
1100 * grub-core/video/fb/video_fb.c
1101 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1102 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1103 (front_target): Remove front_target. Add pages.
1104 (grub_video_fb_init): Skip setting front_pages.
1105 (grub_video_fb_fini): Likewise.
1106 (doublebuf_blit_update_screen): Use pages.
1107 (grub_video_fb_doublebuf_blit_init): Likewise.
1108 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1109 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1110 (grub_video_fb_setup): Prefer doublebuffing.
1111
377c98cb
VS
11122012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1115 gzio.
1116
eac49cff
VS
11172012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 Add loongson tests.
1120
1121 * tests/util/grub-shell.in: Handle loongson.
1122 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1123 drivers.
1124 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1125 Reboot instead of shutdown if REBOOT is defined.
1126
0321415e
VS
11272012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1130 sized ports since unlike on real hardware qemu supports only 32-bit
1131 regs.
1132
3f2bdd8f
VS
11332012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1136 * util/grub-mkrescue.in: Handle loongson.
1137
29a049c9
VS
11382012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1141 Set is_part appropriately.
1142 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1143 names. Canonicalize partition without full disk.
1144
4abde346
VS
11452012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Revert usb-quiesce since it's wrong.
1148
1149 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1150 (grub_ofdisk_init): Don't do quiesce.
1151
61f1d93b
VS
11522012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1155 PowerMac workaround to Xserves as well.
1156 Information supplied by: Benjamin Herrenschmidt.
1157
a09eb541
VS
11582012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 Don't assume that beginning address is also the entry point on ppc.
1161
1162 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1163 (grub_linux_boot): Use linux_entry.
1164 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1165 (grub_linux_load64): Likewise.
1166
505b3c9b
VS
11672012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1170
cbe0b4ef
VS
11712012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1174 needlessly lose the console.
1175
3006e981
VS
11762012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1179 space.
1180
4e5a96b0
VS
11812012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1182
7da036bb
VS
1183 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1184 than current grub_get_rtc() not implemented when booted with
1185 coreboot without TSC.
1186
1187 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1188 Add machine/time.h to kernel headers on loongson.
1189 * grub-core/Makefile.core.def (kernel): Remove
1190 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1191 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1192 (grub_get_rtc): Likewise.
1193 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1194 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1195 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1196 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1197 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1198 rather than installing known non-working time source.
1199 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1200 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1201 * include/grub/time.h: Don't include machine/time.h.
1202 * include/grub/efi/time.h: Removed.
1203 * include/grub/i386/efi/time.h: Likewise.
1204 * include/grub/i386/ieee1275/time.h: Likewise.
1205 * include/grub/powerpc/ieee1275/time.h: Likewise.
1206 * include/grub/sparc64/ieee1275/time.h: Likewise.
1207 * include/grub/x86_64/efi/time.h: Likewise.
1208
12092012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1212
1213 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1214 value.
1215 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1216 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1217 with dotless variants when any combining above is present.
1218
5561c22d
VS
12192012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1222 text and not binary.
1223
96f7e60e
VS
12242012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 Stop polling as soon as we have the packet we were waiting for.
1227
1228 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1229 All users updated.
1230 * grub-core/net/arp.c (have_pending): New var.
1231 (pending_req): Likewise.
1232 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1233 stop indicator.
1234 (grub_net_arp_receive): Set have_pending.
1235 * grub-core/net/dns.c (recv_data): New field stop.
1236 (recv_hook): Set stop.
1237 (grub_net_dns_lookup): Init stop and use as stop condition.
1238 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1239 condition.
1240 * grub-core/net/net.c (grub_net_poll_cards): New argument
1241 stop_condition. Stop when it goes true.
1242 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1243 indicator.
1244 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1245
3e747239
VS
12462012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Keep TX and RX buffers on EFI rather than always allocate new ones.
1249
1250 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1251 card. All users updated.
1252 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1253 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1254 (get_card_packet): Likewise.
1255 (grub_efinet_findcards): Init new fields.
1256
f695e99a
VS
12572012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1260 compilation error on sparc64.
1261
9e5e66d1
VS
12622012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Use ITC on IA64 rather than broken routine based on daytime.
1265
1266 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1267 ia64.
1268 (grub_get_rtc) [__ia64__]: Likewise.
1269 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1270 (get_itc): New function.
1271 (grub_rtc_get_time_ms): Likewise.
1272 (grub_machine_init): Calibrate ITC.
1273 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1274 Keep only on non-ia64. Don't export since it's broken and used only
1275 if TSC is unavailable.
1276
a1767404
VS
12772012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1280 even if it's used.
1281 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1282 Skip if parent is unused.
1283
34b2bced
VS
12842012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1287
5e619f40
VS
12882012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 Fix wildcard escaping.
1291
1292 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1293 * grub-core/script/execute.c (wildcard_escape): .. to here.
1294 Don't escape dot.
1295 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1296 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1297 Don't escape dot.
1298 * grub-core/script/execute.c (gettext_append): Always escape.
1299 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1300 * grub-core/script/yylex.l: Don't cut away the escaping.
1301 * tests/grub_script_echo1.in: Add tests with wildcard.
1302
c8ca5855
VS
13032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1306 (ftdi_hw_configure): Likewise.
1307 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1308 define.
1309 (real_config): Handle 1.5 stop bits.
1310 (pl2303_hw_configure): Likewise.
1311
7183452c
VS
13122012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * Makefile.am: Add ppc linux bootcheck.
1315 * grub-core/tests/boot/linux-ppc.cfg: New file.
1316 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1317
f57c84cd
VS
13182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * tests/grub_script_expansion.in: Skip network protocols.
1321
ecfc6207
VS
13222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1325
8d03d284
VS
13262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1329 --rom-directory.
1330 Add -graft-points.
1331
61c42af0
VS
13322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 ESCC serial driver for conducting sautomated tests in qemu.
1335 Not tested on real hardware.
1336
1337 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1338 * grub-core/term/ieee1275/escc.c: New file.
1339 * grub-core/Makefile.core.def (escc): New module.
1340
08fd1291
VS
13412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1344 invalid on error.
1345 (serial_hw_fetch): Don't read invalid handle.
1346 (serial_hw_put): Don't write into invalid handle.
1347
08dafeea
VS
13482012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 Add a 1.5 stop bits value.
1351
1352 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1353 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1354 GRUB_SERIAL_STOP_BITS_1_5.
1355
9068fdcf
VS
13562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1359 value rather than let it uninited.
1360
f4d5820f
VS
13612012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * grub-core/commands/wildcard.c (+check_file): New function.
1364 (wildcard_expand): Don't expand to non-existing files, expand with
1365 suffix and not attempt to expand if not needed.
1366
3d2de9a7
VS
13672012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1370 out of partitions containing other partitions.
1371
c5c81ff9
VS
13722012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1375 on some qemu versions with GRUB.
1376
1377 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1378 define.
1379 (grub_openbsd_bootarg_pcibios): New struct.
1380 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1381 Add PCIINFO.
1382
08a14e0b
VS
13832012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * tests/util/grub-shell.in: Trim firmware output on EFI.
1386
cede3ca3
VS
13872012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1390 and coreboot since it's already in kernel.
1391
558d3a60
VS
13922012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1395 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1396 to here. New return value start. All users updated.
1397 Recursively scan linear mappings.
1398 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1399 proto.
1400 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1401 Use grub_util_get_dm_node_linear_info.
1402 * util/getroot.c (convert_system_partition_to_system_disk): Use
1403 grub_util_info rather than grub_dprintf.
1404 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1405
60fde14d
VS
14062012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1409
1410 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1411 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1412
24bd8838
VS
14132012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * include/grub/types.h (grub_set_unaligned64): New function.
1416 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1417 (setup): Likewise.
1418
7bc06a49
VS
14192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1422 (grub_ofdisk_fini): Quiesce USB devices.
1423
49cea015
VS
14242012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1427 caches.
1428
8dcbe03b
VS
14292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1432
5b258735
VS
14332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/disk/pata.c (grub_pata_pio_read)
1436 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1437 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1438
37ba07eb
VS
14392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 Extend automated tests to qemu-mips.
1442
1443 * Makefile.am: reorganise tests and enable qemu-mips.
1444 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1445 * grub-core/tests/boot/linux.init-mips.S: New file.
1446 * tests/partmap_test.in: Handle ata0 disks.
1447 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1448 non-pc i386.
1449
070038f8
VS
14502012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1453 ia64.
1454 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1455 quotes while on it.
1456
004be2cd
VS
14572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1460 (grub_halt): Likewise.
1461 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1462
b1622487
VS
14632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/term/serial.c (grub_serial_register)
1466 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1467 the behaviour in line with x86 platforms.
1468
b7b4ab33
VS
14692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1472 (grub_ata_strncpy): Likewise.
1473 (grub_ata_identify): Add missing byteswaps.
1474
5e3535ae
VS
14752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1478 byte-swap.
1479 (screen_read_char): Likewise.
1480 (grub_vga_text_cls): Likewise.
1481
c21b17e6
VS
14822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1485 filenames.
1486 (make_file_path): Likewise.
1487
bf293dec
VS
14882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1491 machines.
1492 Tested by: Paulo Flabiano Smorigo.
1493 Crucial information about API supplied by: Coleen <Last name unknown>.
1494 Reviewed by: Coleen <Last name unknown>.
1495
81f6ef0e
VS
14962012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * util/grub-mkimage.c: Disable -Wcast-align.
1499
7284143a
VS
15002012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1503 as they are fatal.
1504
b99f3e00
VS
15052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1508
944f752d
VS
15092012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * util/grub-probe.c (escape_of_path): Fix double free.
1512
6cce6f38
VS
15132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/commands/videoinfo.c (hook): Show pitch.
1516
1e1eb50e
VS
15172012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1520
1c715b5a
VS
15212012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1524 (probe): Add ieee1275 to OFW devices.
1525
007ae52d
VS
15262012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1529
4557a36d
VS
15302012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 Handle IBM OFW path.
1533
1534 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1535 available.
1536 (of_path_of_scsi): Handle vdevice.
1537
efbeefe9
VS
15382012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1541 Allocate in multiples of 16 to avoid adding a few bytes free region the
1542 windows bugs upon.
1543
15a940bb
VS
15442012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1547 Allocate in multiples of 16 to avoid adding a few bytes free region the
1548 windows bugs upon.
1549 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1550
6e5efd60
VS
15512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1554 resolutions.
1555 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1556 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1557
0d3d137e
IS
15582012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1559
1560 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1561
45dbe300
VS
15622012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1565 resulted in \\ at the end of the line.
1566
6d8db947
VS
15672012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1570 (grub_parser_cmdline_state): Likewise.
1571 (grub_parser_split_cmdline): Likewise.
1572
de89d338
VS
15732012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1576 /dev/root and /dev/dm-*.
1577
00d41dee
VS
15782012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1581 fix partially stale display.
1582
f95d1f11
VS
15832012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1586 substraction.
1587
6297e197
VS
15882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1591 Fix MBR remapping workaround.
1592 (grub_util_biosdisk_read) [__linux__]: Likewise.
1593
8a7ecad3
VS
15942012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1597
2b34f944
VS
15982012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * configure.ac: Bump to beta6.
1601
684aef11
CW
16022012-05-31 Christer Weinigel <christer@weinigel.se>
1603
1604 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1605
05b0bb91
VS
16062012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1609 (grub_cmd_linux): Likewise.
1610
bda36bfa
CW
16112012-05-31 Christer Weinigel <christer@weinigel.se>
1612
1613 Fix EHCI low-speed.
1614
1615 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1616 (GRUB_EHCI_MULT_TWO): Likewise.
1617 (GRUB_EHCI_MULT_THREE): Likewise.
1618 (GRUB_EHCI_CMASK_MASK): New enum value.
1619 (GRUB_EHCI_SMASK_MASK): Likewise.
1620 (GRUB_EHCI_CMASK_OFF): Likewise.
1621 (GRUB_EHCI_SMASK_OFF): Likewise.
1622 (grub_ehci_pci_iter): Enable periodic schedule.
1623 (grub_ehci_parse_notrun): Likewise.
1624 (grub_ehci_restore_hw): Likewise.
1625 (grub_ehci_setup_qh): Set flags for low speed transfers.
1626 (grub_ehci_find_qh): Use periodic list for low speed.
1627 (grub_ehci_setup_transfer): Check periodic queue as well.
1628 (grub_ehci_check_transfer): Likewise.
1629 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1630
e12bcb1c
PFS
16312012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1632
1633 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1634 parameter is used.
1635
bcc75fb3
PJ
16362012-05-31 Peter Jones <pjones@redhat.com>
1637
1638 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1639 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1640 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1641
f19cb95e
VS
16422012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1645 uninited variable. Allocate at least setup_sects.
1646
a4e5ca80
VS
16472012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 Fix handling of EFI with big memory maps.
1650
1651 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1652 (real_mode_mem): Likewise.
1653 (real_mode_target): Likewise.
1654 (real_mode_pages): Likewise.
1655 (prot_mode_pages): Likewise.
1656 (linux_params): New var.
1657 (linux_cmdline): Likewise.
1658 (free_pages): Don't set real mode variables.
1659 (allocate_pages): Don't allocate real mode memory.
1660 (grub_e820_add_region): Remove the limit.
1661 (grub_linux_boot): Allocate and copy real mode memory.
1662 (grub_linux_unload): Free linux_cmdline.
1663 (grub_cmd_linux): Use temporary storage for parameters.
1664 (grub_cmd_initrd): Likewise.
1665 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1666 (linux_kernel_params): Make it 1K big.
1667
ddb73558
VS
16682012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * Makefile.util.def: Remove -Wno-format.
1671 * grub-core/Makefile.core.def: Likewise.
1672
1c4afb60
VS
16732012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * tests/cmp_unit_test.c: Add missing failure message.
1676 * tests/example_unit_test.c: Likewise.
1677 * tests/printf_unit_test.c: Likewise.
1678
941e3a6d
VS
16792012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1682 relaxation of protective MBR requirements.
1683
b105df76
VS
16842012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * configure.ac: Add condition for COND_HOST_XNU.
1687 * Makefile.util.def (10_xnu): New script.
1688 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1689
84e1569e
VS
16902012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1693 objconv bug.
1694
130c0f77
VS
16952012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1698 Binary on other platforms stays identical.
1699
6fd0b143
VS
17002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1703 Apple.
1704
0af1751d
VS
17052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1708
176d5f7d
VS
17092012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1712 rather than defining size_t ourselves to avoid conflict.
1713
7de5e20a
VS
17142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1717 initialisation to avoid __bzero reference.
1718
f7143efe
VS
17192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1722 version.
1723 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1724 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1725 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1726 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1727 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1728
e6ad0555
VS
17292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1732 * grub-core/kern/misc.c: Likewise.
1733 * grub-core/loader/i386/xnu.c: Likewise.
1734 * include/grub/i386/tsc.h: Likewise.
1735 * include/grub/symbol.h: Likewise.
1736
4a5a3c4a
VS
17372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1740 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1741 on older compiler.
1742
037f6d90
VS
17432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1746 Implement Apple flavour.
1747 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1748
f7194551
VS
17492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1752 (memmove) [__APPLE__]: Likewise.
1753 (memcpy) [__APPLE__]: Likewise.
1754 (memset) [__APPLE__]: Likewise.
1755 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1756 (memmove) [__APPLE__]: Likewise.
1757 (memcpy) [__APPLE__]: Likewise.
1758 (memset) [__APPLE__]: Likewise.
1759
85a730ca
VS
17602012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1763 dependency discard.
1764
40e80b94
VS
17652012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/normal/main.c (read_config_file): Provide config_file and
1768 config_directory.
1769 * util/grub.d/41_custom.in: Use config_directoy when available.
1770
9da59c32
VS
17712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1774 (grub_bfs_dir): Likewise.
1775
2787ae53
PJ
17762012-05-27 Peter Jones <pjones@redhat.com>
1777
1778 The old code gives arguments to a printf function which can't work
1779 correctly, and the compiler complains.
1780
1781 * grub-core/tests/example_functional_test.c (example_test): Add
1782 missing text.
1783 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1784 * include/grub/test.h (grub_test_assert_helper): New declaration.
1785 (grub_test_assert): Use grub_test_assert_helper.
1786
526ef13d
VS
17872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1790 (exfctest): ... this to avoid overlong filenames.
1791 All users updated.
1792
20dd511c
VS
17932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Handle "." and ".." on squashfs.
1796
1797 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1798 Make inode numbers into stack.
1799 (grub_squash_read_symlink): Use stack.
1800 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1801 (make_root_node): Fill stack.
1802 (grub_squash_open): Use stack.
1803
1d80c62a
VS
18042012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1807 freeing.
1808
d336f652
VS
18092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1812 stderr on test calls.
1813
8b43f587
VS
18142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1817
80a3dc3f
VS
18182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1821
47e297d4
VS
18222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1825 "..".
1826
df042ccb
VS
18272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1830 (grub_hfsplus_iterate_dir): Add "." and "..".
1831
fc977f48
VS
18322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1835 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1836
f3250e5f
VS
18372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1840 (find_path): Handle "." and "..".
1841
fd8ed4c5
VS
18422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1845 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1846 (grub_affs_iterate_dir): Handle hardlinks.
1847
4ce776d2
MG
18482012-05-26 Matthew Garrett <mjg@redhat.com>
1849
1850 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1851 (grub_efi_console_fini): Likewise.
1852 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1853 (grub_video_gop_fill_mode_info): Rename to ...
1854 (grub_video_gop_fill_real_mode_info): ... this.
1855 (grub_video_gop_fill_mode_info): New function.
1856 (grub_video_gop_setup): Setup double framebuffer.
1857 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1858 Free offscreen.
1859 (grub_video_gop_swap_buffers): Copy framebuffer.
1860 (grub_video_gop_fini): Free offscreen buffer.
1861 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1862 New enum.
1863 (grub_efi_gop_blt_pixel): New struct.
1864
683031ba
VS
18652012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * gentpl.py: Remove error disabling for objconv.
1868
c2deb798
VS
18692012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * configure.ac: Remove -Wunitialized as it's not available on older
1872 compilers.
1873
18742012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1875
1876 Fix extent overflow comparator.
1877
1878 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1879 (grub_hfsplus_read_block): Set type.
1880 (grub_hfsplus_cmp_extkey): Compare type.
1881
d6b1fd36
VS
18822012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1885
0a9aa0f6
VS
18862012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1889 than 0.
1890
8360e159
VS
18912012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1894 (dejavu_bold_14.pf2): New target.
1895
501b9e4b
VS
18962012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * configure.ac: Fix djvu font detection.
1899
7026b0e2
VS
19002012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1903 ext* instead of ext2.
1904
c2a51ade
VS
19052012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1908 name with \0.
1909
8f803a5d
JU
19102012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1911
1912 * docs/grub-dev.texi: Remove dot from .png.
1913
13c6353f
VS
19142012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1917 protective entry in any slot.
1918 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1919 if protective entry is found in any slot.
1920
1921 Protective entry in non-first slot make no sense but is a widespread
1922 brain damage.
1923
4cf6be1b
VS
19242012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1927
937d1c44
VS
19282012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1931 with old reiserfs.
1932 (grub_reiserfs_open): Don't free root.
1933
021d90ec
VS
19342012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1937 after freeing for safety.
1938
967b2b64
VS
19392012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1942 Reported by: Jordan Uggla.
1943
34274d02
JU
19442012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1945
967b2b64
VS
1946 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1947 actual implementation. Specifically, clarify that the grub menu will
1948 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1949 passed.
34274d02 1950
dcaaae9d
BH
19512012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1952
1953 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1954 of r0.
1955
7086ad52
VS
19562012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 Remove unjustified hard dependency of normal.mod on gfxterm.
1959
1960 * include/grub/term.h (grub_term_output): New member fullscreen.
1961 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1962 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1963 (grub_gfxterm): Set .fullscreen.
1964 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1965 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1966
37ed2c9b
VS
19672012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1970 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1971 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1972
a4469c88
VS
19732012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1976
4e461486
VS
19772012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1980 a bad FS.
1981
aa78f5c4
VS
19822012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1985 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1986
197626b5
VS
19872012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1990 (grub_jfs_mount): Fill caseins.
1991 (grub_jfs_find_file): Respect caseins.
1992
8ad3f28c
VS
19932012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1996 through UTF-16.
1997
0c6c324e
VS
19982012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
2001 New argument origpath. All users updated.
2002
c6666ba6
VS
20032012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
2006 (read_attr): Ensure that we read start of possibly compressed block.
2007
e28e5fe5
VS
20082012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
2011 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
2012 All users updated.
2013
5fc23ab2
VS
20142012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2017 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2018 (dejavu.pf2): Replace with ...
2019 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2020 this.
2021
79dbc21c
VS
20222012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * util/grub.d/20_linux_xen.in: Add missing line.
2025
d2fcfb0c
VS
20262012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2029 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2030 (grub_utf16_to_utf8): Likewise.
2031
5560e9d6
VS
20322012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2035 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2036 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2037 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2038 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2039 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2040
20412012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
2042
2043 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2044 a bad FS.
2045
5560e9d6 20462012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
2047
2048 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2049 (grub_udf_read_symlink): Handle read_string failure.
2050
5eae3175
VS
20512012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2054 comment.
2055
c1ad82db
VS
20562012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 Fix handling of UDF symlinks.
2059
2060 * grub-core/fs/udf.c (read_string): New argument outbuf.
2061 All users updated.
2062 (grub_ufs_read_symlink): Rename to ...
2063 (grub_udf_read_symlink): ... this. All users updated.
2064 Handle symlinks with more than one component.
2065
33eca6e0
VS
20662012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2069 symlinks. Replace leading colon with a slash.
2070
57f4a70b
VS
20712012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2074 filename.
2075
38c8ee20
VS
20762012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2079 match in inner node.
2080
2e57f28f
VS
20812012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2084 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2085 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2086 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2087 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2088 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2089 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2090 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2091 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2092
fe8c2f11
VS
20932012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 Use grub-probe and not cmp to check that disk is empty.
2096
2097 * util/grub-install.in: Use grub-probe for zero-check.
2098 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2099 (probe): Handle PRINT_ZERO_CHECK.
2100 (argp_parser): Handle -t zero_check.
2101
21022012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2103
2104 Flush block cache on adding disk to device map.
2105
2106 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2107 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2108 adding.
2109 (read_device_map): Likewise.
2110 (open_device): Flush on opening.
2111
690434e8
VS
21122012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2115 (handle_symlink): Fix off-by-one error.
2116 Canonicalize the target.
2117 (grub_cpio_dir): Canonicalize the name.
2118 Fix memory leak.
2119 Set directory.
2120 (grub_cpio_open): Canonicalize the name.
2121
742d2be6
VS
21222012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2125 handling.
2126
3244fe96
VS
21272012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2130 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2131
8aeb1837
VS
21322012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2135 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2136 All users updated.
8aeb1837 2137
9133fd05
VS
21382012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2141 counterpart.
2142
6d521c5b
VS
21432012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 Fix UFS1 big file support.
2146
2147 * grub-core/fs/ufs.c (INODE): Removed.
2148 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2149 64-bit.
2150 (INODE_MODE): Simplify.
2151 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2152 (grub_ufs_lookup_symlink): Don't use INODE.
2153
21b82e17
VS
21542012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2157
2158 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2159 (grub_minix_data): Replace log_block_size with block_size.
2160 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2161 (grub_minix_mount): Fill block_size.
2162
21632012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2164
2165 * configure.ac: Bump to beta5.
2166
f417ed04
VS
21672012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 Fix wrapped HFS+ handling.
2170
2171 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2172 blocks_start. All users updated.
2173 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2174 wrapping offset.
2175 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2176
607d282b
VS
21772012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Fix long symlinks on reiserfs.
2180
2181 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2182 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2183 (grub_reiserfs_iterate_dir): Save size for non-directories.
2184 (grub_reiserfs_open): Don't reread stat block as we already know the
2185 size.
2186 (grub_reiserfs_read): Split into...
2187 (grub_reiserfs_read_real): ... and ...
2188 (grub_reiserfs_read): ...this.
2189
ae16024d
VS
21902012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 Fix non-indexed JFS.
2193
2194 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2195 (grub_jfs_data): New field namecomponentlen.
2196 (grub_jfs_mount): Fill namecomponentlen.
2197 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2198
eea1e26e
VS
21992012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2202 * tests/grub_script_echo1.in: Add tests.
2203
df760f77
VS
22042012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * util/grub-install.in: Ignore empty devicetree directory.
2207
5efb817d
B
22082012-05-08 Bean <bean123ch@gmail.com>
2209
2210 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2211 All users updated.
2212 (free_rsm): Free header as well.
2213 (free_old_fragments): Fix memory leak.
2214 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2215 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2216 (destroy_pq): Likewise.
2217 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2218
668ea6d2
VS
22192012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2222 resulting hash as a precaution.
2223
1739b1fe
VS
22242012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2227 '_' in variable names.
2228 * grub-core/net/net.c (grub_net_network_level_interface_register):
2229 Likewise.
2230
6ae485aa
VS
22312012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 Fix AFFS with non-512B blocks.
2234
2235 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2236 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2237 (grub_affs_data): Replace blocksize with log_blocksize.
2238 (grub_affs_read_block): Fix non-512B blocks.
2239 (grub_affs_read_symlink): Likewise.
2240 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2241 (grub_affs_read): Fix non-512B blocks.
2242 (grub_affs_label): Likewise.
2243 (grub_affs_mtime): Likewise.
2244 (grub_affs_mount): Fix block detection routine.
2245
d20fab84
VS
22462012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 Add filesystem mtime to AFFS.
2249
2250 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2251 (aftime2ctime): New function.
2252 (grub_affs_dir): Use aftime2ctime.
2253 (grub_affs_label): Fix return value.
2254 (grub_affs_mtime): New function.
2255 (grub_affs_fs): Add mtime.
2256
e87b10f5
VS
22572012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2260 UTF-8.
2261
7dceec9b
VS
22622012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2265 UTF-8.
2266
2f48221f
VS
22672012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2270
dacd85cf
VS
22712012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2274 flags.
2275 (FLAGS_CASE_SENSITIVE): New enum value.
2276 (cache_entry): New struct.
2277 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2278 cache_size and cache.
2279 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2280 Add log_blocksize and fshelp_flags.
2281 (grub_sfs_read_extent): Handle non-512 blocks.
2282 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2283 (grub_sfs_read_file): Handle non-512 blocks.
2284 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2285 fshelp_flags.
2286 (grub_sfs_read_symlink): Handle non-512 blocks.
2287 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2288 (grub_sfs_dir): Free cache.
2289 (grub_sfs_close): Likewise.
2290
24e9a854
VS
22912012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2294 filesystems.
2295
62ace64d
VS
22962012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2299
83b2e89c
VS
23002012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2303
75ccaea3
VS
23042012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2307 (grub_sfs_read_extent): Likewise.
2308 (grub_sfs_read_block): Likewise.
2309 (grub_sfs_mount): Likewise.
2310 (grub_sfs_iterate_dir): Likewise.
2311 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2312 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2313
1b8463f2
VS
23142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 Fix errors on compressed NTFS with 512B clusters.
2317
2318 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2319 types.
2320 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2321 not 0.
2322 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2323 Relax check for inline extents.
2324 (ntfscomp): Return correct -1 on error and not 0.
2325
4f8e368f
VS
23262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * util/grub-install.in: Fix handling of prefix containing spaces.
2329
6f5d5ee8
VS
23302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2333 (grub_squash_read_data): Fix offset byte-swapping.
2334
ce41ab7a
VS
23352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2338 per common usage and preffered in several parts of code.
2339 (grub_memcmp): Likewise.
2340 (grub_strncmp): Likewise.
2341 * include/grub/misc.h (grub_strcasecmp): Likewise.
2342 (grub_strncasecmp): Likewise.
2343 * Makefile.util.def (cmp_test): New test.
2344 (grub_script_strcmp): Likewise.
2345 * tests/cmp_unit_test.c: New file.
2346 * tests/grub_script_strcmp.in: Likewise.
2347 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2348
49717bf4
VS
23492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * include/grub/pci.h: Move enums into no-asm part.
2352
0a308f64
VS
23532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2356
1796965f
ST
23572012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2358
2359 * util/getroot.c (find_hurd_root_device): Try to make error message
2360 and comments to translators clearer.
2361
4e9b2819
VS
23622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2365
076aeb50
VS
23662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2369 btrfs.
2370
19424d94
VS
23712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * docs/grub.cfg: Update.
2374
ebb73076
VS
23752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * docs/grub.texi (PXE): Remove not present variables.
2378
9a1b669c
VS
23792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/net/net.c (defserver_set_env): New function.
2382 (defserver_get_env): Likewise.
2383 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2384
d38bf7d3
VS
23852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2388 entries.
2389
23902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2391
2392 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2393 * grub-core/kern/emu/hostdisk.c: Likewise.
2394
e5e4ca48
ST
23952012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2396
2397 Handle hurd userspace partitions.
2398
2399 * util/getroot.c (find_hurd_root_device): New function.
2400 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2401
56bb5dd5
VS
24022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2405 names.
2406 Reported by: Bastian Blank.
2407
9e8bc27a
VS
24082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2411 crossing page boundary.
2412
aa01499d
VS
24132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 Fix B-tree search in BFS, especially in presence of non-ASCII
2416 characters.
2417
2418 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2419 (find_in_b_tree): Use standard bsearch + btree algorithm.
2420
57006035
VS
24212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2424 and so on.
2425
9d34bb85
MG
24262012-05-03 Matthew Garrett <mjg@redhat.com>
24272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 Suspend broadcom cards in order to stop their DMA.
2430
2431 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2432 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2433 (pci): Don't build on x86 EFI.
2434 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2435 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2436 New function.
2437 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2438 stop_broadcom if running on EFI.
2439 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2440 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2441 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2442 (grub_pci_find_capability): New proto.
2443
01aab997
VS
24442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * docs/grub.texi: Remove dot from the extension as it apparently
2447 doesn't work with some makeinfo versions.
2448
fbd8dca6
VS
24492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2452 with GRUB expectance.
2453
dab797f4
VS
24542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2457
1516bfb4
VS
24582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2461 zero after directory block since last entry may be not 0-terminated if
2462 it ends on block boundary. Use continue instead of if spanning whole
2463 loop.
2464
a3a0eace
VS
24652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 Support 4K sectors UDF inline files.
2468
2469 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2470 (grub_udf_extended_file_entry): Likewise.
2471 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2472 All users updated.
2473 (get_fshelp_size): New function.
2474 (grub_udf_read_icb): Read whole block.
2475 (grub_udf_iterate_dir): Likewise.
2476 (grub_udf_dir): Likewise.
2477 (grub_udf_open): Likewise.
2478
c82f16c1
VS
24792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2482
59fd2aac
VS
24832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2486 inline symlinks in addition to workaround.
2487
3b4afb4d
VS
24882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2491
f45c794a
VS
24922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2495
f25cecbd
VS
24962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2499
bb9a34e8
VS
25002012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Fix reiserfs big seek times.
2503
2504 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2505 exact. All users updated.
2506 (grub_reiserfs_read): Use nearest btree search for seeking.
2507 Fix return value on error.
2508
dc478aea
VS
25092012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2512 entries.
2513 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2514 * docs/grub.texi: Update menuentry description.
2515
8db10f47
VS
25162012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2519 crash when embedding onto filesystem.
2520
bcb288ed
VS
25212012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2524 name.
2525
a626fdd7
VS
25262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2529
b2f68477
VS
25302012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2533 commit.
2534
ba15b2af
B
25352012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25362012-05-01 Bean <bean123ch@gmail.com>
2537
2538 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2539
a188012e
VS
25402012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2543 Special behaviour for len = 0 to read whole file isn't used anywhere and
2544 can cause buffer ovewrflows in several places.
2545
f0a53ed2
VS
25462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2549
5ed554f0
VS
25502012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Handle RAIDZ on non-512B sectors.
2553
2554 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2555 max_children_ashift.
2556 (fill_vdev_info_real): Fill max_children_ashift.
2557 (read_device): Use max_children_ashift.
2558
ddc58357
VS
25592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2562
e3282399
VS
25632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2566 disk names.
2567 * docs/grub.texi: Update device.map parts.
2568
ee618bd4
VS
25692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Don't scan into non-diskfilter devices having diskfilter names.
2572
2573 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2574 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2575 handling.
2576 (scan_disk_hook): New function.
2577
bdf88864
B
25782012-04-29 Bean <bean123ch@gmail.com>
2579
2580 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2581 allocation.
2582
32745f51
MK
25832012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2584
2585 * configure.ac: Detect starfield theme font path
2586 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2587
bc95c8c0
VS
25882012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2591 geometry on serial consoles.
2592
147fbcab
VS
25932012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2596 because of network consoles.
2597
0f42c889
VS
25982012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2601 handling.
2602
4a3594c9
VS
26032012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2606 falls on Q syndrom.
2607
5cb53879
VS
26082012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2611 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2612
b282dfe5
VS
26132012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2616 Allocate at lest 8192 for temporary buffer as required for lzo.
2617
daa59f47
VS
26182012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2621 to cluster_bits, since it's already added in.
2622 (grub_fat_read_data): Likewise.
2623
986748ce
VS
26242012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2627 as long as cluster size is multiple of 512 bytes.
2628
a20f6ad0
VS
26292012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * util/grub-mkrescue.in: Fix locale directory.
2632
385f9abb
VS
26332012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/kern/emu/hostdisk.c (map): Make static.
2636
1c557d30
B
26372012-04-23 Bean <bean123ch@gmail.com>
2638
2639 * util/grub-fstest.c (fstest): Add missing break.
2640
524b5d3a
ST
26412012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2642
2643 Fix hurd build.
2644
2645 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2646 not define nr variable.
fe4824e9 2647 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2648 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2649 grub_find_device): Do not define.
524b5d3a 2650
9a06490c
VS
26512012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 Fix kfreebsd compile and behaviour.
2654
2655 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2656 format-security.
2657 * util/getroot.c: Fix wait.h include.
2658 (grub_guess_root_devices): Error if grub_find_device fails.
2659 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2660 (grub_util_get_dev_abstraction): Likewise.
2661 (grub_util_pull_device): Likewise.
2662 (grub_util_get_grub_dev): Likewise.
2663 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2664
48143d96
VS
26652012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 Fix and unify wholedisk detection.
2668
2669 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2670 is_part. All users updated.
2671 (device_is_wholedisk): Removed.
2672 (grub_util_biosdisk_get_grub_dev): Use is_part.
2673
ebbd24f3
VS
26742012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2677 mode.
2678
56f7aa1e
VS
26792012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * configure.ac: Bump to beta4.
2682
9c815e01
VS
26832012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2686 --fs-uuid --set UUID syntax.
2687
59e2651a
VS
26882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2691 disunification.
2692
54e03cfc
VS
26932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2696
81092a75
MK
26972012-04-18 Mads Kiilerich <mads@kiilerich.com>
2698
2699 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2700
f8315e14
MG
27012012-04-18 Mike Gilbert <floppym@gentoo.org>
2702
2703 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2704
1501ac21
B
27052012-04-18 Bean <bean123ch@gmail.com>
2706
2707 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2708 place.
2709
cb7f944e
VS
27102012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2713 users updated.
2714 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2715 corresponding to GRUB partitions.
2716 (grub_util_biosdisk_write): Likewise.
2717
b72d44a1
VS
27182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Scan mdraid before LVM.
2721
2722 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2723 (grub_diskfilter_register_front): ... this.
2724 (grub_diskfilter_register_back): New function.
2725 All users of grub_diskfilter_register updated.
2726
33d918b8
VS
27272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * util/grub-install.in: Fix an automatic target detection bug.
2730
c6ca973d
VS
27312012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * util/grub-install.in: New option --efi-directory.
2734
b41be562
VS
27352012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2738 boot services if we have no other choice.
2739
27402012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2743 document it.
2744 * tests/util/grub-shell.in: Update to --directory.
2745
e0595a73
VS
27462012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2749
4ed80652
VS
27502012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2753 (grub_minix_read_file): Likewise.
2754 (grub_minix_read_inode): Likewise.
2755 (grub_minix_find_file): Likewise.
2756 (grub_minix_dir): Likewise.
2757
56008077
VS
27582012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * util/grub-setup.c (setup): Fix partition handling and blocklist
2761 check.
2762
ee520775
VS
27632012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2766 redundant buggy overlap check.
2767
16fc9293
VS
27682012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2771 and grub-mknetdir.
2772
9bab65c4
VS
27732012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2776 kh.loadflags on pre-2.00 kernels.
2777
3c491b47
VS
27782012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Terminate UNDI and PXE before launching the payload to avoid problems
2781 with DMA.
2782
2783 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2784 (grub_loader_flags): ... this. All users updated.
2785 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2786 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2787 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2788 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2789 function.
2790 (grub_pxe_restore): Likewise.
2791 (fini_hnd): New var.
2792 (GRUB_MOD_INIT): Register shutdown hook.
2793 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2794 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2795 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2796 (grub_loader_set): Rename second argument to flags.
2797
851ffada
VS
27982012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2801 written bytes.
2802 (grub_get_num_of_utf8_bytes): New function.
2803 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2804 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2805 executing it.
2806 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2807 (grub_ucs4_to_utf8): Change return type.
2808
491c57a8
VS
28092012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2812 warning.
851ffada
VS
2813 * grub-core/fs/bfs.c (hop_level): Likewise.
2814 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2815
756773df
VS
28162012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/lib/adler32.c: Recode due to license unclearness.
2819
fd556a96
VS
28202012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2823 (test_header): Likewise.
2824
9f9d3f69
VS
28252012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 Fix --help formatting.
2828
2829 * util/grub-mkconfig_lib.in (print_option_help): New function.
2830 (grub_fmt): Likewise.
2831 * util/grub-install.in: Use print_option_help and grub_fmt.
2832 * util/grub-kbdcomp.in: Likewise.
2833 * util/grub-mkconfig.in: Likewise.
2834 * util/grub-mknetdir.in: Likewise.
2835 * util/grub-mkrescue.in: Likewise.
2836 * util/grub-mkstandalone.in: Likewise.
2837 * util/grub-reboot.in: Likewise.
2838 * util/grub-set-default.in: Likewise.
2839 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2840
561ec77e
VS
28412012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * linguas.sh: Remove autogenerated *.po.
2844
7ec2b021
VS
28452012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * po/README: Move language fetcing to ...
2848 * linguas.sh: ... here.
2849 * po/README: Point to linguas.sh.
2850
a88f3270
VS
28512012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * po/README: Exclude ko.po due to disclaimer problems.
2854
d61357ce
VS
28552012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2858 len = 0.
2859 (grub_gettext_translate_real): Handle 0th string.
2860 (grub_gettext_translate): Ensure that "" isn't translated.
2861
505e41dc
VS
28622012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2865 TRANSLATORS comment.
2866 (grub_diskfilter_print_partmap): Propagate changing of error into
2867 warning.
2868
e44092db
VS
28692012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2872 to uint64_t to prevent overflow.
2873 (grub_diskfilter_lv): Increase start_extent and extent_count
2874 to uint64_t to prevent overflow.
2875
9b83956a
VS
28762012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * configure.ac: Increase version.
2879
da0d5b3f
VS
28802012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2883
2884 * po/Rules-translit: New file.
2885 * po/arabic.sed: Likewise.
2886 * po/cyrillic.sed: Likewise.
2887 * po/greek.sed: Likewise.
2888 * po/hebrew.sed: Likewise.
2889 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2890 * po/Makefile.in.in: Add extra_dist4.
2891
ac66b453
VS
28922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2895
2896 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2897 modify names. Introduce MODE_BIGENDIAN.
2898 * grub-core/fs/minix_be.c: New file.
2899 * grub-core/fs/minix2_be.c: Likewise
2900 * grub-core/fs/minix3_be.c: Likewise.
2901 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2902 minix3_be.
2903 * grub-core/Makefile.core.def (minix_be): New module.
2904 (minix2_be): Likewise.
2905 (minix3_be): Likewise.
2906
29072012-04-01 Felix <email@hamburg.de>
2908
2909 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2910 (devs): Add MBP 2011.
2911
0a2d5a82
VS
29122012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2915
d1625889
VS
29162012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/normal/cmdline.c (print_completion): New field
2919 prompt_len.
2920 (grub_cmdline_get): Handle width properly.
2921
6d36a236
VS
29222012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2925
9576977e
VS
29262012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2929 after 29th of February.
9576977e 2930
d73ff15d
VS
29312012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 Fix exfat endianness handling.
2934
2935 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2936 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2937 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2938 Byte-swap utf16 when necessary.
2939 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2940
bbb39a45
AB
29412012-03-31 Anton Blanchard <anton@samba.org>
29422012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 Fix btrfs endianness handling.
2945
2946 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2947 (lower_bound): Make root uint64_t. Use root in le.
2948 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2949 (find_path): Fix template key init.
2950 (grub_btrfs_dir): Fix mtime byteswap.
2951 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2952
354e0af7
VS
29532012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2956 recursion_depth. Break infinite resursions. All users updated.
2957
4e75f21c
VS
29582012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2961 after free.
2962 Reported by: Peter Jones.
2963
25581802
AB
29642012-03-31 Anton Blanchard <anton@samba.org>
2965
2966 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2967 8 bit values.
2968
08fbf92e
VS
29692012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * util/grub-install.in: Fix nvram call for PreP.
2972
5d1182a6
VS
29732012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2976 the error when some elements are missing into a warning.
2977
3f8cdd90
VS
29782012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2981
51006716
CW
29822012-03-28 Colin Watson <cjwatson@ubuntu.com>
2983
2984 * docs/grub.texi (Invoking grub-probe): New section.
2985 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2986
e1bd676b
VS
29872012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 Fix tab and wide character handling in editor and menu.
2990
2991 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2992 agglomerate control characters with combining marks.
2993 (bidi_line_wrap): Allow break on tab.
2994 (grub_unicode_get_comb_start): New function.
2995 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2996 and tab correctly.
2997 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2998 with a space.
2999 * grub-core/normal/term.c (print_ucs4_terminal): New argument
3000 fixed_tab_size. All users updated.
3001 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
3002 (grub_term_getcharwidth): Handle \t.
3003 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
3004 and copy.
3005
22e6a774
VS
30062012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Handle big-endian mdraid.
3009
3010 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
3011 * grub-core/Makefile.core.def (mdraid09_be): New module.
3012 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
3013 rather than grub_le_to_cpu* and grub_cpu_to_le*.
3014 * grub-core/disk/mdraid_linux_be.c: New file.
3015
3c0eae66
VS
30162012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3019
b6cf74c9
VS
30202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3023 missing quotes which caused confusion among translators.
3024
83c93b9c
VS
30252012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * util/grub-mkconfig_lib.in: Fix typo.
3028
ac6fd218
VS
30292012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3032 spaces.
3033 * tests/grub_script_leading_whitespace.in: New file.
3034 * Makefile.util.def (grub_script_leading_whitespace): New test.
3035
ba287dd8
VS
30362012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3039 to work.
3040
d2d58d0a
VS
30412012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3044 starts with control character.
3045
0382d9bb
VS
30462012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3049 overflow.
3050 (grub_gdb_outbuf): Likewise.
3051
d83ff9f9
VS
30522012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3055 zero terminator. Fixes a crash.
3056
2282da4a
VS
30572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3060 beyond 4 GiB.
3061 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3062 images independently of preffered adderss field.
3063
0ae4f0bd
VS
30642012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3067 * grub-core/commands/regexp.c: Likewise.
3068 * grub-core/loader/i386/linux.c: Likewise.
3069 * grub-core/partmap/msdos.c: Likewise.
3070 * grub-core/script/execute.c: Likewise.
3071 * grub-core/term/gfxterm.c: Likewise.
3072
546fbe9b
VS
30732012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 Add variable parsing in $"..." and fix several mismatches with bash.
3076
3077 * Makefile.util.def (grub_script_gettext): New test.
3078 * grub-core/script/execute.c (parse_string): New function.
3079 (gettext_append): Likewise.
3080 (grub_script_arglist_to_argv): Use gettext_append.
3081 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3082 * tests/grub_script_gettext.in: New file.
3083
9fdb2d7b
VS
30842012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Fix handling of leading spaces in scripts.
3087
3088 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3089 spaces.
3090 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3091 other than skipping \r. All users updated.
3092 * tests/grub_script_echo1.in: Add space-related tests.
3093 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3094
1a1ac4f6
VS
30952012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3098
b63d89b6
VS
30992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * configure.ac: Bump up the version to beta2.
3102
17f38c0f
VS
31032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Fix gettext reload bugs (e.g. inability to disable gettext
3106 once enabled).
3107
3108 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3109 main_context and secondary_context. All functions updated.
3110 (grub_gettext_translate): Rename to ...
3111 (grub_gettext_translate_real): ... this. Return NULL on failed
3112 translate.
3113 (grub_gettext_translate): Handle secondary context.
3114 (grub_gettext_delete_list): Close file and zero-out the context.
3115 (grub_mofile_open): Don't call grub_gettext_delete_list.
3116 Don't close file.
3117 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3118 if locale="" to avoid pointless error message.
3119 (grub_gettext_env_write_lang): Update lang even if load fails.
3120 Handle secondary context.
3121 (grub_gettext_reread_prefix): New function.
3122 (read_main): Likewise.
3123 (read_secondary): Likewise.
3124 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3125 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3126 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3127 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3128
8e56f870
VS
31292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * configure.ac: Decrease warning level to avoid spurious warnings and
3132 to be able to compile with GCC 4.2.
3133 * Makefile.util.def: Remove -Wno-error=logical-op.
3134
82f6d455
WB
31352012-03-10 William Bittner <william.bittner@gmail.com>
3136
3137 * util/import_unicode.py: Add missing brackets around string for
3138 python 3 support.
3139
1ecd61a4
VS
31402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 Fix efi chainloader on network root.
3143
3144 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3145 network devices.
3146 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3147 New function.
3148
14361ee8
VS
31492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3152 unused show_text member.
3153 * docs/grub.texi: Document "text" property.
3154
922aabf3
VS
31552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3158 in dprintf.
3159
ec316771
VS
31602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Fix IMSM handling on Fedora.
3163
3164 * util/getroot.c (grub_util_is_imsm): New function.
3165 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3166
0f021838
VS
31672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * Makefile.am: Strip gold section.
3170 * conf/Makefile.common: Likewise.
3171 * gentpl.py: Likewise.
3172 * grub-core/Makefile.core.def: Likewise.
3173 * grub-core/genmod.sh.in: Likewise.
3174
1039c8eb
VS
31752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3178 * util/grub.d/20_linux_xen.in: Likewise.
3179 Based on Debian patch.
3180
6dd412cd
VS
31812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * util/grub.d/10_linux.in: Fix syntax error resulting in
3184 Richard Laager's patch.
3185 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3186
3fd8bae5
VS
31872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3190 dependencies.
3191
7eea1671
RL
31922012-03-10 Richard Laager <rlaager@wiktel.com>
3193
3194 * util/grub.d/10_linux.in: Fix ZFS root passing.
3195
e8e0566b
VS
31962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3199 * grub-core/commands/xnu_uuid.c: Likewise.
3200 * grub-core/loader/efi/appleloader.c: Likewise.
3201 * grub-core/script/execute.c: Likewise.
3202 * grub-core/script/main.c: Likewise.
3203 * util/grub-mkfont.c: Likewise.
3204
1acc5b1f
VS
32052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * util/grub-mkfont.c (options): Use more appropriate "select" that
3208 "set" for face index.
3209
35d70620
VS
32102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * util/grub-editenv.c (options): Gettextize command summaries.
3213
c9eb96b5
VS
32142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3217 "out of memory" error messagge.
3218
1f493136
VS
32192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3222 of diskfilter for diskfilter on diskfilter support.
3223
6d790129
VS
32242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3227
005f46c9
VS
32282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3231 themes/starfield.
3232
c8f778a0
VS
32332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3236
de1e64eb
VS
32372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3240
c6d54211
VS
32412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3244 of error message.
3245
dd390777
VS
32462012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3249
5fd1c522
VS
32502012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3253 message.
c6d54211 3254 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3255
fae01f6c
VS
32562012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3259 Gettextize.
3260 * util/grub-mount.c (options): Likewise.
3261
292fdaff
VS
32622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3265 gettextize.
3266 * grub-core/commands/search_wrap.c (options): Likewise.
3267
ecdbae77
VS
32682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3271
52bfedfa
VS
32722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3275 size calculation.
3276 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3277 none is known.
3278
55b20e58
VS
32792012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3282 "temporary" since it's used in identifier and is limited in space.
3283
fda9d101
VS
32842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * po/POTFILES.in: Regenerate. Include *.h since they contain
3287 translatable strings as well.
3288
6a0295e2
VS
32892012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3292 byte-swap on big-endian.
3293 Reported by: Lennart Sorensen
3294
807fb77c
VS
32952012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3298 (allocate_pages): Improve dprintf.
3299 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3300 code32_start. Fill code32_start and kernel_alignment in params.
3301 (grub_cmd_initrd): Use prot_init_space.
3302
61ac50ba
VS
33032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3306
abdd26dd
VS
33072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * util/grub-install.in: Add missing dot at the end of sentence.
3310
6e69da9c
VS
33112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3314 * grub-core/commands/videotest.c: Likewise.
3315 * grub-core/loader/i386/linux.c: Likewise.
3316
4a929343
VS
33172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3320 sentence.
3321 Reported by: Milo Casagrande.
3322
bb51c6c6
VS
33232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3326 * grub-core/commands/gptsync.c: Likewise.
3327 * grub-core/commands/hashsum.c: Likewise.
3328 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3329 * grub-core/commands/legacycfg.c: Likewise.
3330 * grub-core/io/gzio.c: Likewise.
3331 * grub-core/net/net.c: Likewise.
3332 * grub-core/term/gfxterm.c: Likewise.
3333 * grub-core/term/terminfo.c: Likewise.
3334 * grub-core/tests/test_blockarg.c: Likewise.
3335 * grub-core/video/video.c: Likewise.
3336 * util/grub-install.in: Likewise.
3337 * util/grub-mkfont.c: Likewise.
3338
b2b149cb
VS
33392012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3342
c7c080ad
VS
33432012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3346 Reported by: David Prévot.
c7c080ad 3347
f2e243c0
VS
33482012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3351 description.
3352
09963c76
VS
33532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * util/grub-script-check.c (main): Fix a syntax error message which was
3356 unclear.
3357
a50514a8
VS
33582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3361
4650daec
VS
33622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3365 messages.
3366
33672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3368
3369 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3370 without argument.
3371 * util/grub-mount.c (options): Likewise.
3372
bbc5a342
VS
33732012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3376
ef292a87
VS
33772012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/net/http.c: Add TRANSLATORS comments.
3380 * grub-core/normal/cmdline.c: Likewise.
3381 * grub-core/normal/misc.c: Likewise.
3382 * grub-core/partmap/msdos.c: Likewise.
3383 * grub-core/parttool/msdospart.c: Likewise.
3384 * grub-core/script/execute.c: Likewise.
3385 * grub-core/script/main.c: Likewise.
3386 * grub-core/term/terminfo.c: Likewise.
3387 * grub-core/video/bitmap.c: Likewise.
3388 * util/grub-install.in: Likewise.
3389 * util/grub-mkimage.c: Likewise.
3390 * util/grub-mklayout.c: Likewise.
3391 * util/grub-setup.c: Likewise.
3392
0fc19bd0
VS
33932012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3396 with similar messages in grub-fstest.
3397
d95862ef
VS
33982012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * util/grub-install.in: Unify "option requires an argument" message
3401 with similar messages in other files.
3402 * util/grub-mkconfig.in: Likewise.
3403
b7308f90
VS
34042012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * util/grub-set-default.in: Replace printf with gettext_printf (the
3407 string in in question is already translated from grub-reboot)
3408
559dc587
VS
34092012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * configure.ac: Bump up the version to beta1.
3412
1a11761f
VS
34132012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3416 case when min_align = 0.
3417
24539abd
VS
34182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3421 and fix a case when line_start overflows.
3422
32bd735b
VS
34232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * util/grub-reboot.in (usage): Mention id posibility.
3426 * util/grub-set-default.in (usage): Likewise.
3427
1a2fd1e6
VS
34282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3431 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3432 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3433 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3434 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3435 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3436 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3437
90eeab76
VS
34382012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/commands/menuentry.c (options): Remove
3441 GRUB_ARG_OPTION_REPEATABLE.
3442 Reported by: Andreas Vogel
3443
5ad1be82
AV
34442012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3445
3446 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3447
cb055286
HE
34482012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3449
3450 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3451 error.
3452
93b1cd79
VS
34532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 Use sort -V by the idea of Georgi Georgiev.
3456
3457 * util/grub-mkconfig_lib.in (version_sort): New function.
3458 (version_test_numeric): Use version_sort.
3459
0cdc126c
VS
34602012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 Use submenus in grub-mkconfig.
3463
3464 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3465 * util/grub-mkconfig_lib.in (grub_quote): New function.
3466 (gettext_printf): Use gettext and not gettext_quoted to fix several
3467 messages.
3468 * util/grub.d/10_hurd.in: Use submenus.
3469 * util/grub.d/10_kfreebsd.in: Likewise.
3470 * util/grub.d/10_linux.in: Likewise.
3471 * util/grub.d/10_netbsd.in: Likewise.
3472 * util/grub.d/20_linux_xen.in: Likewise.
3473 * util/grub.d/30_os-prober.in: Likewise.
3474 * util/grub.d/10_illumos.in: Add missing quoting.
3475 * util/grub.d/10_windows.in: Likewise.
3476
d9bef9bc
VS
34772012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 Fix menu title instability bug.
3480
3481 * grub-core/commands/menuentry.c (options): New option --id.
3482 (grub_normal_add_menu_entry): New argument id. All users updated.
3483 (grub_cmd_menuentry): Handle --id.
3484 (grub_menu_init): Accept unknown arguments.
3485 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3486 feature_menuentry_options.
3487 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3488 saved_entry.
3489 (get_entry_number): Match with id as well.
3490 * include/grub/menu.h (grub_menu_entry): New member id.
3491 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3492 * util/grub.d/00_header.in: Define menuentry_id_option.
3493 * util/grub.d/10_hurd.in: Define id.
3494 * util/grub.d/10_illumos.in: Likewise.
3495 * util/grub.d/10_kfreebsd.in: Likewise.
3496 * util/grub.d/10_linux.in: Likewise.
3497 * util/grub.d/10_netbsd.in: Likewise.
3498 * util/grub.d/10_windows.in: Likewise.
3499 * util/grub.d/20_linux_xen.in: Likewise.
3500 * util/grub.d/30_os-prober.in: Likewise.
3501
35022012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3503
3504 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3505 "scope" with "body".
3506
7c8d0ce7
VS
35072012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3510 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3511 prot_size and prot_file_size.
3512
49de079b
VS
35132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3516 All users updated. If easily=1 require raid-5/-6 to be full.
3517 (is_node_readable): Likewise.
3518 (scan_devices): Scan incomplete but readable LVs at the end.
3519 (grub_diskfilter_memberlist): Pull missing devices.
3520 (insert_array): Skip scanning until device is complete or scan is
3521 done otherwise.
3522 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3523 check.
3524 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3525 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3526
aff05d45
MG
35272012-03-03 Matthew Garrett <mjg@redhat.com>
35282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 Avoid EFI boot services when loading Linux.
3531
3532 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3533 avoid_efi_bootservices. All users updated.
3534 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3535 argument avoid_efi_bootservices. All users updated.
3536 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3537 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3538 align, min_align, relocatable, prefered_address. All users updated.
3539 Allocate avoiding boot services if kernel is relocatable.
3540 (grub_cmd_linux): Check if kernel is relocatable.
3541 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3542 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3543 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3544 avoid_efi_boot_services.
3545 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3546 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3547 (linux_kernel_params): Likewise.
3548
3935dde2
MG
35492012-03-03 Matthew Garrett <mjg@redhat.com>
35502012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3551
3552 Use EDID on EFI.
3553
3554 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3555 datasize_out.
3556 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3557 modes. Set gop_handle.
3558 (grub_video_gop_get_edid): New function.
3559 (grub_gop_get_preferred_mode): Likewise.
3560 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3561 (grub_video_efi_gop_adapter): Set .get_edid.
3562 * include/grub/efi/edid.h: New file.
3563 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3564
32107ec0
VS
35652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * util/grub-install.in: Load efivars unconditionally.
3568
e70a2c50
VS
35692012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * po/Rules-piglatin: Change suffix from .po-update-en to
3572 .po-update-en-piglatin.
3573
8f9cace1
VS
35742012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 Add a pig farm.
3577
3578 * po/piglatin.sed: New file.
3579 * po/en@piglatin.header: Likewise.
3580 * po/Rules-piglatin: Likewise.
3581 * po/README: Add en@piglatin to autogenerated languages.
3582
8f95d002
VS
35832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3586 "Command for ...".
3587 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3588 "Check" since we don't check anything.
3589 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3590 is 64-bit one.
3591 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3592 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3593 (grub_md_sha512_real): Likewise.
3594
805a8dcc
VS
35952012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/commands/gptsync.c: Fix typographic quoting.
3598 * grub-core/commands/ieee1275/suspend.c: Likewise.
3599 * grub-core/commands/parttool.c: Likewise.
3600 * grub-core/commands/search_wrap.c: Likewise.
3601 * grub-core/commands/videoinfo.c: Likewise.
3602 * grub-core/gfxmenu/gui_label.c: Likewise.
3603 * grub-core/hello/hello.c: Likewise.
3604 * grub-core/kern/emu/main.c: Likewise.
3605 * grub-core/net/net.c: Likewise.
3606 * grub-core/normal/menu.c: Likewise.
3607 * grub-core/normal/menu_text.c: Likewise.
3608 * grub-core/normal/misc.c: Likewise.
3609 * util/grub-editenv.c: Likewise.
3610 * util/grub-install.in: Likewise.
3611 * util/grub-kbdcomp.in: Likewise.
3612 * util/grub-mkconfig.in: Likewise.
3613 * util/grub-mknetdir.in: Likewise.
3614 * util/grub-mkrescue.in: Likewise.
3615 * util/grub-mkstandalone.in: Likewise.
3616 * util/grub-reboot.in: Likewise.
3617 * util/grub-set-default.in: Likewise.
3618 * util/grub-setup.c: Likewise.
3619 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3620
40211ab8
VS
36212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3624 * grub-core/commands/keystatus.c: Likewise.
3625 * grub-core/commands/loadenv.c: Likewise.
3626 * grub-core/commands/probe.c: Likewise.
3627 * grub-core/commands/regexp.c: Likewise.
3628 * grub-core/commands/true.c: Likewise.
3629 * grub-core/commands/videoinfo.c: Likewise.
3630 * grub-core/disk/cryptodisk.c: Likewise.
3631 * grub-core/disk/ldm.c: Likewise.
3632 * grub-core/disk/loopback.c: Likewise.
3633 * grub-core/disk/luks.c: Likewise.
3634 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3635 * grub-core/kern/disk.c: Likewise.
3636 * grub-core/kern/emu/hostdisk.c: Likewise.
3637
0c7d99c7
VS
36382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3641 * util/grub-install.in: Add missing quote in the comment.
3642
e7d2559b
VS
36432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3646 * grub-core/commands/lsmmap.c: Likewise.
3647 * grub-core/commands/minicmd.c: Likewise.
3648 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3649 * grub-core/commands/regexp.c: Likewise.
3650 * grub-core/gdb/gdb.c: Likewise.
3651 * grub-core/term/gfxterm.c: Likewise.
3652 * util/grub-mkconfig.in: Likewise.
3653 * util/grub-mkfont.c: Likewise.
3654 * util/grub-mklayout.c: Likewise.
3655 * util/grub-mknetdir.in: Likewise.
3656 * util/grub-mkrescue.in: Likewise.
3657 * util/grub.d/30_os-prober.in: Likewise.
3658
49ce9e50
VS
36592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3662 with "Direct color" and "Packed" with "Packed pixel".
3663 (grub_cmd_videoinfo): Simplify legend.
3664
e4b791fa
VS
36652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3668 absolutely unclear error message.
3669
fd1265cb
VS
36702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/grub-mkstandalone.in: Remove confusing leftover print.
3673
8822a8a0
VS
36742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3677 comments.
3678 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3679 (GRUB_MOD_INIT): Likewise.
3680 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3681 VGA mode.
3682 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3683 comments.
3684 * util/grub-install.in (usage): Likewise.
3685 Spell ID in whole letters.
3686 Add missing ending dot.
3687 Quote variables.
3688 * util/grub-reboot.in: Fix capitalisation.
3689 * util/grub-set-default.in: Likewise.
3690
937fd0cc
VS
36912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3694 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3695 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3696 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3697 Disable -Werror for -Wdeprecated-declarations.
3698 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3699 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3700 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3701 (grub_util_get_grub_dev): Make luks handling dependent on
3702 HAVE_DEVICE_MAPPER and not __linux__.
3703 (get_win32_path): Fix format security.
3704 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3705 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3706 Don't try grub_find_zpool_from_dir.
3707 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3708 #ifdef-out paresdir.
3709
1bab1ae3
VS
37102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * util/grub-pe2elf.c (usage): Add missing noreturn.
3713 (write_section_data): Rename name to shname to avoid shadowing.
3714 (write_symbol_table): Rename name to symname to avoid shadowing.
3715 Fix write_reloc_section call.
3716
ef023e42
VS
37172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3720 to ensure that it's after the last byte of .text.
3721
48afcb75
VS
37222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * util/ieee1275/ofpath.c (my_isdigit): New function.
3725 (trailing_digits): Use my_isdigit.
3726 (strip_trailing_digits): Likewise.
3727
88d51eff
VS
37282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3731 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3732
17edc2ba
VS
37332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/kern/i386/pc/startup.S: Define __start.
3736
ad5518d7
VS
37372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3740 strip already transforms he format.
3741
9e95e1bf
VS
37422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3745
9cc3ee5c
VS
37462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * util/grub-install.in: Add missing gettext init.
3749 * util/grub-kbdcomp.in: Likewise.
3750 * util/grub-mkconfig.in: Likewise.
3751 * util/grub-mknetdir.in: Likewise.
3752 * util/grub-mkrescue.in: Likewise.
3753 * util/grub-mkstandalone.in: Likewise.
3754 * util/grub-reboot.in: Likewise.
3755 * util/grub-set-default.in: Likewise.
3756 * util/grub.d/00_header.in: Likewise.
3757 * util/grub.d/10_hurd.in: Likewise.
3758 * util/grub.d/10_windows.in: Likewise.
3759 * util/grub.d/30_os-prober.in: Likewise.
3760 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3761
49e08a06
VS
37622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * po/Rules-swiss: Fix header comment.
3765
3809cb41
AV
37662012-02-29 Andreas Vogel <anvoit>
3767
3768 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3769 resulted in leak of arguments.
3770
fa6ec573
VS
37712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3774 reed_solomon_size const definition instead of computing it since
3775 Apple assembler doesn't support the later.
3776
22899b9c
VS
37772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * gentpl.py (kernel): Rewrite Apple part.
3780
a132afc3
VS
37812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3784
9d742bd4
VS
37852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3788 ELF section gap.
3789 (load_image): Likewise.
3790
f04a9a21
VS
37912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * configure.ac: Fix a typo in previous commit.
3794
46cf439c
VS
37952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 Don't add -Wl,-N on Apple platform.
3798
3799 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3800 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3801
c4c48c54
VS
38022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/Makefile.core.def (lzma_decompress): Use
3805 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3806
31a12124
VS
38072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/genmod.sh.in: Rewrite the Apple part.
3810
4f3aa1af
VS
38112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3814 comparison.
3815
7bd8b0c7
VS
38162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * acinclude.m4 (grub_CHECK_PIC): New test.
3819 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3820
97304d7c
VS
38212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3824 to avoid the warning.
3825
fb883812
VS
38262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3829 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3830 after. All users updated.
3831
a121c964
VS
38322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 Use the common size routine in hostfs so we can read disks as well.
3835
3836 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3837 (grub_util_get_fd_size): ... this. Return size in bytes.
3838 All users updated.
3839 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3840 grub_util_get_fd_size.
3841
c66d6410
VS
38422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3845 Add blocksize retrieval.
3846
dfc8aeb0
VS
38472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * configure.ac: Restore CFLAGS after efiemu check.
3850
403e25a5
VS
38512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3854 Apple bug.
3855
382775d1
VS
38562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3859
6fd4e6e4
VS
38602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3863 (grub_cmd_halt): Likewise.
3864
bea359d6
VS
38652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3868 for local arithmetics.
3869 Break %sp init into 2 instructions.
3870 Add 0 byte at the end.
3871
32eb6ee1
VS
38722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3875 before loops.
3876
e8377389
VS
38772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3880 for context.
3881
8cb17de7
VS
38822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/disk/ldm.c (make_vg): Init part.name.
3885 (grub_ldm_detect): Silence spurious warning.
3886 (grub_util_is_ldm): Likewise.
3887
595717e6
VS
38882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3891 sane value to avoid a spurious warning.
3892
c4b7e588
VS
38932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3896 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3897
59824957
VS
38982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3901 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3902
70115b99
VS
39032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3906 hardcoding the relevant info.
3907
56733740
VS
39082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3911 missing const qualifiers.
3912 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3913
43481481
VS
39142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * util/getroot.c [__APPLE__]: Add missing includes.
3917 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3918
3cb38f01
VS
39192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3922
d9dbf11e
VS
39232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3926 avoid conflicts.
3927
0c42a45d
VS
39282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3931
46c34eb0
VS
39322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3935 and grub_file_close call.
3936
99ce1597
VS
39372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 Add LZSS Mach-O support (needed for new xnu kernelcache).
3940
3941 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3942 * grub-core/loader/lzss.c: New file.
3943 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3944 on Mach-O open failure.
3945 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3946 Don't free cmdsXX in uncompressedXX is set.
3947 (grub_macho_file): Init new fields.
3948 New argument is_64bit. All users updated.
3949 Handle compressed. Error out if no suitable architecture is found.
3950 Don't close file.
3951 (grub_macho_open): New argument is_64bit. All users updated.
3952 * grub-core/loader/macho32.c: Add defines for new fields.
3953 * grub-core/loader/macho64.c: Likewise.
3954 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3955 (grub_macho_parse): Handle compressed.
3956 Defer actual processing if compressed.
3957 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3958 "filename". All users updated.
3959 (grub_macho_size): New argument "filename". All users updated.
3960 (grub_macho_get_entry_point): Likewise.
3961 (grub_macho_load): Handle compressed.
3962 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3963 (GRUB_MACHO_LZSS_OFFSET): New define.
3964 (grub_decompress_lzss): New proto.
3965 * include/grub/machoload.h (grub_macho_file): New fields to handle
3966 compressed.
3967 (grub_macho_contains_macho64): Remove proto.
3968 (grub_macho_contains_macho32): Likewise.
3969 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3970
ebd17d6f
VS
39712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3974
2702b4e4
VS
39752012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 Fix make dist.
3978
3979 * Makefile.am (starfield_theme_files): New var.
3980 (starfield_DATA): Use starfield_theme_files.
3981 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3982 Add bootcheck-related files.
3983 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3984 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3985 and font_char_metrics.txt.
3986 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3987 (setjmp): Add lib/ia64/longjmp.S.
3988 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3989 * po/POTFILES.in: Regenerate.
3990 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3991 DISTFILES.common.extra1.
3992 * util/devicemap.c: Removed.
3993 * grub-core/lib/i386/relocator_backward.S: Likewise.
3994 * util/import_gcry.py: Remove unused files. Add extra_dist for
3995 ChangeLog.
3996
cf1adfdf
VS
39972012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/gettext/gettext.c (grub_mofile_open): Call
4000 grub_gettext_delete_list before changing grub_gettext_max to avoid
4001 running out of array bounds.
4002
40032012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
4004
4005 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
4006 grub_vga_text_init/grub_vga_text_fini.
4007
cf1adfdf 40082012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
4009
4010 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
4011
541d92e9
VS
40122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 * configure.ac: Bump to 2.00~beta0.
4015
7931dddf
VS
40162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4019 missing initialisation.
4020
f1b16fa3
VS
40212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4024
83ddae23
VS
40252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 Support v2 xnu boot arguments.
4028
4029 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4030 New argument fsbfreq_out.
4031 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4032 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4033 be used.
4034 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4035 darwin_version.
4036 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4037 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4038 (grub_xnu_boot_params): Rename to ...
4039 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4040 (grub_xnu_boot_params_v2): New struct.
4041
dc693fe6
VS
40422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4045 zeroing of CRC field before computing CRC.
4046
5a6e39c2
VS
40472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4050 Change order of allocations to decrease fragmentation.
4051
6c21f5d7
VS
40522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4055
cfe456dc
CW
40562012-02-27 Colin Watson <cjwatson@ubuntu.com>
4057
4058 Use write-combining MTRR to speed up video with buggy BIOSes.
4059
4060 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4061 (cpuid): New define.
4062 (rdmsr): Likewise.
4063 (wrmsr): Likewise.
4064 (mtrr_base): Likewise.
4065 (mtrr_mask): Likewise.
4066 (grub_vbe_enable_mtrr_entry): New function.
4067 (grub_vbe_enable_mtrr): Likewise.
4068 (grub_vbe_disable_mtrr): Likewise.
4069 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4070 control off to BIOS.
4071 (grub_video_vbe_init): Fill mtrr.
4072 (grub_video_vbe_fini): Disable mtrr.
4073 (grub_video_vbe_get_info_and_fini): Likewise.
4074 (grub_video_vbe_setup): Enable mtrr.
4075
e3c78337
CW
40762012-02-27 Colin Watson <cjwatson@ubuntu.com>
4077
4078 * include/grub/partition.h (grub_partition_map): Change prototype of
4079 embed to take a maximum value for nsectors.
4080 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4081 * include/grub/fs.h (grub_fs): Likewise.
4082 * grub-core/partmap/msdos.c (embed_signatures): New array.
4083 (pc_partition_map_embed): Check for and avoid sectors matching any
4084 of the signatures in embed_signatures, up to max_nsectors.
4085 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4086 returned sector map to max_nsectors.
4087 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4088 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4089 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4090 * util/grub-setup.c (setup): Allow for the embedding area being
4091 split into multiple blocklists. Tell dest_partmap->embed the
4092 maximum number of sectors we care about.
4093
40942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4097 Specify blocklist_install and reserver_first_sector for all fs.
4098 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4099 blocklists.
4100
984b973f
VS
41012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * util/grub-install.in: Clarify strings.
4104 Fix source dir check.
4105
f122e0d6
RL
41062012-02-27 Richard Laager <rlaager@wiktel.com>
4107
4108 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4109 "zfs" and "fuse.zfs" as synonyms.
4110
071114bb
VS
41112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * configure.ac: Put platform and target_cpu substitutions back since
4114 they are used for directories.
4115
817e6abc
RL
41162012-02-27 Richard Laager <rlaager@wiktel.com>
41172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4120 * util/grub.d/20_linux_xen.in: Likewise.
4121
897b7419
RL
41222012-02-27 Richard Laager <rlaager@wiktel.com>
4123
4124 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4125 with full paths.
4126
a414bd15
RL
41272012-02-27 Richard Laager <rlaager@wiktel.com>
4128
4129 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4130 unescape.
4131
30ac48c4
VS
41322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 Don't use insecure popen in getroot.
4135
4136 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4137 (exec_pipe): ... here.
4138 (find_root_devices_from_poolname): Use exec_pipe.
4139
53f13848
VS
41402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 Remove platform and target_cpu replacement.
4143
4144 * configure.ac: Remove platform and target_cpu substitutions.
4145 * tests/util/grub-shell.in: Use modinfo.
4146 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4147 explicitly.
4148
90cb2803
VS
41492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 Autodetect platform in grub-install but allow override.
4152
4153 * util/grub-install.in: Autodetect platform. Support --target and
4154 --directory. Read platform from modinfo.sh.
4155
b9136427
VS
41562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 Support btrfs multi-volume probe.
4159
4160 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4161 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4162 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4163 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4164 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4165 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4166 grub_find_root_devices_from_btrfs if on btrfs.
4167
c36e5cd1
VS
41682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 Remove any awareness of *.c util files about target.
4171
4172 * Makefile.util.def (grub-setup): Split to ...
4173 (grub-bios-setup): ... and this.
4174 (grub-sparc64-setup): ... and this.
4175 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4176 * docs/man/grub-setup.h2m: Split into ...
4177 * docs/man/grub-sparc64-setup.h2m: ... this.
4178 * docs/man/grub-bios-setup.h2m: ... and this.
4179 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4180 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4181 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4182 (grub_target_addr_t): Remove.
4183 (grub_target_size_t): Remove.
4184 (grub_target_ssize_t): Remove.
4185 * util/grub-install.in: Use new grub-*-setup.
4186 * util/grub-mkimagexx.c (Elf_Word): New define.
4187 (Elf_Half): Likewise.
4188 (Elf_Section): Likewise.
4189 (ELF_ST_TYPE): Likewise.
4190 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4191 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4192
584b2f8a
VS
41932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 Replace grub_target_addr with more appropriate types.
4196
4197 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4198 grub_target_addr with grub_addr.
4199 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4200 grub_target_addr with grub_port.
4201 (grub_cmd_write): Likewise.
4202 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4203 grub_target_addr with grub_addr.
4204 (grub_cmd_write): Likewise.
4205 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4206
5a0dc6fb
VS
42072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4210 const qualifier for vendor_guid.
4211
786aff6e
VS
42122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4215 const qualifier.
4216 (efiemu_memequal): Likewise.
4217 (find_variable): Likewise.
4218
49017b17
VS
42192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 Fix missing console prototype on qemu-mips.
4222
4223 * include/grub/mips/qemu_mips/console.h: New file.
4224
c5988629
MG
42252012-02-27 Matthew Garrett <mjg@redhat.com>
42262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4229 * include/grub/efi/efi.h: Likewise.
4230 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4231 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4232 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4233 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4234 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4235 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4236
e33f8d69
MG
42372012-02-27 Matthew Garrett <mjg@redhat.com>
4238
4239 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4240
fb312cd9
VS
42412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4244 error.
4245
7134247c
VS
42462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * configure.ac: Remove inappropriate use of program_transform_name
4249 on grubdir and bootdir but allow explicit specification of those
4250 variables.
4251
6a313124
VS
42522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * util/grub-mknetdir.in (grub_prefix): Removed.
4255 (subdir): Use @bootdirname@ and @grubdirname@.
4256
2311c5ca
VS
42572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4260
7d5d60f7
VS
42612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * po/POTFILES.in: Regenerated.
4264
8151bc82
VS
42652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 Remove improper use of program_transform_name on pkglibrootdir.
4268
4269 * configure.ac (pkglibrootdir): Removed.
4270 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4271 * util/grub-mkimage.c: Likewise.
4272
b4a6a533
VS
42732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4276 warning.
4277
668f304f
VS
42782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * util/grub-install.in: Use file identifier if no UUID is available
4281 or user explicitly prompted for it.
4282
665f2341
NP
42832012-02-27 Navdeep Parhar <nparhar@gmail.com>
4284
4285 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4286 (freebsd_get_zfs): New function.
4287 (grub_freebsd_boot): Pass zfs UUID.
4288 (grub_cmd_freebsd): Set zfs UUID.
4289
8151bc82 42902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4291
4292 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4293 pkglibrootdir.
4294
e4c498a1
MG
42952012-02-27 Mike Gilbert <floppym@gentoo.org>
4296
4297 Add configure flag to control libzfs integration.
4298
4299 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4300
1e9a9a3f
VS
43012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4304 device.
4305 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4306 small devices.
4307
036985b8
VS
43082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4311 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4312 be used on non-modules.
4313
4314 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4315 Rename to grub_boot_init.
4316 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4317 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4318 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4319 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4320 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4321 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4322 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4323 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4324 includes.
4325 (grub_machine_init): Remove empty inits.
4326 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4327 includes.
4328 (grub_machine_init): Remove empty inits.
4329 * grub-core/term/arc/console.c: Remove explicit proto.
4330 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4331 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4332 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4333 grub_at_keyboard_fini.
4334 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4335 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4336 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4337 grub_gfxterm_fini.
4338 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4339 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4340 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4341 grub_vgatext_fini.
4342 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4343 * grub-core/term/serial.c (GRUB_MOD_INIT)
4344 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4345 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4346 grub_serial_fini.
4347 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4348 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4349 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4350 grub_terminfo_fini.
4351 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4352 (GRUB_MOD_FINI): Likewise.
4353 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4354 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4355 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4356 grub_video_radeon_fuloong2e_fini.
4357 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4358 [LOONGSON]: Rename to grub_video_sis315pro_init.
4359 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4360 grub_video_sis315pro_fini.
4361 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4362 [LOONGSON]: Rename to grub_video_sm712_init.
4363 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4364 grub_video_sm712_fini.
4365 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4366 (grub_at_keyboard_fini): Likewise.
4367 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4368 Don't declare grub_{modname}_init.
4369 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4370 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4371 New proto.
4372 (grub_keylayouts_fini) [!EMU]: Likewise.
4373 * include/grub/serial.h (grub_serial_init) [!EMU]:
4374 New proto.
4375 (grub_serial_fini) [!EMU]: Likewise.
4376 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4377 New proto.
4378 (grub_terminfo_fini) [!EMU]: Likewise.
4379 * include/grub/video.h (grub_font_init) [!EMU]:
4380 New proto.
4381 (grub_font_fini) [!EMU]: Likewise.
4382 (grub_gfxterm_init) [!EMU]: Likewise.
4383 (grub_gfxterm_fini) [!EMU]: Likewise.
4384 (grub_video_sm712_init) [!EMU]: Likewise.
4385 (grub_video_sm712_fini) [!EMU]: Likewise.
4386 (grub_video_sis315pro_init) [!EMU]: Likewise.
4387 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4388 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4389 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4390
d5534665
VS
43912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Make nand a prefix for nand devices.
4394
4395 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4396
10133b5f
VS
43972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4400 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4401
8e307a62
VS
44022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * include/grub/env.h (grub_env_find): Remove prototype.
4405 * grub-core/kern/env.c (grub_env_find): Make static.
4406 (grub_env_set): Remove useless set.
4407
a4c65f34
VS
44082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/kern/i386/realmode.S: Remove useless align.
4411
d87893d5
VS
44122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * include/grub/dl.h (grub_dl_load_file): Don't export.
4415
50159add
VS
44162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4419 grub_dprintf.
4420
b2582b84
VS
44212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4424 grub_errors.
4425 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4426 not reloading whole superblock but only the part which is really needed.
4427 Remove useless grub_errors.
4428 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4429 grub_errors.
4430
e2a83395
VS
44312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 Don't export grub_get_rtc.
4434
4435 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4436 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4437
e7d2a906
VS
44382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4441
6cf1363b
VS
44422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4445 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4446
eece3349
VS
44472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 Remove prio_list.
4450
4451 * include/grub/list.h (grub_prio_list): Removed.
4452 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4453 GRUB_COMMAND_PRIO_MASK.
4454 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4455 GRUB_COMMAND_FLAG_ACTIVE.
4456 (grub_prio_list_insert): Removed.
4457 (grub_prio_list_remove): Likewise.
4458 (GRUB_AS_PRIO_LIST): Likewise.
4459 (GRUB_AS_PRIO_LIST_P): Likewise.
4460 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4461 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4462 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4463 * grub-core/kern/command.c (grub_register_command_prio): Inline
4464 the prio_list code.
4465 (grub_unregister_command): Likewise.
4466
94f064b4
VS
44672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 Fix interrupt mixup from previous commit.
4470
4471 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4472 (grub_realidt): New var.
4473 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4474 Load idt.
4475 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4476 New declaration.
4477 (grub_relocator16_boot): Set grub_relocator16_idt.
4478 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4479 (LOCAL(realidt)): ... this.
4480 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4481 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4482 (grub_realidt): New variable.
4483
27317084
VS
44842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4487 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4488 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4489 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4490 Gettextize.
4491 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4492 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4493 * po/POTFILES.in: Regenerate.
4494
47b40053
VS
44952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4498 errors.
4499
2b343101
VS
45002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4503 \0.
4504 (add_length): Likewise.
4505
ff27c3dd
LK
45062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
45072012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4508
4509 GDB serial and backtrace support.
4510
4511 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4512 (prot_to_real): Likewise.
4513 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4514 * grub-core/Makefile.core.def (backtrace): New module.
4515 (gdb): Likewise.
4516 * grub-core/gdb/cstub.c: New file.
4517 * grub-core/gdb/gdb.c: Likewise.
4518 * grub-core/gdb/i386/idt.c: Likewise.
4519 * grub-core/gdb/i386/machdep.S: Likewise.
4520 * grub-core/gdb/i386/signal.c: Likewise.
4521 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4522 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4523 * include/grub/backtrace.h: Likewise.
4524 * include/grub/gdb.h: Likewise.
4525 * include/grub/i386/gdb.h: Likewise.
4526
45272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4528
4529 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4530 New function.
4531 (add_length): Likewise.
4532 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4533 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4534 proto.
4535 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4536 __argp_get_display_len.
4537
ff27c3dd 45382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4539
4540 $"..." support in scripts.
4541
4542 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4543 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4544 * grub-core/script/yylex.l: Likewise.
4545 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4546 value.
4547
ff27c3dd 45482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4549
4550 * gentpl.py: Remove obsolete pkglib_DATA handling.
4551
ff27c3dd 45522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4553
4554 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4555 mailing list.
4556
4557 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4558 * util/grub-kbdcomp.in: Likewise.
4559 * util/grub-mkconfig.in: Likewise.
4560 * util/grub-mkconfig_lib.in: Likewise.
4561 * util/grub-mknetdir.in: Likewise.
4562 * util/grub-mkrescue.in: Likewise.
4563 * util/grub-mkstandalone.in: Likewise.
4564 * util/grub-reboot.in: Likewise.
4565 * util/grub-set-default.in: Likewise.
4566 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4567
ff27c3dd 45682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4569
4570 Remove GRUB_PREFIX.
4571
4572 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4573 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4574 used for backward compatibility.
4575
ff27c3dd 45762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4577
4578 Add new all_video module.
4579
4580 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4581 * grub-core/Makefile.core.def (all_video): New module.
4582 * grub-core/genmoddep.awk: Generate dependency of all_video from
4583 video.lst.
4584 * grub-core/lib/fake_module.c: New file.
4585 * grub-core/normal/main.c (features): Add feature_all_video_module.
4586 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4587 don't do explicit search again.
47454da5 4588 insmod all_video in load_video if available.
22c7ce85 4589
ff27c3dd 45902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4591
4592 Another round of string clarification and adding TRANSLATORS comments.
4593
ff27c3dd 45942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4595
4596 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4597
ff27c3dd 45982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4599
4600 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4601 to grub_ssize_t.
4602 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4603 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4604
ff27c3dd 46052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4606
4607 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4608 trailing newline implicitly. All users updated.
4609
ff27c3dd 46102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4611
4612 Implement serial on IEEE1275 and EFI.
4613
4614 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4615 on emu. Mention arc and emu as the only platforms without serial
4616 support.
4617 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4618 ieee1275 platforms.
4619 * grub-core/term/efi/serial.c: New file.
4620 * grub-core/term/ieee1275/serial.c: Likewise.
4621 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4622 specification if no ns8250 driver is available.
4623 (grub_cmd_serial): Likewise.
4624 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4625 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4626 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4627 (grub_efi_parity_type_t): New type.
4628 (grub_efi_stop_bits_t): Likewise.
4629 (grub_efi_serial_io_interface): New struct.
4630 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4631 available for all interfaces.
4632 Add EFI and IEEE1275 fields.
4633 (grub_ofserial_init): New proto.
4634 (grub_efiserial_init): Likeiwse.
4635 * util/grub.d/00_header.in: Don't check for the presence of serial
4636 module.
4637
ff27c3dd 46382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
4639
4640 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4641 name as if it was an alias.
4642
114076ef
VS
46432012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/commands/lsacpi.c (options): Fix typo.
4646
6a656b0e
VS
46472012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 Convert grub-emu to argp.
4650
4651 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4652 emu.
4653 * util/argp_common.c: Rename to ...
4654 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4655 Add missing includes.
4656 * grub-core/kern/emu/main.c: Convert to argp.
4657 * po/POTFILES.in: Regenerate.
4658 * util/grub-install.in (usage): Make first letter lowcase in messages
4659 for uniformity.
4660 * util/grub-setup.c (options): Likewise.
4661
1e3f8ae8
VS
46622012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4665 Put back accidently commented-out code.
4666
ed167a80
VS
46672012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4670 loop check using Brent algorithm.
4671 (grub_hfsplus_btree_search): Likewise.
4672
6753c0ec
VS
46732012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * util/grub-install.in: Fix usage of wrong device for PreP install.
4676
4e27343f
VS
46772012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * conf/Makefile.common (CFLAGS_GNULIB): Add
4680 -Wno-unsafe-loop-optimizations.
4681 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4682 on tools.
4683 * grub-core/commands/legacycfg.c: Add pragma to skip
4684 -Wunsafe-loop-optimizations.
4685 (check_password_md5_real): Fix loop counter type.
4686 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4687 reading.
4688 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4689 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4690 loop condition.
4691 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4692 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4693 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4694 condition.
4695 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4696 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4697 avoid possible infinite loops.
4698 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4699 and -Wunsafe-loop-optimizations.
4700 * grub-core/script/yylex.l: Likewise.
4701 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4702 (print_glyphs): Avoid infinite loops.
4703 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4704
697f18b0
GS
47052012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4706
4707 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4708 to avoid infinite loop.
4709 (disp_acpi_rsdt_table): Likewise.
4710
274416e8
VS
47112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/font/font.c (grub_font_load): Add support for default
4714 path for fonts ($prefix/fonts).
4715 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4716 for checking if string is a path.
4717 * grub-core/normal/main.c (features): Add feature_default_font_path.
4718 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4719 * util/grub.d/00_header.in: Use default directory if possible.
4720 * util/grub-install.in: Install unicode.pf2.
4721
b3e08622
VS
47222012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4725 * po/Rules-swiss: New file.
4726 * po/swiss.sed: Likewise.
4727
fe42ce09
VS
47282012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/fs/btrfs.c (find_device): Fix typos.
4731 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4732 * util/grub-mkrelpath.c (argp_parser): Likewise.
4733 Reported by: Yuri Chornoivan.
4734
72f1d065
DO
47352012-02-23 Dalet Omega <daletomega@gmail.com>
4736
4737 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4738 for usual informative messages.
4739
c5884973
DO
47402012-02-23 Dalet Omega <daletomega@gmail.com>
4741
4742 Starfield theme.
4743
4744 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4745 * conf/Makefile.common: Define starfielddir.
4746 * configure.ac: Configure starfield.
4747 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4748 * themes/starfield/README: Likewise.
4749 * themes/starfield/blob_w.png: Likewise.
4750 * themes/starfield/boot_menu_c.png: Likewise.
4751 * themes/starfield/boot_menu_e.png: Likewise.
4752 * themes/starfield/boot_menu_n.png: Likewise.
4753 * themes/starfield/boot_menu_ne.png: Likewise.
4754 * themes/starfield/boot_menu_nw.png: Likewise.
4755 * themes/starfield/boot_menu_s.png: Likewise.
4756 * themes/starfield/boot_menu_se.png: Likewise.
4757 * themes/starfield/boot_menu_sw.png: Likewise.
4758 * themes/starfield/boot_menu_w.png: Likewise.
4759 * themes/starfield/slider_c.png: Likewise.
4760 * themes/starfield/slider_n.png: Likewise.
4761 * themes/starfield/slider_s.png: Likewise.
4762 * themes/starfield/src/blob_nw.xcf: Likewise.
4763 * themes/starfield/src/bootmenu/: Likewise.
4764 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4765 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4766 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4767 * themes/starfield/src/slider_c.xcf: Likewise.
4768 * themes/starfield/src/slider_n.xcf: Likewise.
4769 * themes/starfield/src/slider_s.xcf: Likewise.
4770 * themes/starfield/src/terminalbox/: Likewise.
4771 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4772 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4773 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4774 * themes/starfield/starfield.png: Likewise.
4775 * themes/starfield/terminal_box_c.png: Likewise.
4776 * themes/starfield/terminal_box_e.png: Likewise.
4777 * themes/starfield/terminal_box_n.png: Likewise.
4778 * themes/starfield/terminal_box_ne.png: Likewise.
4779 * themes/starfield/terminal_box_nw.png: Likewise.
4780 * themes/starfield/terminal_box_s.png: Likewise.
4781 * themes/starfield/terminal_box_se.png: Likewise.
4782 * themes/starfield/terminal_box_sw.png: Likewise.
4783 * themes/starfield/terminal_box_w.png: Likewise.
4784 * themes/starfield/theme.txt: Likewise.
4785
17d73325
VS
47862012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * util/grub.d/00_header.in: Add missing export theme.
4789
dbebaf92
VS
47902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4793 already included.
4794 Reported by: Eren D.
4795
3d68bffb
VS
47962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * conf/Makefile.common (grubdatadir): Removed.
4799 (Makefile.am): Move eveything grubdata to pkgdata.
4800
4b59234d
VS
48012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * grub-core/commands/acpihalt.c (get_sleep_type):
4804 Remove unused variable.
4805
463dcadc
VS
48062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4807
4808 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4809 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4810 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4811 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4812 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4813 i18n with gettext no-op.
4814 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4815 GRUB_ACPI_OPCODE_STRING_CONST.
4816 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4817 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4818
e5b90c82
VS
48192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * po/POTFILES.in: Regenerate.
4822
2a704ca9
VS
48232012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4826 -Wno-error=missing-noreturn.
4827
84f9d341
VS
48282012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4831 condition to avoid possibly infinite loops.
4832 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4833 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4834
d46683f9
VS
48352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4838 condition to avoid possibly infinite loops.
4839
c44866b2
VS
48402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4843 on show_error.
4844
96790539
VS
48452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4848
1ba7e295
VS
48492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4852
21ffe8f1
VS
48532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * util/bin2h.c (usage): Add missing attribute noreturn.
4856
0ccb6b3c
VS
48572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4860 if the size isn't divisible by 512.
4861
b00d7fb6
VS
48622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 Make list_push and list_remove functions rather than inline functions
4865 to decrease size and avoid aliasing violations.
4866
4867 * include/grub/list.h (grub_list_push): Move to ...
4868 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4869 * include/grub/list.h (grub_list_remove): Move to ...
4870 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4871
9d369087
VS
48722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4875 and -Wunused-result.
4876
af0250d9
VS
48772012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4880 Reported by: Seth Goldberg
4881
aad32b14
VS
48822012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4885
ac96441c
ST
48862012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4887
4888 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4889 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4890 command line.
4891 * docs/grub.texi (Simple configuration): Document
4892 GRUB_CMDLINE_GNUMACH.
4893
48942012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4895
4896 * conf/Makefile.common (platform_SCRIPTS): New variable.
4897 (platform_PROGRAMS): Likewise.
4898 * gentpl.py: Mark *,module and *.image for install.
4899 * grub-core/gdb_grub.in: Add a notice of expected environment.
4900 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4901 (gmodule.pl): Likewise.
4902
ac96441c 49032012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4904
4905 Replace grub_checkkey with grub_getkey_noblock.
4906
4907 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4908 (grub_getkey_noblock): ... this. All users updated.
4909
ac96441c 49102012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4911
4912 * grub-core/kern/emu/console.c: Move to ...
4913 * grub-core/term/emu/console.c: ...here.
4914 (grub_ncurses_getkey): Fix return value if no key is detected.
4915
e51b5666
VS
49162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4919 (grub_unit_test_fini): Likewise.
4920 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4921
49222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * include/grub/test.h (GRUB_UNIT_TEST)
4925
d9a62292
VS
49262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4929 Better error handling.
4930 (grub_script_return): Likewise.
4931 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4932
77c9182f
VS
49332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4936 rimplicit redifinition.
4937
edb13cf9
VS
49382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4941 GRUB.
4942
a9e9dc7c
VS
49432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4946 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4947 prompt here.
4948
b4ba8e02
VS
49492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4952 as GRUB_ERR_BUG. Don't malloc if no device is available.
4953
dded5540
VS
49542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4957 Mark calling with invalid term as GRUB_ERR_BUG.
4958
0cf69874
VS
49592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4962 packets rather than raising an error.
4963
59bfe502
VS
49642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4967 in if.
4968
db5fc596
VS
49692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4972 diagnostic to dprintf.
4973 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4974
e4b7f404
VS
49752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4978 device name.
4979
e7b02f9e
VS
49802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4983 (grub_ntfs_iterate_dir): Likewise.
4984
0331e102
VS
49852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Efiemu stylistic fixes and gettext.
4988
4989 * grub-core/efiemu/i386/loadcore32.c
4990 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4991 * grub-core/efiemu/i386/loadcore64.c
4992 (grub_arch_efiemu_relocate_symbols64): Likewise.
4993 * grub-core/efiemu/i386/pc/cfgtables.c
4994 (grub_machine_efiemu_init_tables): Likewise.
4995 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4996 (grub_efiemu_loadcore_initXX): Add a filename argument.
4997 All users updated.
4998 Improved error message.
4999 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
5000 Add a filename argument.
5001 All users updated.
5002 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
5003 Reclassify double relocation as GRUB_ERR_BUG.
5004
306fc074
VS
50052012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
5008 handling.
5009
794d8ef2
VS
50102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
5013 on partition.
5014
50152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
5016
5017 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5018
794d8ef2 50192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
5020
5021 Improve string. Gettextize.
5022
78dde88e
VS
50232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5026 utils.
5027 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5028
4786a90f
VS
50292012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5032 [GRUB_UTIL]: New function.
5033 (insert_array) [GRUB_UTIL]: Store partmaps.
5034 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5035 partmaps.
5036 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5037 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5038 (probe_abstraction): Print diskfilter and not raid.
5039 Reported by: Lennart Sorensen
5040
0b6225bd
VS
50412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5044 * util/grub-mkimagexx.c (MASK3): New define.
5045 (add_value_to_slot_20b): Use MASK3.
5046 (add_value_to_slot_21): Likewise.
5047 (relocate_addresses): Fix format specification.
5048 (load_image): Explicitly init symtab_section.
5049
b055f8f6
VS
50502012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5053 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5054
b77c2fb7
VS
50552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5058 on powerpc.
5059 Reported by: Lennart Sorensen
5060
e3ec28ab
VS
50612012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * gentpl.py: Add missing license header.
5064 * docs/grub.texi: Update copyright year.
5065
c8d9ead6
GS
50662012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5067
5068 Source grub-mkconfig_lib from the build directory at build time.
5069 Suggested by: Vladimir Serbinenko.
5070
5071 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5072 * util/grub-install.in: Define pkgdatadir if not already set, and source
5073 grub-mkconfig_lib from there.
5074 * util/grub-kbdcomp.in: Likewise.
5075 * util/grub-mkconfig.in: Likewise.
5076 * util/grub-mknetdir.in: Likewise.
5077 * util/grub-mkrescue.in: Likewise.
5078 * util/grub-mkstandalone.in: Likewise.
5079 * util/grub-reboot.in: Likewise.
5080 * util/grub-set-default.in: Likewise.
5081 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5082
ebcecdf1
VS
50832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 Increase warning level.
5086
5087 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5088 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5089 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5090 (TARGET_CFLAGS): Likewise.
5091 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5092 * grub-core/Makefile.core.def (decompressor_xz): Add
5093 -Wno-unreachable-code.
5094 (normal): Add -Wno-redundant-decls.
5095 (xzio): Add -Wno-unreachable-code.
5096 (lzopio): Add -Wno-redundant-decls -Wno-error.
5097 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5098 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5099 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5100 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5101 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5102 * grub-core/kern/i386/coreboot/init.c: Add exception to
5103 -Wsuggest-attribute=noreturn.
5104 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5105 * grub-core/kern/ia64/dl_helper.c: Likewise.
5106 * grub-core/kern/mips/dl.c: Likewise.
5107 * grub-core/kern/sparc64/dl.c: Likewise.
5108 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5109 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5110 (memcmp): Likewise.
5111 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5112 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5113 * grub-core/loader/mips/linux.c: Likewise.
5114 * grub-core/loader/multiboot_elfxx.c: Likewise.
5115 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5116 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5117 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5118 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5119 fixme.
5120 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5121 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5122 Fix prototype.
5123
37bb97fe
VS
51242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5127 address.
5128
29a3550b
VS
51292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5132 Avoid improper use of strings.
5133 (grub_cmd_legacy_initrdnounzip): Likewise.
5134
dfdffd0d
VS
51352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5138 attribute.
5139 (grub_util_info): Likewise.
5140 (grub_util_error): Likewise.
5141
102fae4a
VS
51422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5145 * util/grub-fstest.c (fstest): Likewise.
5146
7e94d044
VS
51472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5150 (grub_md_sha512_real): Likewise.
5151 (grub_util_get_geli_uuid): Likewise.
5152 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5153 (grub_util_biosdisk_open): Fix format specification.
5154 Respect format security.
5155 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5156 (xrealloc): Likewise.
5157 (xasprintf): Likewise.
5158
5ebd9769
VS
51592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * util/import_gcry.py: Include grub/crypto.h in init.c.
5162
495fc8c1
VS
51632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5166 (generate_image): Make prefix a const char *.
5167 Fix format specifications. Respect format security.
5168 Avoid void * arithmetics.
5169 Avoid shadowing.
5170 (argp_parser): Remove unused variable. Respect format security.
5171 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5172 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5173 (count_funcs): Remove unused variable.
5174 (relocate_addresses): Fix format specification.
5175 Disable x86-64 with elf32. Remove unused variables.
5176 (add_fixup_entry): Avoid shadowing.
5177 (make_reloc_section): Fix format specification.
5178 Use assert.
5179 (locate_sections): Fix format specifications.
5180 (load_image): Avoid shadowing.
5181
043c2ea3
VS
51822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5185 Fix format specifications. Respect format security.
5186 Don't translate already translated grub_errmsg.
5187 (argp_parser): Remove unused variable
5188
3ec65a81
VS
51892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5192
a4d9fe4a
VS
51932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5196 (main): Likewise. Use xmalloc. Respect format security.
5197
15b81d49
VS
51982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5201 a const char *.
5202 (argp_parser): Remove unused variable.
5203
31731fc0
VS
52042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5207 (add_pixel): Make static.
5208 (add_font): Likewise.
5209 (write_string_section): Make name and str a const char *.
5210 (write_be16_section): Make name a const char *.
5211 (print_glyphs): Make static.
5212 (write_font_ascii_bitmap): Likewise.
5213 (write_font_width_spec): Likewise.
5214 (write_font_pf2): Likewise.
5215 (argp_parser): Remove unused variable.
5216 Respect format security.
5217 (main): Avoid shadowing. Respect format security.
5218
0809527b
VS
52192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * util/grub-editenv.c (argp_parser): Make static.
5222 (create_envblk_file): Use xmalloc.
5223 (open_envblk_file): Likewise.
5224 Resepect format security.
5225 (set_variables): Respect format security.
5226
45b0c8b7
VS
52272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * util/getroot.c (grub_find_device): Respect format security.
5230 (get_mdadm_uuid): Remove unused variable.
5231 (grub_util_pull_device): Dont call gettext on already translated
5232 grub_errmsg.
5233 (find_system_device): Remove unused variable.
5234 (grub_util_get_grub_dev): Likewise.
5235 (grub_make_system_path_relative_to_its_root): Respect format security.
5236
1b024b4e
VS
52372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * util/grub-fstest.c (execute_command): Make first argument
5240 a const char *.
5241 (read_file): Avoid shadowing.
5242 Reuse underlying error message if device open fails.
5243 (cmd_cmp): Respect format security.
5244 (root): Make const char *.
5245 (fstest): Remove args argument and use global copy.
5246 Respect format security.
5247 (argp_parser): Make static.
5248 (main): Make default_root const char *.
5249
5d1d4e28
VS
52502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * util/grub-mount.c (root): Make const char *.
5253 (execute_command): Make first argument a const char *.
5254 (fuse_init): Respect format security.
5255 (argp_parser): Make static. Remove unused variable.
5256 (main): Make default_root a const char *.
5257 Respect format security.
5258
36eb7379
VS
52592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * util/grub-probe.c (probe): Don't call gettext on already translated
5262 grub_errmsg.
5263 Remove unused variables.
5264 (argp_parser): Remove unused variable.
5265
76fb2ea9
VS
52662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * util/grub-script-check.c (argp_parser): Remove unused variable.
5269 (main): Rename read to curread to avoid shadowing.
5270
56c98584
VS
52712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * util/misc.c (grub_util_write_image_at): Fix format specification.
5274 (grub_util_write_image): Likewise.
5275 (grub_script_execute_argument_to_string): Removed (unused).
5276 (grub_script_execute_menuentry): Likewise.
5277 (grub_putchar): Likewise.
5278
164ebb48
VS
52792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5282 (FUNCTION) [GRUB_UTIL]: Likewise.
5283 (VARIABLE) [GRUB_UTIL]: Likewise.
5284
44318d61
VS
52852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5288 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5289
31a26002
VS
52902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5293 buffer.
5294
52952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5298 (LzmaEnc_SaveState): Removed (unused).
5299 (LzmaEnc_RestoreState): Likewise.
5300 (LzmaEnc_InitPriceTables): Made static.
5301 (LzmaEnc_Construct): Likewise.
5302 (LzmaEnc_FreeLits): Likewise.
5303 (LzmaEnc_Destruct): Likewise.
5304 (LzmaEnc_Init): Likewise.
5305 (LzmaEnc_InitPrices): Likewise.
5306 (LzmaEnc_Finish): Likewise.
5307 (LzmaEnc_PrepareForLzma2): Removed (unused).
5308 (LzmaEnc_MemPrepare): Likewise.
5309 (LzmaEnc_GetNumAvailableBytes): Likewise.
5310 (LzmaEnc_GetCurBuf): Likewise.
5311 (LzmaEnc_CodeOneMemBlock): Likewise.
5312
6fa67967
VS
53132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5316 (grub_util_ldm_embed): Likewise.
5317
9a7428e6
VS
53182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * util/grub-editenv.c (print_var): Rename name to varname to
5321 avoid shadowing.
5322 (main): Rename index to curindex to avoid shadowing.
31a26002 5323 Make filename a const char *.
9a7428e6 5324
4f96abd1
VS
53252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5328 to arg_getline to avoid shadowing.
5329
44d10dad
VS
53302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5333 disk_ to avoid shadowing.
5334
340ba63e
VS
53352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5338 curindex to avoid shadowing.
5339 Make static.
5340 (MatchFinder_GetNumAvailableBytes): Make static.
5341
22965bce
VS
53422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5345 avoid shadowing.
5346
7b5784d4
VS
53472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5350 argument from encrypt to do_encrypt to avoid shadowing.
5351
6f48ca01
VS
53522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5355 incorrect nesting of #if's.
5356
a4ea2dff
VS
53572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5360 checks which are always false on some platforms.
5361 (grub_cmd_lsacpi): Likewise.
5362 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5363 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5364 Likewise.
5365
def9fc1b
VS
53662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5369 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5370
a67b2a04
VS
53712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5374 re_dfa_t to avoid breaking alignment invariants.
5375 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5376 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5377
44c6828d
VS
53782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5381 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5382
bebe0dd0
VS
53832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5386 Fix declaration.
5387
a9cdb3cf
VS
53882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5391 conserve alignment invariants.
5392 (grub_ehci_ehcc_read16): Likewise.
5393 (grub_ehci_oper_read32): Likewise.
5394 (grub_ehci_oper_write32): Likewise.
5395 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5396 Conserve alignment invariants.
5397
ccc3b1b8
VS
53982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5401 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5402 declarations.
5403
987fbd95
VS
54042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5407 Remove unused variable.
5408
0df363f3
VS
54092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5412 Remove set in if.
5413
b2c0c4a6
VS
54142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * include/grub/net.h: Remove double declarations.
5417
690c531f
VS
54182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 Remove "payload" command in ia64 Linux loader since I couldn't
5421 find any evidence of it being used for anything.
5422 Replace "relocate" command with an environment variable
5423
5424 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5425 fields.
5426 (ia64_boot_payload): Removed.
5427 (last_payload): Likewise.
5428 (RELOCATE_OFF): Likewise.
5429 (RELOCATE_ON): Likewise.
5430 (RELOCATE_FORCE): Likewise.
5431 (relocate): Likewise.
5432 (free_pages): Don't free payloads.
5433 (grub_load_elf64): Use common error messages.
5434 Use "linux_relocate" variable.
5435 Increase the space after boot_params.
5436 (grub_cmd_payload): Removed.
5437 (grub_cmd_relocate): Likewise.
5438 (grub_cmd_fpswa): Improve messages.
5439 (cmd_payload): Removed.
5440 (cmd_relocate): Likewise.
5441 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5442 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5443
01783768
VS
54442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 Convert UHCI to DMA framework.
5447
5448 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5449 (grub_uhci_pci_iter): Fill new members
5450 (grub_alloc_td): Use P2V and V2P functions.
5451 (grub_free_queue): Likewise.
5452 (grub_alloc_qh): Likewise.
5453 (grub_uhci_setup_transfer): Likewise.
5454 (grub_uhci_check_transfer): Likewise.
5455
43206939
VS
54562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5459 Remove assignment in if while on it.
5460
571e140e
VS
54612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * util/grub-mkstandalone.in: Fix modules directory.
5464
a9d96eeb
VS
54652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5468 on i386-pc target.
5469 (argp_parser): Accept "auto" as compression specification.
5470
e4e37e8d
VS
54712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 Fix `help' with unloaded modules.
5474
5475 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5476 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5477 (grub_dyncmd_dispatcher): Small stylistic fix.
5478 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5479 explicit help is requested.
5480
e1ea3ade
VS
54812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5484 Explicitly init restart while on it.
5485
27556881
VS
54862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5489 uninited variable.
5490
d65f6b36
VS
54912012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * util/grub-mknetdir.in: Use . rather than source for POSIX
5494 compatibility.
5495
0a1e473c
VS
54962012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5499
ce6647c8
VS
55002012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5503 variable.
5504
66747894
VS
55052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5508 without quotes.
5509
71645f6e
VS
55102012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5513
0e1c1f61
VS
55142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5517 iteration of partitions.
5518
9c4b5c13
VS
55192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Improve gettext support. Stylistic fixes and error handling fixes while
5522 on it.
5523
215c90cb
VS
55242012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5527 part. Instead setup the correct stack in RM.
5528 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5529 for stack.
5530 * include/grub/i386/relocator_private.h: New file.
5531
b5c1f9bf
VS
55322012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5535 argument.
5536 * util/grub-fstest.c (options): Add missing DEVICE part.
5537
b525fd83
VS
55382012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Clarify and unify messages.
5541
5542 * grub-core/commands/hashsum.c (options): Unify messages.
5543 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5544 literal-only message as translatable.
5545 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5546 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5547 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5548 commands.
5549 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5550 key, not the key used to unlock. Clarify what it's used for.
5551 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5552 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5553 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5554 * util/grub-editenv.c (options): Unify "verbose" message.
5555 * util/grub-fstest.c (read_file): Unify error message.
5556 (fstest): Add quotes around commands.
5557 (options): Unify "verbose" message.
5558 * util/grub-install.in: Add quotes around variable name.
5559 * util/grub-kbdcomp.in: Unify error message.
5560 * util/grub-mkfont.c (main): Likewise.
5561 * util/grub-mkrescue.in: Likewise.
5562 * util/grub-mklayout.c (options): Unify "verbose" message.
5563 * util/grub-mkstandalone.in: Unify help and verbose messages.
5564 * util/grub-mount.c (options): Unify "verbose" message.
5565 * util/grub-probe.c (options): Likewise.
5566 * util/grub-script-check.c (options): Likewise.
5567 * util/grub-setup.c (setup): Unify no-terminator message.
5568 (options): Use DEVICE and not DEV.
5569 Unify "verbose" message.
5570 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5571
0ae70393
VS
55722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 Improve and unify messages.
5575
5576 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5577 name. All users updated.
5578 Print filename in error.
5579 (read_device_map): Print filename in error.
5580 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5581 (grub_util_get_os_disk): Likewise.
5582 (grub_util_biosdisk_get_grub_dev): Likewise.
5583 (grub_util_check_block_device): Likewise.
5584 (grub_util_check_char_device): Likewise.
5585 (grub_make_system_path_relative_to_its_root): Likewise.
5586 * util/grub-editenv.c (create_envblk_file): Likewise.
5587 (open_envblk_file): Likewise.
5588 (write_envblk): Likewise.
5589 * util/grub-fstest.c (cmd_cp): Likewise.
5590 (cmd_cat): Likewise.
5591 (cmd_cmp): Likewise.
5592 * util/grub-menulst2cfg.c (main): Likewise.
5593 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5594 (write_font_width_spec): Likewise.
5595 (write_font_pf2): Likewise.
5596 * util/grub-mkimage.c (generate_image): New argument outname.
5597 All users updated.
5598 Remove unreacheable message.
5599 (options): Unify messages.
5600 (help_filter): Likewise.
5601 * util/grub-mklayout.c (usage): Removed (unused).
5602 (main): Print filename in error.
5603 * util/grub-mkrescue.in: Fix wrong quoting.
5604 * util/grub-setup.c (setup): Print filename in error.
5605 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5606 (check_sas): Likewise.
5607 * util/misc.c (grub_util_get_fp_size): Removed.
5608 (grub_util_get_image_size): Print filename in error.
5609 (grub_util_read_at): Removed.
5610 (grub_util_read_image): Print filename in error.
5611 (grub_util_load_image): Likewise.
5612 (grub_util_write_image_at): New argument filename. All users updated.
5613 Print filename in error.
5614 (grub_util_write_image): New argument filename. All users updated.
5615 Print filename in error.
5616 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5617 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5618
0a96117d
VS
56192012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * grub-core/Makefile.core.def (pxechain): New module.
5622 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5623 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5624 function.
5625 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5626 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5627
aca002f7
VS
56282012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5631 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5632 * include/grub/err.h (grub_error_saved): New struct.
5633 (grub_errmsg): Make array size explicit.
5634 * include/grub/misc.h (grub_error_save): New function.
5635 (grub_error_load): Likewise.
5636 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5637 (grub_error_push): Update `errno' member name.
5638 (grub_error_pop): Likewise
5639 * grub-core/net/tftp.c (tftp_data): New member save_err.
5640 (tftp_receive): Save error.
5641 (tftp_open): Restore error.
5642
a51dab13
VS
56432012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5646 to real mode down to execute A20-related code in protected mode as
5647 intended.
5648
eb6e6649
GS
56492012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5650
5651 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5652 NULL when the argument `level' has an unexpected value.
5653
92cd0f6e
VS
56542012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 Move platform-dependent files from $prefix to $prefix/$platform.
5657
5658 * config.h.in (GRUB_TARGET_CPU): New definition.
5659 (GRUB_PLATFORM): Likewise.
5660 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5661 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5662 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5663 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5664 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5665 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5666 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5667 * grub-core/normal/term.c (read_terminal_list): Likewise.
5668 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5669 $prefix/locale.
5670 (grub_gettext_init_ext): Likewise.
5671 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5672 grub_platform.
5673 * util/grub-install.in: Update directories.
5674 * util/grub-mknetdir.in: Likewise.
5675 * util/grub-mkrescue.in: Likewise.
5676
db606889
VS
56772012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5680 grub_error framework. All users updated.
5681
c39992a4
VS
56822012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5685 lists (by always binsearching), improve caching (cache strings
5686 used for binsearch, not only results), improve
5687 maintainability (by using more structured binary search) and correct
5688 error handling.
5689
1e5ec32f
VS
56902012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/script/execute.c (grub_script_return): Fix warning.
5693
ac576cde
VS
56942012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/script/execute.c (grub_script_return): Fix potential
5697 NULL-dereference.
5698 Reported by: Jim Meyering.
5699
498453f6
VS
57002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * po/POTFILES.in: Regenerate.
5703 * util/grub-install.in: Gettextize the strings missed in first pass.
5704
8be63f2e
VS
57052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * Makefile.util.def (grub-mkdevicemap): Removed.
5708 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5709 * include/grub/util/deviceiter.h: Removed.
5710 * util/deviceiter.c: Likewise.
5711 * util/getroot.c (grub_util_get_os_disk): New function.
5712 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5713 replacement for EFI.
5714 * util/grub-mkdevicemap.c: Removed.
5715 * util/grub-probe.c (probe): Handle PRINT_DISK.
5716 (argp_parser): Handle -t disk.
5717
8e1e4e39
VS
57182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * util/grub-mkfont.c: Migrate to argp.
5721 * util/grub-mklayout.c: Likewise.
5722 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5723 * util/grub-mkrelpath.c: Likewise.
5724 * util/grub-probe.c: Likewise.
5725 * util/grub-script-check.c: Likewise.
5726
4459819a
VS
57272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * util/grub-reboot.in: Add missing datarootdir.
5730 Add missing newline.
5731 * util/grub-set-default.in: Add missing datarootdir.
5732 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5733 * util/grub-mkrescue.in: Likewise.
5734
f65741c7
VS
57352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5738
c1a33466
VS
57392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * util/grub-kbdcomp.in: Add decent help and gettextize.
5742 * docs/man/grub-kbdcomp.h2m: New file.
5743
c76899a0
VS
57442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 Migrate grub-mkimage.c to argp.
5747
5748 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5749 (grub-setup): Likewise.
5750 * util/grub-setup.c (print_version): Move to ...
5751 * util/argp_common.c (print_version): ... here.
5752 * util/grub-setup.c (argp_program_version_hook): Move to ...
5753 * util/argp_common.c (argp_program_version_hook): ... here.
5754 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5755 safety.
5756 * util/grub-mkimage.c (main): Migrate to argp.
5757
57db0757
VS
57582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * util/grub-mkrescue.in: Use same message as
5761 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5762 for better translations.
5763
18534ad9
VS
57642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5767 options with generic grub-mkrescue.in with the goal of future
5768 merge.
5769
c84ba308
VS
57702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/kern/mm.c: Add missing include of i18n.h
5773 * grub-core/lib/relocator.c: Likewise.
5774
347998c2
VS
57752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5778 error.
5779 (allocate_pages): Check return value.
5780 Replace fatal with error.
5781 (grub_linux_boot): Replace printf with dprintf.
5782 Check find_mmap_size return value.
5783 Replace fatal with error.
5784 Don't call grub_machine_fini.
5785 (grub_load_elf64): Replace printf with dprintf.
5786 (grub_cmd_linux): Likewise.
5787 (grub_cmd_initrd): Likewise.
5788 (grub_cmd_payload): Likewise.
5789
c779226e
VS
57902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5793 message.
5794 * grub-core/video/radeon_fuloong2e.c
5795 (grub_video_radeon_fuloong2e_setup): Likewise.
5796 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5797 * grub-core/video/video.c (grub_video_set_mode): Don't override
5798 standard out of memory message.
5799
dc87d45a
GS
58002012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5801
5802 NetBSD disk wedge support.
5803
5804 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5805 [__NetBSD__]: Handle NetBSD disk wedges.
5806 * util/getroot.c (convert_system_partition_to_system_disk)
5807 [__NetBSD__]: Likewise.
5808
055f856f
MW
58092012-02-03 Mark Wooding <mdw@distorted.org.uk>
5810
5811 * util/grub-mkconfig.in: Use umask rather than chmod to create
5812 grub.cfg.new to avoid insecure grub.cfg.
5813
4a9f8346
VS
58142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * grub-core/commands/ls.c: Gettextize.
5817 * grub-core/commands/setpci.c: Likewise.
5818 * grub-core/commands/videotest.c: Likewise.
5819 * grub-core/disk/geli.c: Likewise.
5820 * grub-core/kern/mm.c: Likewise.
5821 * grub-core/lib/relocator.c: Likewise.
5822 * grub-core/loader/efi/appleloader.c: Likewise.
5823 * grub-core/loader/i386/xnu.c: Likewise.
5824 * grub-core/loader/ia64/efi/linux.c: Likewise.
5825 * grub-core/loader/xnu.c: Likewise.
5826 * grub-core/net/dns.c: Likewise.
5827 * grub-core/net/net.c: Likewise.
5828 * grub-core/script/lexer.c: Likewise.
5829 * grub-core/script/parser.y: Likewise.
5830 * grub-core/script/yylex.l: Likewise.
5831 * util/getroot.c: Likewise.
5832 * util/grub-setup.c: Likewise.
5833
a646a366
VS
58342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5837 number.
5838
54e2be26
VS
58392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5842
f7c71e68
VS
58432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5846 macro.
5847 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5848 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5849
a32d5c71
VS
58502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5853 * util/grub-install.in: Gettextize.
5854 * util/grub-mkconfig.in: Likewise.
5855 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5856 if not available.
5857 (grub_warn): Gettextize.
5858 * util/grub-mknetdir.in: Gettextize.
5859 * util/grub-mkrescue.in: Likewise.
5860 * util/grub-mkstandalone.in: Likewise.
5861 * util/grub-reboot.in: Likewise.
5862 * util/grub-set-default.in: Likewise.
5863 * util/grub.d/00_header.in: Likewise.
5864 * util/grub.d/10_hurd.in: Likewise.
5865 * util/grub.d/10_kfreebsd.in: Likewise.
5866 * util/grub.d/10_linux.in: Likewise.
5867 * util/grub.d/10_netbsd.in: Likewise.
5868 * util/grub.d/10_windows.in: Likewise.
5869 * util/grub.d/20_linux_xen.in: Likewise.
5870 * util/grub.d/30_os-prober.in: Likewise.
5871 * po/POTFILES-shell.in: Regenerate.
5872
69edd81a
RL
58732012-02-03 Richard Laager <rlaager@wiktel.com>
5874
5875 * util/grub-mkimage.c (main): Fix format-security warning.
5876 * util/grub-mkrelpath.c (main): Likewise.
5877 * util/grub-probe.c (main): Likewise.
5878
65f08dbf
RL
58792012-02-03 Richard Laager <rlaager@wiktel.com>
5880
5881 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5882 failure.
5883 Put back lost PRINT_DRIVE.
5884
e9084abe
RL
58852012-02-03 Richard Laager <rlaager@wiktel.com>
5886
5887 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5888 (grub_guess_root_devices): Replace strlen with sizeof.
5889 Avoid crash.
5890 (find_root_devices_from_poolname): Remove unused variable.
5891 Handle raidzN.
5892
cf5f7ee7
VS
58932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 Support install on multi-device filesystems.
5896
5897 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5898 (grub_guess_root_devices): ...this. Return char **. All users updated.
5899 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5900 Removed.
5901 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5902 (find_root_devices_from_poolname): ... here.
5903 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5904 Support zfs-fuse.
5905 (grub_guess_root_device): Rename to ...
5906 (grub_guess_root_devices): ... this. Return char **. All users updated.
5907 * util/grub-install.in: Handle multi-device filesystems.
5908 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5909 argument. All users updated.
5910 Handle multi-device filesystems.
5911 Use 'delim' as separator.
5912 Remove device check to allow filesystems on file.
5913 (main): Support -0 argument. Handle multi-device.
5914 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5915 Fix a cross-device check while on it.
5916 (arguments): Remove root_dev.
5917 (argp_parser): Remove -r.
5918 (main): Remove root_dev.
5919
2f53a9ed
VS
59202012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5923
17e1d934
VS
59242012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5927 symbol.
5928 Reported by: NODA, Kai <nodakai>.
5929
d3e3fab5
VS
59302012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 Fix ehci on amd64.
5933
5934 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5935 pointers.
5936 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5937 (grub_ehci_setup_qh): Likewise.
5938 (grub_ehci_find_qh): Likewise.
5939 (grub_ehci_transaction): Likewise.
5940 (grub_ehci_setup_transfer): Likewise.
5941 (grub_ehci_check_transfer): Likewise.
5942 (grub_ehci_portstatus): Likewise.
5943 (grub_ehci_detect_dev): Likewise.
5944 (grub_ehci_transfer_controller_data): New field td_last_phys.
5945 (grub_ehci_setup_transfer): Fill td_last_phys.
5946 (grub_ehci_check_transfer): Use td_last_phys.
5947
3008675b
SG
59482012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5949
5950 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5951 if no submenu is present.
5952
fc9b5652
AN
59532012-02-01 Aleš Nesrsta <starous@volny.cz>
5954
5955 CBI support.
5956
5957 * include/grub/usb.h (grub_usbms_protocol_t): New values
5958 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5959 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5960 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5961 (grub_usbms_dev): Add subclass, protocol and intrpt.
5962 Remove in_maxsz and out_maxsz.
5963 (grub_usbms_reset): Rename to ...
5964 (grub_usbms_bo_reset): .. this.
5965 (grub_usbms_cbi_cmd): New function.
5966 (grub_usbms_cbi_reset): Likewise.
5967 (grub_usbms_reset): Likewise.
5968 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5969 (grub_usbms_transfer): Rename to ...
5970 (grub_usbms_transfer_bo): ... this.
5971 (grub_usbms_transfer_cbi): Likewise.
5972 (grub_usbms_transfer): Likewise.
5973
a2b81d53
AN
59742012-02-01 Aleš Nesrsta <starous@volny.cz>
59752012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5978 the support for the CS5536 modification thereos and few bugfixes.
5979
5980 * grub-core/Makefile.core.def (ehci): New module.
5981 * grub-core/bus/usb/ehci.c: New file.
5982 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5983 port and hubaddr. All users updated.
5984 Save port and hubaddr into dev structure.
5985 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5986 define.
5987 * include/grub/pci.h (grub_dma_phys2virt): New function.
5988 (grub_dma_virt2phys): Likewise.
5989 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5990
b1d51f02
VS
59912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5994 check as some mkfs implementations omit it.
5995
fc694106
VS
59962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5999
6c0920e3
VS
60002012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
6003 Add new member volname2.
6004 (grub_jfs_label): Use volname2 if available.
6005
d1a46f9a
VS
60062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
6009 over last_mounted as seen in image generated by mkfs.nilfs2.
6010 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
6011
dec8ed14
VS
60122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
6015 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6016 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6017
7397c69b
VS
60182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6021 over the sector.
6022
b3fe42ad
VS
60232012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6026 subvolume name (by removing a bogus and useless check).
6027
10476bb0
VS
60282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6031 sizeof while on it.
6032
9c08ad87
VS
60332012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6036 (grub_scsi_read_capacity10): ... this.
6037 (grub_scsi_read_capacity16): New function.
6038 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6039 0xffffffff.
6040 Fix off-by-one error.
6041 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6042 64-bit unsigned.
6043 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6044 (grub_scsi_read_capacity10): ... this.
6045 (grub_scsi_read_capacity_data): Rename to ...
6046 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6047 (grub_scsi_read_capacity16): New struct.
6048 (grub_scsi_read_capacity16_data): Likewise.
6049 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6050 grub_scsi_cmd_read_capacity10.
6051 New command grub_scsi_cmd_read_capacity16.
6052
bc8d0f45
VS
60532012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 SCSI >2TiB support.
6056
6057 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6058 (grub_scsi_write16): Likewise.
6059 (grub_scsi_read): Use read16 when necessary.
6060 (grub_scsi_write): Likewise.
6061 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6062 (grub_scsi_write16): Likewise.
6063 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6064
cc774926
VS
60652012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 SCSI write support (for usbms mainly).
6068
6069 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6070 a const pointer.
6071 (grub_scsi_write): Implement.
6072 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6073
67639fd7
VS
60742012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6077 variable.
6078
9079d3ed
VS
60792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6082
c6a6f204
VS
60832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 * po/POTFILES.in: Regenerate.
6086
ecbf8cd1
VS
60872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6090 with grub_printf to avoid unnecessary fatal failure.
6091
0b3b3b38
VS
60922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6095 (INT_MAX): Likewise.
6096 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6097 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6098 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6099 (strcpy): Likewise.
6100 (strstr): Likewise.
6101 (strchr): Likewise.
6102 (strncpy): Likewise.
6103 (strcat): Likewise.
6104 (strncat): Likewise.
6105 (strcoll): Likewise.
6106 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6107 (GRUB_INT_MAX): Likewise.
6108
db7337a3
VS
61092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6112 unexpected error.
6113 (optimize_utf8): Likewise.
6114 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6115
f37c87e1
VS
61162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/boot/i386/pc/lnxboot.S: Use
6119 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6120 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6121 location.
6122 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6123 definition.
6124 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6125
63fe43f3
VS
61262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6129 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6130 now to avoid double free.
6131 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6132 hostdisk.
6133 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6134 * util/grub-probe.c (escape_of_path): Always return a new copy.
6135 (print_full_name): Escape path.
6136 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6137 Fix hints on abstractions.
6138
ebe2c961
VS
61392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6142 Don't add "root" line if no compatibility hont is available.
6143 Suggested by: Seth Goldberg.
6144
2b5336a2
VS
61452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6148 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6149 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6150 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6151
74310bd8
VS
61522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6155
c30582ba
VS
61562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * util/grub-pe2elf.c (ehdr): Make static.
6159 (shdr): Likewise.
6160 (num_sections): Likewise.
6161 (offset): Likewise.
6162
5f47782c
VS
61632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 Eliminate ofpath limits and possible overflows.
6166
6167 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6168 (OF_PATH_MAX): Removed.
6169 (MAX_DISK_CAT): New const.
6170 (find_obppath): Use allocated rather than preallocated buffer.
6171 Return result. Argument of_path removed. All users updated.
6172 Add missing fdstat.
6173 (xrealpath): New function.
6174 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6175 Allocate rather than use preallocated buffer. All users updated.
6176 (__of_path_common): Use allocated rather than preallocatecd buffer.
6177 Return result. Argument of_path removed. All users updated.
6178 (vendor_is_ATA): Read only needed part form the file.
6179 (check_sas): Allocate depending on contents rather than fixed.
6180 (main) [STANDALONE]: Handle NULL result.
6181
f990cbf9
VS
61822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6185
9c6e84b8
VS
61862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Cryptodisk write support.
6189
6190 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6191 (grub_cryptodisk_decrypt): Moved logic to ...
6192 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6193 (grub_cryptodisk_write): Implement.
6194 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6195 (grub_util_fd_write): ... this. Make global.
6196 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6197
87cf9744
VS
61982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * include/grub/list.h (grub_list_remove): Don't crash if element is
6201 removed twice.
6202
ca8c0baf
VS
62032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 Rename ofconsole to console.
6206
6207 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6208 as sysnonym to console.
6209 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6210 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6211 Rename grub_ofconsole_ to grub_console_. All users updated
6212 (grub_console_term_output): Rename "ofconsole" to "console".
6213 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6214 as "console".
6215
64c8b8f6
VS
62162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6219 handling.
6220 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6221 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6222 GRUB_DISK_DEVICE_FILE_ID.
6223
f6c434d5
VS
62242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6227 and improve performance.
6228
5858b42d
VS
62292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6232 missing ieee1275/ prefix on whole disk.
6233
4ed3c26b
VS
62342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6237 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6238
df71143e
VS
62392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6242
076e7c0f
VS
62432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 Merge common RAID and LVM logic to an abstract diskfilter.
6246 Add LDM support using the same framework.
6247
6248 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6249 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6250 (libgrubmods): Remove grub-core/disk/raid.c and
6251 grub-core/partmap/gpt.c.
6252 * grub-core/Makefile.core.def (ldm): New module.
6253 (raid): Renamed to diskfilter. All users updated.
6254 * grub-core/disk/raid.c: Moved to ...
6255 * grub-core/disk/diskfilter.c: ... here.
6256 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6257 (lv_num): New var.
6258 (find_array): Renamed to ...
6259 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6260 (grub_is_array_readable): Renamed to ...
6261 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6262 (insert_array): New argument id.
6263 (is_node_readable): New function.
6264 (scan_device): Rename to ...
6265 (scan_disk): .. this. Restrict to one disk.
6266 (scan_devices): New function.
6267 (grub_diskfilter_iterate): Support multi-LV.
6268 Skip invisible and nameless LVs.
6269 (grub_diskfilter_memberlist): Support multi-LV.
6270 (grub_diskfilter_read_node): New function.
6271 (grub_raid_read): Most of logic moved to ...
6272 (read_segment): ... here
6273 (read_lv): New function.
6274 (grub_diskfilter_get_vg_by_uuid): New function.
6275 (grub_diskfilter_make_raid): Likewise.
6276 * grub-core/disk/ldm.c: New file.
6277 * grub-core/disk/lvm.c (vg_list): Removed.
6278 (lv_count): Likewise.
6279 (scan_depth): Likewise.
6280 (is_lv_readable): Likewise.
6281 (grub_lvm_getvalue): Advance pointer past the number.
6282 (find_lv): Removed.
6283 (do_lvm_scan): Refactored into ...
6284 (grub_lvm_detect): ... this. Support raid.
6285 (grub_lvm_iterate): Removed.
6286 (grub_lvm_memberlist): Likewise.
6287 (grub_lvm_open): Likewise.
6288 (grub_lvm_close): Likewise.
6289 (read_lv): Likewise.
6290 (read_node): Likewise.
6291 (is_node_readable): Likewise.
6292 (is_lv_readable): Likewise.
6293 (grub_lvm_read): Likewise.
6294 (grub_lvm_write): Likewise.
6295 (grub_lvm_dev): Use diskfilter
6296 (GRUB_MOD_INIT): Likewise.
6297 (GRUB_MOD_FINI): Likewise.
6298 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6299 new interface.
6300 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6301 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6302 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6303 grub_diskfilter_read_node.
6304 Fix a bug with xor.
6305 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6306 grub_diskfilter_read_node.
6307 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6308 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6309 (grub_disk_dev_iterate): Move from here...
6310 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6311 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6312 Make global.
6313 (grub_hostdisk_find_partition_start): Likewise.
6314 (grub_hostdisk_os_dev_to_grub_drive): New function.
6315 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6316 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6317 * util/getroot.c (make_device_name): ... here.
6318 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6319 Move to ...
6320 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6321 * grub-core/kern/emu/hostdisk.c
6322 (convert_system_partition_to_system_disk): Move to ...
6323 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6324 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6325 * util/getroot.c (device_is_wholedisk): ... here.
6326 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6327 * util/getroot.c (find_system_device): ... here.
6328 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6329 Move to ...
6330 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6331 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6332 Move to ...
6333 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6334 Handle LDM.
6335 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6336 Move to ...
6337 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6338 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6339 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6340 DISKFILTER.
6341 * include/grub/raid.h: Renamed to ...
6342 * include/grub/diskfilter.h: ... this.
6343 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6344 (GRUB_RAID_LAYOUT_*): Make into array.
6345 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6346 (grub_diskfilter_vg): New struct.
6347 (grub_diskfilter_pv_id): Likewise.
6348 (grub_raid_member): Removed.
6349 (grub_raid_array): Likewise.
6350 (grub_diskfilter_pv): New struct.
6351 (grub_diskfilter_lv): Likewise.
6352 (grub_diskfilter_segment): Likewise.
6353 (grub_diskfilter_node): Likewise.
6354 (grub_diskfilter_get_vg_by_uuid): New proto.
6355 (grub_raid_register): Inline.
6356 (grub_diskfilter_unregister): Likewise.
6357 (grub_diskfilter_make_raid): New proto.
6358 (grub_diskfilter_vg_register): Likewise.
6359 (grub_diskfilter_read_node): Likewise.
6360 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6361 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6362 (grub_util_is_ldm): Likewise.
6363 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6364 (grub_hostdisk_find_partition_start): Likewise.
6365 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6366 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6367 New definition.
6368 (grub_gpt_partition_map_iterate): New proto.
6369 * include/grub/lvm.h (grub_lvm_vg): Removed.
6370 (grub_lvm_pv): Likewise.
6371 (grub_lvm_lv): Likewise.
6372 (grub_lvm_segment): Likewise.
6373 (grub_lvm_node): Likewise.
6374 * util/getroot.c [...]
6375 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6376 (probe_abstraction): Likewise.
6377 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6378 (main): Remove dead logic.
6379
8a7f9b9c
VS
63802012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 Simplify root device discover and don't fail when trying to open
6383 incorrect devices.
6384
6385 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6386 function.
6387 (get_diskname_from_path): Likewise.
6388 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6389 of iterating.
6390
30545b85
VS
63912012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6394
28ea58cf
VS
63952012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6398 pastthe end.
6399
692dabca
VS
64002012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * util/grub-install.in: Add missing \.
6403 Reported by: gentoofan
6404
f6e4ea70
VS
64052012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6408 (direct_read): Use correct compressed size.
6409 (grub_squash_read_data): Likewise.
6410
64112012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6412
6413 * docs/grub.texi (Platform limitations): New section.
6414 (Platform-specific operations): Likewise.
6415 * docs/grub-dev.texi (Porting): Likewise.
6416
76261110
VS
64172012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 IEEE1275 disk write support.
6420
6421 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6422 const void *.
6423 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6424 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6425 and seek loginc to ...
6426 (grub_ofdisk_prepare): ... here.
6427 (grub_ofdisk_write): Implement.
6428
fc36d603
VS
64292012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 ARC disk write support.
6432
6433 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6434 (reopen): New argument writable. All users updated.
6435 Handle required access mode.
6436 (grub_arcdisk_write): Implement.
6437 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6438 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6439
e06c2e7a
VS
64402012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6443 (read_sblock): Don't attempt to read superblocks outside the disk size.
6444
ff447958
VS
64452012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6448 first superblock to find the second one when possible.
6449
9e88df39
VS
64502012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * util/grub-install.in: Fix an ARC bug.
6453 Print a warning if no platform-specific setup is available.
6454
bb26e4ff
VS
64552012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 Use static allocation rather than scratch pointer in reed_solomon.
6458 It decreases its size significantly and avoids a variable in .text.
6459
6460 * grub-core/lib/reed_solomon.c (scratch): Removed.
6461 (chosenstat): New const or static array.
6462 (sigma): Likewise.
6463 (errpot): Likewise.
6464 (errpos): Likewise.
6465 (sy): Likewise.
6466 (mstat): Likewise.
6467 (errvals): Likewise.
6468 (eqstat): Likewise.
6469 (pol_evaluate): Replace x with log_x argument. All users updated.
6470 (syndroms): Removed.
6471 (gauss_solve): Use statically allocated arrays.
6472 (rs_recover): Likewise.
6473 Calculate syndroms directly.
6474 (decode_block): Use statically allocated arrays.
6475 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6476 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6477
2e13ede5
VS
64782012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 Eliminate fixed limit on reed solomon decoder length.
6481
6482 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6483 rather than hardcoding the address.
6484 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6485 no_reed_solomon_length.
6486 Move gate_a20 to no-reed-solomon part.
6487 Don't force a particular size of no reed-solomon part.
6488 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6489 Removed.
6490 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6491 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6492
f8a9ab12
VS
64932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/commands/wildcard.c (match_files): Handle filenames
6496 without explicit device.
6497 (wildcard_expand): Don't add explicit device if not already present.
6498 * tests/grub_script_echo1.in: Add a new expansion test.
6499
87edb894
VS
65002012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Replace single-linked with double-linked lists. It results in more
6503 compact and more efficient code.
6504
6505 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6506 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6507 (grub_list_remove): Moved from here ...
6508 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6509 (grub_prio_list_insert): Set prev.
6510 * include/grub/list.h (grub_list): Add prev. All users updated.
6511
48b391e9
VS
65122012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 Handle newer autotools. Add some missing quotes while on it.
6515
6516 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6517 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6518 (pkgdata_DATA): ... here.
6519 * Makefile.util.def (update-grub_lib): Removed.
6520 * conf/Makefile.common (pkglib_DATA): Removed.
6521 (pkglib_SCRIPTS): Likewise.
6522 (pkgdata_DATA): New variable.
6523 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6524 needed.
6525 Add missing quotes.
6526 Remove unused variable while on it.
6527 * tests/util/grub-shell.in: Likewise.
6528 * util/grub-install.in: Likewise.
6529 * util/grub-mkconfig.in: Likewise.
6530 * util/grub-mknetdir.in: Likewise.
6531 * util/grub-mkrescue.in: Likewise.
6532 * util/grub-mkstandalone.in: Likewise.
6533 * util/grub.d/00_header.in: Likewise.
6534 * util/grub.d/10_hurd.in: Likewise.
6535 * util/grub.d/10_illumos.in: Likewise.
6536 * util/grub.d/10_kfreebsd.in: Likewise.
6537 * util/grub.d/10_linux.in: Likewise.
6538 * util/grub.d/10_netbsd.in: Likewise.
6539 * util/grub.d/10_windows.in: Likewise.
6540 * util/grub.d/20_linux_xen.in: Likewise.
6541 * util/grub.d/30_os-prober.in: Likewise.
6542 * util/update-grub_lib.in: Removed.
6543
65442012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6545
6546 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6547 a workaround for intel problem.
6548
66832792
PRP
65492012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
65502012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
65512012-01-23 pfsmorigo
6552
6553 * util/grub-install.in: Support dd'in into PreP partition.
6554 * util/grub-probe.c (probe): Support discovering partition type.
6555 (main): Support -t msdos_parttype.
6556
7816a17e
VS
65572012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6560 infinite recursion using counter.
6561 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6562 init to skip it if the magic check fails.
6563 (dec_stream_header): Init s->crc32.
6564
8f9d3a8c
ZB
65652012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
65662012-01-22 Zachary Bedell <pendorbound@gmail.com>
65672012-01-22 Richard Laager <rlaager@wiktel.com>
6568
6569 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6570 All users updated.
6571 (find_bestub): Determine correct size.
6572 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6573 (scan_disk): Align the size down.
6574 Call check pool before find_bestub to have ashift.
6575
b055dd32
VS
65762012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6579 dprintf in no-malloc zone.
6580
d779e9bd
ML
65812012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6582
6583 * configure.ac: Add back in test for limits.h.
6584
b508af69
VS
65852012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 Support 4K-sector NTFS.
6588
6589 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6590 (grub_ntfs_data): Remove blocksize.
6591 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6592 Remove data argument. All users updated.
6593
dad9c8b5
VS
65942012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6597 being in .text to avoid dprel references.
6598 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6599 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6600 (grub_arch_highmemsize): Likewise.
6601 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6602 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6603 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6604
d43a777e
VS
66052012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6608
6609 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6610 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6611
34e4208f
VS
66122012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6615 GRUB_UTIL.
6616 (grub_set_datetime_cmos): Likewise.
6617
3ec0fc1c
VS
66182012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Make XZ compression parameters dependent on target and not host CPU.
6621
6622 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6623 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6624
22489834
VS
66252012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6628 set but not used variable.
6629
8502fbca
VS
66302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6633 created when no uuid support is compiled into mkfs.reiser.
6634
76df2068
VS
66352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6638 (utf8_to_macroman): Do the opposite.
6639 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6640
64e3f8f6
VS
66412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * configure.ac: Refise build qemu_mips w/o unifont.
6644
9c271078
VS
66452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 Eliminate grub_min/grub_max prone to overflow usage.
6648
6649 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6650 (poll_nonroot_hub): Likewise.
6651 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6652 (grub_affs_label): Likewise.
6653 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6654 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6655 (grub_hfs_label): Likewise.
6656 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6657 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6658 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6659 (zap_leaf_array_get): Likewise.
6660 (dnode_get_path): Likewise.
6661 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6662 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6663 * grub-core/script/execute.c (grub_script_break): Likewise.
6664 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6665 grub_max.
6666 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6667 * include/grub/misc.h (grub_min): Removed.
6668 (grub_max): Likewise.
6669
80662dbc
VS
66702012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6671
6672 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6673 direct.inode = 0.
6674
e6da1467
VS
66752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6678
b1ac4cb1
VS
66792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6682
b4bf7c3b
VS
66832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6686 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6687
8ee1101a
VS
66882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6691 rather than a hack for grub_strncasemap.
6692
66932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 Support multiple initrds
6696 Note: part of this was accidently committed in r3739.
6697
6698 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6699 initrd.
6700 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6701 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6702 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6703 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6704 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6705
4d1e2bc9
VS
67062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6709 disks with unknown size.
6710 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6711
75b49ebe
VS
67122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 Remove defines pertaining to arbitrary limits not affecting GRUB
6715 anymore.
6716
6717 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6718 (EXT2_MAX_SYMLINKCNT): Likewise.
6719 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6720 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6721 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6722 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6723 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6724 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6725 (DN_MAX_OBJECT_SHIFT): Likewise.
6726 (DN_MAX_OFFSET_SHIFT): Likewise.
6727 (DN_MAX_OBJECT): Likewise.
6728 (DNODES_PER_LEVEL_SHIFT): Likewise.
6729 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6730 (SPA_MAXBLOCKSIZE): Likewise.
6731 (SPA_BLOCKSIZES): Likewise.
6732 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6733 (MZAP_MAX_BLKSZ): Likewise.
6734
74a1dce7
VS
67352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6738 handle NULL appropriately.
6739 Remove MIN.
6740
30c7d3ce
VS
67412012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 Fix efiemu.
6744
6745 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6746 cpu/types.h.
6747 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6748 * configure.ac: Fix efiemu check.
6749
3c76ea0c
VS
67502012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6753 grub_probe.
6754 Reported by: adamwill
6755
7e532280
SG
67562012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6757
6758 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6759
30492374
VS
67602012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 Fix handling of wide characters in gfxterm.
6763
6764 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6765 (clear_char): Likewise.
6766 (paint_char): Skip code == NULL chars.
6767 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6768
e70cb72f
VS
67692012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/normal/charset.c: Move comment to right place.
6772
5c827cf9
VS
67732012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6776 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6777 (grub_affs_mount): Revert the correct version checking.
6778
53603892
VS
67792012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * docs/grub.texi (Unicode): Mention several other unsupported features.
6782
ff094b9b
VS
67832011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6786 case statements as compile-time one.
6787 (direct_read): Prevent spurious warnings.
6788 (grub_squash_read_data): Likewise.
6789
c029da8a
VS
67902011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 Various squash4 fixes and LZO and XZ support.
6793
6794 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6795 Add xzembed source files.
6796 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6797 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6798 (grub_squash_inode): New subtype long_dir.
6799 (SQUASH_TYPE_LONG_DIR): New inode type.
6800 (COMPRESSION): New enum.
6801 (XZBUFSIZ): New const.
6802 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6803 (read_chunk): Use data->decompress.
6804 (zlib_decompress): New function.
6805 (lzo_decompress): Likewise.
6806 (xz_decompress): Likewise.
6807 (squash_mount): Set new data fields.
6808 (grub_squash_iterate_dir): Handle long dir.
6809 (squash_unmount): Free xzdec and xzbuf.
6810 (grub_squash_open): Check ino type.
6811 (direct_read): Stylistic fixes. Use data->decompress.
6812 (grub_squash_read_data): Likewise.
6813 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6814 (get_byte): Likewise.
6815 (grub_zlib_disk_read): Removed.
6816 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6817 (GRUB_POSIX_BOOL_DEFINED): New define.
6818 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6819 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6820 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6821 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6822
7a45a539
VS
68232011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 Don't override more informative errors.
6826
6827 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6828 * grub-core/font/font.c (open_section): Likewise.
6829 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6830 filename. Don't override errors.
6831 (grub_cmd_openbsd_ramdisk): Don't override errors.
6832 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6833 (grub_cmd_initrd): Likewise.
6834 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6835 (grub_cmd_initrd): Likewise.
6836 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6837 (grub_cmd_linux): Likewise.
6838 (grub_cmd_initrd): Likewise.
6839 (grub_cmd_payload): Likewise.
6840 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6841 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6842 (grub_cmd_module): Likewise.
6843 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6844 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6845 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6846 (grub_cmd_xnu_mkext): Likewise.
6847 (grub_cmd_xnu_ramdisk): Likewise.
6848 (grub_xnu_check_os_bundle_required): Likewise.
6849 (grub_xnu_load_kext_from_dir): Likewise.
6850 (grub_cmd_xnu_kextdir): Likewise.
6851 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6852
b2d004db
VS
68532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6856 as 1024 in block size field. Found on one of my test images.
6857 Small optimisation while on it.
6858
ec000eac
VS
68592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6862 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6863 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6864 performance fixes while on it.
6865 (grub_sfs_close): Fix memory leak while on it.
6866 (grub_sfs_label): Convert Latin1 to UTF-8.
6867
f50e1165
VS
68682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6871 space to avoid overflows.
6872 (grub_hfs_label): Convert from macroman to UTF-8.
6873
2ae254de
VS
68742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6877
0108f491
VS
68782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6881
f45f5f89
VS
68822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * unicode: Import Unicode 6.0 data.
6885
4d8c4765
VS
68862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6887
63fa8ef9
VS
6888 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6889 outside of range.
6890
68912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6894
6895 * include/grub/charset.h (grub_getend): New function.
6896 * grub-core/script/function.c (grub_script_function_find): Use
6897 grub_getend.
6898 * grub-core/normal/completion.c (add_completion): Likewise.
6899
f3cb4a4e
VS
69002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6903 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6904 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6905 (GRUB_UNICODE_TAG_END): Likewise.
6906 (GRUB_UNICODE_LAST_VALID): Likewise.
6907
5da8dbc5
VS
69082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6911 len and make it smaller. All users updated.
6912 * util/import_unicode.py: Put length and not end character.
6913 Check length.
6914
8569f13d
VS
69152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 Make better Unicode-compliant and unify some UTF-8 code pathes.
6918
6919 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6920 valid character.
6921 (grub_is_valid_utf8): Use grub_utf8_process.
6922 Check resulting code range.
6923 (grub_utf8_to_ucs4): Use grub_utf8_process.
6924 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6925 valid character.
6926
cc4fddf5
VS
69272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6930
bbc47747
VS
69312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * docs/grub.texi (Filesystems): Mention AFS.
6934
f63d6bf4
VS
69352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * docs/grub.texi (Filesystems): Clarify restrictions.
6938 (Regexp): Mention non-Unicode regexp behaviour.
6939 (Other): Mention non-Unicode matching behaviour.
6940
74bbf0db
VS
69412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6942
f63d6bf4 6943 Make HFS implementation use MacRoman.
74bbf0db
VS
6944
6945 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6946 (macroman): New const array.
6947 (macroman_to_utf8): New function.
6948 (utf8_to_macroman): Likewise.
6949 (grub_hfs_find_dir): Use utf8_to_macroman.
6950 (grub_hfs_dir): Use macroman_to_utf8.
6951 Set case_insensitive.
6952
4ea0316e
VS
69532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6956
d3c13cbd
VS
69572011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 Integrate hints into autogeneration scripts.
6960
6961 * docs/grub.texi (Filesystems): Add a hostdisk example.
6962 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6963 (grub-probe): Add ofpath.
6964 * gentpl.py: Remove group nosparc64.
6965 * grub-core/commands/search.c (cache_entry): New struct.
6966 (cache): New var.
6967 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6968 * grub-core/commands/search_wrap.c (options): Add platform-specific
6969 hint options.
6970 (grub_cmd_search): Handle platform-specific hints.
6971 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6972 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6973 (grub_util_biosdisk_data): Likewise.
6974 (grub_util_biosdisk_open): Set device_map.
6975 (read_device_map): Handle "" as indication of no map.
6976 Set device_map.
6977 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6978 (grub_util_biosdisk_get_compatibility_hint): New function.
6979 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6980 * include/grub/emu/hostdisk.h
6981 (grub_util_biosdisk_get_compatibility_hint): New proto.
6982 * util/grub-install.in: Don't call grub-mkdevicemap.
6983 Add platform-specific hint to load.cfg.
6984 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6985 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6986 hints. Set root preliminary to compatibility hint, not to OS name.
6987 * util/grub-probe.c (PRINT_*): Add hints.
6988 (print): Make static.
6989 (escape_of_path): New function.
6990 (guess_bios_drive): Likewise.
6991 (guess_efi_drive): Likewise.
6992 (guess_baremetal_drive): Likewise.
6993 (print_full_name): Likewise.
6994 (probe): Handle hints.
6995 (main): Likewise.
6996 * util/ieee1275/devicemap.c: Removed.
6997 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6998 updated.
6999 (grub_util_devname_to_ofpath): Return NULL on failure.
7000
7001 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
7002 resource leak.
7003 * util/getroot.c (grub_util_pull_device): Fix memory leak.
7004
7005 * po/POTFILES.in: Regenerated.
7006
7007 Allow purely long options
7008
7009 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
7010 (SHORT_ARG_USAGE): Likewise.
7011 (grub_arg_show_help): Compare opt with help_options.
7012 (parse_option): Receive opt as argument. If makes big simplificatons.
7013 All users updated
7014
00ce2df3
VS
70152011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7018 Restructure to avoid warning.
7019
e77e325f
VS
70202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * util/grub-install.in: Account for possible escaped comma in device
7023 name.
7024
165099ea
VS
70252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7028 channel.
7029
ce4a999d
VS
70302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7033 allocation and zero-setting.
7034 (grub_ieee1275_get_devname): Check that alias is complete.
7035
379586ad
VS
70362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7039 unaligned segments.
7040
9197b0ad
VS
70412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7044 prefix.
7045 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7046 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7047 Add ieee1275 prefix.
7048
edddb7f9
VS
70492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * docs/grub.texi (Filesystems): Update.
7052
a1a8b1b9
VS
70532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 Support odc, newc and bigendian cpio formats.
7056
7057 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7058 * grub-core/Makefile.core.def (newc): New module.
7059 (odc): Likewise.
7060 (cpio_be): Likewise.
7061 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7062 (MAGIC): Likewise.
7063 (MAGIC2): Likewise.
7064 (head) [MODE_ODC]: Adapt for the format.
7065 (head) [MODE_NEWC]: Likewise.
7066 (head) [!MODE_*]: Write fields of interest as arrays.
7067 (MAGIC_USTAR): Removed.
7068 (read_number) [MODE_NEWC]: Change to hex.
7069 (read_number) [!MODE_*]: Parse binary arrays.
7070 (grub_cpio_find_file): Factor out the code for better structure and
7071 always use read_number.
7072 (grub_cpio_mount): Use MAGIC and MAGIC2.
7073 (grub_cpio_dir): Exit on first hook non-0 return.
7074 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7075 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7076 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7077 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7078 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7079 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7080 * grub-core/fs/newc.c: New file.
7081 * grub-core/fs/odc.c: Likewise.
7082 * grub-core/fs/cpio_be.c: Likewise.
7083
58eba9ee
VS
70842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 Fix handling of tar numbers occupying the whole field.
7087
7088 * grub-core/fs/cpio.c (read_number): New function.
7089 (grub_cpio_find_file): Use read_number instead of strtoull.
7090
a54a0e12
VS
70912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7094 occupying the whole field size.
7095
a6120aca
LA
70962011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7097
7098 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7099
a93964ce
VS
71002011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7103
3ea1ca46
SG
71042011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7105
7106 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7107 TARGET_IMG_LDFLAGS.
7108
b87f7ef2
VS
71092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7112 (mountinfo_entry): Increase the field size to take escaping into
7113 account.
7114 (find_root_device_from_libzfs): Add one byte to size of strings for
7115 security.
7116
62092395
VS
71172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7120 an assert.
7121 * util/grub-setup.c (setup): Likewise.
7122
1f0b1a77
VS
71232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7126 _LzmaDecodeA.
7127
8eba9997
VS
71282011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * docs/grub.texi (Internationalisation): New section.
7131
dd0c91e9
VS
71322011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * docs/grub.texi (Loopback booting): New section.
7135
71362011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7137
7138 * util/grub-mkstandalone.in: Fix minor typo errors.
7139
198e150a
VS
71402011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7143
7144 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7145 net/icmp.c and net/icmp6.c.
7146 (http): New module.
7147 (priority_queue): Likewise.
7148 * grub-core/io/bufio.c: Rewritten.
7149 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7150 TYPE_WITH_CONFIGFILE_OPTION.
7151 (legacy_commands): Add bootp and dhcp.
7152 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7153 (grub_legacy_parse): Likewise.
7154 * grub-core/lib/priority_queue.c: New file.
7155 * grub-core/net/arp.c: Add missing license header.
7156 (arp_find_entry): Removed.
7157 (arp_find_entry): Likewise.
7158 (grub_net_arp_resolve): Rename to ...
7159 (grub_net_arp_send_request): ...this.
7160 (grub_net_arp_receive): New card argument.
7161 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7162 Set router and DNS server.
7163 (grub_net_configure_by_dhcp_ack): Handle routing information.
7164 (grub_cmd_bootp): Set checksum.
7165 (grub_bootp_init): Remove net_dhcp.
7166 * grub-core/net/dns.c: New file.
7167 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7168 completion.
7169 (get_card_packet): Handle allocation.
7170 (grub_efinet_findcards): Set mtu.
7171 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7172 (get_card_packet): Handle allocation.
7173 (emucard): Set mtu.
7174 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7175 (GRUB_MOD_INIT): Set mtu.
7176 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7177 mtu.
7178 (get_card_packet): Handle allocation.
7179 (grub_ofnet_findcards): Set mtu.
7180 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7181 assert.
7182 (grub_net_recv_ethernet_packet): Handle IPv6.
7183 * grub-core/net/http.c: New file.
7184 * grub-core/net/icmp.c: Likewise.
7185 * grub-core/net/icmp6.c: Likewise.
7186 * grub-core/net/ip.c (ip6addr): New type.
7187 (ip6hdr): Likewise.
7188 (reassemble): Likewise.
7189 (cmp): New function.
7190 (reassembles): New variable.
7191 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7192 (id): New variable.
7193 (send_fragmented): New function.
7194 (grub_net_send_ip_packet): Rename to ...
7195 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7196 Handle non-UDP.
7197 (grub_net_recv_ip_packets): Rename to ...
7198 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7199 (free_rsm): New function.
7200 (free_old_fragments): Likewise.
7201 (grub_net_recv_ip4_packets): New function.
7202 (grub_net_send_ip6_packet): Likewise.
7203 (grub_net_send_ip_packet): Likewise.
7204 (grub_net_recv_ip6_packets): Likewise.
7205 (grub_net_recv_ip_packets): Likewise.
7206 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7207 (LINK_LAYER_CACHE_SIZE): New const.
7208 (link_layer_find_entry): New function.
7209 (grub_net_link_layer_add_address): Likewise.
7210 (grub_net_link_layer_resolve_check): Likewise.
7211 (grub_net_link_layer_resolve): Likewise.
7212 (grub_net_ipv6_get_slaac): Likewise.
7213 (grub_net_ipv6_get_link_local): Likewise.
7214 (grub_cmd_ipv6_autoconf): Likewise.
7215 (parse_ip): Handle one number representation.
7216 (parse_ip6): New functoion.
7217 (match_net): Handle IPv6.
7218 (grub_net_resolve_address): Handle IPv6 and DNS.
7219 (grub_net_resolve_net_address): Handle IPv6.
7220 (route_cmp): New function.
7221 (grub_net_route_address): Find best route.
7222 (grub_net_addr_to_str): Handle IPv6.
7223 (grub_net_addr_cmp): New function.
7224 (grub_net_add_addr): Register local route.
7225 (print_net_address): Handle net address.
7226 (grub_net_poll_cards): Retransmit TCP.
7227 (grub_net_poll_cards_idle_real): Likewise.
7228 (have_ahead): New function.
7229 (grub_net_seek_real): Use underlying seek.
7230 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7231 * grub-core/net/tcp.c: New file.
7232 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7233 (cmp): New function.
7234 (ack): Likewise.
7235 (tftp_receive): Handle unordered input.
7236 (destroy_pq): New function.
7237 (tftp_close): Close pq.
7238 * grub-core/net/udp.c: Put missing license header.
7239 (grub_net_udp_socket): New function.
7240 (udp_socket_register): Likewise.
7241 (grub_net_udp_close): Likewise.
7242 (grub_net_recv_udp_packet): Check checksum.
7243 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7244 * include/grub/misc.h (grub_memchr): New function.
7245 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7246 (grub_net_card_driver): Return buf in recv.
7247 (grub_net_slaac_mac_list): New struct.
7248 (grub_network_level_protocol_id): Add ipv6.
7249 (grub_net_network_level_addr): Likewise.
7250 (grub_net_network_level_net_addr): Likewise.
7251 (grub_net_app_protocol): Add seek.
7252 (grub_net_socket): Removed.
7253 (grub_net_sockets): Likewise.
7254 (grub_net_socket_register): Likewise.
7255 (grub_net_socket_unregister): Likewise.
7256 (FOR_NET_SOCKETS): Likewise.
7257 (grub_net_add_addr): Add const.
7258 (GRUB_NET_BOOTP_*): New enum.
7259 (grub_net_addr_cmp): New proto.
7260 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7261 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7262 (grub_net_hwaddr_to_str): NEw proto.
7263 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7264 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7265 (grub_dns_init): New proto.
7266 (grub_dns_fini): Likewise.
7267 (grub_net_tcp_retransmit): Likewise.
7268 (grub_net_link_layer_add_address): Likewise.
7269 (grub_net_link_layer_resolve_check): Likewise.
7270 (grub_net_link_layer_resolve): Likewise.
7271 (grub_net_dns_lookup): Likewise.
7272 (grub_net_add_dns_server): Likewise.
7273 (grub_net_remove_dns_server): Likewise.
7274 (GRUB_NET_TRIES): New const.
7275 (GRUB_NET_INTERVAL): Likewise.
7276 * include/grub/net/arp.h: Mostly rewritten.
7277 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7278 * include/grub/net/ip.h: Mostly rewritten.
7279 * include/grub/net/netbuff.h: Indent.
7280 * include/grub/net/tcp.h: New file.
7281 * include/grub/net/udp.h: Mostly rewritten.
7282 * include/grub/priority_queue.h: New file.
7283 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7284 (grub_swap_bytes64_compile_time): Likewise.
7285 (grub_cpu_to_be16_compile_time): Likewise.
7286 (grub_cpu_to_be32_compile_time): Likewise.
7287 (grub_cpu_to_be64_compile_time): Likewise.
7288 (grub_be_to_cpu64_compile_time): Likewise.
7289
215c1800
VS
72902011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7293 UINT_TO_PTR with cast.
7294
c17e546c
VS
72952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7298 don't use them.
7299
ff6b18b6
VS
73002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7303 already there.
7304
70ffcc93
VS
73052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7308 confusing ipxe.
7309
e5f4d260
VS
73102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7313 Add missing const attribute.
7314 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7315 Likewise.
7316 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7317 Likewise.
7318
8e54b4b7
VS
73192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7322 misaligned access.
7323 (serpent_setkey): Likewise.
7324 (serpent_encrypt_internal): Likewise.
7325 (serpent_decrypt_internal): Likewise.
7326 (serpent_encrypt): Don't put an alignment-increasing cast.
7327 (serpent_decrypt): Likewise.
7328 (serpent_test): Likewise.
7329
813c0a2b
VS
73302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7333
f2b60fbd
VS
73342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7337
7338 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7339 grub_addr_t casts.
7340 (PTR_TO_UINT64): Likewise.
7341 (PTR_TO_UINT32): Likewise.
7342
5ef5c511
VS
73432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7346 because of stack.
7347 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7348 limit.
7349
c476e6df
VS
73502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7353 text_width > available width a bit more gracefully.
7354
384ad7cc
VS
73552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7358 current address calculation.
7359
96f8caf8
VS
73602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7363 stack.
7364 (encode_block): Likewise.
7365
276b7a8b
VS
73662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7369 certainety.
7370
e3fd394a
VS
73712011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7374 non-RS part to avoid RS messing with GDT.
7375 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7376 Increase to suit in realmode routines.
7377
73782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * grub-core/kern/i386/realmode.S: Increase alignment.
7381 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7382
ee9c2e7a
VS
73832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7386 be deterministic.
7387 (syndroms): Compute 0 syndrom.
7388 (rs_recover): Use 0 syndrom.
7389
7a7f7cc9
VS
73902011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7393
a14b16d1
VS
73942011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7397 brackets.
7398
9f59e9fc
VS
73992011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7400
ca1b552c
VS
7401 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7402 account.
7403 (get_top_pad): Likewise.
7404 (get_right_pad): Likewise.
7405 (get_bottom_pad): Likewise.
7406
74072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7410
e739d698
VS
74112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7414 attribute as the structure isn't guaranteed to be properly aligned.
7415 (grub_efi_pci_device_path): Likewise.
7416 (grub_efi_pccard_device_path): Likewise.
7417 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7418 specify the size of `memory_type'.
7419 (grub_efi_vendor_device_path): Likewise.
7420 (grub_efi_controller_device_path): Likewise.
7421 (grub_efi_acpi_device_path): Likewise.
7422 (grub_efi_expanded_acpi_device_path): Likewise.
7423 (grub_efi_atapi_device_path): Likewise.
7424 (grub_efi_scsi_device_path): Likewise.
7425 (grub_efi_fibre_channel_device_path): Likewise.
7426 (grub_efi_1394_device_path): Likewise.
7427 (grub_efi_usb_device_path): Likewise.
7428 (grub_efi_usb_class_device_path): Likewise.
7429 (grub_efi_i2o_device_path): Likewise.
7430 (grub_efi_mac_address_device_path): Likewise.
7431 (grub_efi_ipv4_device_path): Likewise.
7432 (grub_efi_ipv6_device_path): Likewise.
7433 (grub_efi_infiniband_device_path): Likewise.
7434 (grub_efi_uart_device_path): Likewise.
7435 (grub_efi_vendor_messaging_device_path): Likewise.
7436 (grub_efi_hard_drive_device_path): Likewise.
7437 (grub_efi_cdrom_device_path): Likewise.
7438 (grub_efi_vendor_media_device_path): Likewise.
7439 (grub_efi_file_path_device_path): Likewise.
7440 (grub_efi_protocol_device_path): Likewise.
7441 (grub_efi_piwg_device_path): Likewise.
7442 (grub_efi_bios_device_path): Likewise.
7443
cb8f88ea
VS
74442011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7447 (grub_ucs4_to_utf8_alloc): Likewise.
7448 (grub_ucs4_to_utf8): Likewise.
7449 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7450 (grub_ucs4_to_utf8_alloc): Likewise.
7451
309e5352
VS
74522011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 AFFS never uses unicode.
7455
7456 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7457 (grub_latin1_to_utf8): New inline function.
7458 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7459
e7987e1b
VS
74602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7463 overflow.
7464
efc2616e
VS
74652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7468 (grub_squash_dirent_header): Likewise.
7469 (read_chunk): Don't double swap.
7470 (grub_squash_iterate_dir): Fix swap sizes.
7471
3c349f5a
VS
74722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7475
b453412d
VS
74762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7479 (grub_hfs_iterate_dir): Likewise.
7480
12e9d4d1
VS
74812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 Fix video on platforms where unaligned access is forbidden.
7484 Make several optimisations while on it.
7485
7486 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7487 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7488 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7489 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7490 Disable.
7491 (grub_video_fbblit_replace_16bit_1bit):
7492 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7493 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7494 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7495 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7496 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7497 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7498 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7499 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7500 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7501 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7502 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7503 (grub_video_fbblit_replace_index_RGB888): Likewise.
7504 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7505 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7506 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7507 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7508 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7509 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7510 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7511 Disable.
7512 (grub_video_fbblit_blend_XXX565_1bit):
7513 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7514 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7515 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7516 void *.
7517 * grub-core/video/fb/video_fb.c (common_blitter)
7518 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7519 (grub_video_fb_create_render_target_from_pointer)
7520 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7521 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7522 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7523 definition.
7524 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7525
ace96609
VS
75262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7529 HH22 and HM10 relocations.
7530
fd261d73
VS
75312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7534
e59b7857
VS
75352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7538 allocation succeeded.
7539
9b4baaa4
VS
75402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7543 argument a u8 pointer. All users updated.
7544 Handle unaligned buffers.
7545
dc713193
VS
75462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7549 add_part to workaround compiler bug.
7550
30dd48c2
VS
75512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7554
0c6087a8
VS
75552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7558 Reserve alignment invariants.
7559 (grub_multiboot_load): Likewise.
7560 (retrieve_video_parameters): Likewise.
7561 (grub_multiboot_make_mbi): Likewise.
7562
c2e77777
VS
75632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7566 incorrect pointer.
7567
b70b6d11
VS
75682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7571 (grub_pata_pio_write): Likewise.
7572
02a2bf83
VS
75732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 Add noreturn attributes and remove unreachable code.
7576
7577 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7578 code.
7579 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7580 code. Mark as noreturn.
7581 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7582 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7583 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7584 unreachable code.
7585 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7586 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7587 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7588 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7589 * include/grub/kernel.h (grub_main): Mark as noreturn.
7590 * include/grub/reader.h (grub_rescue_run): Likewise.
7591
2019d09e
VS
75922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7595 redundant declaration.
7596
d1c501ee
VS
75972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7600 redundant declaration.
7601 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7602
61664420
VS
76032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7606 to ensure alignment.
7607 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7608 alignment. Ensure tmp alignment.
7609 (grub_cmd_hdparm): Ensure buf alignment.
7610 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7611 to ensure alignment.
7612 (grub_ata_dumpinfo): Ensure text alignment.
7613 (grub_atapi_identify): Preserve alignment invariant.
7614 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7615
0d51ee20
VS
76162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7619 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7620 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7621 * include/grub/misc.h (grub_reboot)
7622 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7623 (grub_halt) [__mips__]: Likewise.
7624
753ef8c1
VS
76252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7628 Remove redundant declaration.
7629 (grub_mmap_get_post64): Likewise.
7630 (grub_mmap_get_upper): Likewise.
7631 (grub_mmap_get_lower): Likewise.
7632
85c85365
VS
76332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7636 uint32_t * to ensure alignment.
7637 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7638
a23f2cc4
VS
76392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7640
93018f64
VS
7641 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7642 uint16_t * to ensure alignment.
7643 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7644 alignment.
7645
76462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
7649 to ensure alignment.
7650 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7651
58acccd6
VS
76522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7655 Handle unaligned pointers.
7656 (u32at): Likewise.
7657 (u64at): Likewise.
7658 (fixup): Use byte access instead of v16at.
7659 (find_attr): Fix imporper usage of v32at.
7660 (read_data): Likewise.
7661 (list_file): Handle byte-swapping and unaligned strings.
7662 (grub_ntfs_label): Likewise.
7663
9b05cad7
VS
76642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7667 as it's not necessarily aligned.
7668
b3950b84
VS
76692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7672 redundant declaration.
7673 (grub_serial_init): Likewise.
7674 (grub_terminfo_init): Likewise.
7675
fcd232b7
VS
76762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7679 function.
7680 (ZAP_HASH_IDX): Likewise.
7681 (ZAP_LEAF_HASH_SHIFT): Likewise.
7682 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7683 (LEAF_HASH): Likewise.
7684 (ZAP_LEAF_NUMCHUNKS): Likewise.
7685 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7686 alignment invariants. Return pointer. All users updated.
7687 (ZAP_LEAF_ENTRY): Make into inline function.
7688 (NBBY): Removed.
7689 (xor): LIkewise.
7690 (xor_out): Use grub_crypto_xor.
7691 (dnode_get_path): Use grub_get_unaligned.
7692 (nvlist_find_value): Likewise.
7693 (grub_zfs_nvlist_lookup_uint64): Likewise.
7694 (grub_zfs_nvlist_lookup_string): Likewise.
7695 (get_nvlist_size): Likewise.
7696 (grub_zfs_open): Likewise.
7697 (fill_fs_info): Likewise.
7698 (grub_zfs_dir): Likewise.
7699 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7700 alignment invariants.
7701 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7702 necessarily aligned.
7703
f138623a
VS
77042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7707
564840dc
VS
77082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7711 arithmetic to conserve alignment invariants.
7712
9b40df20
VS
77132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7716 redundant declaration.
7717 (grub_efiemu_mm_obtain_request): Likewise.
7718 (grub_efiemu_prepare): Likewise.
7719
d1c930f9
VS
77202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7723 to match types.
7724
4c5f3056
VS
77252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7728 case of aunaligned recptr.
7729 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7730 alignment.
7731 (grub_hfsplus_btree_search): Handle unaligned index.
7732
728cba91
VS
77332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7736 to get freetag and skip.
7737
eb561f31
VS
77382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7741 array.
7742 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7743 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7744
20993fbb
VS
77452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7748 name for checksum and fix allocation algorithm.
7749
1f313b94
VS
77502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * include/grub/types.h (grub_properly_aligned_t): New type.
7753 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7754 (grub_get_unaligned16): Add explicit casts.
7755 (grub_get_unaligned32): Likewise.
7756 (grub_get_unaligned64): Likewise.
7757 (grub_set_unaligned16): New function.
7758 (grub_set_unaligned32): Likewise.
7759
47ae27ec
VS
77602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7763
78c2cd1c
VS
77642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7767 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7768 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7769
53072f9b
VS
77702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7773 conditionals.
7774
055dc239
VS
77752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7778 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7779
496bd074
VS
77802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7781
7782 Unify and improve RAID and crypto xor.
7783
7784 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7785 changed to grub_crypto_xor
7786 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7787 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7788 Use bigger types when possible.
7789
ef6e4335
VS
77902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * grub-core/disk/raid.c (scan_devices): Fix condition.
7793
5d048bf2
VS
77942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7797 Make name a const ptr.
7798
ee533335
VS
77992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7802 first argument a const pointer.
7803 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7804 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7805 proto.
7806 (grub_children_iterate): Likewise.
7807 (grub_machine_mmap_iterate): Remove redundant declaration.
7808
cc8f3668
VS
78092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7812 (grub_cmd_acpi) [!x86]: Disable EBDA.
7813
c5fc563a
VS
78142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 Enable UTF8 in gnulib regexp.
7817
7818 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7819 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7820 (isupper): Use grub_isupper.
7821 (isascii): New inline function.
7822 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7823 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7824 * grub-core/normal/charset.c (grub_utf8_process): New function.
7825 (grub_utf8_to_utf16): Use grub_utf8_process.
7826 (grub_encode_utf8_character): New function.
7827 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7828 * include/grub/charset.h (grub_utf8_process): New declaration.
7829 (grub_encode_utf8_character): Likewise.
7830 * include/grub/misc.h (grub_islower): New inline function.
7831 (grub_isupper): Likewise.
7832 (grub_strchrsub): Moved down to fix the definitions.
7833
0af2346f
VS
78342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7837 specification.
7838
74dbd244
VS
78392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * include/grub/loader.h (grub_loader_register_preboot_hook):
7842 Use struct preboot * and not void * for handle. All users updated.
7843 (grub_loader_unregister_preboot_hook): Likewise.
7844
1bc8f60d
VS
78452011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7848 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7849 UTF-16-BE. All users updated.
7850 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7851 (grub_hfsplus_iterate_dir): Likewise.
7852 (grub_hfsplus_label): Likewise.
7853
48d6e456
VS
78542011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7857
bf3a3857
VS
78582011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 Add missing const qualifiers.
7861
7862 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7863 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7864 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7865 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7866 (grub_lvm_check_flag): Likewise.
7867 * grub-core/efiemu/i386/coredetect.c
7868 (grub_efiemu_get_default_core_name): Likewise
7869 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7870 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7871 * grub-core/fs/ntfs.c (fixup): Likewise.
7872 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7873 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7874 (fzap_lookup): Likewise.
7875 (zap_lookup): Likewise.
7876 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7877 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7878 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7879 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7880 (grub_freebsd_add_meta_module): Likewise.
7881 (grub_cmd_freebsd_module): Likewise.
7882 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7883 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7884 (grub_xnu_writetree_get_size): Likewise.
7885 (grub_xnu_writetree_toheap_real): Likewise.
7886 (grub_xnu_find_key): Likewise.
7887 (grub_xnu_create_key): Likewise.
7888 (grub_xnu_create_value): Likewise.
7889 (grub_xnu_register_memory): Likewise.
7890 (grub_xnu_check_os_bundle_required): Likewise.
7891 (grub_xnu_scan_dir_for_kexts): Likewise.
7892 (grub_xnu_load_kext_from_dir): Likewise.
7893 * grub-core/normal/color.c (color_list): Likewise.
7894 * grub-core/normal/completion.c (current_word): Likewise.
7895 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7896 * grub-core/term/serial.c (grub_serial_find): Likewise.
7897 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7898 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7899 Likewise.
7900 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7901 (grub_freebsd_add_meta_module): Likewise.
7902 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7903 * include/grub/net.h (grub_net_card_driver): Likewise.
7904 (grub_net_card): Likewise.
7905 (grub_net_app_protocol): Likewise.
7906 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7907 * include/grub/serial.h (grub_serial_find): Likewise.
7908 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7909 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7910 (grub_xnu_create_value): Likewise.
7911 (grub_xnu_find_key): Likewise.
7912 (grub_xnu_scan_dir_for_kexts): Likewise.
7913 (grub_xnu_load_kext_from_dir): Likewise.
7914
7915 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7916 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7917 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7918 Moved from here ...
7919 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7920
112b4837
CW
79212011-11-28 Colin Watson <cjwatson@ubuntu.com>
7922
7923 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7924
49e891ac
VS
79252011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7928 (read_device): Fix size calculation.
7929
fd258e5c
RM
79302011-11-25 Robert Millan <rmh@gnu.org>
7931
7932 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7933 (find_root_device_from_libzfs): Add zpool output parser to be used
7934 as fallback when libzfs isn't available.
7935
78845dc2
SG
79362011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7937
7938 * po/Makefile.in.in: Add missing escape-continuation.
7939
adac5211
VS
79402011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7943
10b64f1c
VS
79442011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7947
bb416954
VS
79482011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7951
bdfe9eeb
VS
79522011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7955
581ffa8a
VS
79562011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 * grub-core/lib/adler32.c: Add missing license specification.
7959 * grub-core/lib/crc64.c: Likewise.
7960 * grub-core/loader/i386/pc/plan9.c: Likewise.
7961 * grub-core/partmap/plan.c: Likewise.
7962
2536cf64
LK
79632011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7964
7965 Add facility to debug GRUB with gdb under qemu.
7966
7967 * grub-core/gdb_grub.in: New file.
7968 * grub-core/gmodule.pl.in: Likewise.
7969 * grub-core/Makefile.core.def (gmodule.pl): New script.
7970 (gdb_grub): Likewise.
7971
bc108a4a
VS
79722011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * util/grub-mount.c (argp_parser): Accept relative pathes.
7975 * util/grub-fstest.c (argp_parser): Likewise.
7976
111c1778
VS
79772011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 Plan9 support.
7980
7981 * Makefile.util.def (libgrubmods): Add
7982 grub-core/partmap/plan.c.
7983 * docs/grub.texi: Notice Plan9 support.
7984 * grub-core/Makefile.core.def (plan9): New module.
7985 (part_plan): Likewise.
7986 * grub-core/loader/i386/pc/plan9.c: New file.
7987 * grub-core/partmap/plan.c: Likewise.
7988 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7989 define.
7990 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7991 * include/grub/mm.h (grub_extend_alloc): New inline function.
7992
c30be3b6
VS
79932011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 Make Reed-Solomon faster by using power of generator representation of
7996 GF(256)*.
7997
7998 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7999 (gf_double_t): Likewise.
8000 (gf_invert): Removed.
8001 (gf_powx): New array.
8002 (gf_powx_inv): Likewise.
8003 (scratch): Move higher.
8004 (gf_reduce): Removed.
8005 (gf_mul): Use powx.
8006 (gf_invert): Likewise.
8007 (init_inverts): Replaced with ...
8008 (init_powx): ...this. All users updated.
8009 (pol_evaluate): Replace multiplications with additions.
8010 (rs_encode): Likewise.
8011 (gauss_eliminate): Call gf_invert.
8012 (grub_reed_solomon_add_redundancy): Call init_powx.
8013 (grub_reed_solomon_recover): Call init_powx unconditionally.
8014
fa5aeffc
VS
80152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8018
a346b81c
VS
80192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8022 disk->partiton for safety.
8023
d89ee414
VS
80242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8027 Fix a memory leak.
8028 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8029
91ee7b6d
VS
80302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8033
91e5a33d
VS
80342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8037
9edd7be2
VS
80382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 Fix spaces handling in proc/self/mountinfo.
8041
8042 * util/getroot.c (unescape): New function.
8043 (grub_find_root_device_from_mountinfo): Use unescape.
8044
ba102053
VS
80452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 Support ZFS embedding.
8048
8049 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8050 (grub_zfs_fs): Register grub_zfs_embed.
8051
aa94b870
VS
80522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 Fix MIPS compilation.
8055
8056 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8057 * include/grub/offsets.h: Rename decompressor fields from
8058 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8059 * util/grub-mkimage.c (image_targets): Use new names.
8060
5fbdac14
VS
80612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 Defer multiboot device parsing until we're in compressed part.
8064
8065 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8066 bsd_part. setdevice has fallen into disuse.
8067 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8068 (bsd_part): Likewise.
8069 (boot_dev): New variable.
8070 (multiboot_trampoline): Don't parse multiboot device.
8071 Pass multiboot device in %edx.
8072 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8073 grub_boot_device.
8074 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8075 Likewise.
8076 * grub-core/kern/i386/pc/startup.S: Save edx.
8077 (grub_boot_drive): Removed.
8078 (grub_install_dos_part): Likewise.
8079 (grub_install_bsd_part): Likewise.
8080 (grub_boot_device): New variable.
8081 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8082 (grub_install_bsd_part): Likewise.
8083 (grub_boot_drive): Likewise.
8084 (grub_boot_device): New variable.
8085 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8086 Removed.
8087 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8088 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8089 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8090 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8091 * util/grub-install.in: Remove redundant condition.
8092
691cbb58
VS
80932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 Fix bug introduced by previous commit.
8096
8097 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8098
60240b8b
VS
80992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 Use decompressors framework on i386-pc. It increases core size
8102 by 46 bytes but improves compatibility and maintainability.
8103
8104 * grub-core/Makefile.core.def (lzma_decompress): New image.
8105 (kernel): Add i386_pc_ldflags.
8106 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8107 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8108 to real_to_prot, prot_to_real and device info.
8109 * include/grub/offsets.h: Renamed decompressor offsets.
8110 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8111 (image_target_desc): Remove raw_size and rename decompressor fields.
8112 (compress_kernel): Handle lzma.
8113 (generate_image): Handle decompressors on i386-pc.
8114
e9d3421c
VS
81152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * configure.ac: Add -fno-asynchronous-unwind-tables.
8118
2b23074a
VS
81192011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 Move assembly code to C by using intwrap. It increases core size
8122 by 88 bytes but improves compatibility and maintainability.
8123
8124 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8125 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8126 ... here. Translated to C.
8127 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8128 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8129 ... here. Translated to C.
8130 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8131 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8132 ... here. Translated to C.
8133 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8134 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8135 ... here. Translated to C.
8136 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8137 * grub-core/term/i386/pc/console.c (grub_console_cls):
8138 ... here. Translated to C.
8139 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8140 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8141 ... here. Translated to C.
8142 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8143 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8144 Translated to C.
8145 * grub-core/term/i386/pc/console.c (int10_9): New function.
8146 (grub_console_putchar): Likewise.
8147 * include/grub/i386/pc/console.h: Removed the not anymore shared
8148 functions.
8149
678f4b67
VS
81502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Move grub_chainloader_real_boot out of the kernel.
8153
8154 * grub-core/Makefile.am: Remove machine/loader.h.
8155 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8156 Removed.
8157 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8158 variable.
8159 (grub_relocator16_keep_a20_enabled): Likewise.
8160 (grub_relocator16_boot): Fill new variables.
8161 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8162 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8163 relocator.
8164 (grub_chainloader_unload): Likewise.
8165 (grub_chainloader_cmd): Likewise.
8166 * include/grub/i386/pc/loader.h: Removed.
8167 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8168 and esi. All initialisers updated.
8169
4626edf6
VS
81702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
81712011-11-12 Colin Watson <cjwatson@ubuntu.com>
8172
8173 * Makefile.util.def (grub-mount): New util.
8174 * .bzrignore: Add grub-mount.
8175 * configure.ac: Check for fuse and enable grub-mount if available.
8176 * docs/man/grub-mount.h2m: New file.
8177 * util/grub-mount.c: Likewise.
8178
10f0117b
VS
81792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/commands/efi/fixvideo.c: Gettextize.
8182 * grub-core/commands/hashsum.c: Likewise.
8183 * grub-core/commands/i386/cmostest.c: Likewise.
8184 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8185 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8186 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8187 * grub-core/commands/lsmmap.c: Likewise.
8188 * grub-core/commands/menuentry.c: Likewise.
8189 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8190 * grub-core/commands/setpci.c: Likewise.
8191 * grub-core/loader/i386/bsd.c: Likewise.
8192 * grub-core/loader/i386/linux.c: Likewise.
8193 * util/getroot.c: Likewise.
8194 * util/grub-editenv.c: Likewise.
8195 * util/grub-fstest.c: Likewise.
8196 * util/grub-mkfont.c: Likewise.
8197 * util/grub-mkimage.c: Likewise.
8198 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8199 * util/grub-pe2elf.c: Likewise.
8200 * util/grub-probe.c: Likewise.
8201 * util/grub-setup.c: Likewise.
8202 * util/ieee1275/ofpath.c: Likewise.
8203 * util/misc.c: Likewise.
8204 * util/raid.c: Likewise.
8205
566f779b
RM
82062011-11-11 Robert Millan <rmh@gnu.org>
8207
8208 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8209 __attribute__((unused)) from `os_dev', which *is* being used.
8210
b50787de
VS
82112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8214 forgotten define.
8215 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8216 GRUB_IA64_DL_GOT_ALIGN.
8217 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8218 GRUB_IA64_DL_TRAMP_ALIGN.
8219
119d11c8
VS
82202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Replace grub_fatal with normal errors in i386 linux loader.
8223
8224 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8225 (allocate_pages): Check find_efi_mmap_size return value.
8226 (grub_e820_add_region): Return error.
8227 (grub_linux_boot): Check mmap return value.
8228
6e0632e2
VS
82292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8230
8231 * grub-core/commands/acpihalt.c: Gettextized.
8232 * grub-core/commands/cacheinfo.c: Likewise.
8233 * grub-core/commands/cmp.c: Likewise.
8234 * grub-core/commands/efi/loadbios.c: Likewise.
8235 * grub-core/commands/gptsync.c: Likewise.
8236 * grub-core/commands/ieee1275/suspend.c: Likewise.
8237 * grub-core/commands/legacycfg.c: Likewise.
8238 * grub-core/commands/memrw.c: Likewise.
8239 * grub-core/commands/minicmd.c: Likewise.
8240 * grub-core/commands/parttool.c: Likewise.
8241 * grub-core/commands/time.c: Likewise.
8242 * grub-core/commands/videoinfo.c: Likewise.
8243 * grub-core/disk/geli.c: Likewise.
8244 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8245 * grub-core/disk/luks.c: Likewise.
8246 * grub-core/disk/lvm.c: Likewise.
8247 * grub-core/font/font_cmd.c: Likewise.
8248 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8249 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8250 * grub-core/gfxmenu/view.c: Likewise.
8251 * grub-core/kern/emu/hostdisk.c: Likewise.
8252 * grub-core/kern/emu/main.c: Likewise.
8253 * grub-core/kern/emu/misc.c: Likewise.
8254 * grub-core/kern/emu/mm.c: Likewise.
8255 * grub-core/kern/mips/arc/init.c: Likewise.
8256 * grub-core/kern/mips/loongson/init.c: Likewise.
8257 * grub-core/kern/partition.c: Likewise.
8258 * grub-core/lib/i386/halt.c: Likewise.
8259 * grub-core/lib/mips/arc/reboot.c: Likewise.
8260 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8261 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8262 * grub-core/loader/i386/xnu.c: Likewise.
8263 * grub-core/loader/multiboot.c: Likewise.
8264 * grub-core/net/bootp.c: Likewise.
8265 * grub-core/net/net.c: Likewise.
8266 * grub-core/normal/term.c: Likewise.
8267 * grub-core/partmap/bsdlabel.c: Likewise.
8268 * grub-core/parttool/msdospart.c: Likewise.
8269 * grub-core/term/gfxterm.c: Likewise.
8270 * grub-core/term/terminfo.c: Likewise.
8271 * grub-core/video/i386/pc/vbe.c: Likewise.
8272 * util/grub-menulst2cfg.c: Likewise.
8273 * util/grub-mkdevicemap.c: Likewise.
8274 * util/grub-mklayout.c: Likewise.
8275 * util/grub-mkrelpath.c: Likewise.
8276 * util/grub-script-check.c: Likewise.
8277 * util/ieee1275/grub-ofpathname.c: Likewise.
8278 * util/resolve.c: Likewise.
8279
073aa7a9
VS
82802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 Support %1$d syntax.
8283
8284 * tests/printf_unit_test.c: New file.
8285 * Makefile.util.def (printf_test): New test.
8286 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8287
c76b5417
VS
82882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8291 fix.
8292
df067ad1
VS
82932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8296 dprintf.
8297 * grub-core/font/font.c (grub_font_load): Likewise.
8298
5b289bc5
VS
82992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 * util/grub-macho2img.c: Add comment concerning gettext.
8302 * grub-core/lib/legacy_parse.c: Likewise.
8303
c1860f87
VS
83042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8307 (grub_xvasprintf): Likewise.
8308
d35d0d37
VS
83092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 Add const keyword to grub_env_get and gettextize week days.
8312
8313 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8314 (grub_read_hook_datetime): Return const char *.
8315 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8316 updated.
8317 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8318 Mark for gettext.
8319 (grub_get_weekday_name): Return const char *. Call gettext.
8320 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8321 char * and len as the argument. All users updated.
8322 (grub_script_argv_split_append): Receive const char *.
8323 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8324 * include/grub/env.h (grub_env_get): Likewise.
8325 (grub_env_read_hook_t): Return const char *.
8326 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8327 (grub_script_argv_split_append): Likewise.
8328
9aed8a71
VS
83292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8332
067fdf00
VS
83332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8336 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8337
a8bd9d39
VS
83382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8341 Fix prototype.
8342
f7ce5baf
VS
83432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 Fix mips compilation.
8346
8347 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8348 normal decoder.
8349 (hashes): Use in embed decoder as well (for sizes).
8350 (dec_stream_header): Fix embed decompressor logic.
8351 (dec_stream_footer): Likewise.
8352
9bb182f3
VS
83532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8356 an error and not a fatal on unrecognised relocation types.
8357
63a9e6f6
VS
83582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8361 Issue error rather than printf on unknown arguments.
8362
4c458569
VS
83632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8366 Make buf a const.
8367
e2d22baf
VS
83682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8371 Fix module name.
8372
53dc8590
VS
83732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8376 leftover debug printf.
8377
6c189294
VS
83782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8381
f7688369
VS
83822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8385 A stylistic fix.
8386
11a775a3
VS
83872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8390
33f784e8
SL
83912011-11-10 Shea Levy <slevy@tieronedesign.com>
8392
8393 Allow all modules to perform serial IO
8394
8395 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8396 * include/grub/serial.h (grub_serial_port_configure): New inline
8397 function.
8398 (grub_serial_port_fetch): Likewise.
8399 (grub_serial_port_put): Likewise.
8400 (grub_serial_port_fini): Likewise.
8401 (grub_serial_find): New proto.
8402
f6276525
VS
84032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 Put symlink at the end of the node and fix a potential
8406 memory corruption.
8407
8408 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8409 Make symlink into an array.
8410 (set_rockridge): Set have_symlink and alloc_dirents.
8411 (grub_iso9660_read_symlink): Use new layout.
8412 (grub_iso9660_iterate_dir): Fix memory corruption.
8413 Use new layout.
8414 (grub_iso9660_dir): Set have_symlink.
8415 (grub_iso9660_open): Likewise.
8416
c3591189
VS
84172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 Remove local keyword.
8420
8421 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8422 (version_test_gt): Likewise.
8423 (version_find_latest): Likewise.
8424 (gettext_printf): Likewise.
8425 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8426
cb544caa
VS
84272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8430
45bd824d
VS
84312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 Fix ZFS memory and resource leaks.
8434
8435 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8436 All users updated.
8437 Free type on exit.
8438 (fill_vdev_info): New parameter inserted. All users updated.
8439 (check_pool_label): Likewise.
8440 (scan_disk): Likewise.
8441 (scan_devices): Close non-inserted disks.
8442 (fzap_iterate): Free l.
8443 (unmount_device): Free children descripto memory.
8444
ad9a2f44
VS
84452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8448 argument (access out of bounds).
8449
6b68db81
VS
84502011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8453 >= 6 drives.
8454
28840fda
VS
84552011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8458 Fix declaration.
8459
8a5a3a5b
VS
84602011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 Fix several memory leaks.
8463
8464 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8465 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8466 (grub_cpio_dir): Likewise.
8467 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8468 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8469 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8470 (grub_romfs_label): Likewise.
8471 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8472 (squash_unmount): New function.
8473 (grub_squash_dir): Fix memory leak.
8474 (grub_squash_open): Likewise.
8475 (grub_squash_read): Likewise.
8476 (grub_squash_mtime): Likewise.
8477 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8478 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8479 * util/grub-fstest.c (fstest): Likewise.
8480
57b01250
VS
84812011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8484 avoid accessing beyond the array.
8485
19e81ba7
VS
84862011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8489
52b656c0
VS
84902011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 Several AFFS fixes.
8493
8494 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8495 (GRUB_AFFS_FLAG_FFS): Removed.
8496 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8497 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8498 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8499 (grub_fshelp_node): Make block 32-bit.
8500 Add block_cache and last_block_cache.
8501 (grub_affs_read_block): Fill and use block cache.
8502 (grub_affs_read_file): Removed.
8503 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8504 boot block.
8505 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8506 safety.
8507 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8508 space.
8509 (grub_affs_close): Free block cache.
8510 (grub_affs_read): Use grub_fshelp_read_file directly.
8511
438a746a
VS
85122011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8515 with no error set.
8516
49a45021
VS
85172011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8520 used variable.
8521 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8522 Likewise.
8523
3ae17eb8
VS
85242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8525
8526 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8527
8528 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8529 byteswap when needed.
8530
27610c38
VS
85312011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 Fix FreeBSD compilation.
8534
8535 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8536 to avoid circular dependency.
8537 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8538 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8539 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8540
4a19b601
VS
85412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 Fix ZFS crypto error types.
8544
8545 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8546 (grub_gcm_decrypt): Likewise.
8547 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8548 from PBKDF2.
8549
958ee221
VS
85502011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 Illumos support.
8553
8554 * Makefile.util.def (10_illumos): New script.
8555 * configure.ac: Set COND_HOST_ILLUMOS.
8556 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8557 Support Illumos calls.
8558 (find_partition_start) [__sun__]: Likewise.
8559 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8560 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8561 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8562 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8563 device.
8564 * util/grub-probe.c (probe) [__sun__]: Do character check.
8565 * util/grub.d/10_illumos.in: New file.
8566
cac14fb6
VS
85672011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 Support escaped commas in hostdisk.
8570
8571 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8572 (find_grub_drive): Use unescape_cmp.
8573 (make_device_name): Escape commas.
8574
78e08dc3
VS
85752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8578
9f421dd1
VS
85792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8582 variable.
8583
ed64e9e2
VS
85842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 Support trampoline jumps on powerpc.
8587
8588 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8589 __ia64__ path.
8590 (grub_dl_load_segments): Set mod->sz.
8591 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8592 segments.
8593 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8594 (jump): Likewise.
8595 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8596 function.
8597 (trampoline): New struct.
8598 (trampoline_template): New const.
8599 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8600 * include/grub/dl.h (grub_dl): Add sz element.
8601 [__powerpc__]: Follow __ia64__.
8602 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8603 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8604 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8605 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8606
3084ede4
VS
86072011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 ZFS crypto support.
8610
8611 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8612 * grub-core/Makefile.core.def (zfscrypt): New module.
8613 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8614 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8615 it. All users updated.
8616 (grub_zfs_decrypt): New var.
8617 (grub_zfs_load_key): Likewise.
8618 (zio_checksum_functions): Add SHA256+MAC.
8619 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8620 (zio_read): Handle encrypted blocks.
8621 (zap_verify): Remove incorrect check.
8622 (fzap_iterate): Handle non-standard fzap.
8623 (zap_iterate): Likewise.
8624 (zap_iterate_u64): New function.
8625 (dnode_get_fullpath): Load keys.
8626 * grub-core/fs/zfs/zfscrypt.c: New file.
8627 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8628 (grub_crypto_ecb_encrypt): Make input const.
8629 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8630 (grub_crypto_ecb_encrypt): Make input const.
8631 (GRUB_CIPHER_AES): New macro.
8632 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8633 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8634 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8635 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8636 prefix. All users updated.
8637 (grub_zfs_add_key): New proto.
8638 (grub_zfs_decrypt): Likewise.
8639 (grub_zfs_load_key): Likewise.
8640 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8641 * util/grub-fstest.c (options): Add -K option.
8642 (argp_parser): Likewise.
8643
b632b404
VS
86442011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 Support zle compression on ZFS.
8647
8648 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8649 (decomp_table): Add zle.
8650 * include/grub/zfs/zio.h (zio_compress): Add zle.
8651
c7ba4f69
VS
86522011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 Support BtrFS embedding.
8655
8656 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8657 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8658 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8659 * util/grub-setup.c (setup): Use fs embedding if available.
8660 Add additional sanity check.
8661
455377d9
VS
86622011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * util/grub-install.in: Fix condition for config_opt.
8665
c2fd16ca
VS
86662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 Support third redundancy strip on raidz3.
8669
8670 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8671 Return error on singularity. All users updated.
8672 (read_device): Don't stop on 3rd failure on raidz3.
8673
8622923b
VS
86742011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 Support case-insensitive ZFS subvolumes.
8677
8678 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8679 All users updated.
8680 (zap_hash): Likewise.
8681 (name_cmp): New function.
8682 (zap_leaf_array_equal): New parameter case_insensitive.
8683 All users updated.
8684 (zap_leaf_lookup): Likewise.
8685 (fzap_lookup): Likewise.
8686 (zap_lookup): Likewise.
8687 (dnode_get_path): New parameter case_insensitive. Retrieve case
8688 sensitiviness of a volume. All users updated.
8689 (dnode_get_fullpath): New parameter case_insensitive.
8690 All users updated.
8691 (grub_zfs_dir): Set info.case_insensitiveness.
8692
95f2e860
VS
86932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 Support second redundancy strip on raidz(2,3).
8696
8697 * grub-core/fs/zfs/zfs.c (powx): New array.
8698 (powx_inv): Likewise.
8699 (poly): New const.
8700 (xor_out): New function.
8701 (gf_mul): Likewise.
8702 (recovery): Likewise.
8703 (read_device): Use second redundancy strip.
8704
11ee4389
VS
87052011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 Use a power of generator representation of GF(256) multiplication group
8708 to save space time and complexity.
8709
8710 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8711 (raid6_table2): Likewise.
8712 (powx): New array.
8713 (powx_inv): Likewise.
8714 (poly): New const.
8715 (grub_raid_block_mul): Replace with ...
8716 (grub_raid_block_mulx): ...this.
8717 (grub_raid6_init_table): Rewritten.
8718 (grub_raid6_recover): Use power of generator representation.
8719
09e2763f
VS
87202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8723 for the right device.
8724
8bec9a28
VS
87252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8728 expected by grub-mkimage and it's more clear since there is no implicit
8729 padding.
8730
dbd3a32e
VS
87312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8734 disk.
8735 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8736
182c872a
PMH
87372011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8738
8739 * util/grub-mkrescue.in: Fix handling xorriso option.
8740
1e51cabd
VS
87412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8744 NULL.
8745
9cc3581d 87462011-11-03 crocket <crockabiscuit@gmail.com>
8747
8748 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8749
158dc1ea
VS
87502011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 XZ CRC64 and SHA256 support.
8753
8754 * Makefile.util.def (libgrubmods): Add crc64.c.
8755 * grub-core/Makefile.core.def (crc64): New module.
8756 * grub-core/lib/crc64.c: New file.
8757 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8758 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8759 Fix the type.
8760 (MAX_HASH_SIZE): New define.
8761 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8762 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8763 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8764 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8765 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8766 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8767 Handle non-crc32 hashes.
8768 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8769 (dec_stream_header): Handle non-crc32 hashes.
8770 (dec_stream_footer): Likewise.
8771 (dec_block_header): Likewise.
8772 (dec_main): Likewise.
8773 (xz_dec_init): Likewise.
8774 (xz_dec_reset): Likewise.
8775 (xz_dec_end): Likewise.
8776 * util/import_gcry.py: Add CRC64 line.
8777
9d9b3d2f
VS
87782011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8781 as well.
8782
7d0ac931
VS
87832011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 Make reiserfs label retrieval similar to other *_label functions.
8786
8787 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8788 (REISERFS_MAX_LABEL_LENGTH): Removed.
8789 (REISERFS_LABEL_OFFSET): Likewise.
8790 (grub_reiserfs_label): Rewritten.
8791
87922011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8795 field.
8796
cf5ba824
VS
87972011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8800
17744004
VS
88012011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8804 drive failure on both raidz and raidz2.
8805
aca5aefc
VS
88062011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 Fix RAIDZ(2) for >= 5 devices.
8809
8810 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8811 asize argument. All users updated.
8812
ce8ca56e
VS
88132011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8814
8815 Fix RAIDZ(2).
8816
8817 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8818 (fill_vdev_info_real): Set ashift.
8819 (read_device): Rewrite RAIDZ part based on reverse engineering.
8820
7c01e783
VS
88212011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8824 don't report potentially unavialiable fields in debug output.
8825 (find_path): Fix double-free and memory leak.
8826
ce109e84
VS
88272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 Read label on UFS1.
8830
8831 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8832 (grub_ufs_fs): Always set .label.
8833
87661123
VS
88342011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 Use shifts in UFS.
8837
8838 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8839 (grub_ufs_data): New field log2_blksz.
8840 (grub_ufs_read_file): Use shifts.
8841 (grub_ufs_mount): Check block size and logarithm it.
8842
46bc1dc2
VS
88432011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8846 long symlinks.
8847
19ee2987
VS
88482011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 Handle symlinks and long names on tar and cpio.
8851
8852 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8853 (ATTR_FILE): Likewise.
8854 (ATTR_DIR): Likewise.
8855 (ATTR_LNK): Likewise.
8856 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8857 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8858 L and K entries.
8859 (grub_cpio_mount): Zero-fill data.
8860 (handle_symlink): New function.
46bc1dc2
VS
8861 (grub_cpio_dir): Handle symlinks.
8862 (grub_cpio_open): Likewise.
8863 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8864
c83a08d8
VS
88652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 Fix iso9660 filename limitations and fix memory leaks.
8868
8869 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8870 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8871
45cdd3ea
VS
88722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 Fix JFS file name length limitations.
8875
8876 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8877 (grub_jfs_diropen): Fix maximum filename length.
8878 (grub_jfs_getent): Fix filename length.
8879 (grub_jfs_lookup_symlink): Fix size checks.
8880
94ef05c2
VS
88812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8884 string.
8885
785ab8c7
VS
88862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8887
eb0b6b45
VS
8888 Leverage BFS implementation to read AFS.
8889
8890 * Makefile.util.def (libgrubmods): Add afs.c.
8891 * grub-core/Makefile.core.def (afs): New module
8892 * grub-core/fs/afs.c: New file.
8893 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8894
88952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8898
c4a1628f
VS
88992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/fs/bfs.c: Run indent.
8902
5825b379
VS
89032011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 BFS implementation based on the specification.
8906
8907 * grub-core/fs/bfs.c: New file.
8908 * Makefile.util.def (libgrubmods): Add bfs.c.
8909 * grub-core/Makefile.core.def (bfs): New module.
8910
42b2a706
VS
89112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * util/grub-fstest.c (cmd_cp): Clarify error message.
8914 (cmd_cmp): Likewise.
8915
61b99bfc
YB
89162011-10-30 Yves Blusseau <blusseau@zetam.org>
8917
8918 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8919 and befs_be.
8920
faba3d16
VS
89212011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 Remove afs and befs because of copyright problem.
8924
8925 * grub-core/fs/afs.c: Removed.
8926 * grub-core/fs/afs_be.c: Removed.
8927 * grub-core/fs/befs.c: Removed.
8928 * grub-core/fs/befs_be.c: Removed.
8929 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8930 * grub-core/Makefile.core.def (afs): Removed.
8931 (afs_be): Likewise.
8932 (befs): Likewise.
8933 (befs_be): Likewise.
8934
c39224b0
VS
89352011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 Prefer rockridge over Joliet.
8938
8939 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8940 to ...
8941 (set_rockridge): ... here.
8942 (grub_iso9660_mount): Check rockridge on the primary label when
8943 discovering. Ignore Joliet if Rockridge is present.
8944
e551115a
VS
89452011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 Use shifts in nilfs2.
8948
8949 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8950 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8951 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8952 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8953 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8954 (grub_nilfs2_entries_per_block): Replaced with ...
8955 (grub_nilfs2_log_entries_per_block_log): ... this.
8956 (grub_nilfs2_blocks_per_group): Replaced with ...
8957 (grub_nilfs2_blocks_per_group_log): ... this.
8958 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8959 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8960 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8961 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8962 (grub_nilfs2_palloc_entry_offset): Replaced ...
8963 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8964 (grub_nilfs2_dat_translate): Use shifts.
8965 (grub_nilfs2_read_inode): Likewise.
8966 (GRUB_MOD_INIT): Ensure that logs are correct.
8967
564dd58c
VS
89682011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 Use shifts in minix filesystem.
8971
8972 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8973 (GRUB_MINIX_ZONE2SECT): Likewise.
8974 (grub_minix_data): Replace block_size with log_block_size.
8975 (grub_minix_read_file): Use shifts.
8976 (grub_minix_mount): Check block size and take a logarithm.
8977
ed9ba06d
VS
89782011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 Use shifts in squash4.
8981
8982 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8983 (squash_mount): Check block size and take logarithm.
8984 (direct_read): Use shifts.
8985
ad03fe76
VS
89862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 Correct befs block counting logic.
8989
8990 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8991 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8992 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8993 (grub_afs_read_inode): Use block_shift.
8994 (RANGE_SHIFT): New definition.
8995 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8996 unexpected conditions, use shifts and appropriate types.
8997 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8998
6563f63d
VS
89992011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/disk/raid.c (scan_devices): Check partition.
9002 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
9003
5b1ae25f
VS
90042011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 Support BFS (befs) UUID.
9007
9008 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
9009 (grub_afs_small_data_element_header): New struct.
9010 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
9011 (grub_afs_read_attribute) [MODE_BFS]: New function.
9012 (grub_afs_iterate_dir): Allocate for complete inode.
9013 (grub_afs_mount): Likewise.
9014 (grub_afs_uuid) [MODE_BFS]: New function.
9015 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9016
f8d82408
VS
90172011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9020 (zfs_unmount): Fix memory leak.
9021
5773fb64
VS
90222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 Support NTFS reparse points.
9025
9026 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9027 (symlink_descriptor): New struct.
9028 (grub_ntfs_read_symlink): New function.
9029 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9030 (grub_ntfs_open): Likewise.
9031
91c3fdde
VS
90322011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9035
3be82e10
VS
90362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 fstest xnu_uuid subcommand.
9039
9040 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9041 grub-core/commands/xnu_uuid.c.
9042 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9043 (fstest): Handle xnu_uuid.
9044 (options): Document xnu_uuid.
9045 (argp_parser): Parse xnu_uuid.
9046
8e32442e
VS
90472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9050 -l argument. Add newline at the end if printing.
9051 (GRUB_MOD_INIT): Document -l.
9052
52a05075
VS
90532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9056
1869edb5
VS
90572011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 ZFS multi-device and version 33 support.
9060
9061 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9062 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9063 (grub_zfs_data): Add multidev-ice-related fields.
9064 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9065 (dva_get_offset): Make dva const.
9066 (zfs_fetch_nvlist): New function.
9067 (fill_vdev_info_real): Likewise.
9068 (fill_vdev_info): Likewise.
9069 (check_pool_label): Likewise.
9070 (scan_disk): Likewise.
9071 (scan_devices): Likewise.
9072 (read_device): Likewise.
9073 (read_dva): Likewise.
9074 (zio_read_gang): Use read_dva.
9075 (zio_read_data): Likewise.
9076 (zap_leaf_lookup): Add missing endian conversion.
9077 (zap_verify): Add missing endian conversion. All users updated.
9078 (fzap_lookup): Likewise.
9079 (fzap_iterate): Likewise.
9080 (dnode_get_path): Handle SA bonus.
9081 (nvlist_find_value): Make input const. All users updated.
9082 (unmount_device): New function.
9083 (zfs_unmount): Use unmount_device.
9084 (zfs_mount): Use scan_disk.
9085 (zfs_mtime): New function.
9086 (grub_zfs_open): Handle system attributes.
9087 (fill_fs_info): Likewise.
9088 (grub_zfs_dir): Likewise.
9089 (grub_zfs_fs): Add mtime.
9090 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9091 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9092 (SA_MTIME_OFFSET): Likewise.
9093 (SA_SYMLINK_OFFSET): Likewise.
9094 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9095 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9096 (fstest): Support zfsinfo.
9097 (argp_parser): Likewise.
9098
186b4028
VS
90992011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9102 error.
9103
91042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9105
9106 ZFS fixes.
9107
9108 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9109 sharing the same block. Iterate over correct number of indices.
9110 (dnode_get_path): Handle symlinks correctly.
9111
c0584900
VS
91122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9115
67e2bd71
VS
91162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 Read label on HFS+.
9119
9120 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9121 (grub_hfsplus_btree_search): Fix types.
9122 (grub_hfsplus_label): Implement.
9123
e9cc6b7b
VS
91242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9127
19832ddb
VS
91282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9131
66b40850
VS
91322011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 Fix symlink handling on iso9660.
9135
9136 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9137 All users updated.
9138 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9139 (grub_iso9660_read_symlink): Moved most of code ...
9140 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9141
db821363
VS
91422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9145 Use union to avoid breaking strict-aliasing rules.
9146
e1211949
VS
91472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 Support multi-extent iso files.
9150
9151 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9152 Add node.
9153 (grub_fshelp_node): Revamp. All users updated.
9154 (FLAG_*): New enum.
9155 (read_node): New function.
9156 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9157 All users updated.
9158 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9159 (get_node_size): New function.
9160 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9161 entries.
9162 Fix memory leak on . and ..
9163 (grub_iso9660_read): Use read_node.
9164 (grub_iso9660_close): Free node.
9165
d4888031
VS
91662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 Fix tar 4G limit and handle paths containing dot.
9169
9170 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9171 (canonicalize): New function.
9172 (grub_cpio_find_file): Use canonicalize. Store offs in
9173 grub_disk_addr_t.
9174 (grub_cpio_dir): Use grub_disk_addr_t.
9175 (grub_cpio_open): Likewise.
9176
9f12e664
VS
91772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9180
9181 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9182 unused flags.
9183 (grub_squash_inode): Add long_file and block_size.
9184 (grub_squash_cache_inode): New struct.
9185 (grub_squash_dirent): Make types into enum.
9186 (SQUASH_TYPE_LONG_REGULAR): New type.
9187 (grub_squash_frag_desc): Add field size.
9188 (SQUASH_BLOCK_FLAGS): New enum.
9189 (grub_squash_data): Use grub_squash_cache_inode.
9190 (grub_fshelp_node): Make ino_chunk 64-bit.
9191 (read_chunk): Minor argument change. All users updated.
9192 (squash_mount): Use correct le_to_cpu.
9193 (grub_squash_open): Handle LONG_REGULAR.
9194 (direct_read): New function.
9195 (grub_squash_read_data): Handle blocks correctly.
9196
9f326fba
VS
91972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9200
f4d9b64b
VS
92012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9204
5bbd28b8
VS
92052011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 Fix 2G limit on ZFS.
9208
9209 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9210 types.
9211 (uberblock_verify): Likewise.
9212 (dmu_read): Likewise.
9213 (grub_zfs_read): Likewise. Remove invalid cast.
9214
68c72069
VS
92152011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9218 (grub_jfs_blkno): Fix incorrect shift.
9219 (grub_jfs_read_file): Use more appropriate types.
9220
6e536dc8
VS
92212011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 Support triple indirect on minix2 and minix3.
9224
9225 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9226 Declare triple_indir_zone.
9227 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9228 indirect.
9229
e0864e7a
VS
92302011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 Minix FS fixes.
9233
9234 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9235 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9236 Rename ctime to mtime. All users updated.
9237 (grub_minix_get_file_block): Fix types and double indirect computations.
9238
89481cab
VS
92392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9240
9241 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9242 if no label is found.
9243 (grub_fat_iterate_dir): Fix file size type.
9244 (grub_fat_iterate_dir): Likewise.
9245
f646e143
VS
92462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9249 save some space.
9250 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9251 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9252
534d769e
VS
92532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9256
e084ba18
VS
92572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * util/import_gcry.py: Accept space between # and include.
9260
3471ecdf
VS
92612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9264
124df5f6
VS
92652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9268
9269 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9270 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9271 yylex_strncpy.
9272 * grub-core/script/yylex.l: Add fine-grained #pragma.
9273
4defb8d5
VS
92742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9277 New inline function.
9278 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9279 Likewise.
9280 (memset) [GRUB_UTIL]: Likewise.
9281 (memcmp) [GRUB_UTIL]: Likewise.
9282
4e94ae65
VS
92832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9286 inline function rather than a define.
9287
18c575e5
VS
92882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * util/grub-setup.c: Add missing include.
9291
f8bc22a8
VS
92922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * util/ieee1275/grub-ofpathname.c: Add missing include.
9295
3ce69fc9
VS
92962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9299 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9300 Likewise.
9301
d1e293bb
VS
93022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9305 grub_memcmp usage.
9306
7a5c54a4
VS
93072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * util/grub-install.in: Add datarootdir as per automake manual
9310 suggestion.
9311 * util/grub-mknetdir.in: Likewise.
9312
93132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9314
9315 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9316 suggestion.
9317 * util/grub.d/10_kfreebsd.in: Likewise.
9318 * util/grub.d/10_linux.in: Likewise.
9319 * util/grub.d/10_netbsd.in: Likewise.
9320 * util/grub.d/10_windows.in: Likewise.
9321 * util/grub.d/20_linux_xen.in: Likewise.
9322
766f7d08
VS
93232011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Remove redundant grub_kernel_image_size.
9326
9327 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9328 _edata and _start.
9329 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9330 the small code. It moves it only by few bytes but simplifies the code.
9331 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9332 _start.
9333 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9334 (grub_kernel_image_size): Removed.
9335 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9336 (grub_kernel_image_size): Removed.
9337 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9338 compiled with Apple toolchain.
9339 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9340 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9341 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9342 (grub_total_module_size): Likewise.
9343 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9344 Removed.
9345 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9346 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9347 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9348 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9349 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9350 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9351 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9352 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9353 Removed.
9354 (grub_total_module_size): Removed.
9355 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9356 (image_targets): Likewise.
9357 Set .compressed_size to no field on sparc.
9358 (generate_image): Remove kernel_image_size handling.
9359
fcf1d672
SJ
93602011-10-19 Szymon Janc <szymon@janc.net.pl>
9361
9362 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9363 NULL pointer dereference.
9364
de9c615e
VS
93652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9368 done with a dedicated section.
9369
9370 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9371 Ensure the correct position of boot_path.
9372 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9373 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9374 other fields.
9375 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9376 * include/grub/boot.h: Removed. All references removed.
9377 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9378 Removed.
9379 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9380
e55599dc
VS
93812011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9384 name.
9385
36dd20ad
VS
93862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9389
f8f72eb8
VS
93902011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9393 Don't add the bogus brackets.
9394
a374751b
VS
93952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 ExFAT support.
9398
9399 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9400 * grub-core/Makefile.core.def (exfat): New module.
9401 * grub-core/fs/exfat.c: New file.
9402 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9403 (GRUB_FAT_ATTR_*): Make into an enum.
9404 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9405 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9406 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9407 (GRUB_FAT_MAXFILE): Removed.
9408 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9409 (grub_current_fat_bpb_t): New type.
9410 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9411 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9412 (grub_fat_dir_node_t): New type.
9413 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9414 (fat_log2) [MODE_EXFAT]: Removed.
9415 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9416 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9417 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9418 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9419 (grub_fat_label) [MODE_EXFAT]: New function.
9420 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9421 reserved_first_sector to 0.
9422
544c2487
VS
94232011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 Move grub_reboot out of the kernel.
9426
9427 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9428 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9429 * grub-core/lib/efi/reboot.c: ... here.
9430 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9431 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9432 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9433 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9434 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9435 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9436 * grub-core/lib/ieee1275/reboot.c: ... here.
9437 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9438 * grub-core/lib/mips/arc/reboot.c: ... here.
9439 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9440 * grub-core/lib/mips/loongson/reboot.c: ...here.
9441 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9442 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9443 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9444 * include/grub/i386/reboot.h: New file.
9445 * include/grub/mips/loongson/ec.h: Fix includes.
9446 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9447 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9448 * grub-core/lib/i386/reboot.c: New file.
9449
a97501d2
VS
94502011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 Make grub_prefix into module to fix the arbitrary limit and save
9453 some space.
9454
9455 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9456 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9457 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9458 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9459 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9460 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9461 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9462 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9463 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9464 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9465 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9466 * include/grub/ia64/efi/kernel.h: Removed.
9467 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9468 (grub_prefix): Removed.
9469 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9470 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9471 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9472 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9473 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9474 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9475 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9476 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9477 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9478 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9479 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9480 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9481 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9482 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9483 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9484 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9485 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9486 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9487 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9488 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9489 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9490 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9491 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9492 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9493 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9494 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9495 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9496 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9497 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9498 from module.
9499 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9500 prefix_end.
9501 (image_targets): Likewise.
9502 (generate_image): Put prefix as a module.
9503
39705fad
VS
95042011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 Replace grub_module_iterate with FOR_MODULES.
9507
9508 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9509 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9510 (grub_efi_modules_addr): ...this.
9511 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9512 (grub_efi_init): Set grub_modbase.
9513 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9514 (grub_modbase): New variable.
9515 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9516 (grub_modbase): New variable.
9517 (grub_machine_init): Set grub_modbase.
9518 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9519 (grub_modbase): New variable.
9520 (grub_machine_init): Set grub_modbase.
9521 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9522 (grub_modbase): New variable.
9523 (grub_machine_init): Set grub_modbase.
9524 * grub-core/kern/main.c (grub_module_iterate): Remove.
9525 (grub_modules_get_end): Use grub_modbase.
9526 (grub_load_modules): Use FOR_MODULES.
9527 (grub_load_config): Likewise.
9528 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9529 (grub_modbase): New variable.
9530 (grub_machine_init): Set grub_modbase.
9531 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9532 (grub_modbase): New variable.
9533 (grub_machine_init): Set grub_modbase.
9534 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9535 Removed.
9536 (grub_modbase): New variable.
9537 (grub_machine_init): Set grub_modbase.
9538 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9539 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9540 (grub_module_iterate): Likewise.
9541 (grub_modbase): New variable declaration.
9542 (FOR_MODULES): New macro.
9543
2afb7f6c
VS
95442011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9547 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9548
366e34fa
VS
95492011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 Fix few obvious type discrepancies.
9552
9553 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9554 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9555 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9556 variable.
9557 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9558 and connected types.
9559 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9560 offset.
9561 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9562 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9563 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9564 and connected types.
9565
177b960e
VS
95662011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 Fix python 3.x incompatibilities.
9569
9570 * gentpl.py: Put brackets around print strings.
9571 * util/import_gcry.py: Open explicitly as utf-8.
9572 Use in instead of has_key.
9573
3b619ae1
VS
95742011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9577 (GRUB_XFS_INO_AGBITS): Make into inline function.
9578 (GRUB_XFS_INO_INOINAG): Likewise.
9579 (GRUB_XFS_INO_AG): Likewise.
9580 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9581 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9582 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9583 (GRUB_XFS_EXTENT_SIZE): Likewise.
9584 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9585 (GRUB_XFS_NEXT_DIRENT): Likewise.
9586 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9587 (grub_xfs_read_file): Fix offset type.
9588
8bcebcb8
RM
95892011-10-15 Robert Millan <rmh@gnu.org>
9590
9591 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9592
0017e5ef
RM
95932011-10-15 Robert Millan <rmh@gnu.org>
9594
9595 Fix build problem on FreeBSD and GNU/kFreeBSD.
9596
9597 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9598
d8919552
VS
95992011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9602
9603 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9604 types.
9605 (grub_hfsplus_btree_recoffset): Likewise.
9606 (grub_hfsplus_btree_recptr): Likewise.
9607 (grub_hfsplus_find_block): Likewise.
9608 (grub_hfsplus_btree_search): Likewise.
9609 (grub_hfsplus_read_block): Likewise.
9610 (grub_hfsplus_read_file): Likewise.
9611 (grub_hfsplus_mount): Likewise.
9612 (grub_hfsplus_btree_iterate_node): Likewise.
9613 (grub_hfsplus_btree_search): Likewise.
9614 (grub_hfsplus_iterate_dir): Likewise.
9615 (grub_hfsplus_read): A small code simplification.
9616
c81296b6
VS
96172011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/kern/emu/hostdisk.c
9620 (convert_system_partition_to_system_disk): Don't assume that children
9621 of mapper nodes are mapper nodes.
9622
0eb8ffb1
VS
96232011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9626 * include/grub/misc.h (grub_isxdigit): New function.
9627 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9628 switched to grub_isxdigit.
9629 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9630 number starting with a letter.
9631
a98f4a08
RM
96322011-10-09 Robert Millan <rmh@gnu.org>
9633
9634 LVM support for FreeBSD and GNU/kFreeBSD.
9635
9636 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9637 GNU/kFreeBSD.
9638 (LVM_DEV_MAPPER_STRING): Move from here ...
9639 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9640 * util/getroot.c: Include `<grub/util/lvm.h>'.
9641 (grub_util_get_dev_abstraction): Enable
9642 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9643 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9644 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9645 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9646 support it.
9647 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9648 GNU/kFreeBSD.
9649 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9650 when LVM abstraction is required for ${GRUB_DEVICE}.
9651
050e8e90
SJ
96522011-10-06 Szymon Janc <szymon@janc.net.pl>
9653
9654 Add support for LZO compression in GRUB:
9655 - import of minilzo library,
9656 - LZO decompression for btrfs,
9657 - lzop files decompression.
9658
9659 * grub-core/io/lzopio.c: New file.
9660 * grub-core/lib/adler32.c: Likewise.
9661 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9662 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9663 * grub-core/lib/minilzo/minilzo.c: Likewise.
9664 * grub-core/lib/minilzo/minilzo.h: Likewise.
9665 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9666 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9667 grub-core/lib/minilzo/minilzo.c to common.
9668 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9669 cflags in cppflags.
9670 * grub-core/Makefile.core.def (btrfs): Likewise.
9671 * grub-core/Makefile.core.def (lzopio): New module.
9672 (adler32): Likewise.
9673 * grub-core/fs/btrfs.c: Include minilzo.h.
9674 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9675 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9676 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9677 (grub_btrfs_lzo_decompress): New function.
9678 (grub_btrfs_extent_read): Add support for LZO compression type.
9679 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9680 (GRUB_USHRT_MAX): Likewise.
9681 (GRUB_UINT_MAX): Likewise.
9682 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9683 (UINT_MAX): Likewise.
9684 (CHAR_BIT): Likewise.
9685 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9686 grub-core/lib/posix_wrap/limits.h
9687 (UCHAR_MAX): Likewise.
9688 * include/grub/file.h (grub_file_filter_id): New compression filter
9689 GRUB_FILE_FILTER_LZOPIO.
9690 * include/grub/file.h (grub_file_filter_id): Set
9691 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9692 * include/grub/types.h (grub_get_unaligned16): New function.
9693 (grub_get_unaligned32): Likewise.
9694 (grub_get_unaligned64): Likewise.
9695 * util/import_gcry.py (cryptolist): Add adler32.
9696
0eb8ffb1
VS
96972011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9700 in perspective decreases the complexity of build system and fixes
9701 compilation right now.
9702
ce79cc99 97032011-10-01 Ales Nesrsta <starous@volny.cz>
9704
9705 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9706 (fixed problem related to using UHCI with coreboot).
9707
8667a314
BC
97082011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9709
9710 * gentpl.py: Use Autogen macros so that the output template file
9711 (Makefile.tpl) size is reduced.
9712
fc5efcc0
MK
97132011-09-29 Mads Kiilerich <mads@kiilerich.com>
9714
9715 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9716 extra_dist.
9717
d1ab689d
ML
97182011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9719
9720 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9721 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9722
c05de032
ML
97232011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9724
9725 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9726 _fullpath.
9727
cca7ccd8
ML
97282011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9729
9730 Remove extra declaration of sleep for mingw32.
9731
9732 * util/misc.c (sleep) [__MINGW32__]: Removed.
9733 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9734
e0b0dc83
GS
97352011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9736
9737 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9738 type and packname.
9739 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9740 Resurrected.
9741 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9742 (grub_netbsd_btinfo_bootwedge): New struct.
9743 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9744 New function.
9745 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9746
91a1a164
TH
97472011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9748
9749 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9750 loader.
9751
2ded951e
AB
97522011-09-28 Andreas Born <futur.andy@googlemail.com>
9753
9754 Fix incorrect identifiers in bash-completion.
9755
9756 * util/bash-completion.d/grub-completion.bash.in
9757 (_grub_mkpasswd-pbkdf2): Rename to ...
9758 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9759 (_grub_script-check): Rename to ...
9760 (_grub_script_check): ... this. All users updated.
9761
69915030
VS
97622011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9765 Return 0 if disk isn't biosdisk.
9766
20fd15f9
GS
97672011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9768
9769 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9770 on NetBSD.
9771 * Makefile.util.def (grub-fstest): Likewise.
9772
1a7d7db9
GS
97732011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9774
9775 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9776 Get sector size from disk label.
9777
2221ab6c
CW
97782011-09-05 Colin Watson <cjwatson@ubuntu.com>
9779
9780 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9781 */README* as well as README*.
9782 Reported by: Axel Beckert.
9783
ca51c4a0
VS
97842011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9787 case of less than 256 MiB of RAM.
9788
ab80f326
VS
97892011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/commands/wildcard.c (make_regex): Handle @.
9792
4155e697
VS
97932011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9796
ab178c08
SJ
97972011-08-21 Szymon Janc <szymon@janc.net.pl>
9798
9799 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9800 AC_LANG_CONFTEST macros.
9801
7dc3c686
SJ
98022011-08-20 Szymon Janc <szymon@janc.net.pl>
9803
9804 Add grub-fstest option to uncompress data for commands.
9805
9806 * util/grub-fstest.c (uncompress): New var.
9807 (options): New option -u.
9808
fe8d4a7b
SJ
98092011-08-20 Szymon Janc <szymon@janc.net.pl>
9810
9811 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9812 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9813
a5219af1
SJ
98142011-08-20 Szymon Janc <szymon@janc.net.pl>
9815
9816 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9817 file type was not recognized correctly (not gzip or corrupted).
9818
f87abff5
VS
98192011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9820
9821 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9822 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9823
d94497ea
VS
98242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9827 loongson.
9828 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9829 video_radeon_fuloong2e.
9830 * grub-core/video/radeon_fuloong2e.c: New file.
9831 * include/grub/video.h (grub_video_id_t): Add new ID
9832 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9833
0d1fd011
VS
98342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9837 define.
9838 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9839 that PRID matches the detected subplatform and reset the subplatform
9840 if it doesn't.
9841
84beb0ee
VS
98422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9845
1227c133
VS
98462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 Fix PCI iterating on functions >= 4.
9849
9850 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9851 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9852 Removed.
9853 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9854 (grub_pci_read): Fix bitmask.
9855 (grub_pci_read_word): Likewise.
9856 (grub_pci_read_byte): Likewise.
9857 (grub_pci_write): Likewise.
9858 (grub_pci_write_word): Likewise.
9859 (grub_pci_write_byte): Likewise.
9860
9594c689
VS
98612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9864 can still be specified in TARGET_CFLAGS)
9865
14a2562c
VS
98662011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9869
9870 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9871 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9872 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9873 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9874 (FULOONG): Rename to ...
9875 (FULOONG2F): ... this. All users updated.
9876 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9877 (machtype_fuloong2f_str): ... this.
9878 (machtype_fuloong2e_str): New string.
9879 Check for machtype_fuloong2e_str.
9880 * grub-core/loader/mips/linux.c (loongson_machtypes)
9881 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9882 * grub-core/term/serial.c (loongson_defserial)
9883 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9884 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9885 loongson_defserial.
9886 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9887 Rename to ...
9888 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9889 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9890 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9891 to IMAGE_FULOONG2F_FLASH. All users updated.
9892 (image_targets): Rename images.
9893 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9894
b526cbb6
SJ
98952011-08-19 Szymon Janc <szymon@janc.net.pl>
9896
9897 Make enable of disk cache statistics code configurable.
9898
9899 * configure.ac: --enable-cache-stats added.
9900 * config.h.in (DISK_CACHE_STATS): New define.
9901 * grub-core/Makefile.core.def (cacheinfo): New command.
9902 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9903 * grub-core/commands/cacheinfo.c: New file.
9904 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9905 moved to cacheinfo.c.
9906 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9907 debug code.
9908 * include/grub/disk.h: Likewise.
9909
fb739ccd
SJ
99102011-08-19 Szymon Janc <szymon@janc.net.pl>
9911
9912 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9913 * grub-core/Makefile.am: Likewise.
9914
2bba8cfd
VS
99152011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9918 non-zero pull.
9919
43526629
VS
99202011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9923 All users updated.
9924 (grub_jfs_lookup_symlink): Use correct starting inode.
9925
5c144cc8
VS
99262011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * util/grub-setup.c (main): Add missing gcry initialisation.
9929
b1257f65
VS
99302011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 Don't accept text modes on EFI when booting Linux.
9933
9934 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9935 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9936
828bc390
ML
99372011-08-15 Mario Limonciello <mario_limonciello@dell.com>
99382011-08-15 Colin Watson <cjwatson@ubuntu.com>
9939
9940 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9941 use of "/path/.." as in grub-install for EFI as well as handling
9942 symlinks correctly.
9943 Fixes Debian bug #637768.
9944
5f60ccac
CW
99452011-08-15 Colin Watson <cjwatson@ubuntu.com>
9946
9947 * util/grub-probe.c: Remove duplicate #include.
9948
6dc212f9
RM
99492011-08-10 Robert Millan <rmh@gnu.org>
9950
9951 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9952
9953 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9954 function.
9955 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9956 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9957
66816d85
RM
99582011-08-03 Robert Millan <rmh@gnu.org>
9959
9960 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9961 la_array as packed.
9962 Reported by: Zachary Bedell
9963
20168fca
CW
99642011-07-26 Colin Watson <cjwatson@ubuntu.com>
9965
9966 * configure.ac: The Loongson port requires grub-mkfont due to its
9967 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9968 be built.
9969
303b6246
CW
99702011-07-26 Colin Watson <cjwatson@ubuntu.com>
9971
9972 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9973 processing arguments (otherwise help2man fails when GRUB has not yet
9974 been installed).
9975
6795300e
VS
99762011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9977
41aa28ea
VS
9978 New script grub-mkstandalone.
9979
9980 * Makefile.util.def (grub-mkstandalone): New script.
9981 * docs/man/grub-mkstandalone.h2m: New file.
9982 * util/grub-mkstandalone.in: Likewise.
9983
99842011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 Support ATA disks with 4K sectors.
6795300e
VS
9987
9988 * include/grub/ata.h (grub_ata): New member log_sector_size.
9989 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9990 (grub_ata_identify): Read sector size.
9991 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9992
92227597
VS
99932011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * util/grub-install.in: Don't use uhci outside of x86.
9996
c77069f5
VS
99972011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * util/grub-mkrescue.in: Add missing quotes.
10000
100012011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
10002
10003 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
10004 dereference.
10005
583168a2
VS
100062011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
10009
6be1c01f
VS
100102011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * include/grub/video.h: add missing EXPORT_FUND on
10013 grub_video_edid_checksum and grub_video_edid_preferred_mode.
10014
a1167439
VS
100152011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * include/grub/mips/kernel.h: Fix define conflict.
10018
bf66054f
VS
100192011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10022 all four ways.
10023
8fc4fa45
CW
100242011-07-21 Colin Watson <cjwatson@ubuntu.com>
10025
10026 Preferred resolution detection for VBE.
10027
10028 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10029 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10030 the Flat Panel extension, in line with the X.org VESA driver.
10031 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10032 New function.
10033 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10034 (grub_vbe_bios_read_edid): Likewise.
10035 (grub_vbe_get_preferred_mode): Likewise.
10036 (grub_video_vbe_setup): When the mode is "auto", try to get the
10037 preferred mode from VBE, and use the largest mode that is no larger
10038 than the preferred mode (some BIOSes expose a preferred mode that is
10039 not in their mode list!). If this fails, fall back to 640x480 as a
10040 safe conservative choice.
10041 (grub_video_vbe_get_edid): New function.
10042 (grub_video_vbe_adapter): Add get_edid.
10043 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10044 (struct grub_video_adapter): Add get_edid.
10045 (grub_video_edid_checksum): Add prototype.
10046 (grub_video_edid_preferred_mode): Likewise.
10047 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10048 structure.
10049
10050 * grub-core/commands/videoinfo.c (print_edid): New function.
10051 (grub_cmd_videoinfo): Print EDID if available.
10052
10053 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10054 is more appropriate on a wider range of platforms than 640x480.
10055 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10056 documentation.
10057
ca5572a9
VS
100582011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10061
e4bcf625
VS
100622011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * po/POTFILES.in: Regenerate.
10065
c4edd548
VS
100662011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10067
10068 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10069 incorrect memory usage.
10070
16a2bab0
VS
100712011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 * util/grub-install.in: Source grub-mkconfig_lib.
10074
2e418de6
VS
100752011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 Remove getroot.c from core on emu platform.
10078
10079 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10080 kern/emu/raid.c.
10081 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10082 useless.
10083 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10084 * util/getroot.c (get_win32_path): ... here.
10085 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10086 * util/getroot.c (fini_libzfs): ... here.
10087 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10088 * util/getroot.c (grub_get_libzfs_handle): ... here.
10089 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10090 Moved from here...
10091 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10092 * grub-core/kern/emu/misc.c
10093 (grub_make_system_path_relative_to_its_root): Moved from here...
10094 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10095 * grub-core/kern/emu/getroot.c: Moved from here ...
10096 * util/getroot.c: ... here. All users updated.
10097 * grub-core/kern/emu/raid.c: Moved from here ...
10098 * util/raid.c: ... here. All users updated.
10099
def9832a
VS
101002011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * po/POTFILES.in: Regenerate.
10103
cd8fe79a
VS
101042011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 Fix compilation on GNU/Linux.
10107
10108 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10109 Disable geli.
10110 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10111 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10112 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10113
a251b719
VS
101142011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
101152011-07-07 Michael Gorven <michael@gorven.za.net>
101162011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10117
10118 LUKS and GELI support.
10119
10120 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10121 grub-core/disk/luks.c, grub-core/disk/geli.c,
10122 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10123 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10124 grub-core/lib/arg.c.
10125 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10126 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10127 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10128 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10129 (grub-bin2h): Add libgcry.a.
10130 (grub-mkimage): Likewise.
10131 (grub-mkrelpath): Likewise.
10132 (grub-script-check): Likewise.
10133 (grub-editenv): Likewise.
10134 (grub-mkpasswd-pbkdf2): Likewise.
10135 (grub-pe2elf): Likewise.
10136 (grub-fstest): Likewise.
10137 (grub-mkfont): Likewise.
10138 (grub-mkdevicemap): Likewise.
10139 (grub-probe): Likewise.
10140 (grub-ofpath): Likewise.
10141 (grub-mklayout): Likewise.
10142 (example_unit_test): Likewise.
10143 (grub-menulst2cfg): Likewise.
10144 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10145 * grub-core/Makefile.core.def (cryptodisk): New module.
10146 (luks): Likewise.
10147 (geli): Likewise.
10148 * grub-core/disk/AFSplitter.c: New file.
10149 * grub-core/disk/cryptodisk.c: Likewise.
10150 * grub-core/disk/geli.c: Likewise.
10151 * grub-core/disk/luks.c: Likewise.
10152 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10153 grub_util_is_lvm.
10154 (grub_util_get_dm_abstraction): New function.
10155 (grub_util_follow_gpart_up): Likewise.
10156 (grub_util_get_geom_abstraction): Likewise.
10157 (grub_util_get_dev_abstraction): Use new functions.
10158 (grub_util_pull_device): Pull GELI and LUKS.
10159 (grub_util_get_grub_dev): Handle LUKS and GELI.
10160 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10161 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10162 (follow_geom_up): Removed.
10163 (grub_util_fd_seek): New function.
10164 (open_device): Use grub_util_fd_seek.
10165 (nread): Rename to ..
10166 (grub_util_fd_read): ... this. All users updated.
10167 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10168 (grub_crypto_cbc_decrypt): Likewise.
10169 (grub_crypto_hmac_write): Likewise.
10170 (grub_crypto_hmac_buffer): Likewise.
10171 (grub_password_get): Extend to util.
10172 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10173 New member modname.
10174 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10175 * include/grub/cryptodisk.h: New file.
10176 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10177 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10178 LUKS and GELI.
10179 (grub_util_follow_gpart_up): New proto.
10180 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10181 (grub_util_fd_read): Likewise.
10182 (grub_cryptodisk_cheat_mount): Likewise.
10183 (grub_util_cryptodisk_print_uuid): Likewise.
10184 (grub_util_get_fd_sectors): Likewise.
10185 * util/grub-fstest.c (mount_crypt): New var.
10186 (fstest): Mount crypto if requested.
10187 (options): New option -C.
10188 (argp_parser): Parse -C.
10189 (main): Init and fini gcry.
10190 * util/grub-install.in: Support cryptodisk install.
10191 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10192 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10193 cryptodisk.
10194 (prepare_grub_to_access_device): Likewise.
10195 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10196 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10197 (probe_cryptodisk_uuid): New function.
10198 (probe_abstraction): Likewise.
10199 (probe): Use new functions.
10200 * util/import_gcry.py: Create Makefile.utilgcry.def.
10201 Add modname member.
10202
9bfdcbbc
VS
102032011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 Lazy device scanning.
10206
10207 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10208 (grub-setup): Remove util/raid.c.
10209 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10210 * grub-core/disk/lvm.c (scan_depth): New variable.
10211 (grub_lvm_iterate): Rescan if necessary.
10212 (find_lv): New function based on grub_lvm_open.
10213 (grub_lvm_open): Use find_lv. Rescan on error.
10214 (is_node_readable): New function.
10215 (is_lv_readable): Likewise.
10216 (grub_lvm_scan_device): Skip already found disks.
10217 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10218 Stop if searched device is found and readable.
10219 * grub-core/disk/raid.c (inscnt): New variable.
10220 (scan_depth): Likewise.
10221 (scan_devices): New function based on grub_raid_register. Abort if
10222 looked for device is found.
10223 (grub_raid_iterate): Rescan if needed.
10224 (find_array): NEw function based on -grub_raid_open.
10225 (grub_raid_open): Use find_array and rescan.
10226 (insert_array): Set became_readable_at.
10227 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10228 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10229 New function.
10230 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10231 (grub_util_pull_device): New function.
10232 (grub_util_get_grub_dev): Call grub_util_pull_device.
10233 * util/raid.c: Moved to ..
10234 * grub-core/kern/emu/raid.c: ... here.
10235 (grub_util_raid_getmembers): New parameter "bootable".
10236 All users updated. Support 1.x.
10237 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10238 All users updated.
10239 * include/grub/disk.h (grub_disk_pull_t): New enum.
10240 (grub_disk_dev): Change iterate prototype.
10241 All users updated.
10242 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10243 New proto.
10244 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10245 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10246 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10247 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10248 All users updated.
10249 * include/grub/util/raid.h: Removed.
10250
1c358e59
VS
102512011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * po/POTFILES.in: Regenerate.
10254
abee94ed
VS
102552011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 Unify sparc init with other ieee1275.
10258
10259 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10260 instead of kern/sparc64/ieee1275/init.c.
10261 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10262 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10263 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10264 grub/machine/kernel.h.
10265 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10266 (grub_claim_heap) [__sparc__]: Use sparc version.
10267 (grub_machine_init): Moved args parsing to
10268 (grub_parse_cmdline): ...this.
10269 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10270 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10271 New definition.
10272 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10273
10274 Move BOOTP to separate file.
10275
10276 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10277 * grub-core/net/net.c: Move all BOOTP functions to
10278 * grub-core/net/bootp.c: ... here.
10279
10280 Use frame interface on PXE.
10281
10282 * grub-core/Makefile.core.def (pxecmd): Removed.
10283 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10284 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10285 * grub-core/i386/pc/pxe.c: Moved from here ...
10286 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10287 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10288 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10289
10290 EFI network support.
10291
10292 * grub-core/Makefile.core.def (efinet): New module.
10293 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10294 here...
10295 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10296 All users updated.
10297 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10298 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10299 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10300 * grub-core/net/drivers/efi/efinet.c: New file.
10301 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10302 (grub_efi_net_config): New extern var.
10303
10304 Various cleanups and bugfixes.
10305
10306 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10307 error.
10308 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10309 disk declared as partition.
10310 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10311 leak on failure.
10312 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10313 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10314 (grub_debug_zalloc): Likewise.
10315 (grub_debug_realloc): Likewise.
10316 (grub_debug_memalign): Likewise.
10317 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10318 Check that target is IPv4.
10319 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10320 local-mac-address as fallback.
10321 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10322 memory leak.
10323 * grub-core/net/ip.c (ipchksum): Rename to ...
10324 (grub_net_ip_chksum): ... this. All users updated.
10325 (grub_net_recv_ip_packets): Special handling for DHCP.
10326 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10327
10328 Unify prefix handling
10329
10330 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10331 (grub_machine_get_bootlocation): ... this.
10332 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10333 (grub_machine_get_bootlocation): ... this.
10334 (grub_prefix): New variable.
10335 (prefix): Removed.
10336 (root_dev): New variable.
10337 (dir): Likewise.
10338 (main): Use new variables.
10339 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10340 Revamped into ...
10341 (grub_machine_get_bootlocation): ... this.
10342 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10343 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10344 (grub_machine_get_bootlocation): ... this.
10345 (grub_machine_set_prefix): Removed.
10346 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10347 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10348 Revamped into ...
10349 (grub_machine_get_bootlocation): ... this.
10350 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10351 (grub_set_prefix_and_root): ... this. All users updated.
10352 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10353 Revamped into ...
10354 (grub_machine_get_bootlocation): ... this.
10355 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10356 (grub_machine_get_bootlocation): New proto.
10357 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10358
10359 Less intrusive and more reliable seek on network implementation.
10360
10361 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10362 (grub_file_seek): Don't call grub_file_net_seek.
10363 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10364 (grub_net_fs_read_real): .. this.
10365 (grub_net_seek_real): Use net->offset.
10366 (grub_net_fs_read): Seek if necessary.
10367
10368 Unify IEEE1275 netwotk config with the other platforms.
10369
10370 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10371 New variable.
10372 (grub_machine_get_bootlocation): Support network.
10373 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10374 Support type and device parsing.
10375 (grub_ieee1275_get_device_type): New function.
10376 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10377 into ...
10378 (grub_ieee1275_net_config_real): ... this.
10379 (grub_ofnet_probecards): Removed.
10380 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10381 * include/grub/ieee1275/ofnet.h: Removed.
10382 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10383 extern var.
10384 (grub_ieee1275_get_device_type): New function.
10385
10386 Unify network device closing across platforms and make more robust.
10387
10388 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10389 grub_grubnet_fini.
10390 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10391 already.
10392 * grub-core/net/net.c (grub_net_network_level_interface_register):
10393 Update num_ifaces.
10394 (grub_net_card_unregister): Close all interfaces.
10395 (receive_packets): Don't poll if no iterfaces are registered.
10396 Open if necessary.
10397 (grub_net_fini_hw): New function.
10398 (grub_net_restore_hw): Likewise.
10399 (fini_hnd): New variable.
10400 (GRUB_MOD_INIT): Register preboot hook.
10401 (GRUB_MOD_FINI): Run and unregister preboot hook.
10402
10403 Poll network cards when idle.
10404
10405 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10406 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10407 * grub-core/net/net.c (receive_packets): Save last poll time.
10408 (grub_net_poll_cards_idle_real): New function.
10409 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10410 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10411 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10412
10413 Rename ofnet interfaces.
10414
10415 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10416 (grub_ofnet_findcards): Use ofnet_%s names.
10417
10418 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10419
10420 Cleanup socket opening.
10421
10422 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10423 (grub_net_fs_close): Likewise.
10424 (grub_net_fs_read_real): Use eof member.
10425 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10426 (+grub_net_udp_close): New inline function.
10427
10428 * include/grub/net/tftp.h: Moved to the top of ...
10429 * grub-core/net/tftp.c: ... here.
10430 * include/grub/net/ip.h: Moved mostly to the top of ...
10431 * grub-core/net/ip.c: ... here.
10432 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10433 * grub-core/net/ethernet.c: ... here.
10434
10435 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10436
10437 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10438 FS name.
10439
10440 * include/grub/net/ip.h (ipv4_ini): Removed.
10441 (ipv4_fini): Likewise.
10442
10443 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10444 (grub_net_send_ip_packets): Likewise.
10445
cf1337aa
VS
104462011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10449 grub_read_cmos prototype.
10450
93c06ff9
VS
104512011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 VGA text support in qemu-mips
10454
10455 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10456 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10457 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10458 text.
10459 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10460 * grub-core/kern/vga_init.c: ... this.
10461 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10462 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10463 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10464 Adjust.
10465 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10466 GRUB_MACHINE_PCI_IO_BASE.
10467
748ccabe
VS
104682011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 MIPS qemu flash support.
10471
10472 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10473 magic.
10474 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10475 (grub_machine_init): Probe memory if its size isn't known.
10476 * util/grub-mkimage.c (image_targets): Add flash targets.
10477 (generate_image): Handle flash targets.
10478
d7345994
VS
104792011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 MIPS qemu at_keyboard support.
10482
10483 * gentpl.py (videoinkernel): Add qemu-mips.
10484 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10485 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10486 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10487 modules.
10488 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10489 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10490 * grub-core/term/serial.c (grub_serial_register)
10491 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10492
a07a81b3
VS
104932011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 CMOS support on sparc.
10496
10497 * gentpl.py (cmos): Add powerpc and sparc.
10498 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10499 powerpc and sparc.
10500 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10501 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10502 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10503 grub_set_datetime_cmos.
10504 * grub-core/lib/ieee1275/cmos.c: New file.
10505 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10506 (find_rtc): Set no_ieee1275_rtc on error.
10507 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10508 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10509 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10510 fail. Move value to argument. All users updated
10511 (grub_cmos_write): Likewise.
10512 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10513 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10514 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10515 grub_get_datetime_cmos and grub_set_datetime_cmos.
10516
77546584
GS
105172011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10518
10519 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10520 sourcing grub-mkconfig_lib.
10521 * util/update-grub_lib.in: Likewise.
10522 * util/grub.d/00_header.in: Likewise.
10523 * util/grub.d/10_hurd.in: Likewise.
10524 * util/grub.d/10_kfreebsd.in: Likewise.
10525 * util/grub.d/10_linux.in: Likewise.
10526 * util/grub.d/10_netbsd.in: Likewise.
10527 * util/grub.d/10_windows.in: Likewise.
10528 * util/grub.d/20_linux_xen.in: Likewise.
10529 * util/grub.d/30_os-prober.in: Likewise.
10530
54894791
CW
105312011-06-28 Colin Watson <cjwatson@ubuntu.com>
10532
10533 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10534 default_bg_color rather than black.
10535 (grub_gfxterm_fullscreen): Likewise.
10536 (grub_gfxterm_background_color_cmd): Save new background color in
10537 default_bg_color.
10538
8d5d8444
VS
105392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10542
5afeb5bd
VS
105432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10546 mismerge.
10547
ba7df45e
VS
105482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 Chainloading on coreboot support.
10551
10552 * grub-core/Makefile.core.def (chain): Add coreboot.
10553 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10554
d0b526b2
VS
105552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10558 if it happens.
10559
5ff1d945
VS
105602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 Implement time command.
10563
10564 * grub-core/Makefile.core.def (time): New module.
10565 * grub-core/commands/time.c: New file.
10566 * grub-core/script/parser.y: Remove "time" keyword.
10567 * grub-core/script/yylex.l: Likewise.
10568
5ebaad7e
VS
105692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10572
bdea3798
VS
105732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10576 when handling leftovers.
10577
b28c5655
VS
105782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10581 so that help2man doesn't fail.
10582
b6f945dc
VS
105832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10586 type in pointers on sparc64.
10587 (get_card_packet): Likewise.
10588
f9b75e8a
CW
105892011-06-27 Colin Watson <cjwatson@ubuntu.com>
10590
10591 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10592 with `*'.
10593 (grub_cmd_videoinfo): Fetch current video mode.
10594
1e3d9b86
VS
105952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10598 because of underlying system restrictions.
10599
efff4b1c
VS
106002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10603 necessary.
10604
9fc9ce37
VS
106052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 Coreboot video support.
10608
10609 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10610 (vbe): Likewise.
10611 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10612 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10613 here ...
10614 * grub-core/kern/i386/int.S: ... here.
10615 * grub-core/video/i386/pc/vbe.c: Updated includes.
10616 * grub-core/video/i386/pc/vga.c: Likewise.
10617 * include/grub/i386/coreboot/memory.h
10618 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10619 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10620 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10621 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10622 Disable interrupts.
10623 * include/grub/i386/pc/vga.h: Removed. All users updated.
10624
41bec7fe
VS
106252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10628 definitions for dprintf.
10629 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10630
ca80309d
VS
106312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10634 prototype.
10635 (get_card_packet): Likewise.
10636
9e322ce8
YB
106372011-06-26 Yves Blusseau <blusseau@zetam.org>
10638
10639 Display the path of the file when file is not found
10640
10641 * grub-core/fs/fat.c: Display the filename when file is not found.
10642 * grub-core/fs/fshelp.c: Likewise.
10643 * grub-core/fs/hfs.c: Likewise.
10644 * grub-core/fs/jfs.c: Likewise.
10645 * grub-core/fs/minix.c: Likewise.
10646 * grub-core/fs/ufs.c: Likewise.
10647 * grub-core/fs/btrfs.c: Likewise.
10648 * grub-core/commands/i386/pc/play.c: Likewise.
10649
cbf597af
SJ
106502011-06-26 Szymon Janc <szymon@janc.net.pl>
10651
10652 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10653 pointer checks before calling grub_free().
10654 * grub-core/commands/wildcard.c (match_devices): Likewise.
10655 * grub-core/commands/wildcard.c (match_files): Likewise.
10656 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10657 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10658 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10659 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10660 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10661 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10662 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10663 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10664 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10665
6295b32f
P
106662011-06-25 Patrick <p55@mailinator.com>
10667
10668 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10669
77c0840b
VS
106702011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10673 (grub_pxe_send): Likewise.
10674 (GRUB_MOD_INIT): Fix types.
10675
40ea05de
SJ
106762011-06-24 Szymon Janc <szymon@janc.net.pl>
10677
10678 * grub-core/io/xzio.c: Fix code style issues
10679
90162423
MRA
106802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
106812011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10682
10683 Network infrastructure.
10684 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10685
10686 * include/grub/net/arp.h: New file.
90162423
MRA
10687 * include/grub/net/device.h: Likewise.
10688 * include/grub/net/ethernet.h: Likewise.
10689 * include/grub/net/ip.h: Likewise.
10690 * include/grub/net/netbuff.h: Likewise.
10691 * include/grub/net/tftp.h: Likewise.
10692 * include/grub/net/udp.h: Likewise.
10693 * include/grub/ieee1275/ofnet.h: Likewise.
10694 * include/grub/emu/export.h: Likewise.
10695 * include/grub/net.h: Likewise.
10696 * grub-core/net/arp.c: Likewise.
10697 * grub-core/net/ethernet.c: Likewise.
10698 * grub-core/net/ip.c: Likewise.
10699 * grub-core/net/udp.c: Likewise.
10700 * grub-core/net/tftp.c: Likewise.
10701 * grub-core/net/netbuff.c: Likewise.
10702 * grub-core/net/net.c: Likewise.
10703 * grub-core/net/drivers/emu/emunet.c: Likewise.
10704 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10705 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10706 export.h.
10707 * grub-core/Makefile.core.def (net): New module.
10708 (tftp): Likewise.
10709 (ofnet): Likewise.
10710 (emunet): Likewise.
10711 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10712 network protocols.
10713 * grub-core/kern/device.c (grub_net_open) : New variable.
10714 (grub_device_open): Handle network device.
10715 (grub_device_close): Likewise.
10716 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10717 (grub_grubnet_fini): Likewise.
10718 (grub_file_seek): Seek in network device.
10719 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10720 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10721 network root.
10722 (grub_machine_fini): Call grub_grubnet_fini.
10723 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10724 network.
10725 (grub_ieee1275_get_aliasdevname): New function.
10726 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10727 Add unofficial Solaris network info.
10728 (grub_multiboot_make_mbi): Likewise.
10729 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10730 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10731 * include/grub/device.h (grub_fs): Removed.
10732 * include/grub/err.h (grub_err_t): Add network-related values.
10733 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10734 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10735 (grub_ieee1275_get_aliasdevname): New proto.
10736 * include/grub/net.h: Rewritten.
423a1849 10737
031f22a0
VS
107382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10741 names.
10742
4388ca72
VS
107432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10746 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10747 it truncates the output.
10748 Reported by: Ximin Luo.
10749
98e2f506
VS
107502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10753
2a5e94d8
VS
107542011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10757 partmap before abstraction.
10758
535c1910
AK
107592011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10760
10761 * util/grub-mkconfig_lib.in: Add missing quotes.
10762
bc09e1a2
VS
107632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10766 old method if mountinfo would return /dev/root and /dev/root doesn't
10767 exist.
10768
290766fb
VS
107692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 ZFS zlib support
10772
10773 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10774 (decomp_table): Add zlib entries.
10775 (zio_read): USe 8 bits for compression function rather than 3.
10776 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10777
107782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 * grub-core/disk/ahci.c: Add missing license statements.
10781 * grub-core/fs/romfs.c: Likewise.
10782 * grub-core/lib/ia64/setjmp.S: Likewise.
10783 * grub-core/loader/i386/pc/freedos.c: Likewise.
10784 * grub-core/loader/ia64/efi/linux.c: Likewise.
10785 * grub-core/video/colors.c: Likewise.
10786 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10787
5ab3f48a
VS
107882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 AHCI support.
10791
10792 * grub-core/Makefile.core.def (ata_pthru): Removed.
10793 (ahci): New module.
10794 (pata): Likewise.
10795 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10796 on unload.
10797 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10798 readwrite.
10799 (grub_hdparm_do_check_powermode_cmd): Likewise.
10800 (grub_hdparm_do_smart_cmd): Likewise.
10801 (grub_hdparm_set_val_cmd): Likewise.
10802 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10803 * grub-core/disk/ahci.c: New file.
10804 * grub-core/disk/ata.c: Factor out the low-level part into ...
10805 * grub-core/disk/pata.c: ... here.
10806 * grub-core/disk/ata_pthru.c: Contents moved to ...
10807 * grub-core/disk/pata.c: ... here.
10808 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10809 (grub_scsi_iterate): Use grub_scsi_names.
10810 (grub_scsi_open): Likewise.
10811 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10812 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10813 (grub_ata_regs_t): New struct.
10814 (grub_disk_ata_pass_through_parms): Likewise.
10815 (grub_ata_device): Renamed to ...
10816 (grub_ata): ... this.
10817 (grub_ata_dev): New struct.
10818 Removed all low-level inline functions.
10819 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10820 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10821 iterate hooks and open. All users updated.
10822 * util/grub-install.in: Handle AHCI disk module.
10823
c31dc5f5
SJ
108242011-06-23 Szymon Janc <szymon@janc.net.pl>
10825
10826 Add support for DRI and RSTn markers in JPEG files.
10827
10828 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10829 (JPEG_MARKER_RST0): Likewise.
10830 (JPEG_MARKER_RST1): Likewise.
10831 (JPEG_MARKER_RST2): Likewise.
10832 (JPEG_MARKER_RST3): Likewise.
10833 (JPEG_MARKER_RST4): Likewise.
10834 (JPEG_MARKER_RST5): Likewise.
10835 (JPEG_MARKER_RST6): Likewise.
10836 (JPEG_MARKER_RST7): Likewise.
10837 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10838 (grub_jpeg_decode_dri): New function.
10839 (grub_jpeg_decode_sos): Move image data related part into
10840 grub_jpeg_decode_data function.
10841 (grub_jpeg_decode_data): New function.
10842 (grub_jpeg_reset): New function.
10843 (grub_jpeg_decode_jpeg): Handle new markers.
10844
fe12fd5b
VS
108452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 * util/ieee1275/ofpath.c (check_sas): Close fd.
10848 (main): Free of_path.
10849 Reported by: David Volgyes <dvolgyes>.
10850
03147f46
VS
108512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10854 Reported by: David Volgyes <dvolgyes>.
10855
cad3237f
VS
108562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10859 file after stat.
10860 Reported by: David Volgyes <dvolgyes>.
10861
13548d26
VS
108622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10865
10866 Reported by: David Volgyes <dvolgyes>.
10867
e061a1b5
VS
108682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10871 Prevent memory leak.
10872
1abe47dc
VS
108732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10876 (main): Close file.
e061a1b5 10877 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10878
fbc62666
VS
108792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10882 to continue if allocation is failed.
10883
10884 Reported by: David Volgyes <dvolgyes>.
10885
e98c83e9
DV
108862011-06-23 David Volgyes <dvolgyes>
10887
10888 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10889 dereference.
10890
a199a8cd
VS
108912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 Fix spurious warning.
10894
10895 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10896 (acorn_partition_map_find): Use .bin member.
10897
e2d1dba0
VS
108982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10901 /dev/root as a valid device.
10902
8a5d6919
JM
109032011-06-23 Jim Meyering <meyering@redhat.com>
10904
e2d1dba0
VS
10905 Avoid NULL deref in grub_device_open.
10906
8a5d6919
JM
10907 * grub-core/kern/device.c (grub_device_open): Don't dereference
10908 a NULL pointer upon failed grub_env_get.
10909
f7db6f4a
VS
109102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 Support non-512B sectors and agglomerate reads.
10913
10914 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10915 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10916 (disk_io_guid): Removed.
10917 (make_devices): Locate solely by BlockIO.
10918 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10919 (grub_efidisk_read): Use read_blocks.
10920 (grub_efidisk_write): Use write_blocks.
10921 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10922 log_sector_size.
10923 (get_safe_sectors): Handle non-512B sectors.
10924 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10925 sectors.
10926 (grub_biosdisk_write): Handle non-512B sectors.
10927 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10928 (grub_scsi_read): Remove special non-512B block handling (now handled
10929 one level up).
10930 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10931 and do sanity checks.
10932 (grub_disk_adjust_range): Handle non-512B sectors.
10933 (transform_sector): New function.
10934 (grub_disk_read_small): Likewise.
10935 (grub_disk_read): Rewritten.
10936 (grub_disk_write): Handle non-512B sectors.
10937 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10938 log_sector_size.
10939 (open_device): Use log_sector_size.
10940 (grub_util_biosdisk_read): Likewise.
10941 (grub_util_biosdisk_write): Likewise.
10942 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10943 non-512B sectors.
10944 (pc_partition_map_embed): Likewise.
10945 * include/grub/disk.h (grub_disk): New field log_sector_size.
10946 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10947 (GRUB_DISK_CACHE_BITS): Increased to 6.
10948 * util/grub-fstest.c (fstest): New command testload.
10949 (argp_parser): Likewise.
10950
881ac815
RM
109512011-06-16 Robert Millan <rmh@gnu.org>
10952
10953 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10954 `ata' driver on kernel of FreeBSD 9.
10955
10956 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10957 (get_ataraid_disk_name): New functions.
10958 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10959 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10960 get_ataraid_disk_name() and get_ada_disk_name().
10961
1e9aef7d
CW
109622011-06-13 Colin Watson <cjwatson@ubuntu.com>
10963
10964 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10965 input format.
10966
351c7c8a
CW
109672011-05-29 Colin Watson <cjwatson@ubuntu.com>
10968
10969 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10970 `ftp.gnu.org' for `alpha.gnu.org'.
10971
6b4e6430
CW
109722011-05-27 Colin Watson <cjwatson@ubuntu.com>
10973
10974 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10975 partitions under /dev/disk/by-id/.
10976
c64db050
CW
109772011-05-27 Colin Watson <cjwatson@ubuntu.com>
10978
10979 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10980 after ten consecutive open failures. Scanning all the way up to
10981 10000 is excessive and can cause serious performance problems in
10982 some configurations.
10983 Fixes Ubuntu bug #787461.
10984
245f4aba
VS
109852011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10988 opening new one.
10989
f767c929
VS
109902011-05-21 Colin Watson <cjwatson@ubuntu.com>
109912011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 Don't stat devices unless we have to.
10994
10995 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10996 dir == /dev/mapper.
10997 (grub_guess_root_device): Use already known os_dev if possible.
10998 * grub-core/kern/emu/hostdisk.c
10999 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
11000 if device is known to be a dm one.
11001
f35fa3a6
CW
110022011-05-20 Colin Watson <cjwatson@ubuntu.com>
11003
11004 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
11005 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
11006 Reported by: Pawel Tecza.
11007
9a79fcf2
VS
110082011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
11011 (lsefisystab): Likewise.
11012 (lssal): Likewise.
11013 (lsefimmap): Likewise.
11014 (hdparm): Enable on qemu-mips.
11015 (setjmp): Add ia64 nodist.
11016 (serial): Simplify tags.
11017
63e3eea9
CW
110182011-05-18 Colin Watson <cjwatson@ubuntu.com>
11019
11020 * Makefile.util.def (grub-ofpathname): Install manual page.
11021
09728256
CW
110222011-05-18 Colin Watson <cjwatson@ubuntu.com>
11023
11024 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11025
8b63a142
CW
110262011-05-18 Colin Watson <cjwatson@ubuntu.com>
11027
11028 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11029
e775d8ed
VS
110302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11031
11032 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11033 into dprintf.
11034
bf947d36
VS
110352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 Use full 64-bit division.
11038
11039 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11040 (grub_divmod64): ... this.
11041 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11042 version.
11043
b84f26c5
CW
110442011-05-18 Colin Watson <cjwatson@ubuntu.com>
11045
11046 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11047 `source'.
11048
5626056f
CW
110492011-05-18 Colin Watson <cjwatson@ubuntu.com>
11050
11051 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11052 to avoid accidents when debugging with 'sh -x'.
11053 * grub-core/gensyminfo.sh.in: Likewise.
11054 * tests/example_scripted_test.in: Likewise.
11055 * tests/grub_cmd_regexp.in: Likewise.
11056 * tests/grub_script_blanklines.in: Likewise.
11057 * tests/grub_script_dollar.in: Likewise.
11058 * tests/grub_script_expansion.in: Likewise.
11059 * tests/grub_script_final_semicolon.in: Likewise.
11060 * tests/partmap_test.in: Likewise.
11061 * tests/util/grub-shell-tester.in: Likewise.
11062 * tests/util/grub-shell.in: Likewise.
11063
e2965f4a
CW
110642011-05-18 Colin Watson <cjwatson@ubuntu.com>
11065
11066 Move gfxmenu color handling to video, so that gfxterm can use it
11067 too.
11068
11069 * grub-core/gfxmenu/named_colors.c: Move to ...
11070 * grub-core/video/colors.c: ... here. Rename
11071 grub_gui_get_named_color to grub_video_get_named_color.
11072 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11073 * grub-core/video/colors.c (my_isxdigit): ... here.
11074 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11075 Move to ...
11076 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11077 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11078 to ...
11079 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11080
11081 * include/grub/gui.h (grub_gui_color_t): Move to ...
11082 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11083 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11084 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11085 * include/grub/gui.h (grub_gui_map_color): Move to ...
11086 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11087 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11088 to ...
11089 * include/grub/video.h (grub_video_get_named_color): ... here.
11090 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11091 * include/grub/video.h (grub_video_parse_color): ... here.
11092
11093 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11094 video/colors.c.
11095 (gfxmenu): Remove gfxmenu/named_colors.c.
11096 (video) [videomodules]: Add video/colors.c.
11097
11098 Add a background_color command.
11099
11100 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11101 function.
11102 (GRUB_MOD_INIT): Register background_color command.
11103 (GRUB_MOD_FINI): Unregister background_color command.
11104 (redraw_screen_rect): Allow blend/replace of text layer to be
11105 controlled independently from whether there is a background bitmap.
11106 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11107 changing bitmap.
11108
1e4b4390
VS
111092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11110
26618ff0
VS
11111 Patch BPB in ntldr and chainloader --bpb.
11112
1e4b4390
VS
11113 * grub-core/fs/fat.c: Include grub/fat.h.
11114 (grub_fat_bpb): Moved to ...
11115 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11116 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11117 grub/ntfs.h.
11118 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11119 Moved from here...
11120 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11121 here.
11122 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11123 New function.
11124 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11125 (GRUB_MOD_INIT): Show --bpb.
11126 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11127 * grub-core/normal/main.c (features): New variable.
11128 (GRUB_MOD_INIT): Set feature_* variables.
11129 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11130 proto.
11131 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11132
cf02731e
VS
111332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11134
11135 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11136 for cleanness.
11137
e3a1073f
VS
111382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11139
11140 FreeDOS direct loading support.
11141
11142 * docs/grub.texi (Supported OS): Add FreeDOS.
11143 * grub-core/Makefile.core.def (freedos): New module.
11144 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11145 variable.
11146 (grub_relocator16_boot): Handle %ebx.
11147 * grub-core/lib/i386/relocator16.S: Likewise.
11148 * grub-core/loader/i386/pc/freedos.c: New file.
11149
05caa461
VS
111502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 Long Linux command line support.
11153
11154 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11155 (maximal_cmdline_size): New variable.
11156 (allocate_pages): Use maximal_cmdline_size.
11157 (grub_cmd_linux): Set and use maximal_cmdline_size.
11158 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11159 (allocate_pages): Use maximal_cmdline_size.
11160 (grub_cmd_linux): Set and use maximal_cmdline_size.
11161 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11162 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11163 and cmdline_size.
11164
a2491e23
VS
111652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
111662011-05-18 Colin Watson <cjwatson@ubuntu.com>
11167
11168 Improve devmapper support
11169
11170 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11171 (grub_util_is_lvm): New function.
11172 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11173 than lvm if not dmraid.
11174 Handle mapped md nodes.
11175 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11176 (grub_util_device_is_mapped): ... this. Make always available. All users
11177 updated.
11178 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11179 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11180 dmraid nodes.
11181 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11182
6ad6223e
VS
111832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11186
11187 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11188 * grub-core/modinfo.sh.in: New file.
11189 * grub-core/Makefile.core.def (modinfo.sh): New script.
11190 * util/grub-mknetdir.in: Use modinfo.sh.
11191 * util/grub-mkrescue.in: Likewise.
11192
543a8f6e
VS
111932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11196 Fix potential usage of Elf32 instead of Elf64 when compiling on
11197 32-bit architecture. Add endianness macros while on it.
11198
4959e111
VS
111992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11200
11201 Use mipsel- rather than mips- in directories involving mipsel ports to
11202 allow both endiannesses coexist.
11203
11204 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11205 mips. All conditions adjusted.
11206 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11207 variable.
11208 * util/grub-install.in: Adjust conditions to take renaming into account.
11209 * util/grub-mkimage.c (image_targets): Likewise. New target
11210 mips-qemu_mips-elf for bigendian mips.
11211
35341bbc
VS
112122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Avoid unnecessary copying on MIPS.
11215
11216 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11217 early if src == dest.
11218 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11219 compression is none.
11220
b772baed
VS
112212011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 Reduce memory footprint on SGI by putting modules before the kernel
11224 as opposed to after.
11225
11226 * grub-core/Makefile.core.def (kernel): Increase linking address.
11227 (none_decompress): Likewise.
11228 (xz_decompress): Likewise.
11229 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11230 address.
11231 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11232 layout change.
11233 (grub_arch_modules_addr): New function.
11234 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11235 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11236 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11237 here.
11238 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11239 (grub_total_modules_size): ... this. Make global.
11240 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11241 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11242 New definition.
11243 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11244 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11245 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11246 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11247 * util/grub-mkimage.c (image_target_desc): New flag
11248 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11249 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11250 (generate_image): Handle images with modules before kernel.
11251
566a1917
VS
112522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 Prevent potential loss of memory map by overwrite on qemu-mips.
11255
11256 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11257 Save ram size in $s4.
11258 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11259 All users changed to grub_arch_memsize.
11260 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11261 Loongson.
11262 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11263 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11264 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11265 external variable.
11266
5d420cd9
CW
112672011-05-17 Colin Watson <cjwatson@ubuntu.com>
11268
11269 * .bzrignore: Remove grub-dumpbios.
11270
d064b830
CW
112712011-05-17 Colin Watson <cjwatson@ubuntu.com>
11272
11273 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11274 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11275 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11276 existing options which append).
11277 * docs/grub.texi (Simple configuration): Document new options.
11278 Reported by: Ian Jackson. Fixes Debian bug #617538.
11279
3ca2b466
CW
112802011-05-17 Colin Watson <cjwatson@ubuntu.com>
11281
11282 * util/grub-fstest.c (cmd_cat): New function.
11283 (fstest): Handle CMD_CAT.
11284 (options): Add cat.
11285 (argp_parser): Handle cat.
11286
24c9143a
CW
112872011-05-17 Colin Watson <cjwatson@ubuntu.com>
11288
11289 * Makefile.util.def (grub-bin2h): Don't install.
11290 * docs/man/grub-bin2h.h2m: Remove.
11291
90f7ac19
VS
112922011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11295 place.
11296
8d4a5178
VS
112972011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 Reenable qemu-mips port.
11300
11301 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11302 Fix small arc bug while on it.
11303 * gentpl.py: Handle qemu_mips.
11304 * grub-core/Makefile.am: Likewise.
11305 * grub-core/Makefile.core.def: Likewise.
11306 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11307 inappropriate includes.
11308 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11309 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11310 * grub-core/kern/main.c (grub_modules_get_end)
11311 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11312 * grub-core/kern/mips/qemu-mips: Moved to ..
11313 * grub-core/kern/mips/qemu_mips: ... this.
11314 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11315 (grub_machine_init): Call terminfo_init and serial_init.
11316 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11317 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11318 New variable.
11319 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11320 parameter passing.
11321 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11322 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11323 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11324 * include/grub/mips/qemu_mips/cmos.h: New file.
11325 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11326 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11327 Removed.
11328 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11329 Use correct mips-style address.
11330 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11331 (GRUB_TICKS_PER_SECOND): Removed.
11332 (grub_get_rtc): Likewise.
11333 (grub_cpu_idle): Likewise.
11334 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11335 New definition.
11336 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11337 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11338 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11339 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11340 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11341 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11342 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11343 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11344
400b9371
VS
113452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11346
11347 SGI ARCS port.
11348
11349 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11350 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11351 platforms.
11352 * configure.ac: New target mips-arc.
11353 * gentpl.py: Likewise.
11354 * grub-core/Makefile.am: Likewise.
11355 * grub-core/Makefile.core.def: Likewise.
11356 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11357 (none_decompress): Likewise.
11358 (lsdev): New module.
11359 (datetime): Use lib/arc/datetime.c on ARC.
11360 (part_dvh): New module.
11361 * grub-core/commands/arc/lsdev.c: New file.
11362 * grub-core/disk/arc/arcdisk.c: Likewise.
11363 * grub-core/kern/mips/arc/init.c: Likewise.
11364 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11365 aligned addresses.
11366 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11367 support.
11368 (grub_arch_dl_relocate_symbols): Likewise.
11369 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11370 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11371 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11372 platforms.
11373 * grub-core/lib/arc/datetime.c: New file.
11374 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11375 pci.h on non-loongson.
11376 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11377 (grub_linux_boot): Set unused registers to 0.
11378 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11379 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11380 * grub-core/mmap/mips/uppermem.c: ...here.
11381 * grub-core/partmap/dvh.c: New file.
11382 * grub-core/term/arc/console.c: Likewise.
11383 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11384 (grub_terminfo_set_current): Add terminal "arc".
11385 (grub_terminfo_readkey): Support ARC sequences.
11386 * include/grub/arc/arc.h: New file.
11387 * include/grub/arc/console.h: Likewise.
11388 * include/grub/disk.h (grub_disk_dev_id): Add
11389 GRUB_DISK_DEVICE_ARCDISK_ID.
11390 * include/grub/mips/arc/kernel.h: New file.
11391 * include/grub/mips/arc/memory.h: Likewise.
11392 * include/grub/mips/arc/time.h: Likewise.
11393 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11394 * include/grub/mips/kernel.h (grub_halt): ... here.
11395 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11396 here...
11397 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11398 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11399 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11400 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11401 proto.
11402 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11403 from here ...
11404 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11405 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11406 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11407 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11408 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11409 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11410 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11411 (grub_phys_addr_t): Moved from here ...
11412 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11413 (grub_vtop): Moved from here ...
11414 * include/grub/mips/memory.h (grub_vtop): ... here.
11415 (grub_map_memory): Moved from here ...
11416 * include/grub/mips/memory.h (grub_map_memory): ... here.
11417 (grub_unmap_memory): Moved from here ...
11418 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11419 (grub_machine_mmap_iterate): Moved from here ...
11420 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11421 (grub_mmap_get_lower): Moved from here ...
11422 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11423 (grub_mmap_get_upper): Moved from here ...
11424 * include/grub/mips/memory.h (grub_mmap_get_upper): ... 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_get_rtc): Moved from
11429 here ...
11430 * include/grub/mips/time.h (grub_get_rtc): ... here.
11431 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11432 here ...
11433 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11434 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11435 here ...
11436 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11437 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11438 definition.
11439 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11440 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11441 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11442 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11443 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11444 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11445 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11446 (GRUB_MACHINE_LINK_ADDR): Likewise.
11447 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11448 to 6.
11449 * util/grub-install.in: Run dvhtool on ARC.
11450 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11451 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11452
c8ecc840
VS
114532011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11456 blocks.
11457
153a4b55
VS
114582011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11461 after enabling port.
11462
ff44d107
VS
114632011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 Skip incorrect USB devices.
11466
11467 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11468 configcnt == 0.
11469 * include/grub/usb.h (grub_usb_err_t): New enum value
11470 GRUB_USB_ERR_BADDEVICE.
11471
638dbe4f
VS
114722011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 Fuloong video init support.
11475
11476 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11477 well.
11478 (grub_vga_read_arx): New function.
11479 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11480 definition.
11481 (framebuffer): New members io, mmioptr and mmiobase.
11482 (read_sis_cmd): New function.
11483 (write_sis_cmd): Likewise.
11484 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11485 rather than 640x400.
11486 * grub-core/video/sis315_init.c: New file.
11487
c3fc520c
VS
114882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11491 non-loongson.
11492 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11493 to grub_dl_register_symbol.
11494
67b1e5c9
VS
114952011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 Fix compilation errors.
11498
11499 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11500 potentially unused.
11501 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11502 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11503 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11504 to loongson machines.
11505
b756f75f
VS
115062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11507
11508 Several FS mtime support.
11509
11510 * grub-core/fs/affs.c (grub_affs_time): New struct.
11511 (grub_affs_file): New field mtime.
11512 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11513 type. Removed 'size'. New field 'di'. All users updated.
11514 (grub_affs_mount): Simplify checsum checking.
11515 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11516 (grub_affs_dir): Handle mtime.
11517 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11518 (grub_cpio_dir): Likewise.
11519 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11520 (grub_hfs_filerec): New field mtime.
11521 (grub_hfs_dir): Handle mtime.
11522 (grub_hfs_mtime): New function.
11523 (grub_hfs_fs): Register grub_hfs_mtime.
11524 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11525 (grub_iso9660_dir): New field mtime.
11526 (grub_fshelp_node): New field dirent.
11527 (iso9660_to_unixtime): New function.
11528 (iso9660_to_unixtime2): Likewise.
11529 (grub_iso9660_read_symlink): Use node->dirent.
11530 (grub_iso9660_iterate_dir): Likewise.
11531 (grub_iso9660_dir): Set mtime.
11532 (grub_iso9660_mtime): New function.
11533 (grub_iso9660_fs): Register grub_iso9660_mtime.
11534 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11535 (grub_jfs_inode): New fields atime, ctime and mtime.
11536 (grub_jfs_dir): Set mtime.
11537 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11538 * grub-core/fs/ntfs.c (list_file): Set mtime.
11539 (grub_ntfs_dir): Likewise.
11540 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11541 (grub_reiserfs_iterate_dir): Set mtime.
11542 (grub_reiserfs_dir): Likewise.
11543 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11544 (grub_fshelp_node): Likewise.
11545 (grub_sfs_iterate_dir): Set mtime.
11546 (grub_sfs_dir): Likewise.
11547 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11548 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11549 (grub_xfs_inode): New fields atime, mtime, ctime.
11550 (grub_xfs_dir): Set mtime.
11551 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11552 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11553 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11554
11555 Support UDF symlinks.
11556
11557 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11558 (grub_ufs_read_symlink): New function. All users updated.
11559
11560 Check amiga partmap checksum.
11561
11562 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11563 (grub_amiga_partition): Likewise.
11564 (amiga_partition_map_checksum): New function.
11565 (amiga_partition_map_iterate): Check checksum.
11566
5470225d
VS
115672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 ROMFS support.
11570
11571 * Makefile.util.def (libgrubmods.a): Add romfs.
11572 * grub-core/Makefile.core.def (romfs): New module.
11573 * grub-core/fs/romfs.c: New file.
11574
d4680a35
VS
115752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 Squashfs v4 support.
11578
11579 * Makefile.util.def (libgrubmods.a): Add squash4.
11580 * grub-core/Makefile.core.def (squash4): New module.
11581 * grub-core/fs/squash4.c: New file.
11582 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11583 disk_input_start, disk_input.
11584 (get_byte): Handle disk_input.
11585 (grub_zlib_disk_read): New function.
11586 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11587
bcb18e74
FZ
115882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
115892011-05-15 Feiran Zheng <famcool@gmail.com>
11590
11591 * Makefile.util.def (libgrubmods.a): Add minix3.
11592 * grub-core/Makefile.core.def (minix3): New module.
11593 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11594 (GRUB_MINIX_BSIZE): Removed.
11595 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11596 (grub_minix_ino_t): New type.
11597 (grub_minix_le_to_cpu_ino): New macro.
11598 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11599 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11600 (grub_minix_data): New field block_size.
11601 (grub_minix_read_file): Handle 64-bit correctly.
11602 * grub-core/fs/minix3.c: New file.
11603
32297d5f
TG
116042011-05-15 Tristan Gingold <gingold@free.fr>
116052011-05-15 Robert Millan <rmh.grub@aybabtu.com>
116062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11607
11608 IA64 support.
11609
11610 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11611 * configure.ac: Add ia64-efi target.
11612 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11613 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11614 * gentpl.py: Add ia64_efi platform.
11615 Rename x86_efi to efi and Add ia64-efi. All users updated.
11616 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11617 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11618 Remove kern/generic/rtc_get_time_ms.c on EFI.
11619 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11620 kern/ia64/dl_helper.c on ia64-efi.
11621 Add kern/emu/cache.c on emu.
11622 (linux): Use on loader/ia64/efi/linux.c on ia64.
11623 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11624 whether symbol is a function.
11625 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11626 (grub_symbol): New field 'isfunc'.
11627 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11628 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11629 (grub_dl_load_segments): Place all sections into the same region.
11630 [__ia64__]: Create trampolines and got.
11631 [GRUB_MACHINE_EMU]: Call mprotect.
11632 (grub_dl_resolve_symbols): Resolve symbol type as well.
11633 [__ia64__]: Create function descriptors.
11634 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11635 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11636 (grub_get_rtc): New function.
11637 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11638 * grub-core/kern/emu/cache.S: Renamed to ...
11639 * grub-core/kern/emu/cache_s.S: ... this.
11640 [__ia64__]: Add a nop.
11641 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11642 [__ia64__]: New function.
11643 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11644 * grub-core/kern/ia64/dl.c: New file.
11645 * grub-core/kern/ia64/dl_helper.c: Likewise.
11646 * grub-core/kern/ia64/efi/init.c: New file.
11647 * grub-core/kern/ia64/efi/startup.S: Likewise.
11648 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11649 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11650 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11651 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11652 * grub-core/loader/ia64/efi/linux.c: New file.
11653 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11654 (GRUB_MOD_DEP): Likewise.
11655 (grub_dl) [__ia64__]: New fields got and tramp.
11656 (grub_dl): New field 'base'.
11657 (grub_dl_register_symbol): New argument isfunc. All users updated.
11658 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11659 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11660 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11661 (grub_ia64_dl_get_tramp_got_size): New proto.
11662 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11663 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11664 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11665 * include/grub/efi/api.h: Skip call wrappers on ia64.
11666 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11667 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11668 * include/grub/elf.h (ELF_ST_INFO): New definition.
11669 * include/grub/ia64/efi/kernel.h: New file.
11670 * include/grub/ia64/efi/memory.h: Likewise.
11671 * include/grub/ia64/efi/time.h: Likewise.
11672 * include/grub/ia64/kernel.h: Likewise.
11673 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11674 * include/grub/ia64/time.h: New file.
11675 * include/grub/ia64/types.h: Likewise.
11676 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11677 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11678 New protos.
11679 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11680 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11681 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11682 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11683 All users updated.
11684 (EFI64_HEADER_SIZE): New definition. All users updated.
11685 (image_targets): Add ia64-efi.
11686 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11687 jumpers_addr. All users updated.
11688 Create function descriptors.
11689 (count_funcs): New function.
11690 (unaligned_uint32): New struct.
11691 (MASK20): New definition.
11692 (MASK19): Likewise.
11693 (MASKF21): Likewise.
11694 (add_value_to_slot_20b): New function.
11695 (add_value_to_slot_21_real): Likewise.
11696 (add_value_to_slot_21): Likewise.
11697 (ia64_kernel_trampoline): New struct.
11698 (nopm): New variable.
11699 (jump): Likewise.
11700 (make_trampoline): New function.
11701 (relocate_addresses): Handle ia64.
11702 (make_reloc_section): Likewise.
11703 (load_image): Likewise.
11704
983b414d
VS
117052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11708 warning. Move variables before code while on it.
11709
5d063cdc
VS
117102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 Fuloong support.
11713
11714 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11715 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11716 * grub-core/boot/mips/loongson/fuloong.S: New file.
11717 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11718 Explicitly init CS5536.
11719 [FULOONG]: Don't use serial until CS5536 is available.
11720 Set GPIO based on dumps.
11721 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11722 [FULOONG]: Handle GPIO and memory controller differences.
11723 Parse machine type in $a2.
11724 * grub-core/boot/mips/startup_raw.S: Determine and save the
11725 architecture.
11726 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11727 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11728 init on architecture type.
11729 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11730 SIS315E. Don't init at_keyboard on fuloong.
11731 (grub_halt): Support Fuloong.
11732 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11733 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11734 (loongson_machtypes): New array.
11735 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11736 type.
11737 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11738 config. All users updated. Handle CS5536 serial.
11739 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11740 default port on machine type. Register serial as inactive.
11741 * grub-core/video/sis315pro.c: New file.
11742 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11743 definition.
11744 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11745 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11746 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11747 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11748 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11749 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11750 to ...
11751 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11752 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11753 definition.
11754 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11755 (grub_arch_machine): New extern var.
11756 * include/grub/mips/loongson/serial.h
11757 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11758 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11759 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11760 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11761 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11762 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11763 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11764 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11765 * include/grub/term.h (grub_term_register_input_inactive): New inline
11766 function.
11767 (grub_term_register_output_inactive): Likewise.
11768 * include/grub/video.h (grub_video_driver_id): New value
11769 GRUB_VIDEO_DRIVER_SIS315PRO.
11770 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11771 New field "names". All users updated.
11772 New field value IMAGE_FULOONG_FLASH.
11773 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11774
6ada82d1
JU
117752011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11776
11777 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11778 and add some clarification.
11779
90c571a4
VS
117802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11783 platforms if kernel is compressed.
11784
de04eecf
VS
117852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11788 unused modules since currently referrence counter isn't reliable and
11789 there isn't much memory to recover there anyway.
11790
57688121
VS
117912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11794 rather than resetting it to allow modules to reference themselves
11795 in init.
11796
3d2c7e35
VS
117972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11800 counter on dependencies since grub_dl_unref already handles this.
11801
b25db218
VS
118022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11805 on error if not already done.
11806
25a45338
VS
118072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 Fix few potential memory misusage.
11810
11811 * grub-core/font/font.c (load_font_index): Don't free char_index to
11812 avoid double free.
b25db218
VS
11813 (grub_font_load): Zero-fill font at alloc for safety.
11814 Close file on error.
11815 (free_font): Free bmp_idx.
25a45338 11816
0cac83df
VS
118172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 * docs/grub.texi (Installation): Fix several outdated claims.
11820
2217a143
VS
118212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 Handle module_license on windows.
11824
11825 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11826 sections shifted.
11827 (insert_string): Make argument const char * instead of char *.
11828 (write_section_data): Handle long section names.
11829 Handle module_license.
11830
d4de6b01
VS
118312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11834 handle class-free menuentries.
11835 (grub_normal_add_menu_entry): Add a check to be sure.
11836
4c2a3b43
VS
118372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11840 PgUp and PgDown.
11841
85c6210f
VS
118422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * configure.ac: Bump version to 1.99.
11845
36084912
VS
118462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 Give ATA device a bit more time on first try in order to allow disks
11849 to spin up.
11850
11851 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11852 if dev->present is 1. Reset dev->present on failure.
11853 (grub_ata_device_initialize): Set dev->present to 1.
11854 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11855 (grub_ata_device): New member 'present'.
11856
bda0e219
VS
118572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * util/grub-mkimage.c (generate_image): Update hash.
11860
19e1c41b
VS
118612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 Flush caches on DMA memory.
11864
11865 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11866 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11867 (grub_dma_free): Likewise.
11868 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11869
91bbcc0c
VS
118702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11873 to avoid asm treating ld and sd as macros.
11874
60ddfad3
VS
118752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11878 decompressor.
11879
a298aa04
VS
118802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11883 grub_decompress_core since later would fail if grub_decompress_core
11884 is too far.
11885
9b44feca
VS
118862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11889 R_MIPS_JALR since it's used by newer compiler.
11890
56dbe7b4
VS
118912011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11894
52856af2
VS
118952011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11898 file_path to 0 for surety.
11899 (grub_chainloader_boot): Set exit_data to NULL.
11900 Unset the loader once done.
11901 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11902
9c9bfc6d
VS
119032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11906 unknown key into a dprintf.
11907
dd94a3df
VS
119082011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11911 on first non-existant partition.
11912
fa68d99c
VS
119132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11916 openning fails.
11917 Reported by: Mark Korenberg.
11918
157effb7
VS
119192011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11922 overflow.
11923
ea75312f
VS
119242011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11927 before closing to ensure that it will be readable by grub-setup.
11928
072b5d31
VS
119292011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11932 (devpath_1): Use MAKE_PIWG_PATH.
11933 (devpath_2): Likewise.
11934 (devpath_3): Likewise.
11935 (devpath_4): Likewise.
11936 (devpath_5): Likewise.
11937 (devpath_6): Likewise.
11938
11939 The appleldr.mod was checked that to be binary identical to previous
11940 version.
11941
7fae0051
Z
119422011-05-05 Zach <mikezackles>
11943
11944 Support 2010 Macbooks.
11945
11946 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11947 (devs): Add devpath_6.
11948
7c515bee
VS
119492011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11952 /dev/random. /dev/urandom is good enough for our purposes (salting).
11953
ed660bd8
VS
119542011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11957
ee5614b7
VS
119582011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11961 hexadecimal.
11962
664889a6
VS
119632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11966 and not 0 on failure.
11967
bd405bbc
CW
119682011-05-03 Colin Watson <cjwatson@ubuntu.com>
11969
11970 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11971 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11972 disk; otherwise grub_fs_probe will not fall back to the next
11973 filesystem.
11974 (grub_pxefs_open): Likewise, for consistency.
11975 Reported and tested by: Ezekiel Grave.
11976
4ebff753
CW
119772011-05-03 Colin Watson <cjwatson@ubuntu.com>
11978
11979 * tests/partmap_test.in: Don't hardcode path to parted.
11980 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11981
8f942553
CW
119822011-05-01 Colin Watson <cjwatson@ubuntu.com>
11983
11984 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11985 of `ls' to find out which devices are available.
11986
3c62402d
VS
119872011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11990 than source address for efi mmap buffer.
11991
723f63f2
VS
119922011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11995 wrong action on non-detecting the magic.
11996
68797f92
VS
119972011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
12000 already supplied by another part of the module (fixes compilation on
12001 FreeBSD).
12002
6be8715d
VS
120032011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
12006 match the one used by mdadm.
12007
e91dba5b
CW
120082011-04-21 Colin Watson <cjwatson@ubuntu.com>
12009
12010 * po/README: Add instructions for creating po/LINGUAS.
12011
c85140b3
CW
120122011-04-21 Colin Watson <cjwatson@ubuntu.com>
12013
12014 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
12015 #551428.
12016
12017 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12018 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12019 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12020 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12021 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12022 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12023 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12024 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12025 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12026 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12027 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12028 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12029 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12030 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12031 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12032 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12033 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12034 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12035 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12036 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12037 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12038 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12039
92051871
CW
120402011-04-21 Colin Watson <cjwatson@ubuntu.com>
12041
12042 * grub-core/kern/emu/getroot.c
12043 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12044 test that was incorrectly reintroduced in r3214.
12045 Reported by: Ian Dall. Fixes Savannah bug #33133.
12046
b13f79a4
CW
120472011-04-21 Colin Watson <cjwatson@ubuntu.com>
12048
12049 Fix stack pointer handling in 16-bit relocator.
12050
12051 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12052 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12053 Fixes Ubuntu bug #683904.
12054
9b710a88
VS
120552011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * configure.ac: Bump version to 1.99~rc2.
12058
d97e7b59
VS
120592011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12060
12061 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12062 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12063 * grub-core/lib/x86_64/setjmp.S: Likewise.
12064 * grub-core/lib/mips/setjmp.S: Likewise.
12065 * grub-core/lib/powerpc/setjmp.S: Likewise.
12066 * grub-core/lib/sparc64/setjmp.S: Likewise.
12067
0624551c
VS
120682011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12071 * grub-core/lib/efi/datetime.c: Likewise.
12072
e8f28d4c
VS
120732011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12076 New function.
12077 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12078 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12079 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12080
bba79a15
VS
120812011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12084 bitmap.
12085 (grub_gfxterm_term_init): Likewise.
12086
abc474ef
VS
120872011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 Take into account the decorations the computing menu entry width.
12090
12091 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12092 (grub_gfxmenu_create_box): Register get_border_width.
12093 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12094 if available.
12095 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12096 get_border_width.
12097
e74b3947
EP
120982011-04-18 Endres Puschner <code@e7p.de>
12099
12100 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12101 Don't skip first class.
12102
34faa595
VS
121032011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12106 chunks.
12107 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12108
93a777e3
VS
121092011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 Complete 64-bit division support.
12112
12113 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12114 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12115 * include/grub/misc.h (grub_divmod64): Rename to ...
12116 (grub_divmod64_full): ... this.
12117 (grub_divmod64): New inline function.
12118
a5102d94
VS
121192011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12122
f3fb7b36
VS
121232011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12126 performing the necessary test.
12127
9ac718b0
VS
121282011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12131 (kfreebsd.elf): Likewise.
12132 (pc-chainloader.elf): Likewise.
12133 (ntldr.elf): Likewise.
12134
50d2cc5a
VS
121352011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 Identify RAID by its UUID rather than (guessed) name.
12138
12139 * grub-core/disk/raid.c (ascii2hex): New function.
12140 (grub_raid_open): Accept mduuid/%s specification.
12141 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12142 (get_mdadm_uuid): ... this.
12143 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12144
e03f7bea
VS
121452011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12146
12147 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12148 to negative size.
12149
e74c3112
CW
121502011-04-13 Colin Watson <cjwatson@ubuntu.com>
12151
12152 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12153 btrfs subvolume.
12154 * util/grub.d/20_linux_xen.in: Likewise.
12155
78fa584f
CW
121562011-04-13 Colin Watson <cjwatson@ubuntu.com>
12157
12158 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12159 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12160
12161 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12162 Build a list of relevant visible mounts using the mnt_id and
12163 parent_mnt_id fields, and then scan that list at the end.
12164
9d5f8162
CW
121652011-04-12 Colin Watson <cjwatson@ubuntu.com>
12166
12167 * docs/grub.texi (normal): New section.
12168 (normal_exit): New section.
12169 (Embedded configuration): Add reference to normal.
12170 (GRUB only offers a rescue shell): Likewise.
12171 * docs/grub-dev.texi (Error Handling): Fix typo.
12172
09a9d66f
CW
121732011-04-12 Colin Watson <cjwatson@ubuntu.com>
12174
12175 * NEWS: Drop obsolete entry about probe-only btrfs support.
12176
0c676933
CW
121772011-04-12 Colin Watson <cjwatson@ubuntu.com>
12178
12179 * util/import_gcry.py: Fix typo.
12180
ec9f5e0d
VS
121812011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * NEWS: Add btrfs support.
12184
fe6b2cba
VS
121852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
121862011-04-11 Colin Watson <cjwatson@ubuntu.com>
12187
12188 BtrFS support. Written by me (Vladimir) with important bugfixes and
12189 even more important testing by Colin.
12190
12191 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12192 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12193 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12194 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12195 mem_input_off and mem_input. All users updated to accept in-RAM input.
12196 (gzio_seek): New function.
12197 (test_zlib_header): Likewise.
12198 (grub_gzio_read): Likewise.
12199 (grub_zlib_decompress): Likewise.
12200 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12201 Accept partial and non-virtual mounts.
12202 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12203 avoid receiving /dev/dm-X as device.
12204 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12205 Handle bind and partial mounts.
12206 * grub-core/lib/crc.c: New file.
12207 * include/grub/deflate.h: Likewise.
12208 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12209 proto.
12210 * include/grub/lib/crc.h: New file.
12211
e745cf0c
VS
122122011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 Implement automatic module license checking according to new GNU
12215 guidelines.
12216
12217 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12218 (grub_dl_load_core): Use grub_dl_check_license.
12219 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12220 (GRUB_MOD_LICENSE): Likewise.
12221 (GRUB_MOD_DUAL_LICENSE): Likewise.
12222 All modules updated.
12223
2a9bc016
CW
122242011-04-11 Colin Watson <cjwatson@ubuntu.com>
12225
12226 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12227 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12228 loaders.
12229 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12230
8a3bc88e
VS
122312011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12234
af869a4a
VS
122352011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12238 failed.
12239
9ee8d94f
VS
122402011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12243 parenthesis in the middle of the filename.
12244
b01abe3e
VS
122452011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12248 rather than trying to put initrd way too high.
12249 Reported by: Ryan Lortie <desrt@desrt.ca>
12250
335bda1e
VS
122512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12254 improperly removed string.
12255
5ca1a64d
VS
122562011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12259 is_disk.
12260 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12261 (open_device) Likewise.
12262 (grub_util_biosdisk_close): Likewise.
d8ce9995 12263 Reported by: Mark Korenberg.
5ca1a64d 12264
cbac5b1e
AK
122652011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12266
12267 * util/grub-mkconfig_lib.in: Add missing quotes.
12268
088cdb65
CW
122692011-04-10 Colin Watson <cjwatson@ubuntu.com>
12270
12271 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12272 is NULL.
12273
8b8a81fa
VS
122742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 Dynamically count the number of lines for the lower banner.
12277
12278 * grub-core/normal/menu_entry.c (per_term_screen): New member
12279 num_entries.
12280 (print_down): Use num_entries.
12281 (update_screen): Likewise.
12282 (grub_menu_entry_run): Set num_entries.
12283 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12284 num_entries.
12285 (grub_print_message_indented): Move real part to ...
12286 (grub_print_message_indented_real): ... here. Additional argument
12287 dry_run.
12288 (draw_border): Additional argument num_entries.
12289 (print_message): Additional argument dry_run.
12290 (print_entries): Receive menu viewer data.
12291 (grub_menu_init_page): New argment num_entries.
12292 (menu_text_set_chosen_entry): Use num_entries.
12293 (grub_menu_try_text): Likewise.
12294 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12295 All users updated.
12296 (grub_ucs4_count_lines): New function.
12297 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12298 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12299 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12300 (grub_term_border_height): Likewise.
12301 (grub_term_num_entries): Likewise.
12302
277f955b
VS
123032011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12306 Remove now unused string.
12307
536ce85a
CW
123082011-04-09 Colin Watson <cjwatson@ubuntu.com>
12309
12310 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12311 build system.
12312 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12313
12314 (Comment): Fix typo.
12315 (Getting started): General copy-editing.
12316 (Typical Development Experience): Likewise.
12317 (Error Handling): Likewise.
12318 (Video API): Likewise.
12319
2cf09e32
CW
123202011-04-09 Colin Watson <cjwatson@ubuntu.com>
12321
12322 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12323 throughout.
12324
1ec652f4
VS
123252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12328 directory.
12329
2c583728
CW
123302011-04-08 Colin Watson <cjwatson@ubuntu.com>
12331
12332 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12333 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12334 "development".
12335
d7a565e9
VS
123362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12339 grub_strcpy since the lines aren't necessarily 0-terminated.
12340
7c2e4909
VS
123412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12344 root on legacy.
12345
34c09785
VS
123462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12349 (GRUB_MOD_INIT): DEVICE isn't optional.
12350
6a6f8058
VS
123512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12354 word on new line if it's too long anyway. Fixes a hang.
12355
2e335e90
VS
123562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12359 const.
12360 * util/grub-setup.c (main): Reuse md device name if available.
12361 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12362 not GRUB name as argument.
12363 Based on patch by: Florian Wagner <fwagner>.
12364
10a7a867
VS
123652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12368 Place mbi on low memory for better compatibility.
12369
7a3d6cd9
VS
123702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12373
18dd6b47
VS
123742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
123752011-04-08 Colin Watson <cjwatson@ubuntu.com>
12376
12377 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12378 * conf/Makefile.common: Likewise.
18dd6b47 12379
3c0e3f14
VS
123802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12381
f7148863
VS
12382 * grub-core/normal/menu.c: Add missing include.
12383
123842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12387
6d1fa41f
MZ
123882011-04-08 Martin Zuther <mzuther@mzuther.de>
12389
12390 * util/grub-mkconfig.in: Ignore emacsen backup.
12391
478182a8
VS
123922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12395 on open.
12396 (grub_util_biosdisk_close): Likewise.
12397
72a89a54
VS
123982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12401 const attribute and use grub_isdigit.
12402
b5ebecfa
A
124032011-04-06 Andrey <dev_null@ukr.net>
12404
12405 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12406 gcc warning.
12407
7755f66e
VS
124082011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12411 useful grub_dprintf's.
12412
461121ff
VS
124132011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12416
2a961775
VS
124172011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12420
adf594cc
VS
124212011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 Output errors if theme loading failed.
12424
12425 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12426 grub_gfxterm_fullscreen on error paths to ...
12427 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12428 theme loading error.
12429
665900a3
VS
124302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12433 space for older compilers.
12434 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12435
a562b479
VS
124362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12439 and report them as not RAID members since they are useless for GRUB.
12440 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12441
850e9373
VS
124422011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 Increase LVM implementation robustness in order not to crash on
12445 configurations like pvmove. Previously code assumed that in some places
12446 only lvs or only pvs are used whereas it seems that they are used
12447 interchangeably.
12448
12449 * grub-core/disk/lvm.c (read_node): New function.
12450 (read_lv): Use read_node.
12451 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12452 Match volumes only at the end when all lvs are found. Take both
12453 pvs (first) and lvs (second) into account.
12454 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12455 mirror_* into node_*. All users updated.
12456 (grub_lvm_stripe): Merge this ...
12457 (grub_lvm_mirror): ... and this ...
12458 (grub_lvm_node): ... into this. All users updated.
12459
6f332153
VS
124602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12461
12462 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12463 of function to allow further scanning for LVMs.
12464
829ea451
VS
124652011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12466
12467 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12468 on failed seek as it breaks open fd reusage.
12469
09ceb9a5
VS
124702011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * util/grub-install.in: Add a recommendation to use --recheck before
12473 reporting bugs.
12474
67e11623
VS
124752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12478 are obtained.
12479
caee5efd
VS
124802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 GRUB developper manual based on existing Internals section and
12483 contributions by the various authors with active copyright assignment.
12484
12485 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12486 * docs/font_char_metrics.png: New file.
12487 * docs/font_char_metrics.txt: Likewise.
12488 * docs/grub-dev.texi: Likewise.
12489 * docs/grub.texi (Internals): Move from here ...
12490 * docs/grub-dev.texi: ... here.
12491
2cccc747
CW
124922011-04-01 Colin Watson <cjwatson@ubuntu.com>
12493
12494 Store the loopback device as data on loopback grub_disk structures,
12495 rather than the file it points to. This fixes use of freed memory
12496 if an existing loopback device is replaced.
12497
12498 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12499 disk->data, not dev->file.
12500 (grub_loopback_read): Adjust file assignment to match.
12501 Fixes Ubuntu bug #742967.
12502
186ae367
CW
125032011-04-01 Colin Watson <cjwatson@ubuntu.com>
12504
12505 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12506 when replacing an existing device.
12507
cfed2ad0
VS
125082011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12511 memory corruptions.
12512
12513 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12514 unsigned.
12515 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12516 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12517 (grub_jfs_read_inode): Likewise.
12518 (grub_jfs_opendir): Likewise. Remove now useless casts.
12519 (grub_jfs_getent): Likewise.
12520 Make ino a grub_uint32_t rather than int.
12521 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12522 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12523 division and module with bit operations.
12524 (grub_jfs_find_file): Make ino a grub_uint32_t.
12525 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12526
05d2ed32
CW
125272011-04-01 Colin Watson <cjwatson@ubuntu.com>
12528
12529 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12530 warning. (This was in fact always initialised before use, but GCC
12531 wasn't smart enough to prove that.)
12532 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12533
91dc6073
VS
125342011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12537 stack alignment.
12538 (efi_wrap_1): Likewise.
12539 (efi_wrap_2): Likewise.
12540 (efi_wrap_3): Likewise.
12541 (efi_wrap_4): Likewise.
12542 (efi_wrap_5): Likewise.
12543 (efi_wrap_6): Likewise.
12544 (efi_wrap_10): Likewise.
12545 Based on information by: Red Hat/Peter Jones.
12546
a8afc1d1
CW
125472011-03-31 Colin Watson <cjwatson@ubuntu.com>
12548
12549 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12550 set-but-not-used variable.
12551
a826cc7d
CW
125522011-03-31 Colin Watson <cjwatson@ubuntu.com>
12553
12554 * docs/grub.texi (Simple configuration): Be more explicit about
12555 GRUB_DEFAULT, and add an example.
12556 Reported by: Leslie Rhorer.
12557
875b67ba
CW
125582011-03-30 Colin Watson <cjwatson@ubuntu.com>
12559
12560 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12561 shell".
12562
fd7cd914
AS
125632011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12564
12565 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12566 * util/grub.d/20_linux_xen.in: Likewise.
12567
090b1b6a
VS
125682011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * util/grub.d/10_linux.in: Try alternative config filenames where
12571 we parse config file.
12572 * util/grub.d/20_linux_xen.in: Likewise.
12573
baad885c
AS
125742011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12575
12576 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12577 * util/grub.d/20_linux_xen.in: Likewise.
12578
241e41f5
VS
125792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * grub-core/disk/raid.c (insert_array): Add few potentially
12582 useful grub_util_info.
12583 (grub_raid_register): Likewise.
12584
56445fb2
VS
125852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12588 Preserve partition number in mdadm code path.
12589
c871b1c6
VS
125902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12593 few potentially useful grub_util_info.
12594
5e631b4f
CW
125952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12598
2d5d0333
CW
125992011-03-30 Colin Watson <cjwatson@ubuntu.com>
12600
12601 * docs/grub.texi (default): Use @example rather than nested
12602 itemized lists to avoid breaking gendocs.
12603
3d7ed04e
CW
126042011-03-30 Colin Watson <cjwatson@ubuntu.com>
12605
12606 * docs/grub.texi (Future): Update.
12607
abf04200 126082011-03-30 Colin Watson <cjwatson@ubuntu.com>
12609
12610 * docs/grub.texi (Environment): New chapter.
12611 (Changes from GRUB Legacy): Link to "Environment block" section for
12612 details of limitations.
12613 (Simple configuration): Likewise. Link to documentation of gfxmode
12614 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12615 respectively.
12616 (Shell-like scripting): Note that normal variables are stored in the
12617 environment.
12618 (gettext): Link to documentation of lang and locale_dir.
12619 (list_env): New section.
12620 (load_env): New section.
12621 (save_env): New section.
12622
12623 (Reporting bugs): Fix typo.
12624
e1ad0edd
VS
126252011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12628 the example.
12629
5d803174
VS
126302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * grub-core/term/at_keyboard.c (set_scancodes)
12633 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12634
2a2da1d0
CW
126352011-03-30 Colin Watson <cjwatson@ubuntu.com>
12636
12637 * docs/grub.texi (Menu-specific commands): Remove some semantics
12638 that were true in GRUB Legacy but not in GRUB 2.
12639 (submenu): New section.
12640 (false): New section.
12641 (read): New section.
12642 (true): New section.
12643
a7527639
CW
126442011-03-30 Colin Watson <cjwatson@ubuntu.com>
12645
12646 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12647
126482011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
12649
12650 * docs/grub.texi (Simple configuration): Explain some of the
12651 current limitations of grub-mkconfig.
8a748df2 12652 Reported by: Leslie Rhorer.
e30af029 12653
fc858482
VS
126542011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 Old macs search for boot.efi rather than for bootia32.efi.
12657
12658 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12659 * util/grub-mkrescue.in: Likewise.
12660 Suggested by: Peter Jones.
12661
e1eb511d
VS
126622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12665
70e75364
VS
126662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12667
12668 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12669 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12670 (grub_lvm_mirror): New struct.
12671 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12672 (grub_lvm_iterate): Iterate only visible volumes.
12673 (grub_lvm_read): Factor out to ..
12674 (read_lv): ... this. Support mirrors.
12675 (grub_lvm_read): New wrapper function.
12676 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12677 stripped or mirrored.
12678
fc18f6a3
VS
126792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12682
5c650f4c
CW
126832011-03-29 Colin Watson <cjwatson@ubuntu.com>
12684
12685 * docs/grub.texi (loopback): New section.
12686
61d7156b
CW
126872011-03-29 Colin Watson <cjwatson@ubuntu.com>
12688
12689 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12690 removed -p option.
12691
994b8264
CW
126922011-03-29 Colin Watson <cjwatson@ubuntu.com>
12693
12694 * docs/grub.texi (BIOS installation): New section, partly based on
12695 previous text in other sections.
12696 (Installing GRUB using grub-install): Replace BIOS discussion with a
12697 cross-reference.
12698 (Images): Likewise.
12699
9e4d19e0
VS
127002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12701
12702 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12703 [HAVE_DIOCGDINFO]: Add safety checks.
12704
a307c0b2
VS
127052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12708 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12709
b4db4f39
CW
127102011-03-29 Colin Watson <cjwatson@ubuntu.com>
12711
12712 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12713 real_sb->size is zero (e.g. RAID-0), get the disk size from
12714 real_sb->data_size instead.
12715 Fixes Ubuntu bug #743136.
12716
35e5f84c
VS
127172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12720 printf clauses for printing size and start.
12721
d2e29d81
VS
127222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12725 Reported and tested by: Timothy Nikkel.
12726
ed5587af
VS
127272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12730 (dirty_region_add_real): ... this.
12731 (dirty_region_add): Don't discard margin refresh when performing
12732 scheduled repaint.
12733
a1dc717c
VS
127342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * grub-core/lib/relocator.c (allocate_regstart)
12737 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12738 terminals are capabple of malloc-free operation.
12739 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12740 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12741
9f3677d3
VS
127422011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12743
12744 * util/grub-setup.c: Copy the partition table zone if floppy support
12745 is disabled, even if no partition table is found.
12746
12747 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12748 during POST if an invalid partition table is contained in the PBR
12749 of the active partition when GRUB is installed to a partition.
12750
24148725
CW
127512011-03-28 Colin Watson <cjwatson@debian.org>
12752
12753 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12754 comment.
12755
f329eda7
CW
127562011-03-28 Colin Watson <cjwatson@debian.org>
12757
12758 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12759 to be specific about what kind of RAID device we're scanning for.
12760
c482ad98
SG
127612011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12762
12763 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12764 return freed string.
12765
5ee04984
VS
127662011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12769
f4727da9
VS
127702011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12771
12772 Use libgeom on FreeBSD to detect partitions.
12773
12774 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12775 (grub-mkrelpath): Likewise.
12776 (grub-script-check): Likewise.
12777 (grub-editenv): Likewise.
12778 (grub-mkpasswd-pbkdf2): Likewise.
12779 (grub-fstest): Likewise.
12780 (grub-mkfont): Likewise.
12781 (grub-mkdevicemap): Likewise.
12782 (grub-probe): Likewise.
12783 (grub-setup): Likewise.
12784 (grub-ofpathname): Likewise.
12785 (grub-mklayout): Likewise.
12786 (example_unit_test): Likewise.
12787 (grub-menulst2cfg): Likewise.
12788 * grub-core/Makefile.core.def (grub-emu): Likewise.
12789 (grub-emu-lite): Likewise.
12790 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12791 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12792 define HAVE_DIOCGDINFO.
12793 (follow_geom_up) [FreeBSD]: New function.
12794 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12795 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12796 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12797 unconditionally of HAVE_DIOCGDINFO.
12798
82fe6c75
VS
127992011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 Fix FreeBSD compilation problem.
12802
12803 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12804 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12805
4c6c9431
CW
128062011-03-24 Colin Watson <cjwatson@ubuntu.com>
12807
12808 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12809 Switch back to page zero before loading a kernel, since some kernel
12810 drivers expect that.
12811 Thanks to: Felix Kuehling.
12812
c7064d94
VS
128132011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12816 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12817 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12818
3f71cded
VS
128192011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12822 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12823
ef6de21a
VS
128242011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12827 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12828 malloc is disabled.
12829
8bc66a2c
VS
128302011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12833 for modules headers when counting the needed allocation size.
12834
5657722c
VS
128352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12838 if no ASCII character is found to prevent crash.
12839
41a85f55
AK
128402011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12841
12842 * grub-core/video/bitmap.c (match_extension): Ignore case.
12843
59e1e5f1
VS
128442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12847
bd4d051a
VS
128482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * grub-core/script/parser.y: Declare "time" as valid argument.
12851
bae7fcc1
PJ
128522011-03-23 Peter Jones <pjones@redhat.com>
12853
12854 Fix incorrect assert failure reporting.
12855
12856 * grub-core/tests/example_functional_test.c (example_test): Add
12857 a failure comment.
12858 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12859 (failure_start): ...this. Check that malloc succeeded.
12860 Don't call xvasprintf. Return failure struct.
12861 (failure_append_vtext): New function.
12862 (failure_append_text): Likewise.
12863 (add_failure): Likewise.
12864 (grub_test_assert_helper): Likewise.
12865 * include/grub/test.h (grub_test_assert_helper): New declaration.
12866 (grub_test_assert): Macro rewritten.
12867
537dc9be
VS
128682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12871
fa3e01bf
VS
128722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12875
b1d28404
VS
128762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12879 into GRUB-style one.
12880
2e3e2e09
VS
128812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12884 error and not grub_errno.
12885 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12886
ed57e557
VS
128872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12890 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12891
d1611f01
VS
128922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/efiemu/i386/pc/cfgtables.c
12895 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12896 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12897 (grub_xnu_unlock): Likewise.
12898 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12899
7d4e39d6
VS
129002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12903 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12904 * grub-core/commands/hashsum.c (aliases): Likewise.
12905 * grub-core/commands/setpci.c (pci_registers): Likewise.
12906 * grub-core/disk/usbms.c (attach_hook): Likewise.
12907 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12908 (zio_checksum_table): Likewise.
12909 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12910 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12911 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12912 * grub-core/lib/relocator.c (leftovers): Likewise.
12913 (extra_blocks): Likewise.
12914 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12915 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12916 (modules_last): Likewise.
12917 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12918 (devices): Likewise.
12919 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12920 (modules_last): Likewise.
12921 * grub-core/normal/auth.c (users): Likewise.
12922 * grub-core/normal/context.c (initial_menu): Likewise.
12923 (current_menu): Likewise.
12924 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12925 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12926 (grub_serial_terminfo_input_template): Likewise.
12927 (grub_serial_terminfo_output_template): Likewise.
12928 (grub_serial_terminfo_input): Likewise.
12929 (grub_serial_terminfo_output): Likewise.
12930 (registered): Likewise.
12931 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12932
40fc4659
VS
129332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12936 grub_video_mode_type_t.
12937 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12938 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12939 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12940
2da48d28
VS
129412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * util/grub-install.in: Correct the x86-64 name as x86_64.
12944
9b43bf39
CW
129452011-03-11 Colin Watson <cjwatson@ubuntu.com>
12946
12947 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12948 initial chunk read from the kernel always includes GRUB's multiboot
12949 header, which is now outside the first sector.
12950
be1a7ce0
CW
129512011-03-09 Colin Watson <cjwatson@ubuntu.com>
12952
12953 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12954 cached mmap_size, so that this works correctly when called multiple
12955 times.
12956 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12957
83a3c48d
CW
129582011-03-09 Colin Watson <cjwatson@ubuntu.com>
12959
12960 * docs/grub.texi (Simple configuration): Tidy up formatting.
12961
57d75699
SJ
129622011-03-07 Szymon Janc <szymon@janc.net.pl>
12963
12964 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12965 Set-but-not-used variable removed.
12966
028501a0
VS
129672011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 Workaround yet another IEEE1275 bug.
12970
12971 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12972 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12973 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12974 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12975 is set.
12976 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12977 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12978
d998657d
VS
129792011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12982 error.
12983
fee7cdd4
CW
129842011-02-11 Colin Watson <cjwatson@ubuntu.com>
12985
12986 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12987 empty, since in that case we can only generate either nothing or a
12988 syntactically invalid configuration file.
12989 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12990
97286eb5
CW
129912011-02-09 Colin Watson <cjwatson@ubuntu.com>
12992
12993 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12994 (Making a GRUB bootable CD-ROM): Likewise.
12995 (Invoking grub-mkrescue): New section.
12996 Reported by: Yann Dirson. Fixes Debian bug #612585.
12997
22b28eb3
CW
129982011-02-09 Colin Watson <cjwatson@ubuntu.com>
12999
13000 * util/grub-install.in: Remove unnecessary brackets from tr
13001 arguments.
13002 * util/grub.d/10_hurd.in: Likewise.
13003 * util/grub.d/10_kfreebsd.in: Likewise.
13004 * util/grub.d/10_linux.in: Likewise.
13005 * util/grub.d/20_linux_xen.in: Likewise.
13006 Reported by: Jamie Heilman. Fixes Debian bug #612564.
13007
7e735e43
CW
130082011-02-08 Colin Watson <cjwatson@ubuntu.com>
13009
13010 * include/grub/file.h (not_easly_seekable): Rename to ...
13011 (not_easily_seekable): ... this. Update all users.
13012
800f1881
CW
130132011-01-28 Colin Watson <cjwatson@ubuntu.com>
13014
13015 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13016 grub-mkrescue.
13017
3281d3d6
VS
130182011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * util/grub-mkimage.c (generate_image): Refuse to create the images
13021 bigger than the actual flash (512K) in Loongson machines. 512K is also
13022 the biggest chip supported by them.
13023
3533413c
VS
130242011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13027
73ae4f4f
VS
130282011-01-22 Anthony DeRobertis <anthony@derobert.net>
13029
13030 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13031 super_offset field.
13032
37f4f608
VS
130332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * util/grub-install.in: Ignore install device on platforms
13036 where it doesn't make sense. Always use UUIDs except on pc, efi and
13037 sparc64.
13038 Reported by: Daniel Kahn Gillmor.
13039
03a4ccb5
VS
130402011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13041
13042 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13043
ffc8f4d8
VS
130442011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13047 (iterate_real): Don't rely on partition being non-NULL.
13048
80f23be7
VS
130492011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13052 supported platforms. Put a compile time assert for this rather than
13053 generate a warning with 32-bit shift.
13054
5d4f4dd5
VS
130552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13056
13057 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13058 logical expression more readable.
13059
e489601a
VS
130602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13063 even if some elements have a name.
13064 Reported by: Alexander GQ Gerasiov.
13065
96e0a6ea
CW
130662011-01-22 Colin Watson <cjwatson@ubuntu.com>
13067
13068 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13069 path unreadable if `grub-probe -t abstraction' fails, for example if
13070 memberlist fails on an LVM volume group.
13071 Reported by: Darius Jahandarie.
13072
81431e2b
CW
130732011-01-22 Colin Watson <cjwatson@ubuntu.com>
13074
13075 * docs/grub.texi (Simple configuration): Document
13076 GRUB_PRELOAD_MODULES.
13077
5e79d66a
CW
130782011-01-17 Colin Watson <cjwatson@ubuntu.com>
13079
13080 * .bzrignore: Remove nonexistent grub-pbkdf2.
13081
646ada34
VS
130822011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * configure.ac: Bump version to 1.99~rc1.
13085
04360337
VS
130862011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13089 for safety.
13090
46c9db88
VS
130912011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13094 module.
13095
130962011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13097
13098 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13099
4fbf1852
VS
131002011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13103 diskdevid.
13104
f1632d4d
VS
131052011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 Fix compilation on cygwin.
13108
13109 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13110 -R .drectve on cygwin.
13111 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13112 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13113 (COND_CYGWIN): New condition.
13114 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13115 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13116 not @TARGET_OBJ2ELF@.
13117 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13118 type to determine whether aux is to be used.
13119
0b5e127b
VS
131202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13123 realpath'ed device string.
13124 Handle floppy (somewhat).
13125 Issue error in unknown case rather than garbage.
13126 Reported by: Axel Beckert.
13127
173b71e9
VS
131282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * util/grub.d/00_header.in (load_video): Handle the case when no video
13131 drivers available.
13132 Thanks to: Axel Beckert.
13133
f8f479db
VS
131342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13135
13136 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13137 variable. Fixes problem on big endian platforms.
13138
8fc0a245
VS
131392011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13142 It doesn't work well there.
13143
b8494fbe
VS
131442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13147 warning.
13148 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13149 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13150 counter.
13151
b44a558c
VS
131522011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 Use alias->path rather than buggy "canon".
13155
13156 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13157 (ofdisk_hash_add): New argument curcan. All users updated.
13158
51fa856c
CW
131592011-01-11 Colin Watson <cjwatson@ubuntu.com>
13160
13161 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13162
9da068a5
VS
131632011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13166 loadmask before doing any calculations. Use correct type for offset.
13167 (grub_linux_load64): Likewise.
13168
86205c94
CW
131692011-01-11 Colin Watson <cjwatson@ubuntu.com>
13170
13171 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13172 with NULL.
13173 (console_grub_equivalences_unshift): Likewise.
13174 Reported by: Daniel Dehennin.
13175
4531a206
VS
131762011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13179 (set_env_limn_ro): Likewise.
13180 (GRUB_MOD_INIT): Likewise.
13181 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13182 ARRAY_SIZE while on it.
13183 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13184 * grub-core/normal/context.c (grub_env_export): Move from here ...
13185 * grub-core/kern/env.c (grub_env_export): ... here.
13186 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13187 prefix.
13188 * grub-core/kern/main.c (grub_main): Export root and prefix.
13189 * include/grub/env.h (grub_env_export): Export.
13190 Reported by: Seth Goldberg.
13191
45146057
VS
131922011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13195 Take into account space used by ELF sections and multiboot palette.
13196 Reported by: Grégoire Sutre.
13197
f093110b
VS
131982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * BUGS: New file.
13201
3395fe52
VS
132022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 Pass more appropriate video id to Linux.
13205
13206 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13207 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13208 fill have_vga.
13209 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13210 shift params->lfb_size.
13211 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13212
c2fa6cbb
VS
132132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13216
b3ff6ff0
VS
132172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13220 separator and pass bootpath/devid even if only one of them is available.
13221 Reported by: Seth Goldberg.
13222
ae67942e
VS
132232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13226 implementations bug on them.
13227
13228 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13229 memory.
13230 (filter_memory_map): Likewise.
13231
d570097a
VS
132322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13235 Reported by: nebuchadnezzar.
13236
a508e776
VS
132372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13240 Reported by: nebuchadnezzar.
13241
dcb883b1
VS
132422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 Submenu default support.
13245
13246 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13247 auto_boot. All users updated.
13248 Declared static.
13249 Handle chosen and default with submenus.
13250 (grub_menu_execute_with_fallback): Declared static.
13251 Don't notify failure if autobooted. Upper level does it.
13252 (menuentry_eq): New function.
13253 (get_entry_number): Use menuentry_eq.
13254 (show_menu): New parameter "autobooted". All users updated.
13255 (grub_show_menu): Likewise.
13256 * include/grub/normal.h (grub_show_menu): Likewise.
13257 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13258 (grub_menu_execute_with_fallback): Likewise.
13259
6fef99b4
VS
132602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * util/grub-mklayout.c (usage): Update help text.
13263
47a77af5
VS
132642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13267
ce6bb3ee
VS
132682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * util/grub-menulst2cfg.c (main): Trim the line.
13271
db87be2a
VS
132722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13275 (grub_machine_init): Don't check amount of low memory as reportedly
13276 INT 12h can be broken and if low memory is too low we wouldn't have
13277 gotten into grub_machine_init anyway.
13278
c49849cc
VS
132792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13282 (grub_machine_mmap_iterate): Take low memory into account
13283
b1969b30
VS
132842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13287 badfs.
13288 Reported by: TiCPU.
13289
cf0eaf13
VS
132902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13293 members errors.
13294
1f060f39
GS
132952011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13296
13297 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13298 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13299
a21e5672
GS
133002011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13301
13302 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13303 openbsd and netbsd types being in part_bsd module.
13304
c88172fa
VS
133052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13308 (_FILE_OFFSET_BITS): Likewise.
13309 Reported by: Seth Goldberg.
13310
53798c4b
GS
133112011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13312
13313 * configure.ac: Check for libdevmapper header.
13314
e7121b69
VS
133152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13318 avoid aliasing.
13319 (fzap_lookup): Likewise.
13320 (dnode_get): Likewise.
13321 (make_mdn): Likewise.
13322 (zfs_mount): Likewise.
13323 (fzap_iterate): Use temporary pointer to avoid aliasing.
13324 (grub_zfs_read): Likewise.
13325 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13326 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13327 pointers to avoid aliasing.
13328 (grub_cmd_xnu_kernel64): Likewise.
13329 (grub_xnu_load_driver): Likewise.
13330
fc836af9
VS
133312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13332
13333 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13334 aliasing warning.
13335 (grub_cmd_terminal_output): Likewise.
13336 Reported and tested by: Grégoire Sutre.
13337
f9f37648
VS
133382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13341 warning.
13342 Reported and tested by: Grégoire Sutre.
13343
ec1dfd63
VS
133442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * configure.ac: Do CPU substitution even if it's specified explicitly.
13347 Reported and tested by: Alain Greppin.
13348
9462775a
VS
133492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13352 Reported and tested by: Alain Greppin.
13353
0fd48e35
VS
133542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 Satisfy some bison versions need for inttypes.h.
13357
13358 * grub-core/lib/posix_wrap/inttypes.h: New file.
13359 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13360 (int16_t): Likewise.
13361 (int32_t): Likewise.
13362 (int64_t): Likewise.
13363 Reported and tested by: Alain Greppin.
13364
43f1bc83
VS
133652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13368 Silence spurious warning.
13369 Reported and tested by: Alain Greppin.
13370
64d1f041
SJ
133712011-01-07 Szymon Janc <szymon@janc.net.pl>
13372
13373 * docs/grub.texi (Support automatic decompression): Update with xz
13374 decompression support.
13375
25953e10
SJ
133762011-01-07 Szymon Janc <szymon@janc.net.pl>
13377
13378 Improve loaders' kernel command line handling.
13379
13380 * grub-core/lib/cmdline.c: New file.
13381 * include/grub/lib/cmdline.h: Likewise.
13382 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13383 grub_create_loader_cmdline to create kernel command line.
13384 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13385 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13386 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13387 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13388 (linux): Add lib/cmdline.c on common.
13389
e72d259f
VS
133902011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13393 inopos might be unaligned.
13394
c0cf26da
VS
133952011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13398 endian transformations.
13399 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13400 Based on report by: Doug Nazar.
13401
0ca09e6c
DN
134022011-01-07 Doug Nazar <nazard.michi@gmail.com>
13403
13404 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13405 array->members[i].start_sector.
13406 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13407
014b6806
VS
134082011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13411 Reported and tested by: Grégoire Sutre.
13412
415502c2
CW
134132011-01-06 Colin Watson <cjwatson@ubuntu.com>
13414
13415 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13416 avoid causing test failures by clearing the screen.
13417
71b6a2b7
CW
134182011-01-06 Colin Watson <cjwatson@ubuntu.com>
13419
13420 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13421 Fix prefix check to handle the case where dir ends with a slash
13422 (most significantly, "/" itself).
13423 Reported by: Michael Vogt.
13424
b3f8d28a
VS
134252011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 Run terminfo_cls on initing terminfo output to clear the screen and
13428 move the cursor to (0,0).
13429
13430 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13431 Call grub_terminfo_output_init.
13432 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13433 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13434 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13435
4c3e4f37
VS
134362011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13439 only when needed.
13440
488f71f1
VS
134412011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13444 CTRL.
13445
18a38098
VS
134462011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 The E820 type 5 is BADRAM, not EXEC_CODE.
13449
13450 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13451 (GRUB_E820_BADRAM): New define.
13452 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13453 into reserved. Propagate BADRAM.
13454 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13455 (GRUB_E820_BADRAM): New define.
13456
9eae2084
VS
134572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13460 Ignore the memory post-4G.
13461 (grub_relocator_firmware_alloc_region): Additional debug statement.
13462
ebc71d28
VS
134632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13466 names.
13467 Reported by: David Pravec.
13468
446fa400
VS
134692011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13472 BIOSes.
13473
a0159f37
VS
134742011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13477 Prevent overflow.
13478 (grub_reed_solomon_recover): Likewise.
13479
e5146ca1
VS
134802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13483
134842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13485
13486 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13487 variable.
13488
5b1bdf12
CW
134892011-01-04 Colin Watson <cjwatson@ubuntu.com>
13490
13491 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13492 descriptions of extract_legacy_entries_source and
13493 extract_legacy_entries_configfile.
13494 Reported by: Seung Soo, Ha.
13495
99d925aa
CW
134962011-01-03 Colin Watson <cjwatson@ubuntu.com>
13497
13498 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13499 on devices that do not implement function 0.
13500
4af0504b
DV
135012011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13502
13503 * grub-core/fs/hfsplus.c: Make parent unsigned.
13504 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13505 overflows.
13506 (grub_hfsplus_cmp_extkey): Likewise
13507
469ee10a
VS
135082011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * util/grub-install.in: Correctly use bootloader_id and not
13511 GRUB_DISTRIBUTOR on efibootmgr line.
13512
323a8e9c
VS
135132011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13516
1b394975
IC
135172010-12-31 Ian Campbell <ijc@hellion.org.uk>
13518
13519 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13520 Xen and reorder menu item wording to make it clearer that this entry
13521 will launch Xen. Print separate messages when loading Xen and
13522 Linux.
13523
275bff5f
VS
135242010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13527 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13528 loop in case of incorrect amiga partmap.
13529
307806cb
VS
135302010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13533 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13534 Reported by:EHeM.
13535
b12b923e
VS
135362010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13537
13538 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13539 spurious warning.
13540 Reported by: crocket
13541
14b48a19
VS
135422010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13545 Preload EFIemu.
13546 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13547
693db2df
VS
135482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13551 is loaded
13552 (grub_cmd_xnu_kextdir): Likewise.
13553 (grub_cmd_xnu_splash): Likewise.
13554
c7638645
VS
135552010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13556
13557 Avoid using Reed-Solomon with 0 redundancy.
13558
13559 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13560 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13561 or 0 redundancy.
13562 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13563 (grub_reed_solomon_recover): Likewise.
13564
25dd4780
VS
135652010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 Don't use disk subsystem in freebsd_boot.
13568
13569 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13570 (freebsd_biosdev): Likewise.
13571 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13572 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13573
0b2db943
VS
135742010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13575
13576 Handling of files of unknown size is currently limited. They can't be
13577 used e.g. for initrd or modules. Moreover gzip handling of not
13578 easily seekable files is buggy. Disable unknown file size for now. May
13579 be inefficient but works.
13580
13581 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13582 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13583
5c408d0f
MP
135842010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13585
13586 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13587 floppy probe.
13588
190a011a
JD
135892010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13590
13591 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13592
022d01b8
SL
135932010-12-25 Shea Levy <shlevy>
13594
13595 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13596
c4855fdc
VS
135972010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13600 Windows Server 2008.
13601 Reported by: Devin Giddings.
13602
0354b867
VS
136032010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13606 writing an error message because of async power management.
13607 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13608 (grub_reboot): Likewise.
13609
ab66c69f
JU
136102010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13611
13612 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13613 keep unit tests from failing when they shouldn't.
13614
1426ef35
CW
136152010-12-21 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13618 previous patch increased the size of the RS code by 20 bytes (at
13619 least with gcc-4.4), so increase this by 20 bytes to match.
13620 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13621
20641b6b
CW
136222010-12-21 Colin Watson <cjwatson@ubuntu.com>
13623
13624 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13625 scratch area. Make sure to initialise chosen in standalone mode as
13626 well as non-standalone.
13627 Reported by: Robert Hooker and Andy Whitcroft.
13628 Tested by: Andy Whitcroft.
13629
d060ad60
CW
136302010-12-21 Colin Watson <cjwatson@ubuntu.com>
13631
13632 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13633 constructing a new unescaped string and passing it to grub_xputs in
13634 one go, rather than passing characters to grub_printf one at a time.
13635
b889cfad
CW
136362010-12-21 Colin Watson <cjwatson@ubuntu.com>
13637
13638 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13639 initialising utf16.
13640
4e01b6c8
CW
136412010-12-21 Colin Watson <cjwatson@ubuntu.com>
13642
13643 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13644 comment. Add an extra layer of quotation, requiring the output of
13645 this function to be used in a printf format string.
13646 (gettext_printf): New function.
13647 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13648 Extract translatable strings from here-documents and use a temporary
13649 variable instead, so that xgettext can find them.
13650 * util/grub.d/10_kfreebsd.in: Likewise.
13651 * util/grub.d/10_linux.in: Likewise.
13652 * util/grub.d/20_linux_xen.in: Likewise.
13653
13654 * po/grub.d.sed: New file.
13655 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13656 arguments. Set c-format flags on all strings extracted from
13657 util/grub.d/ (xgettext refuses to include these itself for strings
13658 it extracted from a shell file, but these really are c-format).
13659
5318fe98
VS
136602010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13663 Avoid next pointing to nowhere.
13664
6c85b743
VS
136652010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13668 rather than assuming than rootblock is exactly in the middle.
13669 (grub_affs_label): Likewise.
13670
a2a08a35
VS
136712010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13674 reserved_first_sector to 0.
13675 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13676 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13677 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13678
7059d1ec
VS
136792010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 Fix handling of UTF-16 UDF labels.
13682
13683 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13684 (read_string): .. here.
13685 (grub_udf_label): Use read_string.
13686
30aff4cb
BC
136872010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13688
13689 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13690 editor under argument scope.
13691 Reported by: Jordan Uggla
13692
5cf86f4b
VS
136932010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13696
32570200
CW
136972010-12-18 Colin Watson <cjwatson@ubuntu.com>
13698
13699 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13700 line, and other keys scroll an entire page (previous handling was
13701 for \r and \n to scroll a page and other keys to scroll two lines).
13702
e1dffcf2
VS
137032010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13706 Set ptrdest to correct get_physical_target_address rather than
13707 incorrect get_virtual_current_address.
13708
b04298cf 137092010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13710
13711 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13712 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13713
5367ecd3
CW
137142010-12-10 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * .bzrignore: Ignore grub-core/rs_decoder.S.
13717
1fb430f8
CW
137182010-12-10 Colin Watson <cjwatson@ubuntu.com>
13719
13720 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13721 .mo/.mo.gz opening sequence to ...
13722 (grub_mofile_open_lang): ... here.
13723 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13724 * util/grub.d/00_header.in (grub_lang): Include country part of
13725 locale.
13726 Reported by: Mario Limonciello.
13727
a94a6671
RM
137282010-12-09 Robert Millan <rmh@gnu.org>
13729
13730 * NEWS: Document addition of ZFS support.
13731
24b7938b
CW
137322010-12-04 Colin Watson <cjwatson@ubuntu.com>
13733
13734 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13735 rather than `/ 2', as the latter requires -Wa,--divide which would
13736 require bumping our minimum binutils version.
13737
bddc3ef6
BC
137382010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13739
13740 * util/grub-script-check.c (main): Print script line number on
13741 error.
13742
bf78d5b2
RM
137432010-12-01 Robert Millan <rmh@gnu.org>
13744
13745 * grub-core/fs/zfs/zfs.c: New file.
13746 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13747 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13748 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13749 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13750
13751 * include/grub/zfs/dmu.h: Likewise.
13752 * include/grub/zfs/dmu_objset.h: Likewise.
13753 * include/grub/zfs/dnode.h: Likewise.
13754 * include/grub/zfs/dsl_dataset.h: Likewise.
13755 * include/grub/zfs/dsl_dir.h: Likewise.
13756 * include/grub/zfs/sa_impl.h: Likewise.
13757 * include/grub/zfs/spa.h: Likewise.
13758 * include/grub/zfs/uberblock_impl.h: Likewise.
13759 * include/grub/zfs/vdev_impl.h: Likewise.
13760 * include/grub/zfs/zap_impl.h: Likewise.
13761 * include/grub/zfs/zap_leaf.h: Likewise.
13762 * include/grub/zfs/zfs.h: Likewise.
13763 * include/grub/zfs/zfs_acl.h: Likewise.
13764 * include/grub/zfs/zfs_znode.h: Likewise.
13765 * include/grub/zfs/zil.h: Likewise.
13766 * include/grub/zfs/zio.h: Likewise.
13767 * include/grub/zfs/zio_checksum.h: Likewise.
13768
13769 * Makefile.util.def: Build ZFS into libgrubmods.
13770 * grub-core/Makefile.core.def: Build zfs.mod.
13771
3f0f3831
SJ
137722010-11-30 Szymon Janc <szymon@janc.net.pl>
13773
13774 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13775 variable.
13776 * grub-core/commands/wildcard.c (match_files): Likewise.
13777
3a4253b2
RM
137782010-11-30 Robert Millan <rmh@gnu.org>
13779
13780 * grub-core/loader/i386/bsd.c
13781 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13782 whether kernel is loaded using grub_loader_is_loaded(), rather
13783 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13784 certain error conditions.
13785
8c317b27
RM
137862010-11-30 Robert Millan <rmh@gnu.org>
13787
c5c9cd3e
RM
13788 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13789 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13790
49d3ab46
VS
137912010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13792
13793 Avoid using tricks for initialising endian variables.
13794
13795 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13796 Make const.
13797 (GRUB_MOD_INIT): Don't byte-swap.
13798 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13799 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13800 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13801 (grub_swap_bytes32_compile_time): Likewise.
13802 (grub_cpu_to_le32_compile_time): Likewise.
13803 (grub_cpu_to_le16_compile_time): Likewise.
13804
f420a804
VS
138052010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * util/grub-setup.c (setup): Stop recommending --force. People who
13808 understand the dangers of blocklists are able to find this option
13809 anyway and the ones who don't shouldn't use it anyway.
13810
4e7db17b
RM
138112010-11-26 Robert Millan <rmh@gnu.org>
13812
13813 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13814 Update all users.
13815
9be57a0d
CW
138162010-11-26 Colin Watson <cjwatson@ubuntu.com>
13817
13818 Fix LVM-on-RAID probing.
13819
13820 * util/grub-probe.c (probe): Remember which disk was detected as
13821 RAID (perhaps an LVM physical volume). Use that disk's raidname
13822 rather than that of the top-level disk.
13823
2c7859b3 138242010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13825
d7647bb6
BC
13826 Fix cmdline argument quotes for setparams command of menuentry
13827 definitions.
7e623b0d
BC
13828
13829 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13830 quotes for arguments.
f866fe80 13831 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13832 grub_strchrsub function instead.
f866fe80 13833
7955bea0 13834 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13835
74f72a64
CW
138362010-11-24 Colin Watson <cjwatson@ubuntu.com>
13837
13838 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13839 effort by skipping "." and ".." entries up-front.
13840 Suggested by: Michael Lazarev.
13841
5a407278
CW
138422010-11-24 Colin Watson <cjwatson@ubuntu.com>
13843
13844 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13845 ldflags to ldadd, to fix link line ordering.
13846 (none_decompress): Likewise.
13847
3030d8ec
CW
138482010-11-24 Colin Watson <cjwatson@ubuntu.com>
13849
13850 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13851 platforms.
13852 (grub-emu-lite): Remove kern/emu/cache.S.
13853
b7fbac12
CW
138542010-11-23 Colin Watson <cjwatson@ubuntu.com>
13855
13856 * util/deviceiter.c (compare_devices): If the by-id link for a
13857 device couldn't be resolved, fall back to sorting by the by-id link
13858 rather than segfaulting.
13859 Reported and tested by: Daniel Mierswa.
13860
5225f328
CW
138612010-11-23 Colin Watson <cjwatson@ubuntu.com>
13862
13863 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13864 ldflags, to fix link line ordering.
13865
038b3ce8
CW
138662010-11-23 Colin Watson <cjwatson@ubuntu.com>
13867
13868 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13869 linkers are picky about this.
13870
bf16e98e
CW
138712010-11-23 Colin Watson <cjwatson@ubuntu.com>
13872
13873 * grub-core/Makefile.am (command.lst): Adjust sed expression
13874 ordering so that extended and priority commands aren't treated as
13875 ordinary commands.
13876
7242bab6
CW
138772010-11-23 Colin Watson <cjwatson@ubuntu.com>
13878
13879 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13880 Remove byte-swapping function calls, which are not valid in
13881 structure initialisers.
13882 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13883 non-const.
13884 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13885 grub_gpt_partition_type_bios_boot.
13886
14e8b279
CW
138872010-11-22 Colin Watson <cjwatson@ubuntu.com>
13888
13889 Fix test program build on GNU/kFreeBSD.
13890
13891 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13892 $(LIBNVPAIR)' library dependencies.
13893
e6f63338 138942010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13895
13896 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13897
cf8ffc38
CW
138982010-11-22 Colin Watson <cjwatson@ubuntu.com>
13899
13900 * util/grub-install.in: Remove excessive quoting that broke
13901 installations to RAID devices.
13902
7f8b0fd7
VS
139032010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13906 bootloader version instead of 0.
13907
dfd240b1
VS
139082010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13911 warning.
13912
7b61e609
VS
139132010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13916 retrieve the metadat sector if size isn't known.
13917 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13918
9dfe92d0
RM
139192010-11-18 Robert Millan <rmh@gnu.org>
13920
13921 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13922 with grub_memcmp().
13923
41cc919e
VS
139242010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13927 arrow.
13928 Reported by: Jordan Uggla.
13929
1afcc914
VS
139302010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 Make better UTF compliant.
13933
13934 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13935 sequences as incorrect.
13936 (grub_is_valid_utf8): Likewise.
13937 (grub_utf8_to_ucs4): Likewise.
13938 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13939 (grub_ucs4_to_utf8_alloc): Likewise.
13940 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13941
f1808884
VS
139422010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 Make legacy_source behave like source.
13945
13946 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13947 grub_show_menu.
13948 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13949
24ec575b
CW
139502010-11-16 Colin Watson <cjwatson@debian.org>
13951
13952 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13953 (-Wunused implies -Wunused-parameter, but not vice versa).
13954
72b7c7aa
CW
139552010-11-16 Colin Watson <cjwatson@ubuntu.com>
13956
13957 * configure.ac: Make error messages less confusing by testing for
13958 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13959 accepted, but produces a diagnostic if something else is wrong).
13960
e98937aa
VS
139612010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13964 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13965 (now unused).
13966 (grub_keyboard_controller_init)
13967 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13968 read the initial state since controller isn't inited yet.
13969
f6bbabc3
VS
139702010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13973 allocate_regbeg may need to create new chunk header.
13974
22e7dbb2
VS
139752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 Fix quoting in legacy parser.
13978
13979 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13980 single quotes.
13981 (grub_legacy_parse): Likewise.
13982 Reported by: Jordan Uggla.
13983 Tested by: Jordan Uggla.
13984
03f80960
VS
139852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13986
13987 Don't add -lgcc on i386 and x86_64.
13988
13989 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13990 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13991 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13992
779dc15b
VS
139932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * configure.ac: Add -Wno-trampolines when supported.
13996
d20a3b37
MV
139972010-11-14 Modestas Vainius <modax@debian.org>
13998
13999 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
14000 fakeraid.
14001
e5360933
GC
140022010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14003
14004 Add generic logical block size support for UDF.
14005
14006 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
14007 (GRUB_UDF_BLKSZ): Removed.
14008 (struct grub_udf_data): New field "lbshift" to hold the logical block
14009 size of the file system in log2 format. All users updated.
14010 (sblocklist): Change type to unsigned.
14011 (grub_udf_mount): Change type of "sblklist" to unsigned.
14012 Move AVDP search before VRS recognition, because the latter requires
14013 knowledge of the logical block size, which is detected during the
14014 former.
14015 Detect and validate logical block size during AVDP search, adding
14016 support for block sizes 512, 1024 and 4096.
14017 Make VRS recognition independent of block size.
14018
cb0229c5
GC
140192010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14020
14021 Properly handle deleted files on UDF.
14022
14023 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14024 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14025 set.
14026
406858a8
GC
140272010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14028
14029 Support reading files larger than 2 GiB.
14030
14031 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14032 "offset" to grub_off_t.
14033 (grub_udf_read_file): Likewise for parameter "pos".
14034
130da6a7
VS
140352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14038 unavailable.
14039 (Simple configuration): Refer to Changes from GRUB Legacy about
14040 save_env availability.
14041
65e93f6b
VS
140422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * util/grub-install.in: Ignore empty partition table detection
14045 instead of trying to include part_ module.
14046
1fd08bf1
VS
140472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14050 LVM on RAID support.
14051
de1a024f
VS
140522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 Properly define WORDS_BIGENDIAN in wrapped environments.
14055
14056 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14057 definition.
14058 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14059
14060 Reported by: Manoel Rebelo Abranches.
14061 Tested by: Manoel Rebelo Abranches.
14062
bc5dd0b9
VS
140632010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 * util/grub-mkconfig.in: Fix quoting.
14066
58c184be
VS
140672010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 Support big ext2 files.
14070
14071 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14072 (grub_ext2_read_block): Support triple indirect blocks.
14073 (grub_ext2_read_file): Use 64-bit types and read size_high.
14074 (grub_ext2_open): Read size_high.
14075 Reported by: Ximin Luo.
14076 Tested by: Manoel Rebelo Abranches.
14077
5f0c02b3
VS
140782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * util/grub-install.in: Handle filenames containing spaces.
14081 Reported by: Jordan Uggla.
14082 Tested by: Jordan Uggla.
14083
4417aae6
VS
140842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * util/grub-mkconfig.in (grub_script_check): New variable.
14087 Use grub_script_check instead of grub-script-check.
14088 Reported by: Barry Jackson.
14089
7625a68e
VS
140902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * docs/grub.texi (menu): Correct the order.
14093 Reported by: D. Hugh Redelmeier.
14094
10001ac5
VS
140952010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14098 jump.
14099
9c4cf53b
MRA
141002010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14101
10001ac5
VS
14102 * include/grub/elfload.h (grub_elf32_size): New parameter.
14103 All users updated.
9c4cf53b
MRA
14104 Return maximum segments alignment.
14105 (grub_elf64_size): Likewise.
14106 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14107 Return maximum segments alignment.
14108 (grub_elf64_size): Likewise.
14109 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14110 (grub_linux_claimmap_iterate): New function. Uses the
14111 "available" property in the "memory" node for memory allocation
14112 for kernel in the PowerPC loader.
9c4cf53b
MRA
14113 (grub_linux_load32): Correctly find linux entry point offset.
14114 (grub_linux_load64): Likewise.
14115
d2bf06bf
RM
141162010-11-07 Robert Millan <rmh@gnu.org>
14117
14118 On mips-yeeloong, build with -march=loongson2f when this flag is
14119 available (GCC >= 4.4).
14120 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14121 `-march=mips3'.
14122 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14123 or otherwise add -march=mips3.
14124
898c99a2
BC
141252010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14126
87220a68
BC
14127 Suppress shell expansion on echo '*' and echo "*" like cases.
14128 Reported by: Jordan Uggla.
898c99a2
BC
14129
14130 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14131 string arguments before shell expansion.
14132 * tests/grub_cmd_echo.in: New testcases.
14133
4f9b406a
RM
141342010-11-07 Robert Millan <rmh@gnu.org>
14135
14136 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14137 transition.
14138
80c6d25e
VS
141392010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * grub-core/kern/emu/hostdisk.c
14142 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14143
4a1a0153
VS
141442010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14147 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14148 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14149
34706ddc
VS
141502010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14153
6972dea9
VS
141542010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * util/grub-install.in: Replace useless recomendation to pass
14157 --modules with a recomendation to report a bug.
14158
9c693bd6
VS
141592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 Properly register serial terminfo.
14162 Reported by: Jordan Uggla
14163
14164 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14165 const.
14166 (grub_serial_terminfo_output_template): Likewise.
14167 (grub_cmd_serial): Register "serial" with terminfo.
14168 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14169 grub_serial_terminfo_output.
14170
6c9e4c0c
RM
141712010-11-05 Robert Millan <rmh@gnu.org>
14172
14173 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14174 needed).
14175
b9b3839f
RM
141762010-11-05 Robert Millan <rmh@gnu.org>
14177
14178 On Yeeloong, pass machine type information to Linux.
14179
14180 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14181 (LOONGSON_MACHTYPE): New macro, set to
14182 "machtype=lemote-yeeloong-2f-8.9inches".
14183 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14184 additional argument to Linux.
14185
1a3aaff4
RM
141862010-11-04 Robert Millan <rmh@gnu.org>
14187
14188 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14189 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14190 (its SATA disks are detected as slaveless IDE master drives on
14191 kFreeBSD).
14192 Reported by Carsten Aulbert.
14193
a75f4f62
CW
141942010-11-02 Colin Watson <cjwatson@ubuntu.com>
14195
14196 * util/bin2h.c (main): Fix spelling error in generated output.
14197
33b4b0c6
GS
141982010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14199
14200 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14201
2b36fbf4
VS
142022010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14205 vga= option is supplied.
14206
74aaf558
VS
142072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14210 * util/grub.d/10_kfreebsd.in: Likewise.
14211 * util/grub.d/10_linux.in: Likewise.
14212 * util/grub.d/20_linux_xen.in: Likewise.
14213
6428dec3
VS
142142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14217 argument as an argument to no-argument option.
14218
f8729d98
VS
142192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14220
14221 * util/grub.d/10_linux.in: Add missing load_video with explicit
14222 GRUB_GFXPAYLOAD_LINUX.
14223
89d68fa6
VS
142242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14227
3a1197cd
VS
142282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14231 elements with invlid index.
14232 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14233 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14234 members.
14235 * include/grub/raid.h (grub_raid_member): New struct.
14236 (grub_raid_array): Transform devices and start_sector into usage of
14237 grub_raid_member. All users updated
14238 (allocated_devs): New member.
14239
71574288
VS
142402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14243 is modified
14244
8d40ec65
BC
142452010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14246
14247 NetBSD build fix for getline function conflict from gnulib.
14248
14249 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14250 components that depend on gnulib headers.
14251 (libgrubmods.a): Renamed from earlier libgrub.a.
14252 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14253
95b9257e
VS
142542010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14257 install rather than creating a broken install.
14258
26c53dc6
VS
142592010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * util/grub-setup.c (argp): Remove misleading example of installing to
14262 a partition.
14263
4171b3c5
VS
142642010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * util/grub-setup.c (setup): Clarify the error message.
14267
18568d18
VS
142682010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14271
4f6a2e21
VS
142722010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 * grub-core/kern/emu/misc.c
14275 (grub_make_system_path_relative_to_its_root)
14276 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14277
142782010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14279
14280 * grub-core/kern/emu/misc.c
14281 (grub_make_system_path_relative_to_its_root): Revert r2882.
14282
e138c458
VS
142832010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14286 useless field head. All users updated.
14287 (free_subchunk): Correct handling of IN_REGION subchunk.
14288
0cbcdf0e
CW
142892010-10-22 Colin Watson <cjwatson@ubuntu.com>
14290
14291 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14292 (Supported kernels): Likewise.
14293
b65ea155
GS
142942010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14295
14296 Make mktemp invocations portable.
14297
14298 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14299 exit if mktemp fails.
14300 * tests/grub_script_blockarg.in: Likewise.
14301 * tests/partmap_test.in: Likewise.
14302 * tests/util/grub-shell-tester.in: Likewise.
14303 * tests/util/grub-shell.in: Likewise.
14304 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14305 * Makefile.am: Likewise, and chain shell commands with `&&'
14306 instead of ';'.
14307 * util/grub-mkrescue.in: Use the same explicit template as above, and
14308 exit if mktemp fails.
14309
05f43cdd
BC
143102010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14311
14312 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14313 Linux kernel, reported by Dennis Schridde.
14314
800e6a9b
SJ
143152010-10-17 Szymon Janc <szymon@janc.net.pl>
14316
14317 * grub-core/normal/auth.c (grub_auth_check_authentication):
14318 Set-but-not-used variable removed.
14319
d82df574
VS
143202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14321
14322 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14323 32-bit linux protocol.
14324
7bced458
VS
143252010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14326
14327 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14328 cursor shape for sanity.
14329
5b027690
VS
143302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 * docs/grub.texi (Installation): Document buggy BIOS install.
14333
ba5f65cf
VS
143342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * docs/grub.texi (Installation): Indent.
14337
fdf2ec9c
VS
143382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * util/grub-setup.c (setup): New parameter allow_floppy.
14341 (arguments): New member allow_floppy.
14342 (argp_parser): Handle --allow-floppy.
14343 (main): Pass allow_floppy.
14344 * util/grub-install.in: New option --allow-floppy passed though to
14345 grub-setup.
14346
861dfd4c
VS
143472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 * util/grub-install.in: Handle partitionless disks.
14350
f77a8c24
VS
143512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * util/grub-setup.c (setup): Don't clean blocklists before readability
14354 verfification.
14355
27d9ee32
VS
143562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * docs/grub.texi (Installation): Document embedding zone. Remove
14359 obsolete grub-install example.
14360
6bdda8f8
SJ
143612010-10-16 Szymon Janc <szymon@janc.net.pl>
14362
14363 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14364 Set-but-not-used variable ifdef'ed.
14365 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14366 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14367 variable removed.
14368 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14369 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14370 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14371 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14372 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14373 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14374 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14375 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14376 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14377 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14378 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14379 Likewise.
14380
e19b016b
VS
143812010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14384 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14385 enum value.
14386
6c8d3002
VS
143872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14390 synonym to _S5_. Needed for some DSDTs.
14391
c32b51c9
VS
143922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 Userspace ACPI parser debugging.
14395
14396 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14397 headers and add relevant defines. Don't include standard headers.
14398 (main) [GRUB_DSDT_TEST]: New function.
14399 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14400 Don't declare functions.
14401
fbfbeb39
VS
144022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 Remove dead grub_efi_mm_fini.
14405
14406 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14407 (ALLOCATED_PAGES_SIZE): Likewise.
14408 (MAX_ALLOCATED_PAGES): Likewise.
14409 (allocated_pages): Likewise.
14410 (grub_efi_allocate_pages): Don't record allocated pages.
14411 (grub_efi_free_pages): Likewise.
14412 (grub_efi_mm_init): Likewise.
14413 (grub_efi_mm_fini): Removed.
14414
65f7ed7c
VS
144152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14418 (grub_efi_mm_init): Take into account the memory map size increase.
14419
24977b44
VS
144202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14423 (serial_hw_put): Wait based on real time rather than port reads. Don't
14424 roken ports.
14425 * include/grub/serial.h (grub_serial_port): New field broken.
14426
1eb01cd2
RM
144272010-10-16 Robert Millan <rmh@gnu.org>
14428
14429 * grub-core/kern/emu/misc.c
14430 (grub_make_system_path_relative_to_its_root): Fix premature return
14431 when processing non-root ZFS filesystems.
5f8b440b 14432 Reported by Sergio Talens-Oliag.
1eb01cd2 14433
2d5fed60
RM
144342010-10-15 Robert Millan <rmh@gnu.org>
14435
14436 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14437 guarantee compressed ones are processed first.
14438
d0f4c1ea
VS
144392010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14442 grub_efiemu_autocore.
14443
d87c681f
VS
144442010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14447 rather than 0x1b.
14448 (grub_console_getkey): Use correct jae opcode rather than ja.
14449
219b3564
RM
144502010-10-12 Robert Millan <rmh@gnu.org>
14451
14452 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14453 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14454 variable. All references updated.
14455
14456 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14457
20c6bb7e
VS
144582010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 Correctly distinguish mdraid flavours.
14461
14462 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14463 (insert_array): New argument raid.
14464 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14465 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14466 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14467
74baff84
VS
144682010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14471 handling of special keys.
14472
3ef068df 144732010-10-02 Aleš Nesrsta <starous@volny.cz>
14474
c7980ad9
VS
14475 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14476 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14477
a9455194 144782010-10-02 Aleš Nesrsta <starous@volny.cz>
14479
c7980ad9
VS
14480 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14481 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14482 users updated.
a9455194 14483 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14484 Use right endpoint when querying descriptor.
a9455194 14485
441cfe65
VS
144862010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 Clear out 0x80 color bit on EFI.
14489 Tested by: decoder
14490 Reported by: decoder and meta tech.
14491
14492 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14493 (grub_console_setcolorstate): Clear out 0x80 bit.
14494 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14495 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14496 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14497
bf26bcc4
VS
144982010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14501 Set to "auto".
14502
6e3c515d
VS
145032010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14506 mo_file after freeing.
14507
e6d983ba
VS
145082010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14511
74ccb5b5
VS
145122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14513
14514 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14515 flags.
14516
17821956
VS
145172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14520 usage.
14521
ee74fa48
VS
145222010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14525
14526 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14527 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14528 and terminfo.h when needed.
14529 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14530 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14531 (terminfo): Enable only on terminfokernel.
14532 (extcmd): Likewise.
14533 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14534 * include/grub/lib/arg.h: Likewise.
14535 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14536 incorrect usage of ->.
14537
aa438e68
VS
145382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14541 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14542
57994012
VS
145432010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 Fix coreboot compilation.
14546
14547 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14548 Take VBE info into account even if only text is supported.
14549 (fill_vbe_info): Take into account the case when only VGA text
14550 is supported.
14551 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14552 on coreboot, multiboot and qemu.
14553
2a406611
VS
145542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14557 debug messages.
14558 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14559
d33613fc
VS
145602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14563 parameters.
14564
44a1b432
VS
145652010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14568 if they were BSD-style.
14569
edde54e6
VS
145702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/boot/i386/pc/lnxboot.S: Replace
14573 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14574 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14575
b65830fa
VS
145762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 Write embedding zone using Reed-Solomon.
14579
14580 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14581 * grub-core/Makefile.am (rs_decoder.S): New target.
14582 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14583 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14584 (multiboot): Move to RS part.
14585 (post_reed_solomon): New label.
14586 (grub_boot_drive): Move to non-RS part since it's modified in memory
14587 on boot.
14588 Include rs_decoder.S.
14589 * grub-core/lib/reed_solomon.c: New file.
14590 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14591 New definition.
14592 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14593 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14594 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14595 * include/grub/partition.h (grub_partition_map): Change prototype of
14596 embed to allow returning additional sectors.
14597 * include/grub/reed_solomon.h: New file.
14598 * util/grub-setup.c (setup): Handle Reed-Solomon.
14599
0b4b227f
CW
146002010-09-28 Colin Watson <cjwatson@ubuntu.com>
14601
14602 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14603 i386 and x86-64 definedness tests.
14604
f772623b
YB
146052010-09-27 Yves Blusseau <blusseau@zetam.org>
14606
14607 Fix generation of kernel_syms.lst
14608
14609 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14610 ASM_PREFIX
14611
8e57a6ca
RM
146122010-09-26 Robert Millan <rmh@gnu.org>
14613
14614 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14615
14616 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14617 the pool is an array of devices, iterate through it and return the
14618 first device that passes a stat() test (instead of blindly returning
14619 the first one).
14620
f9130836
RM
146212010-09-26 Robert Millan <rmh@gnu.org>
14622
14623 Build fixes for GNU/kFreeBSD.
14624
14625 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14626 to programs that require ZFS conversion.
14627 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14628 kernels that don't have FLOPPY_MAJOR.
14629
96510faf
BC
146302010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14631
14632 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14633
449333eb
BC
146342010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14635
14636 Fix grub-emu build.
14637
14638 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14639 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14640 mdraid09 and mdraid1x.
14641
e1fd1939
CW
146422010-09-24 Colin Watson <cjwatson@ubuntu.com>
14643
14644 Re-enable grub-extras.
14645
14646 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14647 avoid confusing Automake. Run autogen only twice, once for the top
14648 level and once for grub-core. Add Makefile.util.def and
14649 Makefile.core.def from extra modules to the appropriate autogen
14650 invocations. If Makefile.common exists in an extra module, include
14651 it in both Makefile.util.am and grub-core/Makefile.core.am;
14652 similarly, include any Makefile.util.common file in Makefile.util.am
14653 and any Makefile.core.common file in grub-core/Makefile.core.am.
14654 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14655 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14656 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14657 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14658
14659 * gentpl.py (gvar_add): Turn GVARS into a set.
14660 (global_variable_initializers): Sort global variables on output.
14661 (vars_init): New function.
14662 (first_time): Likewise.
14663 (library): Ensure that non-global variable initialisations are
14664 emitted before the first time we emit code for a library block.
14665 Append to variables rather than setting them. Only emit
14666 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14667 each conditional path.
14668 (program): installdir() emits an Autogen macro, so must be passed to
14669 var_add rather than gvar_add.
14670 (data): Likewise.
14671 (script): Likewise.
14672 (rules): New function, centralising handling for different target
14673 types. Set up Guile association lists for first_time and vars_init,
14674 and send most output to a diversion so that variable initialisations
14675 can be emitted first.
14676 (module_rules): Use new rules function.
14677 (kernel_rules): Likewise.
14678 (image_rules): Likewise.
14679 (library_rules): Likewise.
14680 (program_rules): Likewise.
14681 (script_rules): Likewise.
14682 (data_rules): Likewise.
14683
14684 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14685
14686 * .bzrignore: Add contrib and grub-core/contrib. Remove
14687 grub-core/Makefile.gcry.am.
14688
1d12cf29
YB
146892010-09-24 Yves Blusseau <blusseau@zetam.org>
14690
14691 * grub-core/lib/LzFind.c: Add missing include.
14692 * grub-core/lib/LzmaEnc.c: Likewise.
14693 * grub-core/script/lexer.c: Likewise.
14694 * grub-core/script/yylex.l: Likewise.
14695 * util/grub-macho2img.c: Likewise.
14696 * util/grub-menulst2cfg.c: Likewise.
14697 * util/grub-mklayout.c: Likewise.
14698 * util/grub-mkpasswd-pbkdf2.c
14699 * util/grub-mkrelpath.c: Likewise.
14700 * util/resolve.c: Likewise.
14701
dd363028
BC
147022010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14703
14704 * Makefile.util.def (example_unit_test): Add
14705 grub-core/gnulib/libgnu.a.
14706
f5a109e2
GS
147072010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14708
14709 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14710
6d0fa83c
VS
147112010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 Support xz compression on yeeloong.
14714
14715 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14716 * configure.ac: Check for LZMA.
14717 * grub-core/Makefile.core.def (xz_decompress): New target.
14718 (none_decompress): Likewise.
14719 * grub-core/boot/decompressor/minilib.c: New file.
14720 * grub-core/boot/decompressor/none.c: Likewise.
14721 * grub-core/boot/decompressor/xz.c: Likewise.
14722 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14723 * grub-core/kern/mips/cache_flush.S: Likewise.
14724 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14725 * grub-core/kern/mips/startup.S: Move first stage to ...
14726 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14727 nomacro.
14728 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14729 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14730 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14731 Allocate statically.
14732 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14733 Allocate statically or use scratch. Don't check CRC32.
14734 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14735 Allocate statically. Don't check CRC32.
14736 * include/grub/decompressor.h: New file.
14737 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14738 Removed.
14739 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14740 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14741 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14742 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14743 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14744 * util/grub-mkimage.c (grub_compression_t): New type.
14745 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14746 (image_target_desc): New field default_compression.
14747 (image_targets): Adjust yeeloong targets.
14748 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14749 (compress_kernel): New parameter comp.
14750 (generate_image): Likewise. Handle new compression case.
14751 (options): New option --compression
14752 (help): Likewise.
14753 (main): Handle new option.
14754
1b655af6
GS
147552010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14756
14757 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14758
8f03f0b5
CW
147592010-09-22 Colin Watson <cjwatson@ubuntu.com>
14760
14761 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14762 typo in __i386__ conditional.
14763
7835dfd3
VS
147642010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14767 include.
14768
e255597e
VS
147692010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14770
6d0fa83c 14771 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14772
14773 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14774 new tags as supported.
14775 (acpiv2_size): New function.
14776 (grub_multiboot_get_mbi_size): Take new tags into account.
14777 (grub_multiboot_make_mbi): Add new tags.
14778 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14779
6cc14051 147802010-09-21 Aleš Nesrsta <starous@volny.cz>
14781
14782 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14783 Added missing configuration of USB device.
14784
df7769d8
CW
147852010-09-21 Colin Watson <cjwatson@ubuntu.com>
14786
14787 * grub-core/normal/menu_entry.c (run): Make sure we always return
14788 a value.
14789
b031012d
CW
147902010-09-21 Colin Watson <cjwatson@ubuntu.com>
14791
14792 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14793 NumberOfPages is UINT64 according to the UEFI specification, not
14794 UINTN. Fix printf format.
14795
174de8f3
CW
147962010-09-21 Colin Watson <cjwatson@ubuntu.com>
14797
14798 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14799 `err' to grub_usb_err_t.
14800 Reported and tested by: KESHAV P.R.
14801
d7dbe923
CW
148022010-09-21 Colin Watson <cjwatson@ubuntu.com>
14803
14804 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14805 tpart non-const, so that we can assign to it. (Since this is a
14806 typedef, the constness refers to the pointer rather than what it
14807 points to.)
14808
8d5e2af3
CW
148092010-09-21 Colin Watson <cjwatson@ubuntu.com>
14810
14811 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14812 $(top_srcdir)/grub-core/gnulib as well as
14813 $(top_builddir)/grub-core/gnulib.
14814 Reported by: KESHAV P.R.
14815
5c527783
CW
148162010-09-21 Colin Watson <cjwatson@ubuntu.com>
14817
14818 * util/grub-install.in: Fix the bootloader ID option to be
14819 consistently --bootloader-id, not --bootloader_id.
14820 Reported by: KESHAV P.R.
14821
d309a16e
CW
148222010-09-21 Colin Watson <cjwatson@ubuntu.com>
14823
14824 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14825 check hash checksum." consistently translatable.
14826
b830cd16
YB
148272010-09-21 Yves Blusseau <blusseau@zetam.org>
14828
14829 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14830 $(top_builddir).
14831
c4fe27a8
CW
148322010-09-21 Colin Watson <cjwatson@ubuntu.com>
14833
14834 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14835 (GRUB_MOD_INIT): Register sha1sum command.
14836 (GRUB_MOD_FINI): Unregister sha1sum command.
14837
a4c1d277
YB
148382010-09-21 Yves Blusseau <blusseau@zetam.org>
14839
14840 Keep boot and grub directory names in sync with utils scripts
14841
14842 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14843 * config.h.in: Add previous macros.
14844 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14845 * util/grub-install.in: Use $bootdir and $grubdir variables.
14846
4eff79d2
CW
148472010-09-21 Colin Watson <cjwatson@ubuntu.com>
14848
14849 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14850 convert partition names to disk names if the new `convert' parameter
14851 is set.
14852 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14853 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14854 disk in its own right. This can happen with Xen disk images.
14855
934d7e44
YB
148562010-09-21 Yves Blusseau <blusseau@zetam.org>
14857
14858 * util/grub-editenv.c: Update strings to avoid warnings when generating
14859 grub.pot file.
14860 * util/grub-setup.c: Likewise.
934d7e44 14861
df3367cc
VS
148622010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * configure.ac: Change version to 1.99~beta0.
14865
77a94e98
VS
148662010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14869 Add BADRAM.
14870 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14871 Likewise.
14872 * include/multiboot.h: Resynced with specification.
14873 * include/multiboot2.h: Likewise.
14874
269004c1
CW
148752010-09-21 Colin Watson <cjwatson@ubuntu.com>
14876
14877 Fix po directory handling.
14878
14879 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14880 * grub-core/gnulib/Makefile.am: Import gettext module.
14881 * m4/gnulib-cache.m4: Likewise.
14882 * m4/gnulib-comp.m4: Likewise.
14883 * m4/gettext.m4: New file, from gnulib.
14884 * m4/glibc2.m4: Likewise.
14885 * m4/iconv.m4: Likewise.
14886 * m4/intdiv0.m4: Likewise.
14887 * m4/intl.m4: Likewise.
14888 * m4/intldir.m4: Likewise.
14889 * m4/intlmacosx.m4: Likewise.
14890 * m4/intmax.m4: Likewise.
14891 * m4/inttypes-pri.m4: Likewise.
14892 * m4/lcmessage.m4: Likewise.
14893 * m4/lib-ld.m4: Likewise.
14894 * m4/lib-link.m4: Likewise.
14895 * m4/lib-prefix.m4: Likewise.
14896 * m4/lock.m4: Likewise.
14897 * m4/nls.m4: Likewise.
14898 * m4/po.m4: Likewise.
14899 * m4/printf-posix.m4: Likewise.
14900 * m4/progtest.m4: Likewise.
14901 * m4/threadlib.m4: Likewise.
14902 * m4/uintmax_t.m4: Likewise.
14903 * m4/visibility.m4: Likewise.
14904 * po/Makefile.am: Remove.
14905 * po/Makefile.in.in: New file, from gettext.
14906 ($(DOMAIN).pot-update): Support POTFILES-shell.
14907 * po/Makevars: New file.
14908 * po/POTFILES-shell: Rename to ...
14909 * po/POTFILES-shell.in: ... this. Update.
14910 * po/POTFILES: Rename to ...
14911 * po/POTFILES.in: ... this. Update.
14912 * po/Rules-quot: New file, from gettext.
14913 * po/boldquot.sed: Likewise.
14914 * po/en@boldquot.header: Likewise.
14915 * po/en@quot.header: Likewise.
14916 * po/insert-header.sin: Likewise.
14917 * po/quot.sed: Likewise.
14918 * po/remove-potcdate.sin: Likewise.
14919
3e0fa5d0
VS
149202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14923
ade9bd66
VS
149242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * util/grub.d/20_linux_xen.in: Use submenus.
14927
fc55cc4c
VS
149282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Support submenus.
14931
14932 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14933 parameter submenu. All users updated.
14934 * grub-core/normal/main.c (free_menu): Rename to ...
14935 (grub_normal_free_menu): ... this. Made global.
14936 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14937 if requested.
14938 * grub-core/normal/menu_entry.c (screen): New field submenu.
14939 (make_screen): Set submenu.
14940 (run): Open new context if requested.
14941 * include/grub/menu.h (grub_menu_entry): New field submenu.
14942 * include/grub/normal.h (grub_normal_free_menu): New proto.
14943
600cedf7
VS
149442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14945
14946 Menu entries extractor.
14947
14948 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14949 variants.
14950 (GRUB_MOD_INIT): Register new variants.
14951 (GRUB_MOD_FINI): Unregister new variants.
14952 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14953 into grub_cmd_legacy_source.
14954 (grub_cmd_legacy_source): Implement extractor variants.
14955 (GRUB_MOD_INIT): Register new variants.
14956 (GRUB_MOD_FINI): Unregister new variants.
14957 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14958 as an extractor.
14959 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14960 search as an extractor.
14961 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14962 test as an extractor.
14963 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14964 as an extractor.
14965 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14966 (grub_env_new_context): New function.
14967 (grub_env_context_open): Likewise.
14968 (grub_env_extractor_open): Likewise.
14969 (grub_env_extractor_close): Likewise.
14970 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14971 grub_extractor_level.
14972 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14973 * include/grub/env.h (grub_env_extractor_open): New proto.
14974 (grub_env_extractor_close): Likewise.
14975 * include/grub/normal.h (grub_extractor_level): New external variable.
14976
7bda3a87
VS
149772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 Make cutmem accept a region specification.
14980 Suggested by: Samuel Thibault
14981
14982 * grub-core/mmap/mmap.c (parsemem): New function.
14983 (grub_cmd_cutmem): Handle new arguments.
14984
2ea57f88
VS
149852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14986
14987 New command cutmem.
14988
14989 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14990 (GRUB_MOD_INIT): Register new command.
14991 (GRUB_MOD_FINI): Unregister new command.
14992
74342e31
VS
149932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 Support some annoying BSD and Minix subpartitions.
14996
14997 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14998 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14999 Properly handle concatenation.
15000 * grub-core/kern/device.c (grub_device_iterate): Likewise.
15001 * grub-core/normal/completion.c (iterate_partition): Likewise.
15002 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
15003 contain partition. All users updated.
15004 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
15005 struct.
15006 (grub_openbsdlabel_partition_map): Likewise.
15007 (bsdlabel_partition_map_iterate): Rename to ..
15008 (iterate_real): ... this. New arguments sector, freebsd and pmap.
15009 (bsdlabel_partition_map_iterate): New function.
15010 (netopenbsdlabel_partition_map_iterate): Likewise.
15011 (netbsdlabel_partition_map_iterate): Likewise.
15012 (openbsdlabel_partition_map_iterate): Likewise.
15013 (GRUB_MOD_INIT): Register new partmaps.
15014 (GRUB_MOD_FINI): Unregister new partmaps.
15015 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15016 (grub_partition_msdos_iterate): ... this. All users updated.
15017 Don't support embedding other than in a minix partition.
15018 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15019 proto.
15020 * include/grub/partition.h (grub_partition): New field msdostype.
15021 * util/grub-install.in: Handle openbsd and netbsd types being in
15022 part_bsd module.
15023
1e8d555b
VS
150242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15027
15028 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15029 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15030 (mdraid09): ... this.
15031 (mdraid1x): New module.
15032 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15033 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15034
899d8af4
VS
150352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15036
15037 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15038 vsprintf.
15039
40901acd
CW
150402010-09-20 Colin Watson <cjwatson@ubuntu.com>
15041
15042 * grub-core/commands/efi/lsefimmap.c: Correct header.
15043 * NEWS: Update.
15044
dfe3b247
CW
150452010-09-20 Colin Watson <cjwatson@ubuntu.com>
15046
15047 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15048 as printf format strings; the translations might contain '%' which
15049 could cause a crash.
15050 (main): Likewise.
15051 * util/grub-fstest.c (argp_parser): Likewise.
15052 * util/grub-setup.c (argp_parser): Likewise.
15053 (main): Likewise.
15054
3286a4b4
VS
150552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 Use argp in grub-fstest.
15058
15059 * util/grub-fstest.c: Don't include getopt.h.
15060 Include argp.h.
15061 (root): New variable.
15062 (args_count): Likewise.
15063 (nparm): Likewise.
15064 (num_disks): Likewise.
15065 (images): Likewise.
15066 (cmd): Likewise.
15067 (debug_str): Likewise.
15068 (args): Likewise.
15069 (options): Transformed to argp.
15070 (usage): Removed.
15071 (main): Split argument parsing into ...
15072 (argp_parser): ... this. Changed to argp format.
15073 (argp): New variable.
15074 (main): Use argp_parse.
15075
3dccbe4b
TG
150762010-09-20 Tristan Gingold <gingold@free.fr>
150772010-09-20 Robert Millan <rmh.grub@aybabtu.com>
150782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * grub-core/commands/efi/lsefimmap.c: New file.
15081 * grub-core/Makefile.core.def (lsefimmap): New module.
15082 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15083
38c259a7
VS
150842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 Pause the execution (10s max) if any errors are displayed so the user
15087 has a chance to see them.
15088
15089 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15090 (grub_print_error): Increment grub_err_printed_errors.
15091 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15092 execution if any errors were displayed.
15093 (show_menu): Remove old code for pause.
15094 * grub-core/normal/menu_entry.c (run): Likewise.
15095 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15096 users updated.
15097 (grub_normal_get_char_counter): Likewise.
15098 * include/grub/err.h (grub_err_printed_errors): New external variable.
15099 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15100
f218b09c
VS
151012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 Support multiboot VBE info.
15104
15105 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15106 Take VBE info into account.
15107 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15108 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15109 Call fill_vbe_info when appropriate.
15110 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15111 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15112 as supported.
15113 (grub_multiboot_get_mbi_size): Take new tags into account.
15114 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15115 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15116 Call fill_vbe_tag when appropriate.
15117 (grub_multiboot_make_mbi): Properly align tags.
15118 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15119 function.
15120 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15121 proto.
15122 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15123
a9cc5438
VS
151242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 Suport manual terminal geometry specification.
15127
15128 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15129 Save state in grub_ofconsole_terminfo_output.
15130 (grub_ofconsole_term): Use grub_terminfo_getwh.
15131 (grub_ofconsole_getwh): Removed.
15132 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15133 (grub_serial_term): Use grub_terminfo_getwh.
15134 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15135 (options): New struct.
15136 (OPTION_*): New enum.
15137 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15138 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15139 width and height.
15140 (grub_terminfo_getwh): New proto.
15141 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15142
1a8fed20
VS
151432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 Handle legacy "terminal" command.
15146
15147 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15148 and FLAG_TERMINAL.
15149 (legacy_commands): Add terminal and title.
15150 (grub_legacy_parse): Handle terminal. Simplify title handling.
15151
41e9c57d
VS
151522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15155 parameters overflow.
15156
61c874c5
CW
151572010-09-20 Colin Watson <cjwatson@ubuntu.com>
15158
15159 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15160 widthspec.h.
15161
15162 * docs/grub.texi (Shell-like scripting): Document `!'.
15163 (Network): Simplify using new i386-pc-pxe format. Mention
15164 grub-mknetdir.
15165
15166 * NEWS: Update.
15167
943682b4
CW
151682010-09-20 Colin Watson <cjwatson@ubuntu.com>
15169
15170 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15171 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15172 when needed.
15173
6d3d698d
CW
151742010-09-20 Colin Watson <cjwatson@ubuntu.com>
15175
15176 * grub-core/commands/efi/lsefisystab.c: Correct header.
15177 * grub-core/commands/efi/lssal.c: Likewise.
15178 * grub-core/commands/testload.c: Likewise.
15179
c982589f
CW
151802010-09-20 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * util/grub-mkrescue.in: Add explicit root argument to --set to
15183 prevent the UUID being interpreted as an argument to --set (matches
15184 previous change to prepare_grub_to_access_device).
15185
a63c31b6
CW
151862010-09-20 Colin Watson <cjwatson@ubuntu.com>
15187
15188 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15189 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15190 the verbosity of later #ifs.
15191 (find_partition_start): Define this function on FreeBSD too.
15192 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15193 function.
15194 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15195 on FreeBSD.
15196
6439b8ee
YB
151972010-09-20 Yves Blusseau <blusseau@zetam.org>
15198
15199 * util/grub-editenv.c: Use argp instead of getopt.
15200
c5930ec8
YB
152012010-09-20 Yves Blusseau <blusseau@zetam.org>
15202
15203 * util/grub-setup.c: Use argp instead of getopt.
15204
15c69261
YB
152052010-09-20 Yves Blusseau <blusseau@zetam.org>
15206
15207 Use gnulib-tool to create gnulib source files.
15208
15209 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15210 grub-core/gnulib directories
15211 * .bzignore: Add **/.deps and autogenerated gnulib files
15212 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15213 of gnulib macros, add grub-core/gnulib/Makefile
15214 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15215 include m4 directory to aclocal.
15216 * Makefile.util.def: Remove direct compilation of gnulib source files
15217 and use the new grub-core/gnulib/libgnu.a.
15218 * build-aux/config.rpath: move config.rpath from top directory to
15219 build-aux
15220 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15221 in gnulib headers
15222 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15223 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15224 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15225 header.
15226 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15227 string.
15228
e511c9f5
YB
152292010-09-20 Yves Blusseau <blusseau@zetam.org>
15230
15231 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15232 grub-core/genmod.sh and grub-core/gensyminfo.sh
15233
c2dede05
BC
152342010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15235
15236 Add a test for echo command options.
15237
15238 * tests/grub_cmd_echo.in: New test.
15239 * Makefile.util.def: Rules for new test.
15240
c55f5018
SJ
152412010-09-20 Szymon Janc <szymon@janc.net.pl>
15242
15243 Remove crc.mod and move crc command to hashsum.mod.
15244 Remove lib/crc.c - users updated to use gcrypt implementation.
15245
15246 * grub-core/commands/crc.c: Removed.
15247 * grub-core/Makefile.core.def (crc): Module removed.
15248 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15249 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15250 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15251 * grub-core/lib/crc.c: Removed.
15252 * include/grub/lib/crc.h: Removed.
15253 * Makefile.util.def (crc): Remove lib/crc.c
15254 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15255 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15256 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15257 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15258 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15259 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15260
e0337366
VS
152612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15264
742f9232
VS
152652010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 Split config.h for util and core.
15268
15269 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15270 (ADDR32): Likewise.
15271 (DATA32): Likewise.
15272 (BSS_START_SYMBOL): Likewise.
15273 (END_SYMBOL): Likewise.
15274 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15275 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15276 * config.h.in: New file.
15277 * configure.ac: Use config-util.h as config define file.
15278 Rename MACHINE into GRUB_MACHINE. All users updated.
15279 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15280 updated.
15281 (NESTED_FUNC_ATTR): Likewise.
15282 Substitue new variables.
15283 (COND_HAVE_ASM_USCORE): New conditional.
15284 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15285 (kernel_syms.lst): Use ASM_PREFIX.
15286 * grub-core/kern/emu/console.c: Include config-util.h.
15287 * grub-core/kern/emu/misc.c: Likewise.
15288 * grub-core/kern/emu/mm.c: Likewise.
15289 * include/grub/emu/misc.h: Likewise.
15290 * include/grub/libgcc.h: Likewise.
15291
39feb0e8
VS
152922010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15295 constants usage.
15296 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15297 Fix GRUB_TERM_KEY_* constants usage.
15298 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15299
9af6dac3
VS
153002010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15303 print pointer.
15304 * grub-core/bus/usb/uhci.c: Remove empty define.
15305 (grub_uhci_check_transfer): Add missing cast.
15306 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15307 print pointer.
15308 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15309 PRIuGRUB_SIZE.
15310 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15311
d6d94820
VS
153122010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * grub-core/Makefile.core.def (legacycfg): Add
15315 lib/i386/pc/vesa_modes_table.c on emu.
15316
3572f2b6
BC
153172010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15318
15319 Reduce number of temporary files generated by build system.
15320
15321 * grub-core/gencmdlist.sh: Removed.
15322 * grub-core/genfslist.sh: Removed.
15323 * grub-core/genhandlerlist.sh: Removed.
15324 * grub-core/genmodsrc.sh: Removed.
15325 * grub-core/genpartmaplist.sh: Removed.
15326 * grub-core/genparttoollist.sh: Removed.
15327 * grub-core/gentermiinallist.sh: Removed.
15328 * grub-core/genvideolist.sh: Removed.
15329
15330 * grub-core/genmod.sh.in: New file.
15331 * grub-core/gensyminfo.sh.in: New file.
15332
15333 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15334 * conf/Makefile.extra-dist: Update with new files.
15335 * gentpl.py: Remove rules related to unnecessary temporary files.
15336 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15337 and und-* files.
15338 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15339 genmod.sh scripts.
15340 * grub-core/bus/usb/uhci.c: Remove empty #define.
15341 * grub-core/genmoddep.awk: Updated with new syminfo format.
15342 * util/bash-completion.d/Makefile.am: Add config.log to
15343 CLEANFILES.
15344
c836b030
YB
153452010-09-19 Yves Blusseau <blusseau@zetam.org>
15346
15347 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15348
2f4e8053
BC
153492010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15350
15351 * util/grub-mkconfig.in: Check the config script for syntax errors
15352 before saving.
15353
75831c34
CW
153542010-09-19 Colin Watson <cjwatson@ubuntu.com>
153552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15356
15357 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15358 platforms.
15359 * util/grub-install.in: Add EFI and IEEE1275 support.
15360 * util/i386/efi/grub-install.in: Removed.
15361 * util/ieee1275/grub-install.in: Likewise.
15362
eaf41b25
VS
153632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15366 (grub_cmd_cmosclean): Likewise.
15367 (GRUB_MOD_INIT): Register command cmosclean.
15368 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15369 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15370
1a9130dd
CPE
153712010-09-18 Carles Pina i Estany <carles@pina.cat>
153722010-09-18 Aleš Nesrsta <starous@volny.cz>
153732010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 Add keyboard layouts support.
15376
15377 * Makefile.util.def (grub-mklayout): New file.
15378 (grub-kbdcomp): New script.
15379 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15380 Add keyboard_layouts.h.
15381 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15382 commands/boot.c on yeeloong.
15383 (keylayouts): New module.
15384 * grub-core/bus/usb/ohci.c
15385 * grub-core/bus/usb/uhci.c
15386 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15387 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15388 (attach_root_port): Likewise.
15389 (poll_nonroot_hub): Likewise.
15390 (grub_usb_poll_devices): Likewise.
15391 (detach_device): Close transfer.
15392 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15393 function.
15394 (grub_usb_bulk_setup_readwrite): Likewise.
15395 (grub_usb_bulk_finish_readwrite): Likewise.
15396 * grub-core/commands/keylayouts.c: New file.
15397 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15398 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15399 aliases.
15400 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15401 support scancode 2.
15402 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15403 * include/grub/keyboard_layouts.h: New file.
15404 * util/grub-mklayout.c: New file.
15405 * util/grub-kbdcomp.in: Likewise.
15406
a1d84a5e
VS
154072010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 Unify memory types.
15410
15411 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15412 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15413 types.
15414 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15415 (grub_upper_mem): Likewise.
15416 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15417 * include/grub/memory.h (grub_memory_type_t): New enum.
15418 All users updated.
15419
9696382e
VS
154202010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * grub-core/Makefile.core.def (lsapm): New module.
15423 * grub-core/commands/i386/pc/lsapm.c: New file.
15424 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15425 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15426 Likewise.
15427 * include/grub/i386/pc/apm.h: New file.
15428 * include/multiboot.h (multiboot_apm_info): New struct.
15429
154302010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 GRUB-legacy configuration file support.
15433
15434 * Makefile.util.def (grub-menulst2cfg): New util.
15435 * docs/man/grub-menulst2cfg.h2m: New file.
15436 * grub-core/Makefile.core.def (legacycfg): New module.
15437 * grub-core/commands/legacycfg.c: New file.
15438 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15439 (grub_normal_add_menu_entry): ... this.
15440 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15441 (grub_normal_set_password): ...this.
15442 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15443 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15444 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15445 * grub-core/lib/legacy_parse.c: New file.
15446 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15447 * include/grub/i386/pc/vesa_modes_table.h: New file.
15448 * include/grub/legacy_parse.h: Likewise.
15449 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15450 * util/grub-menulst2cfg.c: New file.
15451
bf8d1338
CW
154522010-09-17 Colin Watson <cjwatson@ubuntu.com>
15453
15454 * grub-core/kern/emu/hostdisk.c
15455 (convert_system_partition_to_system_disk): Initialise node.
15456
9c0bad2e
CW
154572010-09-17 Colin Watson <cjwatson@ubuntu.com>
15458
15459 * grub-core/kern/emu/hostdisk.c
15460 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15461 leak.
15462 Reported and based on patch by: Modestas Vainius.
15463
a939d135
CW
154642010-09-17 Colin Watson <cjwatson@ubuntu.com>
15465
15466 Fix DM-RAID probing with recent versions of device-mapper udev
15467 rules.
15468
15469 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15470 canonicalise device paths under /dev/mapper/.
15471 (convert_system_partition_to_system_disk): Compare the
15472 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15473 path, since device nodes under /dev/mapper/ are often symlinks.
15474
0f7ee3c9
YB
154752010-09-17 Yves Blusseau <blusseau@zetam.org>
15476
15477 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15478
10854d0d
YB
154792010-09-16 Yves Blusseau <blusseau@zetam.org>
15480
15481 * configure.ac: Avoid some annoying error messages if freetype-config
15482 program is not found.
15483
108538d8
CW
154842010-09-16 Colin Watson <cjwatson@ubuntu.com>
15485
15486 Support RAID on virtio devices, and others.
15487
15488 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15489 Rename to ...
15490 [__MINGW32__] (grub_find_device): ... this.
15491 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15492 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15493 reasonable default if dir is NULL.
15494 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15495 ...
15496 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15497 (grub_guess_root_device): Update callers.
15498 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15499
15500 * util/raid.c (grub_util_getdiskname): Remove.
15501 (grub_util_raid_getmembers): Use grub_find_device rather than
15502 grub_util_getdiskname.
15503
e5bfc130
CW
155042010-09-16 Colin Watson <cjwatson@ubuntu.com>
15505
15506 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15507 needing to be compiled with serial support.
15508 (ls): Indicate that multiple files are accepted.
15509 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15510 indicate that multiple files are accepted.
15511
be458ae2
CW
155122010-09-16 Colin Watson <cjwatson@ubuntu.com>
15513
15514 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15515 libgrub_a_init.c, and util/bash-completion.d/grub.
15516
cb731b5e
VS
155172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 * util/grub-setup.c (setup): Fix incorrect container semantics.
15520
35139e8a
VS
155212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15524 misusage.
15525 Reported by: J. Nick Terry
15526
e50fca4a
VS
155272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 Move embedding routines to partmap sources files.
15530
15531 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15532 [GRUB_UTIL]: New variable.
15533 (gpt_partition_map_iterate): Set part.parent.
15534 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15535 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15536 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15537 New function.
15538 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15539 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15540 (grub_partition_map) [GRUB_UTIL]: New field embed.
15541 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15542 (setup): Use ->embed.
15543
f00478b7
VS
155442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15547 function.
15548 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15549 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15550
2b94e3ff
YB
155512010-09-15 Yves Blusseau <blusseau@zetam.org>
15552
15553 Add function to get completions from usage.
15554
15555 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15556 completions from usage. Use LC_ALL=C to get options properly.
15557
2e04a006
VS
155582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * grub-core/gnulib/basename-lgpl.c: Imported.
15561 * grub-core/gnulib/basename.c: Likewise.
15562 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15563 * grub-core/gnulib/dirname.c: Likewise.
15564 * grub-core/gnulib/dirname.h: Likewise.
15565 * grub-core/gnulib/stripslash.c: Likewise.
15566
5dcdf93a
VS
155672010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * grub-core/gnulib/error.c: Resynced.
15570 * grub-core/gnulib/getopt.c: Likewise.
15571 * grub-core/gnulib/getopt_int.h: Likewise.
15572 * grub-core/gnulib/regex.h: Likewise.
15573 * grub-core/gnulib/regex_internal.c: Likewise.
15574 * grub-core/gnulib/regex_internal.h: Likewise.
15575
014f47b7
SJ
155762010-09-15 Szymon Janc <szymon@janc.net.pl>
15577
15578 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15579 CRC calculations and validity checks.
15580 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15581 calculations.
15582
dd521a4a
SJ
155832010-09-15 Szymon Janc <szymon@janc.net.pl>
15584
15585 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15586
79c4eeb9
VS
155872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 Fix incorrect echo options handling.
15590 Reported by: Yves Blusseau.
15591
15592 * include/grub/command.h (grub_command_flags_t): New flags
15593 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15594 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15595 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15596
ed80f7d5
VS
155972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15600 users updated.
15601 (GRUB_COMMAND_FLAG_MENU): Likewise.
15602 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15603 (GRUB_COMMAND_FLAG_TITLE): Removed.
15604 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15605 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15606 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15607 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15608 (grub_command_flags_t): New enum. All users updated.
15609
5fe7620a
SG
156102010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15611
15612 Fix solaris compilation.
15613
15614 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15615 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15616 (grub-emu-list): Likewise.
15617
545b752f
VS
156182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15619
15620 Remove deprecated root command.
15621
15622 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15623 updated.
15624
6c1a338c
VS
156252010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * util/i386/pc/grub-setup.c: Merge this ...
15628 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15629 * util/grub-setup.c: ... into this.
15630 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15631 New struct.
15632
156332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15636 possible.
15637
d2ea4551
VS
156382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15641 allocate p.
15642
3c3b5040
VS
156432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15646 explicit root argument to set to prevent UUID to be interpreted as
15647 argument to set.
15648
b71c3fae
VS
156492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15652
275433e6
VS
156532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 Don't export grub_gate_a20.
15656
15657 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15658 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15659 to ...
15660 (grub_gate_a20): ... this. All users updated.
15661 * include/grub/i386/pc/init.h: Removed. All users updated.
15662
a5dbb1f1
VS
156632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 Create euro.pf2 which supports most European languages.
15666
15667 * Makefile.am (grubdata_DATA): Add euro.pf2.
15668 (euro.pf2): New target.
15669 (CLEANFILES): Add euro.pf2.
15670
62a747cb
VS
156712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15672
15673 * configure.ac: Disable emu-usb by default to prevent inadvertent
15674 device takeover.
15675
608e43b1
VS
156762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15677
15678 Disable usbserial on grub-emu since our libusb code isn't good enough
15679 yet.
15680
15681 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15682 (usbserial_pl2303): Likewise.
15683 (usbserial_ftdi): Likewise.
15684
94564f81
VS
156852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * include/grub/disk.h (grub_disk): Remove has_partitions.
15688 All users updated.
15689 * disk/loopback.c (grub_loopback): Remove has_partitions.
15690 All users updated.
15691 (options): Remove partitions. All users updated.
15692 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15693 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15694 actual partition table is found.
15695
3352800b
VS
156962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Remove readability checks (too many false negatives).
15699
15700 * util/grub-install.in: Remove readability checks.
15701 * util/grub-mkconfig.in: Likewise.
15702 * util/grub.d/10_hurd.in: Likewise.
15703 * util/grub.d/10_kfreebsd.in: Likewise.
15704 * util/grub.d/10_linux.in: Likewise.
15705 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15706 way.
15707
2419f17a
VS
157082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 Enable acpi shutdown on all ACPI platforms.
15711
15712 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15713 on coreboo, multiboot and EFI.
15714 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15715 (grub_acpi_halt): Likewise.
15716 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15717 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15718 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15719 * grub-core/lib/i386/halt.c (grub_halt)
15720 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15721
0575c7c3
VS
157222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15725 context.
15726
54ac3cd1
VS
157272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15730 * grub-core/video/efi_uga.c: Likewise.
15731
b2a30ac5
VS
157322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 Filter devaliases and never open same device twice.
15735
15736 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15737 (last_ihandle): Likewise.
15738 (ofdisk_hash_ent): New member shortest.
15739 (ofdisk_hash_add): Add canonical path too.
15740 (scan): New function.
15741 (grub_ofdisk_iterate): Iterate over hashed entries.
15742 (compute_dev_path): Don't add :0.
15743 (grub_ofdisk_open): Don't really open the disk.
15744 (grub_ofdisk_close): Avoid closing unrelated disk.
15745 (grub_ofdisk_read): Implement reopen logic.
15746 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15747 New function.
15748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15749 New proto.
15750
fb53b340
VS
157512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 Fix sparc64.
15754
15755 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15756 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15757 right address. Add sparc64_ieee1275_ldflags.
15758 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15759 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15760 to grub_host_to_target_addr
15761 (load_image): Likewise.
15762
f452b040
VS
157632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * grub-core/normal/completion.c (complete_file): Handle device
15766 containing slash.
15767 Fix based on patch by Doug Nazar.
15768
9b5b2541
VS
157692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 grub-mknetdir script.
15772
15773 * Makefile.util.def (grub-mknetdir): New module.
15774 * tests/util/grub-shell.in: Support boot=net
15775 * util/grub-mknetdir.in: New file.
15776
9d2be652
VS
157772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 videoinfo on non-vbe.
15780
15781 * grub-core/Makefile.core.def (vbeinfo): Removed.
15782 (vbetest): Removed.
15783 (videoinfo): New module.
15784 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15785 * grub-core/commands/i386/pc/vbetest.c: Removed.
15786 * grub-core/commands/videoinfo.c: New file.
15787 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15788 specification.
15789 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15790 as vbetest.
15791 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15792 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15793 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15794 mode_number. New parameter mode. All users updated.
15795 (grub_video_gop_iterate): New function.
15796 (grub_video_efi_gop): New member iterate.
15797 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15798 (grub_vbe_set_video_mode): Remove setting useless fields.
15799 (vbe2videoinfo): New function.
15800 (grub_video_vbe_iterate): Likewise.
15801 (grub_video_vbe_setup): Use vbe2videoinfo.
15802 (grub_video_vbe_print_adapter_specific_info): New function.
15803 (grub_video_vbe_adapter): New fields iterate and
15804 print_adapter_specific_info.
15805 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15806 All users updated.
15807 (grub_video_mode_info): New field mode_number.
15808 (grub_video_adapter): New fields iterate and
15809 print_adapter_specific_info.
15810
179503f5
TG
158112010-09-13 Tristan Gingold <gingold@free.fr>
158122010-09-13 Robert Millan <rmh.grub@aybabtu.com>
158132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * grub-core/commands/efi/lsefisystab.c: New file.
15816 * grub-core/commands/efi/lssal.c: Likewise.
15817 * grub-core/Makefile.core.def (lsacpi): New module.
15818 (lsefisystab): Likewise.
15819 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15820 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15821 (grub_efi_sal_system_table): New struct.
15822 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15823 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15824 (grub_efi_sal_system_table_platform_features): Likewise.
15825 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15826 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15827 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15828 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15829
cf9827de
VS
158302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 Support explicit user claim that a device is BIOS-visible.
15833
15834 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15835 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15836 * grub-core/kern/emu/hostdisk.c
15837 (convert_system_partition_to_system_disk): Support mdX.
15838 (find_system_device): New parameter add. All users updated.
15839 (grub_util_biosdisk_is_present): New function.
15840 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15841 proto.
15842
53f0eb1f
VS
158432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 Search hints support.
15846
15847 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15848 All users updated.
15849
b23ffd70
YB
158502010-09-13 Yves Blusseau <blusseau@zetam.org>
15851
15852 Bash completion script for util commands
15853
15854 * Makefile.am: Add util/bash-completion.d directory
15855 * configure.ac: Likewise.
15856 * util/bash-completion.d/Makefile.am: New file.
15857 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15858
d547dc28
VS
158592010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15862 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15863 Reported by: Yves Blusseau.
15864
2fc8ccb9
VS
158652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15868 partition size and offset.
15869
d8a84076
VS
158702010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15871
15872 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15873
84fb3b3d
VS
158742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15877
768ec2e2
VS
158782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15881 (grub_xvasprintf): Likewise.
15882
4870900f
VS
158832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15884
15885 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15886
faca6bec
VS
158872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15890 args ending with NULL.
15891
158922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15893
15894 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15895 pointer.
15896
3c70f225
SJ
158972010-09-11 Szymon Janc <szymon@janc.net.pl>
15898
15899 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15900
4df7996d
VS
159012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 Shutdown using ACPI.
15904
15905 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15906 * grub-core/commands/acpihalt.c: New file.
15907 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15908 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15909 (grub_acpi_halt): New proto.
15910 (GRUB_ACPI_SLP_EN): New const.
15911 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15912 (GRUB_ACPI_OPCODE_*): New enum.
15913 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15914
126b4c32
TG
159152010-09-11 Tristan Gingold <gingold@free.fr>
159162010-09-11 Robert Millan <rmh.grub@aybabtu.com>
159172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 * commands/lsacpi.c: New file.
15920 * grub-core/Makefile.core.def (lsacpi): New module.
15921 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15922 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15923 (grub_acpi_madt_entry_header): New struct.
15924 (grub_acpi_madt): Likewise.
15925 (grub_acpi_madt_entry_interrupt_override): Likewise.
15926 (grub_acpi_madt_entry_sapic): Likewise.
15927 (grub_acpi_madt_entry_lsapic): Likewise.
15928 (grub_acpi_madt_entry_platform_int_source): Likewise.
15929 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15930 (PRIuGRUB_UINT32_T): Likewise.
15931 (PRIxGRUB_UINT64_T): Likewise.
15932
1aa4fe88
VS
159332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 Implement loading palette on ieee1275_fb.
15936
15937 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15938 (have_setcolors): Likewise.
15939 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15940 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15941 (grub_video_ieee1275_set_palette): Implement.
15942
25761e13
VS
159432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
159442010-09-11 Colin Watson <cjwatson@ubuntu.com>
15945
15946 * util/grub-install.in (grub_partition): New variable.
15947 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15948 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15949 Fixes a bug reported by Yves Blusseau.
15950
050abaea
VS
159512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15952
15953 Fix emu on mipsel.
15954
15955 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15956 =grub_cpu_flush_cache on all mips and not only yeeloong.
15957 * configure.ac (COND_mips): New conditional.
15958 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15959 platforms.
15960 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15961 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15962 [GRUB_LINKER_HAVE_INIT]: New function.
15963 (grub_emu_post_init): Likewise.
15964 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15965 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15966 * include/grub/cache.h (_mips): Include mips/cache.h.
15967 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15968 LVM and RAID prototypes.
15969 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15970 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15971 function.
15972
5ed7d816
CW
159732010-09-10 Colin Watson <cjwatson@ubuntu.com>
15974
15975 * util/grub-install.in: Don't try to verify core.img until after
15976 running grub-mkimage to create it.
15977
90367e04
RM
159782010-09-10 Robert Millan <rmh@gnu.org>
15979
15980 * util/grub.d/10_hurd.in: Add misc readability checks.
15981 * util/grub.d/10_kfreebsd.in: Likewise.
15982 * util/grub.d/10_linux.in: Likewise.
15983
c452fa66
CW
159842010-09-10 Colin Watson <cjwatson@ubuntu.com>
15985
15986 * util/grub-install.in: ${imgext} won't be defined here until the
15987 install branch is merged. For the meantime, only verify core.img on
15988 i386-pc and sparc64-ieee1275 platforms.
15989
c38fe9f4
RM
159902010-09-10 Robert Millan <rmh@gnu.org>
15991
15992 Solaris support in grub_find_zpool_from_dir(). Thanks
15993 Seth Goldberg for referring to getextmntent() facility.
15994
15995 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15996 `sys/mkdev.h'.
15997 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15998 `<sys/mnttab.h>'.
15999 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
16000 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
16001 method for finding zpool name.
16002
905f7773
CW
160032010-09-10 Colin Watson <cjwatson@ubuntu.com>
16004
16005 grub-fstest needs the host and hostfs modules while other utilities
16006 actively require those modules to be absent, so grub-fstest needs
16007 its own initialisation and finalisation code.
16008
16009 * Makefile.am (grub_fstest.pp): New target.
16010 (grub_fstest_init.lst): Likewise.
16011 (grub_fstest_init.c): Likewise.
16012 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
16013
fb90b546
RM
160142010-09-10 Robert Millan <rmh@gnu.org>
16015
16016 * configure.ac: Check for `struct statfs.f_fstypename' and
16017 `struct statfs.f_mntfromname'.
16018
16019 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16020 kFreeBSD-specific code.
16021
66d4bea5
RM
160222010-09-10 Robert Millan <rmh@gnu.org>
16023
16024 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16025 on ZFS. Now non-main filesystems are supported as / too.
16026
b6a690ee
CW
160272010-09-09 Colin Watson <cjwatson@ubuntu.com>
16028
16029 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16030 and grub-core/disk/host.c to ...
16031 (grub-fstest): ... here. Having the host disk implementation
16032 present confuses grub-probe and other utility programs.
16033
16034 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16035 when writing to a file, not when writing to stdout.
16036
8901b00c 160372010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16038
16039 * tests/partmap_test.in: New test for partitions.
16040 * Makefile.util.def: Rules for new test.
16041
7bf45fdd
RM
160422010-09-09 Robert Millan <rmh@gnu.org>
16043
16044 * util/grub-probe.c (probe): Fix a pair of unhandled error
16045 conditions.
16046
4dfbc574
RM
160472010-09-09 Robert Millan <rmh@gnu.org>
16048
16049 Basic Btrfs support (detection and UUID).
16050
16051 * grub-core/fs/btrfs.c: New file.
16052 * Makefile.util.def (library): Register btrfs.c.
16053 * grub-core/Makefile.core.def: Likewise.
16054
6b8e78ae
RM
160552010-09-08 Robert Millan <rmh@gnu.org>
16056
16057 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16058 with (optional) parameters to specify device and relative path.
16059 * util/grub-install.in: Use is_path_readable_by_grub() to
16060 verify readability of a few critical files.
16061 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16062 verify readability of grub.cfg.new.
16063
27f21a8b
VS
160642010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 Split minix.mod into minix.mod and minix2.mod.
16067
16068 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16069 * grub-core/Makefile.core.def (minix2): New module.
16070 * grub-core/fs/minix.c: Use definitions instead of runtime version
16071 checking.
16072 * grub-core/fs/minix2.c: New file.
16073
c0e53ea5
YB
160742010-09-08 Yves Blusseau <blusseau@zetam.org>
16075
16076 Add new --boot-directory option to replace --root-directory
16077
16078 * util/grub-install.in: Add new --boot-directory option
16079 * util/grub-reboot.in: Likewise.
16080 * util/grub-set-default.in: Likewise.
16081
b9fe6ea2
YB
160822010-09-08 Yves Blusseau <blusseau@zetam.org>
16083
16084 * util/grub-mkconfig.in: Use new variable.
16085
d87aedff
YB
160862010-09-08 Yves Blusseau <blusseau@zetam.org>
16087
16088 * configure.ac: Define some useful variables.
16089
e55e8495
VS
160902010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16093 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16094 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16095 Use terminfo and don't use cursor-on/cursor-off unless it's known
16096 to work.
16097 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16098 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16099
6fa6d675
CW
161002010-09-08 Colin Watson <cjwatson@ubuntu.com>
16101
16102 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16103 starts with "(,", fill the drive containing the loaded image in
16104 between those two characters, but expect that a full partition
16105 specification including partition map names will follow.
16106
92f2aef0
RM
161072010-09-08 Robert Millan <rmh@gnu.org>
16108
16109 * configure.ac: Remove `--enable-grub-fstest' option.
16110 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16111
16112 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16113 `grub-fstest' instead of `grub-probe' for readability verification.
16114 * util/grub-probe.c (probe): Remove readability verification kludge.
16115
99fd620d
RM
161162010-09-08 Robert Millan <rmh@gnu.org>
16117
16118 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16119 initializing `GRUB_FS'.
16120
058e30ac 161212010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16122
16123 Not command (!) support to GRUB script.
16124
16125 * tests/grub_script_not.in: New test.
16126 * Makefile.util.def: Rules for new test.
16127
16128 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16129 ! command as a special case.
16130 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16131
b61d05ed 161322010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16133
058e30ac 16134 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16135 grub_free.
b61d05ed 16136
4d69c786 161372010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16138
16139 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16140
aa3119c4 161412010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16142
16143 * docs/grub.texi (Shell-like scripting): Documentation for break,
16144 continue, shift and return commands.
16145
db0f7e3d
VS
161462010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 Rename CD-ROM to cd on BIOS.
16149
16150 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16151 "cd".
16152 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16153
88b87c93
VS
161542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16157 * util/grub-probe.c (main): Likewise.
16158 * util/i386/pc/grub-setup.c (main): Likewise.
16159 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16160 Reported and debugged by: alexxy
16161
294f324d
VS
161622010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16165 diagnostic info.
16166
d7ee3441
JS
161672010-09-05 Jo Shields <directhex@apebox.org>
16168
16169 * util/grub.d/30_os-prober.in: Add missing classes.
16170
d7e06c1f
VS
161712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16172
16173 * docs/grub.texi (Theme file format): Document new position format.
16174
fc157e53
VS
161752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16178 a table. Use @code instead of @verbatim.
16179
506e9a1c
CB
161802010-09-05 Colin D Bennett <colin@gibibit.com>
16181
16182 Gfxmenu documentation.
16183
16184 * docs/grub.texi (Theme file format): New chapter.
16185
f0aff67c
SJ
161862010-09-05 Szymon Janc <szymon@janc.net.pl>
16187
16188 * grub-core/Makefile.core.def (xzio): New module.
16189 * grub-core/io/xzio.c: New file.
16190 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16191 * grub-core/lib/xzembed/xz_config.h: Likewise.
16192 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16193 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16194 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16195 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16196 * grub-core/lib/xzembed/xz_private.h: Likewise.
16197 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16198 * include/grub/file.h (grub_file_filter_id): New compression filter
16199 GRUB_FILE_FILTER_XZIO.
16200
82a85062
VS
162012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16204 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16205 size.
16206
3579415d
VS
162072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16210 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16211
5124ae6d
VS
162122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 Uncompressed checksum support.
16215
16216 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16217 (check_list): New parameter uncompress.
16218 (grub_cmd_hashsum): Handle --uncompress.
16219
9aadb3d1
VS
162202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 Reintroduce testload.
16223
16224 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16225 from here ...
16226 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16227 (GRUB_MOD_INIT): New function.
16228 (GRUB_MOD_FINI): Likewise.
16229 * grub-core/Makefile.core.def (testload): New module.
16230
a17792c3
SJ
162312010-09-05 Szymon Janc <szymon@janc.net.pl>
16232
16233 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16234 (uint8_t): New type.
16235 (uint16_t): Likewise.
16236 (uint32_t): Likewise.
16237 (uint64_t): Likewise.
16238
b81e40a3
SJ
162392010-09-05 Szymon Janc <szymon@janc.net.pl>
16240
16241 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16242
fc2ef117
VS
162432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16246 Made static.
16247 (grub_gzfile_open): Removed. All users updated.
16248 (GRUB_MOD_INIT): New function.
16249 (GRUB_MOD_FINI): Likewise.
16250 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16251 (grub_file_filters_enabled): Likewise.
16252 (grub_file_open): Handle filters.
16253 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16254 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16255 * include/grub/file.h (grub_file_filter_id_t): New type.
16256 (grub_file_filter_t): Likewise.
16257 (grub_file_filters_all): New extern variable.
16258 (grub_file_filters_enabled): Likewise.
16259 (grub_file_filter_register): New inline function.
16260 (grub_file_filter_unregister): Likewise.
16261 (grub_file_filter_disable): Likewise.
16262 (grub_file_filter_disable_compression): Likewise.
16263 * include/grub/gzio.h: Removed.
16264
35ee15e0
BC
162652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16266
16267 Filename expansion support for wildcards in GRUB script.
16268
16269 * tests/grub_script_expansion.in: New test.
16270 * Makefile.util.def: Rule for new test.
16271
16272 * grub-core/commands/wildcard.c: New file, implements filename
16273 expansion support for GRUB script.
16274 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16275 * grub-core/script/argv.c: Cosmetic changes.
16276 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16277 Refactored to perform wildcard expansion on arguments.
16278 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16279 struct.
16280
16281 * tests/util/grub-shell.in: Fix quoting for read input.
16282
5f0c4aca
BC
162832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16284
16285 Support for updating environment variables with matched substrings
16286 of regexp.
16287
16288 * tests/grub_cmd_regexp.in: New test.
16289 * Makefile.util.def: Rule for new test.
16290
16291 * grub-core/commands/regexp.c: New option -s to update environment
16292 variables with regexp matches.
16293
3759a35f
SJ
162942010-09-04 Szymon Janc <szymon@janc.net.pl>
16295
16296 * include/grub/file.h (grub_file): New member not_easly_seekable.
16297 (grub_file_seekable): New inline function.
16298 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16299 easily seekable.
16300 (grub_gzio_open): Set not_easly_seekable.
16301 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16302 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16303
ed8c6dec
BC
163042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16305
16306 Support for options to appear multiple times on cmdline.
16307
16308 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16309 * grub-core/commands/extcmd.c: Support for repeatable option.
16310 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16311 repeatable option support.
16312
16313 Refactor menuentry into a regular command.
16314
16315 * grub-core/commands/menuentry.c: New file, menuentry command
16316 implementation.
16317 * grub-core/Makefile.core.def: Rule update for normal.mod.
16318 * grub-core/normal/main.c: Moved menuentry creation to
16319 grub-core/commands/menuentry.c.
16320 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16321 (grub_menu_execute_entry_real): Removed.
16322 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16323 function.
16324 (grub_script_execute_menuentry): Removed.
16325 * grub-core/script/parser.y (menuentry): Removed.
16326 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16327 * grub-core/script/yylex.l (menuentry): Removed.
16328 * include/grub/menu.h (grub_menu_init): New prototype.
16329 (grub_menu_fini): New prototype.
16330 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16331 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16332 (grub_script_execute_sourcecode): New prototype.
16333
dacd0cf0
BC
163342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16335
16336 "return" command for GRUB script functions.
16337
16338 * tests/grub_script_return.in: New test.
16339 * Makefile.util.def: Rules for new test.
16340
16341 * grub-core/script/execute.c (grub_script_return): New function.
16342 * grub-core/script/main.c: Register/unregister return commaond.
16343 * include/grub/script_sh.h (grub_script_return): New prototype.
16344
52e72f9d
BC
163452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16346
16347 "setparams" command to update positional parameters.
16348
16349 * tests/grub_script_setparams.in: New test.
16350 * Makefile.util.def: Rules for new test.
16351
16352 * grub-core/script/argv.c (grub_script_argv_make): New function.
16353 * grub-core/script/execute.c (replace_scope): New function.
16354 (grub_script_setparams): New function.
16355 * grub-core/script/lexer.c: Remove unused variables.
16356 * grub-core/script/main.c: Register/unregister setparams command.
16357 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16358 (grub_script_setparams): New prototype.
16359
25b60c91
BC
163602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16361
16362 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16363 grub_free order.
16364
37e7bf68
BC
163652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16366
16367 Support for passing block of commands as an argument to extcmds.
16368
16369 * Makefile.util.def: Rules for new test.
16370 * tests/grub_script_blockarg.in: New test.
16371 * grub-core/tests/test_blockarg.c: New file, block argument
16372 command used in the test.
16373
16374 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16375 (grub_register_extcmd_prio): New function prototype.
16376 (grub_extcmd_dispatcher): New function prototype.
16377 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16378 type.
16379 * include/grub/script_sh.h (struct grub_script): New members
16380 `children', `next_siblings' and `refcnt' for block arguments and
16381 reference counting.
16382 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16383 (grub_script_arg): New member `script' for block argument.
16384 (grub_script_argv): New member `script' for block argument.
16385 (grub_parser_param): New member `scripts' for block argument.
16386 (grub_script_mem_free): New extern function prototype.
16387 (grub_script_ref): New function prototype.
16388 (grub_script_unref): New function prototype.
16389
16390 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16391 extcmd form to support block arguments.
16392 * grub-core/script/argv.c: Block arguments support.
16393 * grub-core/script/execute.c: Likewise.
16394 * grub-core/script/lexer.c: Likewise.
16395 * grub-core/script/main.c: Likewise.
16396 * grub-core/script/script.c: Likewise.
16397 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16398 non-terminals.
16399
16400 * grub-core/commands/acpi.c: Update extcmd implementations with
16401 grub_extcmd_context_t.
16402 * grub-core/commands/cat.c: Likewise.
16403 * grub-core/commands/echo.c: Likewise.
16404 * grub-core/commands/extcmd.c: Likewise.
16405 * grub-core/commands/hashsum.c: Likewise.
16406 * grub-core/commands/hdparm.c: Likewise.
16407 * grub-core/commands/help.c: Likewise.
16408 * grub-core/commands/hexdump.c: Likewise.
16409 * grub-core/commands/i386/cpuid.c: Likewise.
16410 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16411 * grub-core/commands/i386/pc/halt.c: Likewise.
16412 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16413 * grub-core/commands/iorw.c: Likewise.
16414 * grub-core/commands/keystatus.c: Likewise.
16415 * grub-core/commands/loadenv.c: Likewise.
16416 * grub-core/commands/ls.c: Likewise.
16417 * grub-core/commands/lspci.c: Likewise.
16418 * grub-core/commands/memrw.c: Likewise.
16419 * grub-core/commands/probe.c: Likewise.
16420 * grub-core/commands/search_wrap.c: Likewise.
16421 * grub-core/commands/setpci.c: Likewise.
16422 * grub-core/commands/sleep.c: Likewise.
16423 * grub-core/disk/loopback.c: Likewise.
16424 * grub-core/hello/hello.c: Likewise.
16425 * grub-core/loader/i386/bsd.c: Likewise.
16426 * grub-core/loader/xnu.c: Likewise.
16427 * grub-core/term/gfxterm.c: Likewise.
16428 * grub-core/term/serial.c: Likewise.
16429 * grub-core/tests/lib/functional_test.c: Likewise.
16430
888d1500
BC
164312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16432
16433 Multi-line quoted strings support.
16434
16435 * grub-core/script/lexer.c (append_newline): Removed.
16436 (grub_script_lexer_yywrap): Refactored.
16437 (grub_script_lexer_init): Refactored.
16438 * grub-core/script/yylex.l (yywrap): New function.
16439 (grub_lexer_resplit): New function.
16440 (grub_lexer_unput): New function.
16441 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16442 and resplit.
16443 * tests/grub_script_echo1.in: Added few more testcases.
16444
dda060dd
VS
164452010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * grub-core/kern/misc.c: Don't add abort alias in utils.
16448 Reported by: echoline.
16449
6556eba9
BC
164502010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16451
16452 Add missing files into "make dist" tarball for other platforms.
16453
16454 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16455 * conf/Makefile.common (dist_noinst_DATA): New variable.
16456 * conf/Makefile.extra-dist: Added missing make dist files.
16457 * grub-core/Makefile.core.def: Likewise.
16458
c8e7bf5f
VS
164592010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 Compress grub_prefix.
16462
16463 * grub-core/boot/i386/pc/lnxboot.S: Use
16464 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16465 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16466 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16467 GRUB_MACHINE_PREFIX_END. All users updated.
16468 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16469 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16470 + 0x40.
16471 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16472 * util/grub-mkimage.c (image_target_desc): Change data_end to
16473 prefix_end. All users updated.
16474
a7c00cdb
VS
164752010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16478 value.
16479 (grub_openbsd_boot): Likewise.
16480 (grub_netbsd_boot): Likewise.
16481 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16482 (grub_xnu_boot): Likewise.
16483
9f915872
VS
164842010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16485
16486 * configure.ac: Clean LIBS variable after tests.
16487
efa1bee7
CW
164882010-09-02 Colin Watson <cjwatson@ubuntu.com>
16489
16490 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16491
61d720e5
VS
164922010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16495 echo if libdevmapper will be used.
16496
ef8e0ec8
IT
164972010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16498
16499 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16500 constant for the same file.
16501
03e261d8
VS
165022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16505
c2a4eba6
CW
165062010-09-02 Colin Watson <cjwatson@ubuntu.com>
16507
16508 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16509 grub-core/*.pp.
16510
9056cbf3
CW
165112010-09-02 Colin Watson <cjwatson@ubuntu.com>
16512
16513 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16514 required by the boot protocol.
16515
16516 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16517 ebp and edi members.
16518 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16519 state.ebp and state.edi.
16520 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16521 %ebp and %edi according to grub_relocator32_ebp and
16522 grub_relocator32_edi respectively.
16523 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16524 and state.edi.
16525
529cc99a
VS
165262010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 Add i386-pc-pxe image target.
16529
16530 * util/grub-mkimage.c (image_target_desc): New enum value
16531 IMAGE_I386_PC_PXE.
16532 (image_targets): New target i386-pc-pxe.
16533 (generate_image): Handle i386-pc-pxe image.
16534
9a093920
VS
165352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16536
16537 Fix grub_pxe_scan.
16538
16539 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16540 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16541 All users updated.
16542 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16543 (grub_pxe_pxenv): Correct type.
16544
f9cefc4e
CW
165452010-09-01 Colin Watson <cjwatson@ubuntu.com>
16546
16547 * NEWS: Document most of the important changes since 1.98.
16548
4066f57f
CW
165492010-09-01 Colin Watson <cjwatson@ubuntu.com>
16550
16551 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16552 generated manual page) a little.
16553
da2891f9
CW
165542010-09-01 Colin Watson <cjwatson@ubuntu.com>
16555
16556 * docs/grub.texi: Add myself as an author.
16557
ad717fae
VS
165582010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * Makefile.util.def (libgrub.a): Add missing sunpc.
16561 Reported by: Seth Goldberg.
16562
eefe8abd
VS
165632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 Interrupt wrapping and code simplifications.
16566
9494ef9a
VS
16567 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16568 x86_noieee1275 which are functionaly equivalent in this case.
16569 (grub-install): Make source on each platform explicit. Enable on
16570 all noemu.
16571 * gentpl.py (x86_efi_pc): Removed group.
16572 (x86_noefi): Likewise.
16573 (i386_noefi): Likewise.
16574 (x86_noieee1275): Likewise.
16575 (i386_noieee1275): Likewise.
16576 (i386_noefi_noieee1275): Likewise.
16577 (i386_pc_qemu_coreboot): Likewise.
16578 (i386_coreboot_multiboot): Likewise.
16579 (i386_pc_coreboot_multiboot_qemu): Likewise.
16580 (x86_noefi_mips): Likewise.
16581 (noieee1275): Likewise.
16582 (ieee1275_mips): Likewise.
16583 (noemu_noieee1275): Likewise.
16584 (cmos): New group.
16585 (usb): Likewise.
16586 (videoinkernel): Likewise.
16587 (videomodules): Likewise.
eefe8abd 16588 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16589 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16590 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16591 include/grub/loader.h, include/grub/msdos_partition.h,
16592 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16593 include/grub/machine/console.h, include/grub/machine/vga.h,
16594 include/grub/machine/vbe.h, include/grub/machine/init.h,
16595 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16596 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16597 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16598 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16599 * grub-core/Makefile.core.def (kernel): Explicit the source for
16600 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16601 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16602 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16603 Use videoinkernel tag.
16604 (usb): Enable on all usb.
16605 (usbserial_common): Likewise.
16606 (usbserial_pl2303): Likewise.
16607 (usbserial_ftdi): Likewise.
16608 (uhci): Enable on all x86.
16609 (ohci): Enable on all pci.
16610 (cmostest): Enable on all CMOS.
16611 (acpi): Include commands/acpi.c on all platforms.
16612 (halt): Add relevant lib/*/halt.c.
16613 (hdparm): Enable on all pci.
16614 (lspci): Likewise.
16615 (usbtest): Enable on all usb.
16616 (ata): Enable on all pci.
16617 (ata_pthru): Likewise.
16618 (usbms): Enable on all usb.
16619 (usb_keyboard): Likewise.
16620 (font): Use tag videomodules.
16621 (bufio): Likewise.
16622 (datetime): Use tag cmos. Enable on all noemu.
16623 (mmap): Use tags common and x86.
16624 (gfxterm): Use tag videomodules.
16625 (bitmap): Likewise.
16626 (bitmap_scale): Likewise.
16627 (video_fb): Likewise.
16628 (video): Likewise.
16629 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16630 adjust padding accordingly. All users updated.
16631 (grub_ohci_transaction): Fix bad format specification.
16632 (GRUB_MOD_INIT): Add asserts for struct size.
16633 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16634 (grub_alloc_td): Likewise.
16635 (grub_free_queue): Likewise.
16636 (grub_uhci_transfer): Likewise.
16637 (grub_uhci_transaction): Fix bad format specification.
16638 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16639 (grub_usb_bulk_readwrite): Likewise.
16640 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16641 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16642 Made static.
16643 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16644 Made static.
16645 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16646 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16647 Transformed into C.
16648 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16649 Moved from here ...
16650 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16651 ... here. Transformed into C. Made static.
16652 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16653 Moved from here ...
16654 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16655 ... here. Transformed into C. Made static.
16656 * grub-core/kern/i386/pc/startup.S
16657 (grub_biosdisk_check_int13_extensions): Moved from here ...
16658 * grub-core/disk/i386/pc/biosdisk.c
16659 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16660 Made static.
16661 * grub-core/kern/i386/pc/startup.S
16662 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16663 * grub-core/disk/i386/pc/biosdisk.c
16664 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16665 Transformed into C. Made static.
16666 * grub-core/kern/i386/pc/startup.S
16667 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16668 * grub-core/disk/i386/pc/biosdisk.c
16669 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16670 Transformed into C. Made static.
16671 * grub-core/kern/i386/pc/startup.S
16672 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16673 * grub-core/disk/i386/pc/biosdisk.c
16674 (grub_biosdisk_get_diskinfo_standard): ... here.
16675 Transformed into C. Made static.
16676 * grub-core/kern/i386/pc/startup.S
16677 (grub_biosdisk_get_num_floppies): Moved from here ...
16678 * grub-core/disk/i386/pc/biosdisk.c
16679 (grub_biosdisk_get_num_floppies): ... here.
16680 Transformed into C. Made static.
16681 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16682 New function.
16683 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16684 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16685 Transformed into C. Made static.
16686 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16687 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16688 Transformed into C. Made static.
16689 * grub-core/kern/i386/ieee1275/init.c: Removed.
16690 * grub-core/kern/i386/misc.S: Likewise.
16691 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16692 Splitted from here ...
16693 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16694 Transformed into C. Made static. All users updated.
16695 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16696 Transformed into C. Made static. All users updated.
16697 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16698 Moved from here...
16699 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16700 Transformed into C. Made static. All users updated.
16701 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16702 Moved from here...
16703 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16704 Transformed into C. Made static. All users updated.
16705 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16706 Removed (replaced by C version).
16707 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16708 Moved from here...
16709 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16710 Transformed into C. Made static.
16711 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16712 Moved from here...
16713 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16714 ... here. Transformed into C.
16715 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16716 Moved from here...
16717 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16718 ... here. Transformed into C.
16719 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16720 Moved from here...
16721 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16722 ... here. Transformed into C. Made static.
16723 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16724 Moved from here...
16725 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16726 ... here. Transformed into C.
21ed554b
VS
16727 * grub-core/kern/i386/pc/startup.S
16728 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16729 * grub-core/video/i386/pc/vbe.c
16730 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16731 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16732 Moved from here...
16733 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16734 ... here. Transformed into C.
16735 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16736 Moved from here...
16737 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16738 ... here. Transformed into C.
16739 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16740 Moved from here...
16741 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16742 ... here. Transformed into C.
16743 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16744 Moved from here...
16745 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16746 ... here. Transformed into C.
16747 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16748 Moved from here...
16749 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16750 ... here. Transformed into C. Made static.
16751 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16752 Moved from here...
16753 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16754 ... here. Transformed into C. Made static.
16755 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16756 Moved from here...
16757 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16758 ... here. Transformed into C. Made static.
16759 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16760 pxe_rm_entry as third argument.
16761 (grub_bios_interrupt): New function.
16762 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16763 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16764 of calling grub_stop.
16765 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16766 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16767 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16768 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16769 * grub-core/lib/i386/halt.c: Moved from here ...
16770 * grub-core/lib/i386/halt.c: ... here.
16771 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16772 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16773 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16774 grub_stop_floppy.
16775 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16776 * include/grub/i386/coreboot/init.h: Removed.
16777 * include/grub/i386/multiboot/init.h: Likewise.
16778 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16779 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16780 * include/grub/i386/pc/int.h: New file.
16781 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16782 (grub_pxe_scan): Removed.
16783 (grub_pxe_call): Update prototype.
16784 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16785 prototypes.
16786 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16787 * include/grub/i386/qemu/init.h: Removed.
16788 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16789 noreturn.
16790 (grub_halt): Likewise.
16791 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16792 (grub_reboot): Likewise.
16793 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16794 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16795 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16796
215dd471
RM
167972010-08-30 Robert Millan <rmh@gnu.org>
16798
16799 * NEWS: Document addition of ZFS support in `grub-install' and
16800 `grub-mkconfig'.
16801
ebd65b82
BC
168022010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16803
16804 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16805 dprintf output.
16806
11721d19
VS
168072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 Remove leftover embedding of font objects.
16810
16811 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16812 * util/grub-install.in (font): Removed.
16813 * util/grub-mkimage.c (generate_image): Remove font support. All users
16814 updated.
16815
37837d4e
VS
168162010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 Remove leftover embedding of font objects.
16819
16820 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16821 * util/grub-install.in (font): Removed.
16822 * util/grub-mkimage.c (generate_image): Remove font support. All users
16823 updated.
16824
b4c1aae0
VS
168252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16828 Reported by: Ian Turner
b4c1aae0 16829
8920a08d
VS
168302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16831
16832 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16833 timeout to avoid indefinite boot stalling.
16834
f21db033
VS
168352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16836
16837 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16838 (grub_env_write_color_highlight): Likewise.
16839
9a9de209
VS
168402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 * grub-core/normal/term.c (print_more): Return to normal and not
16843 to standard state after printing "---MORE---".
16844
3dca01d7
VS
168452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16848 Mask out the bit 0x80 since it has other meaning that specifiing color.
16849
0b986c40
VS
168502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 New relocator. Allows for more kernel support and more straightforward
16853 loader writing.
16854
16855 * Makefile.am (BOOTTARGET): New variable.
16856 (QEMU32): Likewise.
16857 (linux.init.x86_64): New target.
16858 (linux.init.i386): Likewise.
16859 (multiboot.elf): Likewise.
16860 (kfreebsd.elf): Likewise.
16861 (kfreebsd.aout): Likewise.
16862 (pc-chainloader.elf): Likewise.
16863 (pc-chainloader.bin): Likewise.
16864 (ntldr.elf): Likewise.
16865 (ntldr.bin): Likewise.
16866 (multiboot2.elf): Likewise.
16867 (kfreebsd.init.x86_64): Likewise.
16868 (kfreebsd.init.i386): Likewise.
16869 (knetbsd.init.i386): Likewise.
16870 (kopenbsd.init.i386): Likewise.
16871 (knetbsd.init.x86_64): Likewise.
16872 (kopenbsd.init.x86_64): Likewise.
16873 (linux-initramfs.i386): Likewise.
16874 (linux-initramfs.x86_64): Likewise.
16875 (kfreebsd-mfsroot.i386.img): Likewise.
16876 (knetbsd.image.i386): Likewise.
16877 (kopenbsd.image.i386): Likewise.
16878 (kopenbsd.image.x86_64): Likewise.
16879 (knetbsd.miniroot-image.i386.img): Likewise.
16880 (kfreebsd-mfsroot.x86_64.img): Likewise.
16881 (knetbsd.image.x86_64): Likewise.
16882 (knetbsd.miniroot-image.x86_64.img): Likewise.
16883 (kfreebsd-mfsroot.i386.gz): Likewise.
16884 (bootcheck-kfreebsd-i386): Likewise.
16885 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16886 (bootcheck-kfreebsd-x86_64): Likewise.
16887 (knetbsd.miniroot-image.i386.gz): Likewise.
16888 (bootcheck-knetbsd-i386): Likewise.
16889 (bootcheck-kopenbsd-i386): Likewise.
16890 (bootcheck-kopenbsd-x86_64): Likewise.
16891 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16892 (bootcheck-knetbsd-x86_64): Likewise.
16893 (bootcheck-linux-i386): Likewise.
16894 (bootcheck-linux-x86_64): Likewise.
16895 (bootcheck-linux16-i386): Likewise.
16896 (bootcheck-linux16-x86_64): Likewise.
16897 (bootcheck-multiboot): Likewise.
16898 (bootcheck-multiboot2): Likewise.
16899 (bootcheck-kfreebsd-aout): Likewise.
16900 (bootcheck-pc-chainloader): Likewise.
16901 (bootcheck-ntldr): Likewise.
16902 (CLEANFILES): Add new targets.
16903 (BOOTCHECKS): New variable.
16904 (.PHONY): Add bootchecks.
16905 (SUCCESSFUL_BOOT_STRING): New variable.
16906 (BOOTCHECK_TIMEOUT): Likewise.
16907 (bootcheck): New target
16908 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16909 * configure.ac: Correct efiemu excuse.
16910 * docs/grub.texi (Supported kernels): New chapter.
16911 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16912 include/grub/mm_private.h. Simplify inclusion of
16913 include/grub/boot.h, include/grub/loader.h
16914 and include/grub/msdos_partition.h
16915 (KERNEL_HEADER_FILES) [i386_coreboot]:
16916 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16917 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16918 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16919 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16920 include/grub/machine/loader.h.
16921 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16922 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16923 extra_dist.
16924 (pci.mod): Enable on i386-multiboot.
16925 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16926 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16927 i386-qemu.
16928 (relocator.mod): Rewritten.
16929 (aout.mod): Enable on all x86.
16930 (bsd.mod): Likewise.
16931 (ntldr.mod): New module.
16932 (linux.mod): Use loader/i386/linux.c on all x86.
16933 (xnu.mod): Enable on all x86.
16934 (vga_text.mod): disable on EFI and QEMU.
16935 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16936 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16937 * grub-core/efiemu/loadcore.c: Likewise.
16938 * grub-core/efiemu/main.c: Likewise.
16939 (grub_efiemu_exit_boot_services): Removed.
16940 (grub_efiemu_finish_boot_services): Likewise.
16941 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16942 function.
16943 * grub-core/efiemu/i386/nocfgtables.c: New file.
16944 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16945 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16946 (grub_efi_finish_boot_services): Moved from here ...
16947 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16948 Fille finish memory map and related data.
16949 (finish_mmap_buf): New variable.
16950 (grub_efi_uintn_t finish_mmap_size): Likewise.
16951 (grub_efi_uintn_t finish_key): Likewise.
16952 (grub_efi_uintn_t finish_desc_size): Likewise.
16953 (grub_efi_uint32_t finish_desc_version): Likewise.
16954 (grub_efi_is_finished): Likewise.
16955 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16956 finished.
16957 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16958 (grub_elf64_phdr_iterate): Likewise.
16959 * grub-core/kern/i386/coreboot/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/coreboot/startup.S: Don't include loader.S.
16963 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16964 * grub-core/kern/i386/loader.S: Removed.
16965 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16966 (grub_os_area_size): Likewise.
16967 (grub_machine_init): Don't reserve os area.
16968 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16969 Don't call grub_dl_unload_all.
16970 Don't include loader.S.
16971 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16972 Declare the memory after _end as available.
16973 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16974 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16975 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16976 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16977 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16978 * include/grub/mm_private.h (grub_mm_header): ... here.
16979 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16980 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16981 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16982 (grub_mm_region): ..here. Removed addr. Added pre_size.
16983 All users updated.
16984 * grub-core/kern/mm.c (base): Renamed to ...
16985 (grub_mm_base): ... this. Made global.
16986 (grub_real_malloc): Alloc from end of region.
16987 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16988 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16989 * grub-core/kern/powerpc/cache_flush.S: ... here.
16990 * grub-core/lib/efi/relocator.c: New file.
16991 * grub-core/lib/i386/relocator.c: Rewritten.
16992 * grub-core/lib/i386/relocator16.S: New file.
16993 * grub-core/lib/i386/relocator32.S: Likewise.
16994 * grub-core/lib/i386/relocator64.S: Likewise.
16995 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16996 * grub-core/lib/i386/relocator_common.S: New file.
16997 * grub-core/lib/ieee1275/relocator.c: Likewise.
16998 * grub-core/lib/mips/relocator.c: Rewritten.
16999 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
17000 stylistic adjustments.
17001 * grub-core/lib/powerpc/relocator.c: New file.
17002 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
17003 * grub-core/lib/relocator.c: Rewritten.
17004 * grub-core/lib/x86_64/relocator_asm.S: New file.
17005 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
17006 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
17007 (bsd_tag): New struct.
17008 (tags): New variable.
17009 (tags_last): Likewise.
17010 (netbsd_module): New struct.
17011 (netbsd_mods): New variable.
17012 (netbsd_mods_last): Likewise.
17013 (openbsd_opts): New parameter "serial".
17014 (OPENBSD_SERIAL_ARG): New definition.
17015 (netbsd_opts): New parameter "serial".
17016 (NETBSD_SERIAL_ARG): New definition.
17017 (grub_freebsd_add_meta): Reorganised into ...
17018 (grub_bsd_add_meta): ...this. All users updated.
17019 (grub_freebsd_add_mmap): Reorganised into ...
17020 (generate_e820_mmap): ...this...
17021 (grub_bsd_add_mmap): ...and this. All users updated.
17022 (grub_freebsd_list_modules): Use tags.
17023 (grub_netbsd_add_meta_module): New function.
17024 (grub_netbsd_list_modules): Likewise.
17025 (grub_freebsd_boot): Use relocator and finish EFI.
17026 (grub_openbsd_boot): Likewise.
17027 (grub_netbsd_setup_video): New function.
17028 (grub_netbsd_add_modules): Likewise.
17029 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17030 and finish EFI.
17031 (grub_bsd_unload): Unload tags.
17032 (grub_bsd_load_aout): Use relocator.
17033 (grub_bsd_elf32_size_hook): New function.
17034 (grub_bsd_elf32_hook): Use relocator.
17035 (grub_bsd_elf64_size_hook): New function.
17036 (grub_bsd_elf64_hook): Use relocator.
17037 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17038 (grub_bsd_load): Zero-out openbsd_ramdisk.
17039 (grub_bsd_load): Use relocator.
17040 (grub_cmd_openbsd): Support serial.
17041 (grub_cmd_netbsd): Support modules.
17042 (grub_cmd_freebsd_module): Use relocator.
17043 (grub_netbsd_module_load): New function.
17044 (grub_cmd_netbsd_module): Likewise.
17045 (grub_cmd_openbsd_ramdisk): Likewise.
17046 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17047 kopenbsd_ramdisk.
17048 (GRUB_MOD_FINI): Unregister new commands.
17049 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17050 (grub_freebsd_load_elfmodule_obj): Use relocator.
17051 (grub_freebsd_load_elfmodule): Likewise.
17052 (grub_freebsd_load_elf_meta): Likewise.
17053 (grub_netbsd_load_elf_meta): New function.
17054 (grub_openbsd_find_ramdisk): Likewise.
17055 * grub-core/loader/i386/bsd_helper.S: Removed.
17056 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17057 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17058 * grub-core/loader/i386/efi/linux.c: Likewise.
17059 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17060 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17061 (DEFAULT_VIDEO_MODE): Likewise.
17062 (real_mode_target): New variable.
17063 (prot_mode_target): Likewise.
17064 (initrd_mem_target): Likewise.
17065 (relocator): Likewise.
17066 (efi_mmap_buf): Likewise.
17067 (efi_mmap_size): Likewise.
17068 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17069 (free_pages): Use relocator.
17070 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17071 (grub_linux_setup_video): Return error.
17072 (grub_linux_trampoline_start): Removed.
17073 (grub_linux_trampoline_end): Likewise.
17074 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17075 andd video parameters depending on firmware.
17076 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17077 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17078 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17079 (grub_cmd_initrd): Use relocator.
17080 * grub-core/loader/i386/linux_trampoline.S: Removed.
17081 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17082 (elf_sec_entsize): Likewise.
17083 (elf_sec_shstrndx): Likewise.
17084 (elf_sections): Likewise.
17085 (grub_multiboot_load): Use relocator.
17086 (grub_multiboot_get_mbi_size): Account for sections.
17087 (grub_multiboot_make_mbi): Use relocator and support sections.
17088 (grub_multiboot_add_elfsyms): New function.
17089 (grub_multiboot_free_mbi): Free sections.
17090 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17091 (grub_linux_real_target): Likewise.
17092 (grub_linux_real_chunk): Likewise.
17093 (grub_linux16_prot_size): Likewise.
17094 (grub_linux16_boot): Use relocator.
17095 (grub_linux_unload): Unload relocator.
17096 (grub_cmd_linux): Use relocator.
17097 (grub_cmd_initrd): Likewise.
17098 * grub-core/loader/i386/pc/ntldr.c: New file.
17099 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17100 Don't try to guess CPU frequency.
17101 (grub_xnu_set_video): Stretch bitmap.
17102 (grub_xnu_boot): Use relocator.
17103 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17104 (grub_linux_unload): Free relocator.
17105 (grub_linux_load32): Use relocator.
17106 (grub_linux_load64): Likewise.
17107 (grub_cmd_initrd): Likewise.
17108 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17109 (grub_multiboot_unload): Unload relocator.
17110 (grub_cmd_multiboot): Use relocator.
17111 (grub_cmd_module): Likewise.
17112 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17113 Use relocator and support sections.
17114 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17115 (elf_sec_entsize): Likewise.
17116 (elf_sec_shstrndx): Likewise.
17117 (elf_sections): Likewise.
17118 (grub_multiboot_load): Use relocator.
17119 (grub_multiboot_get_mbi_size): Account for sections.
17120 (grub_multiboot_make_mbi): Use relocator and support sections.
17121 (grub_multiboot_add_elfsyms): New function.
17122 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17123 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17124 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17125 Prototype changed. All users updated.
17126 (grub_xnu_align_heap): Simplified.
17127 (grub_xnu_writetree_toheap): Likewise.
17128 (grub_xnu_unload): Unload relocator.
17129 (grub_cmd_xnu_kernel): Use relocator.
17130 (grub_cmd_xnu_kernel64): Likewise.
17131 (grub_xnu_register_memory): Simplified.
17132 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17133 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17134 EFI is finished.
17135 (grub_console_checkkey): Likewise.
17136 (grub_console_getkey): Likewise.
17137 (grub_console_getwh): Likewise.
17138 (grub_console_getxy): Likewise.
17139 (grub_console_gotoxy): Likewise.
17140 (grub_console_cls): Likewise.
17141 (grub_console_setcolorstate): Likewise.
17142 (grub_console_setcursor): Likewise.
17143 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17144 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17145 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17146 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17147 * grub-core/tests/boot/kernel-8086.S: Likewise.
17148 * grub-core/tests/boot/kernel-i386.S: Likewise.
17149 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17150 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17151 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17152 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17153 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17154 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17155 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17156 * grub-core/tests/boot/linux.cfg: Likewise.
17157 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17158 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17159 * grub-core/tests/boot/linux16.cfg: Likewise.
17160 * grub-core/tests/boot/multiboot.cfg: Likewise.
17161 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17162 * grub-core/tests/boot/ntldr.cfg: Likewise.
17163 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17164 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17165 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17166 New definition.
17167 * include/grub/dl.h (grub_dl_unload_all): Removed.
17168 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17169 (grub_efi_finish_boot_services): Change prototype.
17170 (grub_efi_is_finished): New variable.
17171 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17172 Changed prototype.
17173 (grub_efiemu_finish_boot_services): Removed.
17174 (grub_machine_efiemu_init_tables): New prototype.
17175 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17176 (grub_elf64_phdr_iterate): Likewise.
17177 * include/grub/i386/bsd.h: Include relocator.h.
17178 (freebsd_tag_header): New struct.
17179 (grub_openbsd_bios_mmap): Removed.
17180 (grub_unix_real_boot): Removed.
17181 (grub_freebsd_load_elfmodule32): Changed prototype.
17182 (grub_freebsd_load_elfmodule_obj64): Likewise.
17183 (grub_freebsd_load_elf_meta32): Likewise.
17184 (grub_freebsd_load_elf_meta64): Likewise.
17185 (grub_freebsd_add_meta): Removed.
17186 (grub_netbsd_load_elf_meta32): New prototype.
17187 (grub_netbsd_load_elf_meta64): Likewise.
17188 (grub_bsd_add_meta): Likewise.
17189 (grub_openbsd_ramdisk_descriptor): New struct.
17190 (grub_openbsd_find_ramdisk32): New prototype.
17191 (grub_openbsd_find_ramdisk64): Likewise.
17192 * include/grub/i386/coreboot/loader.h: Removed.
17193 * include/grub/i386/efi/loader.h: Likewise.
17194 * include/grub/i386/ieee1275/loader.h: Likewise.
17195 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17196 to grub_uint32_t.
17197 * include/grub/i386/loader.h: Removed.
17198 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17199 value.
17200 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17201 (grub_phys_addr_t): New type.
17202 (grub_vtop): New inline function.
17203 (grub_map_memory): Likewise.
17204 (grub_unmap_memory): Likewise.
17205 * include/grub/i386/multiboot/loader.h: Removed.
17206 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17207 (NETBSD_BTINFO_CONSOLE): New definition.
17208 (NETBSD_BTINFO_SYMTAB): Likewise.
17209 (NETBSD_BTINFO_MODULES): Likewise.
17210 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17211 (grub_netbsd_bootinfo): New struct.
17212 (grub_netbsd_btinfo_common): Use explicit bitsize.
17213 (grub_netbsd_btinfo_mmap_entry): Removed.
17214 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17215 (grub_netbsd_btinfo_bootdisk): New struct.
17216 (grub_netbsd_btinfo_symtab): Likewise.
17217 (grub_netbsd_btinfo_serial): Likewise.
17218 (grub_netbsd_btinfo_modules): Likewise.
17219 (grub_netbsd_btinfo_framebuf): Likewise.
17220 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17221 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17222 Likewise.
17223 (grub_openbsd_bootargs): Use explicit bitsize.
17224 (grub_openbsd_bootarg_console): New struct.
17225 (GRUB_OPENBSD_COM_MAJOR): New definition.
17226 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17227 * include/grub/i386/pc/efiemu.h: Removed.
17228 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17229 * include/grub/i386/qemu/loader.h: Removed.
17230 * include/grub/i386/relocator.h: Rewritten.
17231 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17232 * include/grub/mips/memory.h: New file.
17233 * include/grub/mips/multiboot.h: Rewritten.
17234 * include/grub/mips/relocator.h: Rewritten.
17235 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17236 (grub_vtop): New function.
17237 (grub_map_memory): Likewise.
17238 (grub_unmap_memory): Likewise.
17239 * include/grub/misc.h (ALIGN_DOWN): New definition.
17240 * include/grub/mm.h (grub_mm_check_real): New proto.
17241 (GRUB_MM_CHECK): New definition.
17242 * include/grub/mm_private.h: New file.
17243 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17244 (grub_multiboot_get_mbi_size): Removed.
17245 (grub_multiboot_make_mbi): Change prottype.
17246 (grub_multiboot_set_accepts_video): New proto.
17247 (grub_multiboot_add_elfsyms): Likewise.
17248 (grub_multiboot_payload_eip): New variable.
17249 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17250 New prototype.
17251 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17252 New definition.
17253 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17254 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17255 * include/grub/powerpc/ieee1275/loader.h: Removed.
17256 * include/grub/powerpc/memory.h: New file.
17257 * include/grub/powerpc/relocator.h: Likewise.
17258 * include/grub/relocator.h: Likewise.
17259 * include/grub/relocator_private.h: Likewise.
17260 * include/grub/sparc64/ieee1275/loader.h: Removed.
17261 * include/grub/x86_64/memory.h: New file.
17262 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17263 (grub_xnu_heap_malloc): Likewise.
17264 (grub_xnu_heap_real_start): Removed.
17265 (grub_xnu_heap_start): Likewise.
17266 (grub_xnu_relocator): New variable.
17267 (grub_xnu_heap_target_start): Likewise.
17268 * tests/util/grub-shell.in: Support non-pc.
17269 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17270
5303b85d
VS
172712010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17274 on malloc error.
17275 (grub_bidi_logical_to_visual): Check that malloc succeded.
17276 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17277 puts.
17278 (grub_xputs_normal): Likewise.
17279
d768d159
VS
172802010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17283 extra_dist.
17284
172852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17286
17287 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17288
5bf84df4
VS
172892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17292
3626810e
VS
172932010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17296 dprintf.
17297
a7363f53
BC
172982010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17299
17300 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17301
902f75f6
VS
173022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 * grub-core/normal/term.c (print_more): Fix a memory leak.
17305 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17306 (grub_xputs_normal): Likewise.
17307
3c707967
VS
173082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17311 the begining of the string
17312
2053cc07
VS
173132010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17314
17315 * grub-core/script/script.c (grub_script_parse): Free parsed on
17316 failure.
17317
46422ebf
VS
173182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17321 on failure.
17322
9e0fa3f6
VS
173232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17324
17325 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17326 return.
17327
3393cf16
VS
173282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17331 (scroll_up): Fix a memory leak.
17332
b17540cb
VS
173332010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17336 errors.
17337
67140446
VS
173382010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 Handle USB pendrives exposed as floppies.
17341
17342 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17343 floppy.
17344 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17345 Check for partitions on all devices.
17346
e35e46fc
VS
173472010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17350 (readkey): Likewise.
17351
d24c6190
BC
173522010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17353
17354 Multiple variable names support to "export" command.
17355
17356 * normal/context.c (grub_cmd_export): "export" command supports
17357 multiple variable names.
17358
04ddcc6a
ST
173592010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17360
17361 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17362 --target=drive output to Mach device name.
17363
0c8b61d8
BC
173642010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17365
17366 New Automake based build system for GRUB.
17367
17368 * ABOUT-NLS: New file.
17369 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17370 in Makefile.util.def file.
17371 * Makefile.util.def: New file. Autogen build definitions file for
17372 GRUB host utils.
17373 * conf/Makefile.common: New file. Common variables for GRUB host
17374 utils and target modules.
17375 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17376 * docs/Makefile.am: New file. Automake file for docs.
17377 * gentpl.py: New file. Python script to generate Autogen
17378 template.
17379 * grub-core/Makefile.am: New file. GRUB target modules' rules
17380 that doesn't fit in Makefile.core.def file.
17381 * grub-core/Makefile.core.def: New file. Autogen build
17382 definitions file for GRUB target modules.
17383 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17384 specific setjmp.S file.
17385 * po/Makefile.am: New file.
17386
17387 * .bzrignore: New ignores.
17388 * INSTALL: New requirements, without Ruby.
17389 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17390 * autogen.sh: Updated to invoke autogen as necessary.
17391 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17392 and defines for Automake conditionals.
17393 * geninit.sh: Refactoring.
17394
17395 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17396 necessary.
17397 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17398 New prototype.
17399
17400 * include/grub/test.h: Fix functional test modules' naming.
17401 * grub-core/tests/example_functional_test.c: Fix test module name.
17402
17403 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17404 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17405 * util/grub-editenv.c: Likewise.
17406 * util/grub-fstest.c: Likewise.
17407 * util/grub-mkdevicemap.c: Likewise.
17408 * util/grub-mkfont.c: Likewise.
17409 * util/grub-mkimage.c: Likewise.
17410 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17411 * util/grub-probe.c: Likewise.
17412 * util/grub-script-check.c: Likewise.
17413 * util/i386/pc/grub-setup.c: Likewise.
17414 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17415
17416 * tests/util/grub-shell.in: Fix override directory path.
17417 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17418 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17419
17420 * util/lvm.c: Update #includes.
17421 * util/raid.c: Likewise.
17422 * util/resolve.c: Likewise.
17423 * grub-core/bus/emu/pci.c: Likewise.
17424 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17425 * grub-core/lib/posix_wrap/string.h: Likewise.
17426 * grub-core/kern/emu/main.c: Likewise.
17427
17428 * grub-core/gensymlist.sh: New file. Script for generating kernel
17429 symbols file.
17430 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17431
17432 * grub-core/gentrigtables.c: Fix unused variable warnings.
17433
17434 * Makefile.in: Removed.
17435 * conf/any-emu.rmk: Removed.
17436 * conf/common.rmk: Removed.
17437 * conf/i386-coreboot.rmk: Removed.
17438 * conf/i386-efi.rmk: Removed.
17439 * conf/i386-ieee1275.rmk: Removed.
17440 * conf/i386-multiboot.rmk: Removed.
17441 * conf/i386-pc.rmk: Removed.
17442 * conf/i386-qemu.rmk: Removed.
17443 * conf/i386.rmk: Removed.
17444 * conf/mips-yeeloong.rmk: Removed.
17445 * conf/mips.rmk: Removed.
17446 * conf/powerpc-ieee1275.rmk: Removed.
17447 * conf/sparc64-ieee1275.rmk: Removed.
17448 * conf/tests.rmk: Removed.
17449 * conf/x86-efi.rmk: Removed.
17450 * conf/x86_64-efi.rmk: Removed.
17451 * gendistlist.sh: Removed.
17452 * geninitheader.sh: Removed.
17453 * genkernsyms.sh.in: Removed.
17454 * genmk.rb: Removed.
17455 * gensymlist.sh.in: Removed.
17456 * mkinstalldirs: Removed.
17457 * boot: Moved ...
17458 * grub-core/boot: ... to here.
17459 * bus: Moved ...
17460 * grub-core/bus: ... to here.
17461 * commands: Moved ...
17462 * grub-core/commands: ... to here.
17463 * disk: Moved ...
17464 * grub-core/disk: ... to here.
17465 * efiemu: Moved ...
17466 * grub-core/efiemu: ... to here.
17467 * font: Moved ...
17468 * grub-core/font: ... to here.
17469 * fs: Moved ...
17470 * grub-core/fs: ... to here.
17471 * gencmdlist.sh: Moved ...
17472 * grub-core/gencmdlist.sh: ... to here.
17473 * genemuinit.sh: Moved ...
17474 * grub-core/genemuinit.sh: ... to here.
17475 * genemuinitheader.sh: Moved ...
17476 * grub-core/genemuinitheader.sh: ... to here.
17477 * genfslist.sh: Moved ...
17478 * grub-core/genfslist.sh: ... to here.
17479 * genhandlerlist.sh: Moved ...
17480 * grub-core/genhandlerlist.sh: ... to here.
17481 * genmoddep.awk: Moved ...
17482 * grub-core/genmoddep.awk: ... to here.
17483 * genmodsrc.sh: Moved ...
17484 * grub-core/genmodsrc.sh: ... to here.
17485 * genpartmaplist.sh: Moved ...
17486 * grub-core/genpartmaplist.sh: ... to here.
17487 * genparttoollist.sh: Moved ...
17488 * grub-core/genparttoollist.sh: ... to here.
17489 * genterminallist.sh: Moved ...
17490 * grub-core/genterminallist.sh: ... to here.
17491 * gentrigtables.c: Moved ...
17492 * grub-core/gentrigtables.c: ... to here.
17493 * genvideolist.sh: Moved ...
17494 * grub-core/genvideolist.sh: ... to here.
17495 * gettext: Moved ...
17496 * grub-core/gettext: ... to here.
17497 * gfxmenu: Moved ...
17498 * grub-core/gfxmenu: ... to here.
17499 * gnulib: Moved ...
17500 * grub-core/gnulib: ... to here.
17501 * hello: Moved ...
17502 * grub-core/hello: ... to here.
17503 * hook: Moved ...
17504 * grub-core/hook: ... to here.
17505 * io: Moved ...
17506 * grub-core/io: ... to here.
17507 * kern: Moved ...
17508 * grub-core/kern: ... to here.
17509 * lib: Moved ...
17510 * grub-core/lib: ... to here.
17511 * loader: Moved ...
17512 * grub-core/loader: ... to here.
17513 * mmap: Moved ...
17514 * grub-core/mmap: ... to here.
17515 * normal: Moved ...
17516 * grub-core/normal: ... to here.
17517 * partmap: Moved ...
17518 * grub-core/partmap: ... to here.
17519 * parttool: Moved ...
17520 * grub-core/parttool: ... to here.
17521 * script: Moved ...
17522 * grub-core/script: ... to here.
17523 * term: Moved ...
17524 * grub-core/term: ... to here
17525 * tests/example_functional_test.c: Moved ...
17526 * grub-core/tests/example_functional_test.c: ... to here.
17527 * tests/lib/functional_test.c: Moved ...
17528 * grub-core/tests/lib/functional_test.c: ... to here.
17529 * tests/lib/test.c: Moved ...
17530 * grub-core/tests/lib/test.c: ... to here.
17531 * video: Moved ...
17532 * grub-core/video: ... to here.
17533
645586e6
BC
175342010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17535
17536 Replace --enable-grub-emu-modules with grub-emu-lite.
17537
17538 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17539 cache.S.
17540
17541 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17542 * kern/emu/full.c: New file. For grub-emu specific initialization.
17543 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17544 * kern/emu/main.c: Call initialization function grub_emu_init.
17545
17546 * Makefile.in: Include grub-emu-lite in install.
17547 * commands/parttool.c: Use grub_no_autoload to differentiate
17548 between grub-emu and grub-emu-lite.
17549 * include/grub/misc.h: New variable grub_no_autoload.
17550
17551 * conf/any-emu.rmk: New rules for grub-emu-lite.
17552 * configure.ac: Remove --enable-grub-emu-modules.
17553 * genmk.rb: Cleanup unnecessary rules.
17554 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17555
17556 * normal/main.c: Don't load list files on grub-emu-lite.
17557 * util/misc.c (grub_arch_sync_caches): Removed.
17558
f86a4030
CW
175592010-08-23 Colin Watson <cjwatson@ubuntu.com>
17560
17561 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17562 grub-mkimage rather than grub-mkelfimage.
17563 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17564
06776944
VS
175652010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17568 a key after CapsLock or NumLock. It's just a qemu bug.
17569
df262419
VS
175702010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17571
17572 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17573 needed by libusb wrapper.
17574
b40ea81b
ST
175752010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17576
17577 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17578
dee50575
VS
175792010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17582 --nounzip is passed.
17583
fb1d7b79
VS
175842010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17585
17586 USB hotunplugging and USB serial support.
17587
17588 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17589 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17590 (grub_uhci_transfer): Respect timeout and set *actual.
17591 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17592 non-standard length.
17593 (grub_usb_device_attach): Autoload modules.
17594 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17595 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17596 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17597 users updated.
17598 (grub_usb_add_hub): Fill nports and children.
17599 (attach_root_port): Receive hub instead of controller.
17600 All users updated. Fill hub->devices.
17601 (grub_usb_root_hub): Allocate hub->devices.
17602 (detach_device): New function.
17603 (poll_nonroot_hub): Fill children and detach devices.
17604 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17605 actual arguments. All users updated.
17606 (grub_usb_bulk_read_extended): New function.
17607 * bus/usb/serial/common.c: New file.
17608 * bus/usb/serial/ftdi.c: Likewise.
17609 * bus/usb/serial/pl2303.c: Likewise.
17610 * commands/terminal.c (handle_command): Support wildcard.
17611 * commands/usbtest.c: Output "Unknown" instead of empty string.
17612 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17613 (usbserial_common_mod_SOURCES): New variable.
17614 (usbserial_common_mod_CFLAGS): Likewise.
17615 (usbserial_common_mod_LDFLAGS): Likewise.
17616 (pkglib_MODULES): Add usbserial_pl2303.mod.
17617 (usbserial_pl2303_mod_SOURCES): New variable.
17618 (usbserial_pl2303_mod_CFLAGS): Likewise.
17619 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17620 (pkglib_MODULES): Add usbserial_ftdi.mod.
17621 (usbserial_ftdi_mod_SOURCES): New variable.
17622 (usbserial_ftdi_mod_CFLAGS): Likewise.
17623 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17624 (pkglib_MODULES): Add serial.mod.
17625 (serial_mod_SOURCES): New variable.
17626 (serial_mod_CFLAGS): Likewise.
17627 (serial_mod_LDFLAGS): Likewise.
17628 * conf/i386-pc.rmk: Likewise.
17629 * conf/mips-yeeloong.rmk: Likewise.
17630 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17631 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17632 * disk/usbms.c (first_available_slot): New variable.
17633 (grub_usbms_attach): Don't reuse free slots due to potential cache
17634 problems.
17635 * include/grub/serial.h: Moved to ..
17636 * include/grub/ns8250.h: ...this.
17637 * include/grub/serial.h: New file.
17638 * include/grub/term.h (grub_term_poll_usb): New variable.
17639 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17640 readkey. All users updated.
17641 (grub_terminfo_output_state): Pass term to put.
17642 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17643 (grub_usb_controller_dev): Add timeout and actual arguments to
17644 transfer. All users updated.
17645 (grub_usb_interface): New field detach_data.
17646 (grub_usb_device): New fields children and nports.
17647 (grub_usb_ep_type_t): New type.
17648 (grub_usb_get_ep_type): New function.
17649 (grub_usb_bulk_read_extended): Likewise.
17650 * include/grub/usbdesc.h (grub_usb_desc): New type.
17651 * include/grub/usbserial.h: New file.
17652 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17653 * kern/term.c (grub_term_poll_usb): New variable.
17654 (grub_getkey): Call grub_term_poll_usb if set.
17655 (grub_checkkey): Likewise.
17656 (grub_getkeystatus): Likewise.
17657 * term/serial.c: Moved controller-specific parts to ...
17658 * term/ns8250.c: ... here.
17659 * term/serial.c: Mostly rewritten.
17660 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17661 according to spec.
17662
21a313de
RM
176632010-08-20 Robert Millan <rmh@gnu.org>
17664
17665 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17666 a separate module and maybe other interesting combinations.
17667
17668 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17669 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17670 (kfreebsd_entry): Add generic filesystem module load routine.
17671 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17672
63c734a6
CW
176732010-08-20 Colin Watson <cjwatson@ubuntu.com>
17674
17675 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17676 "numcenter" (I misunderstood the purpose of this entry).
17677 * docs/grub.texi (sendkey): Likewise.
17678
c4d16542
CW
176792010-08-20 Colin Watson <cjwatson@ubuntu.com>
17680
17681 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17682 status flag options; simply omitting the option is equivalent and
17683 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17684 (keysym_table): Rename "num5numlock" to "numlock".
17685 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17686 can uniformly say that only the last of multiple `sendkey'
17687 invocations has any effect.
17688 * docs/grub.texi (sendkey): New section.
17689
93541d66
CW
176902010-08-19 Colin Watson <cjwatson@ubuntu.com>
17691
17692 * commands/i386/pc/sendkey.c (options): Fix three typos.
17693
b4ece5e1
VS
176942010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17695
17696 Implement sendkey support.
17697
17698 * commands/i386/pc/sendkey.c: New file.
17699 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17700 (sendkey_mod_SOURCES): New variable.
17701 (sendkey_mod_CFLAGS): Likewise.
17702 (sendkey_mod_LDFLAGS): Likewise.
17703
51f1f5af
CW
177042010-08-18 Colin Watson <cjwatson@ubuntu.com>
17705
17706 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17707 fix warnings from Autoconf.
17708
9da94e05
CW
177092010-08-18 Colin Watson <cjwatson@ubuntu.com>
17710
17711 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17712 to avoid false positives with some assemblers that output things
17713 like "someprefix_func" as part of their output.
17714
729a0f2e
RM
177152010-08-15 Robert Millan <rmh@gnu.org>
17716
17717 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17718 errors.
17719 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17720 grub_get_libzfs_handle() errors.
17721
f3710e08
RM
177222010-08-14 Robert Millan <rmh@gnu.org>
17723
17724 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17725 filesystem is not ZFS.
17726
7a3c13de
BC
177272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17728
17729 Fix for misspelled color names defaulting to black/black (bug
17730 reported by Doug Nazar)
17731
17732 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17733 status to prototype.
17734 * normal/color.c (grub_parse_color_name_pair): Return failure
17735 status.
17736 (grub_env_write_color_normal): Ignore bad color names.
17737 (grub_env_write_color_highlight): Likewise.
17738 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17739
ab8ba50d
BC
177402010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17741
17742 "shift" command support to GRUB script.
17743
17744 * include/grub/script_sh.h (grub_script_shift): New prototype.
17745 * script/execute.c (grub_script_shift): New function.
17746 * script/main.c (grub_script_init): Register shift command.
17747 (grub_script_fini): Unregister shift command.
17748 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17749
17750 * tests/grub_script_shift.in: New testcase.
17751 * conf/tests.rmk: Rules for new testcase.
17752
4d61999e
BC
177532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17754
17755 "continue" command support to GRUB script.
17756
17757 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17758 (grub_script_break): Continue support.
17759 * script/main.c (grub_script_init): Register continue command.
17760 (grub_script_fini): Unregister continue command.
17761
17762 * tests/grub_script_continue.in: New testcase.
17763 * conf/tests.rmk: Rules for new testcase.
17764
4df51e00
BC
177652010-08-12 BVK Chaitanya <bvk@dbook>
17766
17767 "break" command support to GRUB script.
17768
17769 * conf/common.rmk: Rule updates to grub-script-check.
17770 * include/grub/misc.h (grub_min): New function.
17771 * include/grub/script_sh.h (grub_script_init): New prototype.
17772 (grub_script_fini): New prototype.
17773 (grub_script_break): New prototype.
17774 * script/main.c (grub_script_init): New function.
17775 (grub_script_fini): New function.
17776 * script/execute.c (grub_script_break): New function.
17777 * normal/main.c: Calls to grub_script_{init,fini}.
17778 * util/grub-script-check.c (grub_script_break): New function.
17779
17780 * tests/grub_script_break.in: New testcase.
17781 * conf/tests.rmk: Rules for new test case.
17782
f12c8420
BC
177832010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17784
17785 Function parameters support to GRUB script.
17786
17787 * script/yylex.l (VARIABLE): Regular expression update.
17788 * script/function.c (grub_script_function_call): Moved ...
17789 * script/execute.c (grub_script_function_call): ... to here.
17790 (grub_script_execute_arglist_to_argv): Removed.
17791 (grub_script_arglist_to_argv): New function.
17792 * script/argv.c: New file.
17793 (grub_script_argv_free): New function.
17794 (grub_script_argv_next): Likewise.
17795 (grub_script_argv_append): Likewise.
17796 (grub_script_argv_split_append): Likewise.
17797 * include/grub/script_sh.h (grub_script_argv): New struct.
17798 (grub_script_argv_free): New function.
17799 (grub_script_argv_next): Likewise.
17800 (grub_script_argv_append): Likewise.
17801 (grub_script_argv_split_append): Likewise.
17802
17803 * conf/common.rmk (normal.mod): New source script/argv.c.
17804
17805 * tests/grub_script_echo1.in: More tests.
17806 * tests/grub_script_vars1.in: Likewise.
17807 * tests/grub_script_functions.in: New test case.
17808 * conf/tests.rmk: Rules for new testcase.
17809
8022b748
BC
178102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17811
17812 Remove grub_script_cmdblock struct.
17813
17814 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17815 * script/parser.y: Likewise.
17816 * script/execute.c: Rename cmdblock suffix to cmdlist.
17817 * script/script.c: Likewise.
17818 * util/grub-script-check.c: Likewise.
17819
79a6ba61
YB
178202010-08-11 Yves Blusseau <blusseau@zetam.org>
17821
17822 * .bzrignore: add grub-macho2img
17823
d04b9414
VS
178242010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17825
17826 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17827
f947ab49
VS
178282010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 Remove the dump of sm712 initialisation sequence.
17831
17832 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17833 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17834 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17835 (GRUB_VGA_CR_*): Added many registers.
17836 (GRUB_VGA_SR_*): Likewise.
17837 (GRUB_VGA_GR_*): Likewise.
17838 (grub_vga_write_arx): New function.
17839 (grub_video_hw_config): New struct.
17840 (grub_vga_set_geometry): New function.
17841 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17842 GRUB_PCI_CLASS_SUBCLASS_VGA.
17843 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17844 * video/sm712.c (grub_sm712_write_reg): New function
17845 (grub_sm712_read_reg): Likewise.
17846 (grub_sm712_sr_write): Likewise.
17847 (grub_sm712_gr_write): Likewise.
17848 (grub_sm712_cr_write): Likewise.
17849 (grub_sm712_write_arx): Likewise.
17850 (grub_sm712_cr_shadow_write): Likewise.
17851 (grub_sm712_write_dda_lookup): Likewise.
17852 (grub_video_sm712_setup): Initialise the video rather then
17853 blindly replay the dump.
17854 (main) [TEST]: Add a routine to be able to compile as standalone for
17855 tests.
17856 * video/sm712_init.c (sm712_init): Removed.
17857 (sm712_sr_seq1): New array.
17858 (sm712_sr_seq2): Likewise.
17859
f0206638
VS
178602010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * include/grub/vga.h: Add missing grub/pci.h include.
17863
2764da3b
YB
178642010-08-10 Yves Blusseau <blusseau@zetam.org>
17865
17866 * util/grub-macho2img.c (main): fix typo
17867
cf0c775e
VS
178682010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17871 (grub_vga_gr_read): Likewise.
17872 (grub_vga_cr_write): Likewise.
17873 (grub_vga_cr_read): Likewise.
17874 (grub_vga_sr_write): Likewise.
17875 (grub_vga_sr_read): Likewise.
17876 (grub_vga_palette_read): Likewise.
17877 (grub_vga_palette_write): Likewise.
17878 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17879 (grub_sm712_sr_read): New function.
17880 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17881 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17882
07f360e9
RM
178832010-08-09 Robert Millan <rmh@gnu.org>
17884
17885 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17886 out unused variables on non-ZFS build.
17887
346c2072
RM
178882010-08-08 Robert Millan <rmh@gnu.org>
17889
17890 Fix path generation for sub-filesystems in ZFS.
17891
17892 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17893 missing slash.
17894
71175420
RM
178952010-08-08 Robert Millan <rmh@gnu.org>
17896
17897 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17898
0d8286f3
RM
178992010-08-08 Robert Millan <rmh@gnu.org>
17900
17901 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17902 exist, issue a proper error message (rely on `ls' for translated
17903 strings).
17904
55dd2924
RM
179052010-08-08 Robert Millan <rmh@gnu.org>
17906
17907 Fix grub-probe invocation.
17908
17909 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17910
d3dd9e80
RM
179112010-08-04 Robert Millan <rmh@gnu.org>
17912
17913 * configure.ac: Remove checks for getfsstat() and getmntany().
17914 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17915 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17916 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17917 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17918 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17919 function.
17920 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17921 via find_mount_point_from_dir() and getfsstat() / getmntany().
17922
0de22aa9
RM
179232010-08-04 Robert Millan <rmh@gnu.org>
17924
17925 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17926 (grub_find_zpool_from_mount_point): Merge into ...
17927 (grub_find_zpool_from_dir): ... this.
17928 * kern/emu/misc.c: Likewise.
17929
17930 * kern/emu/misc.c
17931 (grub_make_system_path_relative_to_its_root): Replace
17932 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17933 with grub_find_zpool_from_dir().
17934 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17935
62858144
RM
179362010-08-04 Robert Millan <rmh@gnu.org>
17937
17938 Support OpenSolaris in ZFS device resolution.
17939
17940 * configure.ac: Check for getmntany().
17941 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17942 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17943 support.
17944
9dd6fd50
RM
179452010-08-03 Robert Millan <rmh@gnu.org>
17946
17947 Fix grub-emu build.
17948
17949 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17950 * include/grub/emu/misc.h: ... here.
17951
17952 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17953 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17954
17955 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17956 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17957 (grub_get_libzfs_handle): Move to ...
17958 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17959 (grub_get_libzfs_handle): ... here.
17960
c9f7ff97
BC
179612010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17962
17963 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17964 as command name case.
17965
a870a783
CW
179662010-08-02 Colin Watson <cjwatson@ubuntu.com>
17967
17968 * disk/raid.c (insert_array): Select unique numbers for named arrays
17969 as well, for use as keys in the disk cache.
17970
c7db243b
RM
179712010-08-01 Robert Millan <rmh@gnu.org>
17972
17973 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17974 kFreeBSD device name, except on ZFS where the filesystem label is
17975 used.
17976 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17977 `/boot/zfs/zpool.cache'.
17978 Set mountfrom kernel variable using ${kfreebsd_device}.
17979
f7abdefb
RM
179802010-08-01 Robert Millan <rmh@gnu.org>
17981
17982 Make it even harder to use uninitialized `libzfs_handle' (and
17983 make the interface a bit simpler).
17984
17985 * include/grub/util/misc.h (grub_util_init_libzfs)
17986 (libzfs_handle): Remove.
17987 (grub_get_libzfs_handle): New prototype.
17988
17989 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17990 attribute.
17991 (grub_util_init_libzfs): Remove.
17992 (grub_get_libzfs_handle): New function.
17993
17994 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17995 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17996 accessing `libzfs_handle' directly.
17997
c882acc0
RM
179982010-08-01 Robert Millan <rmh@gnu.org>
17999
18000 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18001 (grub_find_zpool_from_mount_point): New function prototypes.
18002
18003 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18004 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18005
18006 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18007 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18008 `static' attribute.
18009
18010 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18011 finding zpool from mount point into ...
18012 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18013
18014 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18015 requested path is part of a ZFS pool, use
18016 grub_find_zpool_from_mount_point() to detect its filesystem name,
18017 and generate a path with `/fsname@path' syntax.
18018
8bfe31d8
CW
180192010-08-01 Colin Watson <cjwatson@ubuntu.com>
18020
18021 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18022 (void) rather than () so that this is a proper prototype.
18023
553df63d
VS
180242010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18027
8687cf07
VS
180282010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18031 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18032
ea9be8ea
CW
180332010-08-01 Colin Watson <cjwatson@ubuntu.com>
18034
18035 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18036
6eea041a
CW
180372010-08-01 Colin Watson <cjwatson@ubuntu.com>
18038
18039 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18040
2cfb45df
CW
180412010-08-01 Colin Watson <cjwatson@ubuntu.com>
18042
18043 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18044 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18045 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18046 disable gfxpayload.
18047 (Shell-like scripting): Add real content.
18048 (Serial terminal): Suggest `terminal_input serial; terminal_output
18049 serial' rather than putting the two commands on separate lines,
18050 since console input will be inoperative after the first command.
18051 (menuentry): Document --class, --users, and --hotkey options.
18052 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18053 Vladimir Serbinenko).
18054
7decd202
VS
180552010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
180562010-08-01 Colin Watson <cjwatson@ubuntu.com>
18057
18058 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18059
c882acc0
RM
180602010-08-01 Robert Millan <rmh@gnu.org>
18061
18062 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18063 (grub_find_zpool_from_mount_point): New function prototypes.
18064
18065 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18066 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18067
18068 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18069 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18070 `static' attribute.
18071
18072 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18073 finding zpool from mount point into ...
18074 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18075
18076 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18077 requested path is part of a ZFS pool, use
18078 grub_find_zpool_from_mount_point() to detect its filesystem name,
18079 and generate a path with `/fsname@path' syntax.
18080
deb0caa3
RM
180812010-08-01 Robert Millan <rmh@gnu.org>
18082
18083 Prevent accidental use of uninitialized libzfs_handle.
18084
18085 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18086 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18087 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18088
ce04ef47
CW
180892010-08-01 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18092 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18093
ebf53056
RM
180942010-08-01 Robert Millan <rmh@gnu.org>
18095
18096 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18097
3710bb6b
RM
180982010-07-31 Robert Millan <rmh@gnu.org>
18099
18100 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18101
8072efeb
RM
181022010-07-31 Robert Millan <rmh@gnu.org>
18103
18104 * kern/emu/misc.c: Add missing license header.
18105
3169f4c7
RM
181062010-07-31 Robert Millan <rmh@gnu.org>
18107
18108 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18109
18110 * include/grub/util/libnvpair.h: Include `<config.h>'.
18111 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18112 declaring libnvpair prototypes ourselves.
18113 * include/grub/util/libzfs.h: Include `<config.h>'.
18114 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18115 declaring libzfs prototypes ourselves.
18116
18117 (libzfs_handle): Moved to ...
18118 * include/grub/util/misc.h (libzfs_handle): ... here.
18119 Include `<grub/util/libzfs.h>'.
18120
c9a00aee
RM
181212010-07-30 Robert Millan <rmh@gnu.org>
18122
18123 * include/grub/emu/misc.h: Add missing license header.
18124
a184f9c8
RM
181252010-07-30 Robert Millan <rmh@gnu.org>
18126
18127 Enable `grub-probe -t device' resolution on ZFS.
18128
18129 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18130 * include/grub/util/libnvpair.h: New file.
18131 * include/grub/util/libzfs.h: New file.
18132
18133 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18134 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18135 `<grub/util/libnvpair.h>'.
18136 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18137
18138 (find_mount_point_from_dir): New static function.
18139 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18140 function.
18141 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18142 find_root_device_from_libzfs() before ressorting to find_root_device().
18143
18144 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18145 prototype.
18146 * util/misc.c: Include `<grub/util/libzfs.h>'.
18147 (grub_util_init_libzfs): New function.
18148 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18149 [HAVE_LIBZFS] (fini_libzfs): New static function.
18150 (grub_util_init_libzfs): New function.
18151 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18152
f7790cdd
RM
181532010-07-30 Robert Millan <rmh@gnu.org>
18154
18155 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18156 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18157 `warn_unused_result' attribute.
18158 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18159 (grub_xasprintf, grub_xvasprintf): Likewise.
18160 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18161
0806b63c
RM
181622010-07-29 Robert Millan <rmh@gnu.org>
18163
18164 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18165 (probe): Handle `PRINT_FS_LABEL'.
18166 (main): Handle `-t fs_label'.
18167
9f841f5c
RM
181682010-07-29 Robert Millan <rmh@gnu.org>
18169
18170 * configure.ac: Remove grub-mkisofs checks.
18171
46371121
VS
181722010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18175 Reported by: Lennart Sorensen.
18176
181772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18180 prior to terminal_input/terminal_output separation. It's been over 1.5
18181 years and those versions weren't widely deployed.
18182
a9600892
CW
181832010-07-22 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * disk/raid.c (insert_array): Don't count named arrays when looking
18186 for unused array numbers.
697e053c 18187 Reported and tested by: Michael Guntsche.
a9600892 18188
c03507df
CW
181892010-07-20 Colin Watson <cjwatson@ubuntu.com>
18190
18191 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18192 implementation of this so that grub-emu links again, with a note
18193 that this should support hotplugging in the future.
18194
b26f1c11
CW
181952010-07-20 Colin Watson <cjwatson@ubuntu.com>
18196
18197 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18198
efc9d7f1
CW
181992010-07-20 Colin Watson <cjwatson@ubuntu.com>
18200
18201 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18202 handle on failure.
18203 (grub_loopback_close): Remove empty function.
18204 (grub_loopback_dev): Remove close method.
18205
dd8ff5c9
CW
182062010-07-20 Colin Watson <cjwatson@ubuntu.com>
18207
18208 Disable EFI cursor when the EFI console becomes inactive.
18209
18210 * term/efi/console.c (grub_efi_console_init): New function.
18211 (grub_efi_console_fini): New function.
18212 (grub_console_term_output): Register init and fini methods.
18213
5e3bec67
VS
182142010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18217 sh script.
18218
afaec079
VS
182192010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 * disk/loopback.c (grub_loopback): Replace filename with file.
18222 (delete_loopback): Handle new semantics.
18223 (grub_cmd_loopback): Likewise.
18224 (grub_loopback_iterate): Likewise.
18225 (grub_loopback_close): Likewise.
18226
a6a11f3c
VS
182272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18230 with -p "".
18231 Reported by: Tito Keitel.
18232
64a638b0
VS
182332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18234
18235 * docs/grub.texi (Naming convention): Document new naming convention.
18236
ab8ba957
VS
182372010-07-20 Vadim Solomin <vadic052@gmail.com>
182382010-07-20 Colin Watson <cjwatson@ubuntu.com>
18239
18240 Generate device.map in something closer to the old ordering.
18241
18242 * util/deviceiter.c (struct device): New declaration.
18243 (compare_file_names): Rename to ...
18244 (compare_devices): ... this. Sort by kernel name in preference to
18245 the stable by-id name, but keep the latter as a fallback comparison.
18246 Update header comment.
18247 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18248 of `struct device' rather than of plain file names.
18249
a29d6a4b
TF
182502010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18251
18252 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18253 on i386.
18254
39d824e8
VS
182552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18258 hardcoding size.
18259 (setv1table): Likewise.
18260
f058276b
FZ
182612010-07-20 Colin Watson <cjwatson@ubuntu.com>
18262
18263 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18264 removing the homehost if present.
18265 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18266 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18267 removing the homehost if present.
18268 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18269 if possible.
18270 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18271
18272 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18273 parameter. Set its pointer target to 0.
18274 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18275 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18276 `data_offset' value from the superblock for 1.x metadata.
18277 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18278 data on the device.
18279 (insert_array): Record the start sector of data on the device.
18280 (grub_raid_register): Pass start_sector parameters to
18281 grub_raid_list->detect and insert_array.
18282 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18283 member.
18284 (struct grub_raid): Add start_sector parameter to `detect'.
18285
18286 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18287 __attribute__ ((packed)), leaving a comment.
18288 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18289 (grub_mdraid_detect_09): ... here and ...
18290 (grub_mdraid_detect_1x): ... here.
18291
182922010-07-20 Peter Henn <peter.henn@web.de>
18293
18294 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18295 chunk size and disk size, which are already given as sector counts
18296 as distinct from the 0.90 units. Fetch the correct device number
18297 from the role table instead of using the table index.
18298
182992010-07-20 Felix Zielcke <fzielcke@z-51.de>
18300
18301 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18302 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18303 (WriteMostly1): New macro.
18304 Set array->name to NULL for metadata format 0.90. Add support for
18305 metadata 1.x. Fix some comments.
18306 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18307 few comments.
18308 * util/getroot.c (grub_util_get_grub_dev): Add support for
18309 /dev/md/name style devices.
18310
4b761da9
CW
183112010-07-20 Colin Watson <cjwatson@ubuntu.com>
18312
18313 * .bzrignore: Ignore 20_linux_xen.
18314
5771289a
CW
183152010-07-17 Colin Watson <cjwatson@ubuntu.com>
18316
18317 * util/import_unicode.py: Remove unnecessary imports.
18318
5dab68df
AN
183192010-07-17 Aleš Nesrsta <starous@volny.cz>
18320
18321 Hotplugging and USB hub support.
18322
18323 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18324 (grub_ohci): Likewise.
18325 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18326 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18327 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18328 (GRUB_OHCI_CTRL_EDS): Likewise.
18329 (GRUB_OHCI_BULK_EDS): Likewise.
18330 (GRUB_OHCI_TDS): Likewise.
18331 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18332 (grub_ohci_ed_phys2virt): New function.
18333 (grub_ohci_virt_to_phys): Likewise.
18334 (grub_ohci_td_phys2virt): Likewise.
18335 (grub_ohci_td_virt2phys): Likewise.
18336 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18337 attachment.
18338 (grub_ohci_find_ed): New function.
18339 (grub_ohci_alloc_td): Likewise.
18340 (grub_ohci_free_td): Likewise.
18341 (grub_ohci_free_tds): Likewise.
18342 (grub_ohci_transfer): Use previously allocated memory.
18343 (grub_ohci_portstatus): Reset status changed bit.
18344 (grub_ohci_detect_dev): Supply status changed.
18345 (grub_ohci_fini_hw): Free memory.
18346 (grub_ohci_restore_hw): Reallocate memory.
18347 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18348 Reset status change.
18349 (grub_uhci_detect_dev): Supply status_change.
18350 * bus/usb/usb.c (attach_hooks): New var.
18351 (grub_usb_device_attach): New function.
18352 (grub_usb_register_attach_hook_class): Likewise.
18353 (grub_usb_unregister_attach_hook_class): Likewise.
18354 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18355 (grub_usb_add_hub): Reset connection changed bit.
18356 (attach_root_port): New function.
18357 (grub_usb_root_hub): Likewise.
18358 (poll_nonroot_hub): Likewise.
18359 (grub_usb_poll_devices): Likewise.
18360 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18361 * disk/usbms.c (grub_usbms_open): Use device hooks.
18362 (grub_usbms_iterate) :Poll devices.
18363 (grub_usbms_finddevs): Split into ...
18364 (grub_usbms_attach): ... this ...
18365 (grub_usbms_attach): ... and this.
18366 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18367 in detect_dev.
18368 (grub_usb_interface): New fields attached and detach_hook.
18369 (grub_usb_attach_hook_class): New type.
18370 (grub_usb_attach_desc): New struct.
18371 (grub_usb_register_attach_hook_class): New function.
18372 (grub_usb_unregister_attach_hook_class): Likewise.
18373 (grub_usb_poll_devices): Likewise.
18374 (grub_usb_device_attach): Likewise.
18375 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18376 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18377
3222efaf
VS
183782010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18381 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18382 delta determination style. Works with most NetBSD partitions too.
18383
139b714a
VS
183842010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18387 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18388
986aad56
VS
183892010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18392
99be513c
AB
183932010-07-14 Anton Blanchard <anton@samba.org>
18394
18395 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18396 ET_DYN files.
18397
18075f62
GS
183982010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18399
18400 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18401
8d9a5b15
GS
184022010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18403
18404 * kern/partition.c (grub_partition_check_containment): New function to
18405 check that a partition is physically contained in a parent. Since
18406 offsets are relative (and non-negative), this reduces to checking that
18407 the partition ends before its parent.
18408 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18409 (grub_partition_iterate): Likewise.
18410 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18411 comments.
18412 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18413 partitions that start before their parent, and add debug printfs.
18414
19563c25
CW
184152010-07-13 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * Makefile.in (.SUFFIX): Spell correctly, as ...
18418 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18419 bare module name without `.mod', e.g. `test') tried to invoke a
18420 Modula-2 compiler.
18421
1a1f1e67
CW
184222010-07-13 Colin Watson <cjwatson@ubuntu.com>
18423
18424 * README: Point to the Info manual.
18425
811b0dca
JS
184262010-07-13 Jiro SEKIBA <jir@unicus.jp>
18427
18428 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18429 2nd superblock position from partition size.
18430
e4f4eafc
CW
184312010-07-10 Colin Watson <cjwatson@ubuntu.com>
18432
18433 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18434 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18435 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18436 outputs.
18437
4274c30f
VS
184382010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18439
18440 Restructure SCSI .id handling.
18441 Reported and tested by: Aleš Nesrsta.
18442
18443 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18444 (grub_atapi_dev): Changed .name to "ata". New field .id.
18445 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18446 (grub_usbms_dev): New field .id.
18447 * disk/scsi.c (grub_scsi_iterate): Generate name.
18448 (grub_scsi_open): Parse name.
18449 * include/grub/scsi.h (grub_make_scsi_id): New function.
18450 (grub_scsi_dev): Change iterate and open to number instead of naming
18451 busses. All users updated.
18452 (grub_scsi): Remove name. Add .bus.
18453
5bc24388
VS
184542010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 * commands/help.c (grub_cmd_help): Fix a typo.
18457
249975ba
VS
184582010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18461 Reported and tested by: Colin Watson.
18462
3eaac1a1
VS
184632010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18466 in this context.
18467
becce1b1
VS
184682010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18471
f7bf0918
CW
184722010-07-07 Colin Watson <cjwatson@ubuntu.com>
18473
18474 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18475 indentation.
18476
0b0f9620
CW
184772010-07-06 Colin Watson <cjwatson@ubuntu.com>
18478
18479 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18480 and disk/raid6_recover.c.
18481 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18482 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18483
1e545469
CW
184842010-07-06 Colin Watson <cjwatson@ubuntu.com>
18485
18486 * term/gfxterm.c (repaint_schedulded): Rename to ...
18487 (repaint_scheduled): ... this. Update all callers.
18488 (repaint_was_schedulded): Rename to ...
18489 (repaint_was_scheduled): ... this. Update all callers.
18490
5357687a
CW
184912010-07-06 Colin Watson <cjwatson@ubuntu.com>
18492
18493 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18494 which we expect to be handled by upper layers.
18495
29d7e783
BC
184962010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18497
18498 * bus/usb/usbhub.c: #include time.h header.
18499
37582066
CW
185002010-07-06 Colin Watson <cjwatson@ubuntu.com>
18501
18502 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18503 entry_name also for entries without stat blocks (e.g. ".."); fixes
18504 corruption of the first entry in a directory.
18505
c8c06953
CW
185062010-07-06 Colin Watson <cjwatson@ubuntu.com>
18507
18508 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18509 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18510 doesn't work otherwise.
18511
e75056f1
CW
185122010-07-05 Colin Watson <cjwatson@ubuntu.com>
18513
18514 * docs/grub.texi (Features): Update list of supported file systems.
18515 (GNU/Linux): Update for GRUB 2.
18516 (Serial terminal): Remove mention of --disable-serial, which was a
18517 GRUB Legacy configure option. Update instructions to use
18518 `terminal_input' and `terminal_output' rather than `terminal'.
18519 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18520 configuration' and `Installing GRUB using grub-install'.
18521 (Menu entry editor): Update for GRUB 2.
18522 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18523 Document new -a, -u, and -v options.
18524 (initrd): New section.
18525 (initrd16): New section.
18526 (linux): New section.
18527 (linux16): New section.
18528 (search): The `var' argument to `--set' is optional.
18529 (GRUB only offers a rescue shell): Go into a little more detail on
18530 drive ordering.
18531
5cf69151
CW
185322010-07-05 Colin Watson <cjwatson@ubuntu.com>
18533
18534 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18535
e3f90044
CW
185362010-07-05 Colin Watson <cjwatson@ubuntu.com>
18537
18538 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18539 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18540
38d8f4f3
CW
185412010-07-05 Colin Watson <cjwatson@ubuntu.com>
18542
18543 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18544 install_prefix, in line with install_dos_part and install_bsd_part.
18545 Add new prefix variable, which is copied to install_prefix after
18546 comparing core.img in memory with the one read from disk in the
18547 no-embedding case, and use that rather than overwriting
18548 install_prefix immediately when installing to a partition.
18549 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18550 Bicakci.
18551
57ebd41e
GS
185522010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18553
18554 * configure.ac: Avoid == in test command, it's not portable.
18555 * util/grub.d/30_os-prober.in: Likewise.
18556
cb7f64b2
CW
185572010-07-04 Colin Watson <cjwatson@ubuntu.com>
18558
18559 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18560
6b654bb0
GS
185612010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18562
18563 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18564 multiple (top-level) partmaps.
18565
72a2026d
VS
185662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18567
18568 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18569 Reported by: Tino Keitel.
72a2026d 18570
df3eb88f
VS
185712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 Bidi and diacritics support.
18574
18575 * Makefile.in (widthspec.bin): New target.
18576 (widthspec.h): Likewise.
18577 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18578 * autogen.sh: Generate unidata.c.
18579 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18580 * commands/ls.c (grub_ls_list_devices): Likewise.
18581 (grub_ls_list_files): Likewise.
18582 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18583 (grub_mini_cmd_lsmod): Likewise.
18584 * commands/read.c: Likewise.
18585 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18586 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18587 * lib/arg.c (grub_arg_show_help): Likewise.
18588 * lib/crypto.c (grub_password_get): Likewise.
18589 * normal/auth.c (grub_username_get): Likewise.
18590 * normal/misc.c (grub_normal_print_device_info): Likewise.
18591 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18592 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18593 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18594 (normal/charset.c_DEPENDENCIES): New variable.
18595 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18596 (pkglib_MODULES): Remove charset.mod.
18597 (charset_mod_SOURCES): Removed.
18598 (charset_mod_CFLAGS): Likewise.
18599 (charset_mod_LDFLAGS): Likewise.
18600 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18601 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18602 and term/tparm.c.
18603 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18604 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18605 (kernel_img_HEADERS): Add terminfo.h.
18606 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18607 Fill ->font. Reverse ascii bitmaps.
18608 (grub_font_get_xheight): New function.
18609 * font/font.c (grub_font_get_string_width): Moved from here ...
18610 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18611 * font/font.c (grub_font_draw_string): Moved from here ...
18612 * gfxmenu/font.c (grub_font_draw_string): ... here.
18613 * font/font.c (grub_font_dup_glyph): New function.
18614 (grub_font_blit_glyph): Likewise.
18615 (grub_font_blit_glyph_mirror): Likewise.
18616 (blit_comb): Likewise.
18617 (grub_font_construct_dry_run): Likewise.
18618 (grub_font_get_constructed_device_width): Likewise.
18619 (grub_font_construct_glyph): Likewise.
18620 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18621 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18622 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18623 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18624 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18625 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18626 (grub_font_get_xheight): New proto.
18627 (grub_font_get_constructed_device_width): Likewise.
18628 (grub_font_construct_glyph): Likewise.
18629 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18630 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18631 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18632 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18633 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18634 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18635 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18636 (grub_console_getcharwidth): Likewise.
18637 * include/grub/misc.h (grub_xputs): New proto.
18638 (grub_puts): Inlined.
18639 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18640 (grub_normal_get_line_counter): Removed.
18641 (grub_install_newline_hook): Likewise.
18642 (grub_normal_get_char_counter): New proto.
18643 (grub_normal_reset_more): Likewise.
18644 (grub_xputs_normal): Likewise.
18645 * include/grub/powerpc/ieee1275/console.h: Removed.
18646 * include/grub/sparc64/ieee1275/console.h: Likewise.
18647 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18648 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18649 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18650 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18651 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18652 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18653 (grub_term_input): Pass reference to self. All users updated.
18654 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18655 Pass reference to self. New fields normal_color, highlight_color and
18656 data. All users updated.
18657 (grub_putchar): Removed.
18658 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18659 (grub_unicode_estimate_width): New function.
18660 (grub_term_getcharwidth): Add defaults.
18661 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18662 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18663 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18664 (grub_cls): Remove EXPORT_FUNC.
18665 (grub_setcolorstate): Inline.
18666 (grub_newline_hook): Removed.
18667 * include/grub/terminfo.h: Rewritten. All users updated.
18668 * include/grub/unicode.h: New file.
18669 * include/grub/video.h (grub_video_signed_rect): New type.
18670 * kern/emu/console.c (grub_console_highlight_color): Removed.
18671 (grub_console_normal_color): Likewise.
18672 (grub_console_standard_color): Made static.
18673 (grub_ncurses_putchar): Remove mapping.
18674 (grub_ncurses_getcharwidth): Removed.
18675 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18676 (grub_ncurses_setcolor): Removed.
18677 (grub_ncurses_getcolor): Likewise.
18678 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18679 (grub_console_putchar): ... this.
18680 (grub_console_putchar): Handle argument difference.
18681 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18682 console_init_early and console_init_lately.
18683 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18684 * kern/misc.c (grub_puts): Removed.
18685 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18686 (grub_vsnprintf_real): Remove str = NULL support.
18687 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18688 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18689 * kern/term.c (grub_putcode): Renamed to ...
18690 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18691 (grub_putchar): Removed.
18692 (grub_xputs_dumb): New function.
18693 (grub_xputs): New variable.
18694 * lib/charset.c: Move from here ...
18695 * normal/charset.c: ... to here.
18696 (grub_ucs4_to_utf8): New function.
18697 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18698 (join_types): New variable.
18699 (unpack_join): New function.
18700 (bidi_types): New variable.
18701 (unpack_bidi): New function.
18702 (get_bidi_type): Likewise.
18703 (get_join_type): Likewise.
18704 (is_mirrored): Likewise.
18705 (grub_unicode_get_comb_type): Likewise.
18706 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18707 (is_type_after): Likewise.
18708 (grub_unicode_aglomerate_comb): Likewise.
18709 (bidi_line_wrap): Likewise.
18710 (grub_bidi_line_logical_to_visual): Likewise.
18711 (grub_bidi_logical_to_visual): Likewise.
18712 (grub_unicode_mirror_code): Likewise.
18713 (grub_unicode_shape_code): Likewise.
18714 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18715 Don't use grub_putchar.
18716 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18717 (grub_normal_reader_init): Likewise.
18718 (grub_xputs_saved): New variable.
18719 (GRUB_MOD_INIT): Set grub_xputs.
18720 (GRUB_MOD_FINI): Restore grub_xputs.
18721 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18722 (menu_init): Avoid printing gfxmenu error.
18723 (show_menu): Use grub_normal_get_char_counter.
18724 * normal/menu_entry.c (update_screen): Fix out-of-array.
18725 (complete): Avoid NULL dereferencing.
18726 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18727 * normal/menu_text.c (print_spaces): Removed.
18728 (grub_print_ucs4): Likewise.
18729 (grub_print_message_indented): Use grub_print_ucs4.
18730 (print_message): Use grub_putcode.
18731 (print_entry): Hanlde diacritics.
18732 * normal/term.c (term_state): New type.
18733 (grub_more_lines): Removed.
18734 (term_states): New variable.
18735 (grub_normal_line_counter): Renamed to ..
18736 (grub_normal_char_counter): ...this. All users updated.
18737 (grub_normal_get_line_counter): Renamed to ...
18738 (grub_normal_get_char_counter): ... this.
18739 (grub_normal_reset_more): New function.
18740 (process_newline): Removed.
18741 (print_more): New function.
18742 (grub_install_newline_hook): Removed.
18743 (map_code): New function.
18744 (grub_puts_terminal): Use grub_print_ucs4.
18745 (putglyph): New function.
18746 (putcode_real): Likewise.
18747 (grub_putcode): Use putcode_real.
18748 (get_maxwidth): New function.
18749 (get_startwidth): Likewise.
18750 (print_ucs4_terminal): Likewise.
18751 (find_term_state): Likewise.
18752 (put_glyphs_terminal): Likewise.
18753 (print_backlog): Likewise.
18754 (print_ucs4_real): Likewise.
18755 (grub_print_ucs4): Likewise.
18756 (grub_xputs_normal): Likewise.
18757 * term/efi/console.c (grub_console_putchar): Output diacritics.
18758 (grub_console_getcharwidth): Removed.
18759 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18760 * term/gfxterm.c (clear_char): Free chars.
18761 (scroll_up): Avoid leaking memory.
18762 (grub_gfxterm_putchar): Support diacritics.
18763 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18764 * term/i386/pc/console.c (grub_console_term_output): Declare as
18765 GRUB_TERM_CODE_TYPE_VGA.
18766 * term/i386/pc/vga.c (grub_vga_term): Declare as
18767 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18768 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18769 GRUB_TERM_CODE_TYPE_VGA.
18770 * term/i386/vga_common.c (map_char): Removed.
18771 (grub_console_putchar): Likewise.
18772 (grub_console_getcharwidth): Likewise.
18773 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18774 (colors): Reordered to match terminfo.
18775 (grub_ofconsole_normal_color): Removed.
18776 (grub_ofconsole_writeesc): Likewise.
18777 (grub_ofconsole_highlight_color): Likewise.
18778 (grub_ofconsole_getcharwidth): Likewise.
18779 (grub_ofconsole_setcolorstate): Likewise.
18780 (grub_ofconsole_setcolor): Likewise.
18781 (grub_ofconsole_getcolor): Likewise.
18782 (grub_ofconsole_readkey): Renamed to ...
18783 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18784 key.
18785 (grub_ofconsole_checkkey): Removed.
18786 (grub_ofconsole_getkey): Likewise.
18787 (grub_ofconsole_getxy): Likewise.
18788 (grub_ofconsole_gotoxy): Likewise.
18789 (grub_ofconsole_cls): Likewise.
18790 (grub_ofconsole_refresh): Likewise.
18791 (grub_ofconsole_terminfo_input): New struct.
18792 (grub_ofconsole_terminfo_output): Likewise.
18793 (grub_ofconsole_term_input): Use terminfo.
18794 (grub_ofconsole_term_output): Likewise.
18795 (grub_console_init): Split into ...
18796 (grub_console_init_early): ...this and ...
18797 (grub_console_init_lately): ...this. Use terminfo.
18798 (grub_ofconsole_putchar): Renamed to ...
18799 (put): ... this. Remove mapping.
18800 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18801 * term/serial.c: Simplify using terminfo.
18802 (xpos): Removed.
18803 (ypos): Likewise.
18804 (keep_track): Likewise.
18805 (registered): Likewise.
18806 (input_buf): Likewise.
18807 (npending): Likewise.
18808 (serial_translate_key_sequence): Likewise.
18809 (fill_input_buf): Likewise.
18810 (grub_serial_checkkey): Likewise.
18811 (grub_serial_getkey): Likewise.
18812 (grub_serial_getxy): Likewise.
18813 (grub_serial_gotoxy): Likewise.
18814 (grub_serial_putchar): Likewise.
18815 (grub_serial_cls): Likewise.
18816 (grub_serial_setcolorstate): Likewise.
18817 (grub_serial_setcursor): Likewise.
18818 (serial_hw_init): Use serial_hw_fetch.
18819 (grub_serial_terminfo_input): New variable.
18820 (grub_serial_terminfo_output): Likewise.
18821 (grub_serial_term_input): Use terminfo.
18822 (grub_serial_term_output): Likewise.
18823 * term/terminfo.c (putstr): Use put.
18824 (grub_terminfo_all_free): New function
18825 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18826 (grub_terminfo_output_register): New function.
18827 (grub_terminfo_output_unregister): Likewise.
18828 (grub_terminfo_getxy): Likewise.
18829 (grub_terminfo_readkey): Likewise.
18830 (grub_terminfo_checkkey): Likewise.
18831 (grub_terminfo_getkey): Likewise.
18832 (grub_terminfo_input_init): Likewise.
18833 (print_terminfo): Likewise.
18834 (grub_cmd_terminfo): Handle encoding.
18835 (grub_terminfo_gotoxy): Track position.
18836 (grub_terminfo_cls): Likewise.
18837 (grub_terminfo_putchar): Likewise.
18838 (grub_terminfo_setcolorstate): Handle colors
18839 (grub_terminfo_cursor_on): This ...
18840 (grub_terminfo_cursor_off): ... and this merged into ...
18841 (grub_terminfo_setcursor): ... this.
18842 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18843 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18844 * unicode/BidiMirroring.txt: Likewise.
18845 * unicode/UnicodeData.txt: Likewise.
18846 * unicode/COPYING: Likewise.
18847 * util/grub-editenv.c (grub_putchar): Removed.
18848 (grub_xputs_real): New function.
18849 (grub_xputs): New variable.
18850 * util/grub-fstest.c (grub_putchar): Removed.
18851 (grub_xputs_real): New function.
18852 (grub_xputs): New variable.
18853 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18854 (grub_xputs_real): New function.
18855 (grub_xputs): New variable.
18856 * util/grub-probe.c (grub_putchar): Removed.
18857 (grub_xputs_real): New function.
18858 (grub_xputs): New variable.
18859 * util/grub-script-check.c (grub_putchar): Removed.
18860 (grub_xputs_real): New function.
18861 (grub_xputs): New variable.
18862 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18863 (grub_xputs_real): New function.
18864 (grub_xputs): New variable.
18865 * util/import_unicode.py: New file.
18866 * util/grub-mkfont.c (ft_errmsgs): New array.
18867 (grub_glyph_info): Make bitmap a pointer.
18868 (file_formats): New type WIDTH_SPEC.
18869 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18870 (options): Add width-spec.
18871 (help): Likewise.
18872 (add_char): Renamed to ...
18873 (add_glyph): ... this.
18874 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18875 (glyph_replace): New type.
18876 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18877 (add_char): New function.
18878 (add_subst): Likewise.
18879 (process_cursive): Likewise.
18880 (add_font): Handle GSUB.
18881 (write_font_width_spec): New function.
18882 (main): Sort glyphs.
18883 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18884 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18885 * kern/term.c (grub_cls): Moved from here...
18886 * normal/term.c (grub_cls): ... here.
18887
50f0bcda
CW
188882010-07-02 Colin Watson <cjwatson@ubuntu.com>
18889
18890 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18891 suitable for using within the format argument of printf when
18892 converting grub_size_t.
18893 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18894 "x" to convert grub_size_t arguments.
18895
40372103
VS
188962010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18897
18898 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18899 too long captions.
18900 (list_get_minimal_size): Take selection box into account.
18901
942a10c7
VS
189022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18905 NULL font.
18906
2bdb2892
CW
189072010-07-02 Colin Watson <cjwatson@ubuntu.com>
18908
18909 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18910 devices when iterating over /dev/disk/by-id; they will be handled
18911 later if appropriate, which they aren't always (e.g. LVM).
18912
e03ed6c1
CW
189132010-07-02 Colin Watson <cjwatson@ubuntu.com>
18914
18915 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18916 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18917 fails.
18918 (grub_halt): Likewise.
18919 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18920 reset-all fails.
18921 (grub_halt): Don't return, even if all of shut-down, power-off, and
18922 poweroff fail.
18923
47695765
CW
189242010-07-02 Colin Watson <cjwatson@ubuntu.com>
18925
18926 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18927 arguments, not three.
18928
507736c8
CW
189292010-07-02 Colin Watson <cjwatson@ubuntu.com>
18930
18931 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18932 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18933 LVM-on-RAID is handled correctly.
18934
e3c8cd37
CW
189352010-07-02 Colin Watson <cjwatson@ubuntu.com>
18936
18937 * docs/grub.texi (Changes from GRUB Legacy): New section.
18938 (Future): Fix typo.
18939
8d4a2fec
CW
189402010-07-02 Colin Watson <cjwatson@ubuntu.com>
18941
18942 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18943 grub.d/README accidentally ends up executable for one reason or
18944 another. Ignore it.
18945
1c4827be
VS
189462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18949 (gpt_partition_map_iterate): Support non-512B sectors.
18950
d9a0c941
VS
189512010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18954 Tested by: Seth Goldberg.
18955
48f27e87
VS
189562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18959 Properly align mbi.
18960 Reported by: Seth Goldberg.
18961
b0c4f956
VS
189622010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * util/grub-mkrescue.in: Avoid module duplication.
18965
105a2e8c
SF
189662010-07-01 Sean Finney <seanius@seanius.net>
18967
18968 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18969
5944958c
SF
189702010-07-01 Sean Finney <seanius@seanius.net>
18971
18972 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18973
189742010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 * disk/lvm.c (grub_lvm_checkvalue): New function.
18977 (grub_lvm_check_flag): Likewise.
18978
b79889ba
RM
189792010-07-01 Robert Millan <rmh@gnu.org>
18980
18981 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18982 Support 'p' as partition separator on kernel of FreeBSD (used
18983 with GPT labels).
18984 (grub_util_biosdisk_get_grub_dev): Likewise.
18985
ec1d04f1
VS
189862010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 Yeeloong firmware port.
18989
18990 * boot/mips/yeeloong/fwstart.S: New file.
18991 * bus/cs5536.c (gpiodump): New const.
18992 (set_io_space): New function.
18993 (set_iod): Likewise.
18994 (set_p2d): Likewise.
18995 (grub_cs5536_init_geode): Likewise.
18996 * commands/mips/yeeloong/lsspd.c: New file.
18997 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18998 (serial_mod_SOURCES): New variable.
18999 (serial_mod_CFLAGS): Likewise.
19000 (serial_mod_LDFLAGS): Likewise.
19001 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
19002 term/terminfo.c and term/tparm.c.
19003 (pkglib_IMAGES): Add fwstart.img.
19004 (fwstart_img_SOURCES): New variable.
19005 (fwstart_img_CFLAGS): Likewise.
19006 (fwstart_img_ASFLAGS): Likewise.
19007 (fwstart_img_LDFLAGS): Likewise.
19008 (fwstart_img_FORMAT): Likewise.
19009 (pkglib_MODULES): Add lsspd.mod.
19010 (lsspd_mod_SOURCES): New variable.
19011 (lsspd_mod_CFLAGS): Likewise.
19012 (lsspd_mod_LDFLAGS): Likewise.
19013 (pkglib_MODULES): Add halt.mod.
19014 (halt_mod_SOURCES): New variable.
19015 (halt_mod_CFLAGS): Likewise.
19016 (halt_mod_LDFLAGS): Likewise.
19017 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19018 (serial_mod_SOURCES): Removed.
19019 (serial_mod_CFLAGS): Likewise.
19020 (serial_mod_LDFLAGS): Likewise.
19021 * disk/ata.c (check_device): New function.
19022 (grub_ata_device_initialize): Use check_device.
19023 (grub_ata_iterate): Recheck devices.
19024 (grub_ata_open): Likewise.
19025 (grub_atapi_iterate): Likewise.
19026 (grub_atapi_open): Likewise.
19027 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19028 (GRUB_ATA_CH1_PORT1): Likewise.
19029 (GRUB_ATA_CH0_PORT2): Likewise.
19030 (GRUB_ATA_CH1_PORT2): Likewise.
19031 * include/grub/mips/loongson.h: New file.
19032 * include/grub/mips/yeeloong/ec.h: Likewise.
19033 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19034 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19035 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19036 * include/grub/misc.h (grub_halt): Declare as noreturn.
19037 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19038 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19039 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19040 (UART_ENABLE_DTRRTS): Likewise.
19041 (UART_ENABLE_MODEM): Removed.
19042 (UART_ENABLE_OUT2): New const.
19043 * include/grub/term.h (grub_term_register_input_active): New function.
19044 (grub_term_register_output_active): Likewise.
19045 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19046 argument.
19047 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19048 (init_pci): New function.
19049 (grub_machine_init): Execute platform init when firmware. Init serial.
19050 (grub_halt): Implement.
19051 (grub_exit): Likewise.
19052 (grub_reboot): Likewise.
19053 * term/serial.c (serial_hw_init): Update macros.
19054 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19055 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19056 (image_targets): New target mipsel-yeeloong-flash.
19057 (generate_image): Support IMAGE_YEELOONG_FLASH.
19058 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19059 (grub_video_sm712_setup): Init card.
19060 (grub_video_sm712_set_palette): Removed.
19061 * video/sm712_init.c: New file.
19062
ff4a70d2
CW
190632010-06-30 Colin Watson <cjwatson@ubuntu.com>
19064
19065 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19066 PATH when running help2man and then run it on the unadorned
19067 executable names, rather than passing $(builddir)/* paths to
19068 help2man. This avoids the build directory ending up in generated
19069 manual pages.
19070
1246efeb
CW
190712010-06-29 Colin Watson <cjwatson@ubuntu.com>
19072
19073 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19074 to avoid accidents when debugging with 'sh -x'.
19075 * util/grub-mkrescue.in: Likewise.
19076 * util/grub.d/00_header.in: Likewise.
19077 * util/grub.d/10_hurd.in: Likewise.
19078 * util/grub.d/10_kfreebsd.in: Likewise.
19079 * util/grub.d/10_linux.in: Likewise.
19080 * util/grub.d/10_netbsd.in: Likewise.
19081 * util/grub.d/10_windows.in: Likewise.
19082 * util/grub.d/20_linux_xen.in: Likewise.
19083 * util/grub.d/30_os-prober.in: Likewise.
19084 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19085
1ba9b889
CW
190862010-06-29 Colin Watson <cjwatson@ubuntu.com>
19087
19088 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19089 last character in the buffer.
19090 Reported by: Vladimir Serbinenko.
19091
dccaf99d
RM
190922010-06-29 Robert Millan <rmh@gnu.org>
19093
19094 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19095 (Command-line and menu entry commands): Document `badram' command.
19096
d500ed12
RM
190972010-06-28 Robert Millan <rmh@gnu.org>
19098
19099 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19100 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19101 command using ${GRUB_BADRAM} as parameter.
19102
20bc84a6
CW
191032010-06-28 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * docs/grub.texi (Device map): New section.
19106 (Themes): New section (stub).
19107 * Makefile.in (docs/grub.info): The info documentation now builds
19108 without errors. Make sure it stays that way.
19109
4045dee1
VS
191102010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 Use normal parser for menu entries.
19113 Reported by: Thomas Frauendorfer
19114
19115 * include/grub/parser.h (grub_parser_execute): Don't export.
19116 * normal/menu.c (grub_menu_execute_entry_real): New function.
19117 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19118
bca58c7b
CW
191192010-06-28 Colin Watson <cjwatson@ubuntu.com>
19120
19121 * docs/grub.texi (Embedded configuration): New section (replacing
19122 old "Preset Menu" stub).
19123 (Images): New section.
19124 (configfile): Note that any menu entries defined in `file' are shown
19125 immediately.
19126
dec53e63
JT
191272010-06-28 Josh Triplett <josh@joshtriplett.org>
19128
19129 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19130
c06e40f7
CW
191312010-06-28 Colin Watson <cjwatson@ubuntu.com>
19132
19133 * util/grub-install.in: Add --debug-image= option.
19134
cb88052b
CW
191352010-06-28 Colin Watson <cjwatson@ubuntu.com>
19136
19137 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19138 possible on Linux.
19139
19140 * util/deviceiter.c (check_device): Rename to ...
19141 (check_device_readable_unique): ... this. Update all callers.
19142 Maintain and check a list of which devices (by canonicalized name)
19143 have already been seen.
19144 (clear_seen_devices): New function.
19145 (compare_file_names) [__linux__]: New function.
19146 (grub_util_iterate_devices): Clear the list of seen devices on exit
19147 and (just in case) on entry.
19148 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19149 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19150 seen-devices list, superseded by general code in check_device.
19151
bbe34652
CW
191522010-06-28 Colin Watson <cjwatson@ubuntu.com>
19153
19154 * commands/cat.c (options): New variable.
19155 (grub_cmd_cat): Parse options. If the --dos option is given, print
19156 DOS-style "\r\n" line endings as simple newlines (Debian bug
19157 #586358).
19158 (GRUB_MOD_INIT): Use extcmd.
19159 (GRUB_MOD_FINI): Likewise.
19160 * docs/grub.texi (cat): Document --dos.
19161
412e09f3
VS
191622010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 XEN with Linux grub-mkconfig support.
19165
19166 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19167 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19168 GRUB_CMDLINE_XEN_DEFAULT.
19169 * util/grub.d/20_linux_xen.in: New file.
19170
53f3ef38 191712010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19172
19173 Initialise VGA video on qemu ourselves.
19174
19175 * boot/i386/qemu/boot.S: Don't call 0xc000.
19176 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19177 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19178 (kernel_img_HEADERS): Add pci.h.
19179 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19180 * configure.ac: Force unifont on qemu and yeeloong.
19181 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19182 (grub_vga_palette_write): Use correct register.
19183 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19184 Call grub_qemu_init_cirrus.
19185 * kern/i386/qemu/init.c: New file.
19186 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19187
19188 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19189
c75be4fb
PR
191902010-06-26 Pavel Roskin <proski@gnu.org>
19191
19192 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19193 13.
19194
d8034603
CW
191952010-06-26 Colin Watson <cjwatson@ubuntu.com>
19196
19197 * docs/grub.texi (Simple configuration): Explain that
19198 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19199 set to `true' to disable their respective recovery entries, not
19200 merely set.
19201
3fa06487
CW
192022010-06-26 Colin Watson <cjwatson@ubuntu.com>
19203
19204 Make the `source' command slightly faster.
19205
19206 * normal/main.c (grub_normal_execute): Don't re-read list files when
19207 nested.
19208
e9b29642
CW
192092010-06-23 Colin Watson <cjwatson@ubuntu.com>
19210
19211 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19212 field position and mask size to red fields from mode_info, not
19213 green.
19214 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19215 Remove redundant tag->common.framebuffer_type assignment.
19216 Reported by: Seth Goldberg.
19217
e726542f
CW
192182010-06-23 Colin Watson <cjwatson@ubuntu.com>
19219
19220 Sync up other versions of the Linux loader with Robert Millan's
19221 change of 2010-01-09, "Make loader output a bit more user-friendly".
19222
19223 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19224 grub_dprintf().
19225 (grub_cmd_linux): Likewise.
19226 (grub_cmd_initrd): Likewise.
19227 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19228 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19229
d6e98a17
CW
192302010-06-21 Colin Watson <cjwatson@ubuntu.com>
19231
19232 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19233 larger than MEMORY_MAP_SIZE.
19234
14d3f08e
BC
192352010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19236
19237 Fix parallel build.
19238
19239 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19240 dependency.
19241 * script/parser.y: #include grub_script.tab.h header.
19242
4f9613a3
VS
192432010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 Support >3GiB and <16MiB RAM in i386-qemu.
19246
19247 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19248 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19249 (grub_lower_mem): Removed.
19250 (grub_upper_mem): Likewise.
19251 (mem_size): Made static.
19252 (above_4g): New variable.
19253 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19254 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19255 support.
19256
05e51879
VS
192572010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 Cirrus 5446 and Bochs video cards support.
19260
19261 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19262 video_bochs.mod
19263 (video_cirrus_mod_SOURCES): New variable.
19264 (video_cirrus_mod_CFLAGS): Likewise.
19265 (video_cirrus_mod_LDFLAGS): Likewise.
19266 (video_bochs_mod_SOURCES): Likewise.
19267 (video_bochs_mod_CFLAGS): Likewise.
19268 (video_bochs_mod_LDFLAGS): Likewise.
19269 * include/grub/vga.h: New file.
19270 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19271 (grub_video_fb_set_page_t): New type.
19272 (grub_video_fb_setup): New prototype.
19273 (grub_video_fb_swap_buffers): Likewise.
19274 (grub_video_fb_get_info_and_fini): Likewise.
19275 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19276 (CRTC_DATA_PORT): Likewise.
19277 (CRTC_CURSOR): Likewise.
19278 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19279 (CRTC_CURSOR_ADDR_LOW): Likewise.
19280 (CRTC_CURSOR_DISABLE): Likewise.
19281 (update_cursor): Use grub_vga_cr_write.
19282 (grub_vga_text_setcursor): Likewise.
19283 * video/bochs.c: New file.
19284 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19285 (palette): Likewise.
19286 (palette_size): Likewise.
19287 (framebuffer): New variable.
19288 (grub_video_fb_init): Use 'framebuffer'.
19289 (grub_video_fb_fini): Likewise.
19290 (grub_video_fb_get_info): Likewise.
19291 (grub_video_fb_get_palette): Likewise.
19292 (grub_video_fb_set_palette): Likewise.
19293 (grub_video_fb_set_viewport): Likewise.
19294 (grub_video_fb_get_viewport): Likewise.
19295 (grub_video_fb_map_color): Likewise.
19296 (grub_video_fb_map_rgb): Likewise.
19297 (grub_video_fb_map_rgba): Likewise.
19298 (grub_video_fb_unmap_color): Likewise.
19299 (grub_video_fb_unmap_color_int): Likewise.
19300 (grub_video_fb_fill_rect): Likewise.
19301 (grub_video_fb_blit_bitmap): Likewise.
19302 (grub_video_fb_blit_render_target): Likewise.
19303 (grub_video_fb_scroll): Likewise.
19304 (grub_video_fb_create_render_target): Likewise.
19305 (grub_video_fb_doublebuf_blit_init): Likewise.
19306 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19307 (doublebuf_pageflipping_update_screen): New function.
19308 (doublebuf_pageflipping_init): Likewise.
19309 (grub_video_fb_setup): Likewise.
19310 (grub_video_fb_swap_buffers): Likewise.
19311 (grub_video_fb_get_info_and_fini): Likewise.
19312 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19313 All users updated.
19314 (doublebuf_pageflipping_commit): Restructured into ...
19315 (doublebuf_pageflipping_set_page): ... this.
19316 (doublebuf_pageflipping_update_screen): Removed.
19317 (doublebuf_pageflipping_init): Likewise.
19318 (double_buffering_init): Likewise.
19319 (grub_video_vbe_setup): Use grub_video_fb_setup.
19320 (grub_video_vbe_swap_buffers): Removed.
19321 (grub_video_vbe_set_active_render_target): Likewise.
19322 (grub_video_vbe_get_active_render_target): Likewise.
19323 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19324 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19325 grub_video_fb_set_active_render_target and
19326 grub_video_fb_get_active_render_target.
19327 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19328 (SEQUENCER_DATA_PORT): Likewise.
19329 (MAP_MASK_REGISTER): Likewise.
19330 (CRTC_ADDR_PORT): Likewise.
19331 (CRTC_DATA_PORT): Likewise.
19332 (START_ADDR_HIGH_REGISTER): Likewise.
19333 (START_ADDR_LOW_REGISTER): Likewise.
19334 (GRAPHICS_ADDR_PORT): Likewise.
19335 (GRAPHICS_DATA_PORT): Likewise.
19336 (READ_MAP_REGISTER): Likewise.
19337 (INPUT_STATUS1_REGISTER): Likewise.
19338 (INPUT_STATUS1_VERTR_BIT): Likewise.
19339 (get_map_mask): Use grub_vga_sr_read.
19340 (set_map_mask): Use grub_vga_sr_write.
19341 (set_read_map): Use grub_vga_gr_write.
19342 (set_start_address): Use grub_vga_cr_write.
19343 * video/sm712.c (framebuffer): Remove leftover fields.
19344
4321c64a
CW
193452010-06-20 Colin Watson <cjwatson@ubuntu.com>
19346
19347 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19348 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19349 instead. Replace the gfxterm backend check with a check that
19350 ${GRUB_PREFIX}/video.lst is non-empty.
19351 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19352 again.
19353 (load_video): New generated function. Call it before loading
19354 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19355 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19356 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19357 * docs/grub.texi (Simple configuration): Document
19358 GRUB_VIDEO_BACKEND.
19359
193602010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 Use video functions in linux and xnu loaders.
19363
19364 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19365 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19366 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19367 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19368 loader/i386/pc/linux.c.
19369 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19370 (find_line_len): Removed.
19371 (find_framebuf): Likewise.
19372 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19373 * loader/i386/efi/xnu.c: Removed.
19374 * loader/i386/pc/xnu.c: Moved from here...
19375 * loader/i386/xnu.c: ...here.
19376
19377 Enable priorities in video drivers.
19378
19379 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19380 (grub_video_adapter): New field prio.
19381 (grub_video_register): Respect prio when inserting.
19382 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19383 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19384 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19385 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19386 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19387 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19388 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19389
19390 Fix SDL driver ID.
19391
19392 * include/grub/video.h (grub_video_driver_id_t): New value
19393 GRUB_VIDEO_DRIVER_SDL.
19394 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19395
7d24e434
CW
193962010-06-17 Colin Watson <cjwatson@ubuntu.com>
19397
19398 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19399 argument to printf.
19400 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19401
c88a83f6
CW
194022010-06-17 Colin Watson <cjwatson@ubuntu.com>
19403
19404 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19405 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19406
094dfb69
CW
194072010-06-17 Colin Watson <cjwatson@ubuntu.com>
19408
19409 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19410 directly, and recommend grub-install instead.
19411 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19412
2164da6b
CW
194132010-06-17 Colin Watson <cjwatson@ubuntu.com>
19414
19415 Fix i386-pc prefix handling with nested partitions (Debian bug
19416 #585068). Note that the case where the core image is booted using
19417 multiboot and relocated from its original location still requires
19418 more work.
19419
19420 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19421 with "(,", fill the boot drive in between those two characters, but
19422 expect that a full partition specification including partition map
19423 names will follow.
19424 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19425 specified, write a prefix without the drive name but including a
19426 full partition specification.
19427
044e2e60
CW
194282010-06-16 Colin Watson <cjwatson@ubuntu.com>
19429
19430 * util/grub-mkconfig.in: Ignore non-option arguments, for
19431 compatibility with older versions (before 2010-06-12) which did the
19432 same. In particular, this makes it easier to ship an update-grub
19433 wrapper which is compatible with that used with GRUB Legacy (Debian
19434 bug #586056).
19435
5591324f
GS
194362010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19437
19438 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19439 for manual page generation.
19440
662e24d5
GS
194412010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19442
19443 * po/POTFILES: Remove leftover commands/handler.c.
19444
8d70754e
CW
194452010-06-14 Colin Watson <cjwatson@ubuntu.com>
19446
19447 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19448 left this script non-functional.
19449
41160e2e
CW
194502010-06-14 Colin Watson <cjwatson@ubuntu.com>
19451
19452 * docs/man/grub-emu.h2m: New file.
19453
b5309cc1
CW
194542010-06-13 Colin Watson <cjwatson@ubuntu.com>
19455
19456 * docs/grub.texi (Commands): Document reduced command set in rescue
19457 mode.
19458 (cpuid): New section.
19459
fcb2d090
GS
194602010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19461
19462 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19463 new partition naming style.
19464 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19465
96e5c556
BC
194662010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19467
19468 Add "-o grub.iso" like cmdline options support.
19469
19470 * util/grub-install.in: Improve cmdline option parsing.
19471 * util/grub-mkconfig.in: Likewise.
19472 * util/grub-mkrescue.in: Likewise.
19473 * util/grub-reboot.in: Likewise.
19474 * util/grub-set-default.in: Likewise.
19475 * util/i386/efi/grub-install.in: Likewise.
19476 * util/ieee1275/grub-install.in: Likewise.
19477 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19478
c16be99b
CW
194792010-06-12 Colin Watson <cjwatson@ubuntu.com>
19480
19481 * .bzrignore: Ignore 41_custom.
19482
ce08a9fb
TS
194832010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19484
19485 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19486
7beac90c
CW
194872010-06-12 Colin Watson <cjwatson@ubuntu.com>
19488
19489 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19490 prototype declarations.
19491
19492 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19493 generating fs, partmap, and video lists.
19494 * include/grub/fs.h (grub_fs_register): Omit prototype if
19495 GRUB_LST_GENERATOR is defined.
19496 * include/grub/partition.h (grub_partition_map_register): Likewise.
19497 * include/grub/video.h (grub_video_register): Likewise.
19498
1c8f0f8d
JM
194992010-06-12 Javier Martín <lordhabbit@gmail.com>
19500
19501 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19502
a6085973
TS
195032010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19504
19505 * util/grub-mkrescue.in: Support --xorriso argument.
19506
25c56d29
VS
195072010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19510 Suggested by: Thomas Schmitt.
19511
e03e4b24
VS
195122010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19515 Suggested by: Thomas Schmitt.
19516
57711df6
VS
195172010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 custom.cfg support.
19520
19521 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19522 * util/grub.d/41_custom.in: New file.
19523
ee62c427
CW
195242010-06-12 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19527 been merged back into normal.
19528
283af07a
CW
195292010-06-11 Colin Watson <cjwatson@ubuntu.com>
19530
19531 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19532 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19533
56a0d956
CW
195342010-06-11 Colin Watson <cjwatson@ubuntu.com>
19535
19536 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19537 when generating manual pages.
19538 * docs/man/grub-bin2h.h2m: New file.
19539 * docs/man/grub-editenv.h2m: New file.
19540 * docs/man/grub-fstest.h2m: New file.
19541 * docs/man/grub-install.h2m: New file.
19542 * docs/man/grub-macho2img.h2m: New file.
19543 * docs/man/grub-mkconfig.h2m: New file.
19544 * docs/man/grub-mkdevicemap.h2m: New file.
19545 * docs/man/grub-mkfont.h2m: New file.
19546 * docs/man/grub-mkimage.h2m: New file.
19547 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19548 * docs/man/grub-mkrelpath.h2m: New file.
19549 * docs/man/grub-mkrescue.h2m: New file.
19550 * docs/man/grub-ofpathname.h2m: New file.
19551 * docs/man/grub-pe2elf.h2m: New file.
19552 * docs/man/grub-probe.h2m: New file.
19553 * docs/man/grub-reboot.h2m: New file.
19554 * docs/man/grub-script-check.h2m: New file.
19555 * docs/man/grub-set-default.h2m: New file.
19556 * docs/man/grub-setup.h2m: New file.
19557
3a37e322
VS
195582010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 Use FOR_* macros instead of *_iterate whenever possible.
19561
19562 * commands/handler.c: Removed.
19563 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19564 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19565 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19566 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19567 (grub_probe_SOURCES): Remove kern/parser.c.
19568 (util/grub-script-check.c_DEPENDENCIES): Removed.
19569 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19570 and grub_script_check_init.c.
19571 (grub_script_check_init.lst): Removed.
19572 (grub_script_check_init.h): Likewise.
19573 (grub_script_check_init.c): Likewise.
19574 (pkglib_MODULES): Remove handler.mod and sh.mod.
19575 (handler_mod_SOURCES): Removed.
19576 (handler_mod_CFLAGS): Likewise.
19577 (handler_mod_LDFLAGS): Likewise.
19578 (normal_mod_SOURCES): Remove normal/handler.c.
19579 Add script/main.c, script/script.c, script/execute.c,
19580 script/function.c, script/lexer.c, grub_script.tab.c
19581 and grub_script.yy.c.
19582 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19583 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19584 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19585 (grub_setup_SOURCES): Remove kern/parser.c.
19586 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19587 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19588 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19589 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19590 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19591 (grub_setup_SOURCES): Remove kern/parser.c.
19592 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19593 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19594 * include/grub/command.h (grub_command_iterate): Removed.
19595 (FOR_COMMANDS): New macro.
19596 * include/grub/dl.h (grub_dl): New member next.
19597 (grub_dl_iterate): Removed.
19598 (grub_dl_head): New variable declaration.
19599 (FOR_DL_MODULES): New macro.
19600 * include/grub/fs.h: Include list.h.
19601 (grub_fs): Make next first element.
19602 (grub_fs_list): New variable declaration.
19603 (grub_fs_register): Make inline.
19604 (grub_fs_unregister): Likewise.
19605 (grub_fs_iterate): Removed.
19606 (FOR_FILESYSTEMS): New macro.
19607 * include/grub/handler.h: Removed.
19608 * include/grub/list.h (grub_list_hook_t): Removed.
19609 (grub_list_test_t): Likewise.
19610 (grub_list_pop): Likewise.
19611 (grub_list_iterate): Likewise.
19612 (grub_list_insert): Likewise.
19613 (FOR_LIST_ELEMENTS): New macro.
19614 * include/grub/parser.h (grub_parser_class): Removed.
19615 (grub_parser_register): Likewise.
19616 (grub_parser_unregister): Likewise.
19617 (grub_parser_get_current): Likewise.
19618 (grub_parser_set_current): Likewise.
19619 (grub_register_rescue_parser): Likewise.
19620 (grub_rescue_parse_line): New function.
19621 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19622 * include/grub/script_sh.h (grub_script_function_list): New variable
19623 declaration.
19624 (FOR_SCRIPT_FUNCTIONS): New macro.
19625 (grub_script_function_iterate): Removed.
19626 (grub_normal_parse_line): New prototype.
19627 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19628 (FOR_DISABLED_TERM_INPUTS): Likewise.
19629 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19630 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19631 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19632 element.
19633 (grub_video_register): Inline.
19634 (grub_video_unregister): Likewise.
19635 (grub_video_adapter_list): New variable declaration.
19636 (grub_video_iterate): Removed.
19637 (FOR_VIDEO_ADAPTERS): New macro.
19638 * kern/dl.c (grub_dl_list): Removed. All users updated.
19639 (grub_dl_iterate): Removed.
19640 * kern/fs.c (grub_fs_list): Make global.
19641 (grub_fs_register): Removed.
19642 (grub_fs_unregister): Likewise.
19643 (grub_fs_iterate): Likewise.
19644 * kern/handler.c: Removed.
19645 * kern/list.c (grub_list_pop): Removed.
19646 (grub_list_iterate): Likewise.
19647 (grub_list_insert): Likewise.
19648 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19649 (grub_prio_list_insert): Don't use grub_list_insert.
19650 * kern/main.c (grub_register_rescue_parser): Don't call
19651 grub_register_rescue_parser.
19652 * kern/parser.c (grub_parser_class): Removed.
19653 (grub_parser_execute): Use grub_rescue_parse_line.
19654 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19655 (grub_rescue_parser): Removed.
19656 (grub_register_rescue_parser): Likewise.
19657 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19658 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19659 (grub_auth_check_authentication): Likewise.
19660 * normal/completion.c (iterate_command): Removed.
19661 (grub_normal_do_completion): Use FOR_COMMANDS.
19662 * normal/handler.c: Removed.
19663 * normal/main.c (read_config_file): Remove parser changing.
19664 (grub_normal_execute): Don't call read_handler_list.
19665 (grub_normal_read_line_real): Statically allocate prompt.
19666 (grub_cmdline_run): Use grub_normal_parse_line.
19667 (GRUB_MOD_FINI): Don't call free_handler_list.
19668 * normal/menu_entry.c (run): Likewise.
19669 * script/function.c (grub_script_function_list): Make global.
19670 (grub_script_function_iterate): Removed.
19671 * script/main.c (grub_normal_parse_line): Make global.
19672 (grub_sh_parser): Removed.
19673 (GRUB_MOD_INIT): Likewise.
19674 (GRUB_MOD_FINI): Likewise.
19675 * tests/lib/functional_test.c (grub_functional_test): Use
19676 FOR_LIST_ELEMENTS.
19677 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19678 (grub_test_run): Use FOR_LIST_ELEMENTS.
19679 * tests/lib/unit_test.c (main): Likewise.
19680 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19681 grub_list_pop.
19682 * util/grub-fstest.c (grub_term_input_class): Removed.
19683 (grub_term_output_class): Likewise.
19684 * util/grub-probe.c: Likewise.
19685 * util/i386/pc/grub-setup.c: Likewise.
19686 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19687 * util/grub-script-check.c (main): Don't call grub_init_all and
19688 grub_fini_all.
19689 * video/video.c (grub_video_adapter_list): Make global.
19690 (grub_video_register): Removed.
19691 (grub_video_unregister): Likewise.
19692 (grub_video_iterate): Likewise.
19693
6289c3a7
VS
196942010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19697 reported by Henrique Ferreiro.
19698
91460247
RM
196992010-06-09 Robert Millan <rmh@gnu.org>
19700
19701 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19702 ones, when both are available.
19703
0ea7c4f9
GS
197042010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19705
19706 Make --version uniform and avoid hard-coded program name.
19707
19708 * util/grub-mkimage.c (main): Use `program_name' instead of
19709 hard-coded string.
19710 * util/i386/pc/grub-setup.c (main): Likewise.
19711 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19712 * util/grub-install.in: Save the basename of $0 in $self, and use the
19713 latter in informational messages. Use the same format for --version
19714 as the binary programs.
19715 * util/grub-mkconfig.in: Likewise.
19716 * util/grub-mkrescue.in: Likewise.
19717 * util/grub-reboot.in: Likewise.
19718 * util/grub-set-default.in: Likewise.
19719 * util/i386/efi/grub-install.in: Likewise.
19720 * util/ieee1275/grub-install.in: Likewise.
19721 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19722
e8a6f3b6
GS
197232010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19724
19725 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19726 embedding area. Use <= instead of == when checking for non-emptiness.
19727
f4d095d7
GS
197282010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19729
19730 * configure.ac: Add `.' to the directories searched for unifont.
19731
50e532ca
CW
197322010-06-08 Colin Watson <cjwatson@ubuntu.com>
19733
19734 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19735 grub_script.yy.h.
19736
d39f3dec
CW
197372010-06-08 Colin Watson <cjwatson@ubuntu.com>
19738
19739 * docs/grub.texi (History): Expand to cover GRUB 2.
19740 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19741 commands, not `terminal'.
19742 (serial): Likewise.
19743 (terminal_input): New section.
19744 (terminal_output): New section.
19745 (uppermem): New section (stub).
19746 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19747
6ef0ddb4
CW
197482010-06-08 Colin Watson <cjwatson@ubuntu.com>
19749
19750 * docs/grub.texi (Security): Menu entries are unrestricted by
19751 default, not restricted to superusers as I had previously thought.
19752 Reword to account for this.
19753
e0f4c438
CW
197542010-06-07 Colin Watson <cjwatson@ubuntu.com>
19755
19756 * kern/emu/misc.c (device_mapper_null_log): New function.
19757 (grub_device_mapper_supported): New function.
19758 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19759 prototype.
19760 * kern/emu/hostdisk.c (find_partition_start): Check whether
19761 device-mapper is supported before trying to use it.
19762 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19763
da908200
CW
197642010-06-07 Colin Watson <cjwatson@ubuntu.com>
19765
19766 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19767 (File name syntax): Likewise.
19768 (help): --all is no longer supported in GRUB 2. Be more precise
19769 about pattern matching.
19770
fb55c3ac
CW
197712010-06-07 Colin Watson <cjwatson@ubuntu.com>
19772
19773 * normal/completion.c (grub_normal_do_completion): When completing
19774 arguments to "set" and the current word contains an equals sign,
19775 skip to after the equals sign before starting completion.
19776
258c2573
CW
197772010-06-07 Colin Watson <cjwatson@ubuntu.com>
19778
19779 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19780
ee75515e
CW
197812010-06-07 Colin Watson <cjwatson@ubuntu.com>
19782
19783 * docs/grub.texi (Network): New section.
19784 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19785 `(nd)' as in GRUB Legacy.
19786 (pxe_unload): New section.
19787
a6a700aa
CW
197882010-06-07 Colin Watson <cjwatson@ubuntu.com>
19789
19790 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19791 in the rescue shell, so recommend using `set' instead. Thanks,
19792 Jordan Uggla.
19793
4003dd38
CW
197942010-06-07 Colin Watson <cjwatson@ubuntu.com>
19795
19796 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19797 (password): New section.
19798 (password_pbkdf2): New section.
19799 (search): New section.
19800 (Security): New section.
19801 (Troubleshooting): New section, currently very incomplete.
19802 (Invoking grub-mkpasswd-pbkdf2): New section.
19803 (Internals): New section, currently very incomplete.
19804
e1cbcc40
CW
198052010-06-07 Colin Watson <cjwatson@ubuntu.com>
19806
19807 * util/grub.d/00_header.in: Add some more quoting (of
19808 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19809 work again.
19810 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19811
db8fa1ad
CW
198122010-06-07 Colin Watson <cjwatson@ubuntu.com>
19813
19814 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19815 to `count', fixing variable shadowing that broke the -c option.
19816
198172010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19818
19819 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19820 in case they contain spaces.
19821
f28a9212
CW
198222010-06-04 Colin Watson <cjwatson@ubuntu.com>
19823
19824 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19825 "part_" to partmap module names, in line with grub-install.
19826 Reported by: Jindřich Makovička (Debian bug #584426).
19827
9cdfe32f
CW
198282010-06-04 Colin Watson <cjwatson@ubuntu.com>
19829
19830 * util/grub-mkimage.c: Make target-related error messages slightly
19831 more helpful; -O talks about "format". Explicitly point to the use
19832 of -O if no target is specified.
19833 Reported by: Didier Raboud (Debian bug #584415).
19834
795b593a
CW
198352010-06-03 Colin Watson <cjwatson@ubuntu.com>
19836
19837 * INSTALL: Document several build requirements for optional features
19838 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19839
9d9b5833
GS
198402010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19841
19842 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19843 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19844 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19845
0819fec8
CW
198462010-06-02 Colin Watson <cjwatson@ubuntu.com>
19847
19848 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19849 Thanks to Jordan Uggla for spotting this.
19850
49396b4f
VS
198512010-06-02 Aleš Nesrsta <starous@volny.cz>
19852
19853 Finally make USB usable.
19854
19855 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19856 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19857 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19858 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19859 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19860 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19861 (GRUB_OHCI_FSMPS): Likewise.
19862 (GRUB_OHCI_PERIODIC_START): Likewise.
19863 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19864 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19865 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19866 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19867 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19868 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19869 (grub_ohci_transaction): Likewise.
19870 (grub_ohci_transfer): Improve condition detection algorithms.
19871 Handle toggle property. Program the transactions correctly.
19872 Improve error handling. Various important fixups.
19873 (grub_ohci_portstatus): Put register writes in right order.
19874 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19875 (grub_uhci_transfer): Don't show "failed" message on success.
19876 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19877 array.
19878 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19879 determine its size.
19880 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19881 before initialization is completed. Use IN direction for empty
19882 transfers. Use last_trans and compute toggle.
19883 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19884 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19885 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19886 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19887 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19888 (grub_usb_device): Increase toggle to 256.
19889 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19890 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19891 GRUB_USBMS_SUBCLASS_SFF8070.
19892 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19893 (grub_scsi_inquiry): New member page and alloc_length.
19894 (grub_scsi_request_sense): New structure.
19895 (grub_scsi_request_sense_data): Likewise.
19896 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19897 control.
19898 * disk/scsi.c (grub_scsi_request_sense): New function.
19899 (grub_scsi_test_unit_ready): Likewise.
19900 (grub_scsi_inquiry): Fill new fields.
19901 (grub_scsi_read_capacity): Likewise.
19902 (grub_scsi_read10): Add request sense at the end.
19903 (grub_scsi_read12): Likewise.
19904 (grub_scsi_write10): Likewise.
19905 (grub_scsi_write12): Likewise.
19906 (grub_scsi_open): Add Test Unit Ready.
19907 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19908 Support additional subclasses. Con't clear halt yet. Activate the
19909 proper config. Calculate LUNs correctly.
19910 (grub_usbms_transfer): Various important fixups.
19911
199122010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19915 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19916 (grub_ohci_fini_hw): New function.
19917 (grub_ohci_restore_hw): Likewise.
19918 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19919 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19920 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19921
199222010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19923
19924 Dedicated DMA allocations.
19925
19926 * bus/pci.c (grub_memalign_dma32): New function
19927 (grub_dma_free): Likewise.
19928 (grub_dma_get_virt): Likewise.
19929 (grub_dma_get_phys): Likewise.
19930 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19931 (grub_ohci_pci_iter): Use dma32_alloc.
19932 (grub_ohci_transfer): Likewise.
19933 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19934 (grub_usb_bulk_readwrite): Likewise.
19935 * include/grub/pci.h: Add declarations.
19936
199372010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19938
19939 CS5536 support.
19940
19941 * bus/cs5536.c: New file.
19942 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19943 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19944 (cs5536_mod_SOURCES): New variable.
19945 (cs5536_mod_CFLAGS): Likewise.
19946 (cs5536_mod_LDFLAGS): Likewise.
19947 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19948 machine/pci.h.
19949 (kernel_img_SOURCES): Add bus/cs5536.c.
19950 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19951 usb_keyboard.mod.
19952 (usb_mod_SOURCES): New variable.
19953 (usb_mod_CFLAGS): New variable.
19954 (usb_mod_LDFLAGS): New variable.
19955 (usbtest_mod_SOURCES): New variable.
19956 (usbtest_mod_CFLAGS): New variable.
19957 (usbtest_mod_LDFLAGS): New variable.
19958 (ohci_mod_SOURCES): New variable.
19959 (ohci_mod_CFLAGS): New variable.
19960 (ohci_mod_LDFLAGS): New variable.
19961 (usbms_mod_SOURCES): New variable.
19962 (usbms_mod_CFLAGS): New variable.
19963 (usbms_mod_LDFLAGS): New variable.
19964 (usb_keyboard_mod_SOURCES): New variable.
19965 (usb_keyboard_mod_CFLAGS): New variable.
19966 (usb_keyboard_mod_LDFLAGS): New variable.
19967 * include/grub/smbus.h: New file.
19968 * include/grub/cs5536.h: New file.
19969
0b35b2a9
CW
199702010-06-02 Colin Watson <cjwatson@ubuntu.com>
19971
19972 * util/grub.d/00_header.in: Add safety check to make sure that
19973 ${locale_dir} exists before trying to probe it.
19974
ca0afd5b
CW
199752010-06-02 Colin Watson <cjwatson@ubuntu.com>
19976
19977 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19978 per the GNU Coding Standards; this is now too obscure to be worth
19979 documenting.
19980 (QNX): Likewise.
19981 (chainloader): Remove cross-reference to `SCO UnixWare'.
19982
1c41aa78
CW
199832010-06-02 Colin Watson <cjwatson@ubuntu.com>
19984
19985 * docs/grub.texi (Chain-loading): New section.
19986 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19987 adjusted for GRUB 2.
19988 (SCO UnixWare): Likewise.
19989 (QNX): Likewise.
19990 (chainloader): Add reference to `Block list syntax'.
19991 (drivemap): New section.
19992 (parttool): New section.
19993
bb8ea0f5
CW
199942010-06-02 Colin Watson <cjwatson@ubuntu.com>
19995
19996 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19997 the grub shell'.
19998 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19999 (Installing GRUB using grub-install): Remove reference to the grub
20000 shell; mention `grub-mkimage' and `grub-setup' instead.
20001 (Invoking grub-install): Likewise.
20002 (Interface): Add reference to `Menu entry editor'.
20003 (serial): Remove `--device' option.
20004
288dd6ed
CW
200052010-06-02 Colin Watson <cjwatson@ubuntu.com>
20006
20007 * docs/grub.texi (Configuration): New section, documenting
20008 configuration file generation using grub-mkconfig. I've left a slot
20009 for documenting the full shell scripting format but have not yet
20010 started on writing that up.
20011 (Invoking grub-mkconfig): New section.
20012
34c9f0e9
CW
200132010-06-02 Colin Watson <cjwatson@ubuntu.com>
20014
20015 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20016 (GNU GRUB manual): Likewise.
20017 (General commands): Update description of `terminfo' for GRUB 2.
20018
9121567e
CW
200192010-06-02 Colin Watson <cjwatson@ubuntu.com>
20020
20021 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20022 (GRUB_MOD_INIT): Fix capitalisation.
20023 * docs/grub.texi (Command-line and menu entry commands): Document
20024 gettext and gptsync commands.
20025
ab631611
CW
200262010-06-02 Colin Watson <cjwatson@ubuntu.com>
20027
20028 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20029 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20030
bde4a9ac
CW
200312010-06-01 Colin Watson <cjwatson@ubuntu.com>
20032
20033 Add btrfs probing support, currently only in the single-device case.
20034
20035 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20036 function.
20037 (grub_guess_root_device): Call find_root_device_from_mountinfo
20038 before looking in /dev.
20039
b1d17e10
VS
200402010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20043 GRUB_DISK_SIZE_UNKNOWN.
20044 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20045
dfbfe004
JS
200462010-05-31 Jiro SEKIBA <jir@unicus.jp>
20047
20048 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20049 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20050 corrupted or not synced properly.
20051
c2ffc8e9
VS
200522010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20055 Reported by: Seth Goldberg.
20056
56293166
VS
200572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20060 addition of dest.
20061 Reported by: Seth Goldberg.
20062
7620e7de
VS
200632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20066 Reported by: Seth Goldberg.
20067
c837af3f
VS
200682010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20071 64-bit address as signed on MIPS.
20072
c7c75cf4
CW
200732010-05-28 Colin Watson <cjwatson@ubuntu.com>
20074
20075 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20076 to the empty string.
20077
fa4b8490
BC
200782010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20079
20080 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20081
20082 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20083 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20084 * kern/misc.c (__enable_execute_stack): Disable on
20085 GRUB_MACHINE_EMU.
20086
a33075b9
CW
200872010-05-28 Colin Watson <cjwatson@ubuntu.com>
20088
20089 Make grub-probe work with symbolic links under /dev/mapper as well
20090 as with real block devices. The Linux world seems to be (at best)
20091 in transition here, and GRUB shouldn't get caught in the middle.
20092
20093 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20094 /dev/mapper.
20095
d8708134
CW
200962010-05-27 Colin Watson <cjwatson@ubuntu.com>
20097
20098 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20099 input files (in which case exit zero).
20100
db2102a0
CW
201012010-05-27 Colin Watson <cjwatson@ubuntu.com>
20102
20103 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20104 return NULL for various reasons even if it has a maximum-length
20105 buffer: for example, there might be a symlink loop, or the path
20106 might exceed PATH_MAX. If this happens, return NULL.
20107
5fdba519
RM
201082010-05-27 Robert Millan <rmh@gnu.org>
20109
20110 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20111 partmap module to handle cross-partmap setups.
20112 Reported by Orestes Mas. Gràcies!
20113
d1d368e4
CW
201142010-05-27 Colin Watson <cjwatson@ubuntu.com>
20115
20116 * util/grub-mkrescue.in: Initialise override_dir rather than
20117 assuming that it's unset or empty in the environment.
20118
95ac3c73
GS
201192010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20120
20121 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20122 variable index into p_index to suppress a warning with -Wshadow.
20123
7d8c0213
BC
201242010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20125
20126 * INSTALL: Added flex >= 2.5.35 requirement.
20127
db4d5813
VS
201282010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20131
f24f4300
VS
201322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 cmostest support.
20135
20136 * commands/i386/cmostest.c: New file.
20137 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20138 (cmostest_mod_SOURCES): New variable.
20139 (cmostest_mod_CFLAGS): Likewise.
20140 (cmostest_mod_LDFLAGS): Likewise.
20141 * conf/i386-pc.rmk: Likewise.
20142 * docs/grub.texi (Vendor power-on keys): New section.
20143 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20144 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20145 and GRUB_BUTTON_CMOS_ADDRESS.
20146 * util/grub.d/00_header.in: Handle powering-on by separate button.
20147
ad603f61
VS
201482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20151 Removed drawing_scrollbar argument. All users updated
20152 Fixes #29792.
20153 Reported by Jo Shields
20154
3ecb080a
VS
201552010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20156
20157 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20158 buffer since gfxterm handles double repaint.
20159
5f2316c1
VS
201602010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20161
20162 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20163 * term/gfxterm.c (real_scroll): Likewise.
20164
9a25f885
VS
201652010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20168 before calling BIOS.
20169
39fbb79a
VS
201702010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 * include/grub/i18n.h: Always enable grub_gettext.
20173
228cfa97
VS
201742010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20177 partition naming style.
20178
21717c8f
CW
201792010-05-21 Colin Watson <cjwatson@ubuntu.com>
20180
20181 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20182 not the first option.
20183
c0f48e65
CW
201842010-05-20 Colin Watson <cjwatson@ubuntu.com>
20185
20186 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20187
96779aec
CW
201882010-05-20 Colin Watson <cjwatson@ubuntu.com>
20189
20190 * util/misc.c: Move inclusion of <limits.h> to ...
20191 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20192
fa9d256e
GS
201932010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20194
20195 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20196 Fix merge error in NetBSD code.
20197 (find_partition_start) [__NetBSD__]: Likewise.
20198
123b7a85
BC
201992010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20200
20201 Fix grub-mkrescue usage unit testing.
20202
20203 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20204
74276c0d
CF
202052010-05-18 Christian Franke <franke@computer.org>
20206
20207 * util/grub.d/10_windows.in: Use path names instead of
20208 drive letters to prevent warning from Cygwin 1.7.
20209 Add drivemap command to menuentry if needed.
20210
c4f7b523
ST
202112010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20212
20213 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20214 gnumach and gnumach.gz.
20215
95b97950
VS
202162010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20217
20218 * include/grub/i18n.h (gettext): Inline instead of using #define.
20219 (grub_gettext): Likewise.
20220 (_): Likewise.
20221
01b8d2d7
VS
202222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20225 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20226 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20227 (main): Add a slash after pkglibdirroot.
20228
654e1d1e
VS
202292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 * util/grub-install.in: Add missing "in" keyword.
20232
26966aeb
VS
202332010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20236 Reported by: Seth Goldberg.
20237
75006747
VS
202382010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20241
74cbf5bd
CW
202422010-05-18 Colin Watson <cjwatson@ubuntu.com>
20243
20244 * configure.ac: Check for Linux device-mapper support.
20245
20246 * util/hostdisk.c (device_is_mapped): New function.
20247 (find_partition_start): New function, partly broken out from
20248 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20249 device-mapper support added.
20250 (linux_find_partition): Use find_partition_start.
20251 (convert_system_partition_to_system_disk): Add `st' argument.
20252 Support Linux /dev/mapper/* devices if device-mapper support is
20253 available; only DM-RAID devices are understood at present.
20254 (find_system_device): Add `st' argument. Pass it to
20255 convert_system_partition_to_system_disk.
20256 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20257 find_system_device and convert_system_partition_to_system_disk. Use
20258 find_partition_start.
20259
20260 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20261 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20262 * util/deviceiter.c [__linux__]: Define MINOR.
20263 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20264 * util/mkdevicemap.c (grub_putchar): New function.
20265 (grub_getkey): New function.
20266 (grub_refresh): New function.
20267 (main): Set debug=all if -v -v is used.
20268
355b51e9
CW
202692010-05-18 Colin Watson <cjwatson@ubuntu.com>
20270
20271 Fix build with non-GNU libcs.
20272
20273 * util/misc.c (canonicalize_file_name): Move to ...
20274 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20275 grub_make_system_path_relative_to_its_root.
20276
7fb5c25f
CW
202772010-05-18 Colin Watson <cjwatson@ubuntu.com>
20278
20279 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20280 we handle finding grub-mkimage. Default to finding grub-mkimage in
20281 ${bindir} with program_transform_name applied, and provide a
20282 --grub-mkimage option to override this.
20283
1d3293d6
VS
202842010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 Remove grub-mkisofs.
20287
20288 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20289 (grub_mkisofs_SOURCES): Removed.
20290 (grub_mkisofs_CFLAGS): Removed.
20291 * util/mkisofs/defaults.h: Removed.
20292 * util/mkisofs/eltorito.c: Likewise.
20293 * util/mkisofs/exclude.h: Likewise.
20294 * util/mkisofs/hash.c: Likewise.
20295 * util/mkisofs/include/: Likewise.
20296 * util/mkisofs/include/fctldefs.h: Likewise.
20297 * util/mkisofs/include/mconfig.h: Likewise.
20298 * util/mkisofs/include/prototyp.h: Likewise.
20299 * util/mkisofs/include/statdefs.h: Likewise.
20300 * util/mkisofs/iso9660.h: Likewise.
20301 * util/mkisofs/joliet.c: Likewise.
20302 * util/mkisofs/match.c: Likewise.
20303 * util/mkisofs/match.h: Likewise.
20304 * util/mkisofs/mkisofs.c: Likewise.
20305 * util/mkisofs/mkisofs.h: Likewise.
20306 * util/mkisofs/msdos_partition.h: Likewise.
20307 * util/mkisofs/multi.c: Likewise.
20308 * util/mkisofs/name.c: Likewise.
20309 * util/mkisofs/rock.c: Likewise.
20310 * util/mkisofs/tree.c: Likewise.
20311 * util/mkisofs/write.c: Likewise.
20312
5dde9afe
VS
203132010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 Unify grub-mkimage accross platforms.
20316
20317 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20318 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20319 (grub_mkelfimage_SOURCES): Removed.
20320 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20321 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20322 (bin_UTILITIES): Add grub-mkimage.
20323 (grub_mkimage_SOURCES): New variable.
20324 (kernel_img_HEADERS): Remove machine/kernel.h.
20325 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20326 (pkglib_PROGRAMS): Add kernel.img.
20327 (kernel_img_HEADERS): Add machine/kernel.h.
20328 (kernel_img_FORMAT): Removed.
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/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20334 (pkglib_PROGRAMS): Add kernel.img.
20335 (bin_UTILITIES): Remove grub-mkimage.
20336 (grub_mkimage_SOURCES): Removed.
20337 (grub_mkimage_CFLAGS): Likewise.
20338 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20339 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20340 (pkglib_PROGRAMS): Add kernel.img.
20341 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20342 (pkglib_PROGRAMS): Add kernel.img.
20343 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20344 (grub_mkimage_SOURCES): Removed.
20345 (grub_mkimage_CFLAGS): Likewise.
20346 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20347 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20348 (pkglib_PROGRAMS): Add kernel.img.
20349 (bin_UTILITIES): Remove grub-mkimage.
20350 (grub_mkimage_SOURCES): Removed.
20351 (grub_mkimage_CFLAGS): Likewise.
20352 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20353 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20354 (grub_mkimage_SOURCES): Removed.
20355 (grub_mkimage_CFLAGS): Likewise.
20356 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20357 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20358 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20359 (grub_pe32_optional_header): ... this.
20360 (grub_pe64_optional_header): ... and this. All users updated.
20361 (GRUB_PE32_PE32_MAGIC): Split into ..
20362 (GRUB_PE32_PE32_MAGIC): .. this.
20363 (GRUB_PE32_PE64_MAGIC): .. and this.
20364 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20365 * include/grub/elf.h (PT_GNU_STACK): New definition.
20366 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20367 * include/grub/i386/efi/kernel.h: Likewise.
20368 * include/grub/i386/kernel.h: Likewise.
20369 * include/grub/i386/pc/kernel.h: Likewise.
20370 * include/grub/i386/qemu/boot.h: Likewise.
20371 * include/grub/mips/kernel.h: Likewise.
20372 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20373 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20374 * include/grub/powerpc/kernel.h: Likewise.
20375 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20376 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20377 * include/grub/sparc64/kernel.h: Likewise.
20378 * include/grub/x86_64/efi/kernel.h: Likewise.
20379 * include/grub/x86_64/kernel.h: Likewise.
20380 * include/grub/offsets.h: New file.
20381 * include/grub/kernel.h (grub_module_info): Split into ...
20382 (grub_module_info32): ... this.
20383 (grub_module_info64): ... and this.
20384 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20385 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20386 (grub_boot_blocklist): Moved from here ...
20387 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20388 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20389 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20390 * include/grub/types.h (grub_target_to_host16): Removed.
20391 (grub_target_to_host32): Likewise.
20392 (grub_target_to_host64): Likewise.
20393 (grub_host_to_target16): Likewise.
20394 (grub_host_to_target32): Likewise.
20395 (grub_host_to_target64): Likewise.
20396 (grub_host_to_target_addr): Likewise.
20397
20398 Support grub-mkrescue for efi, coreboot and qemu.
20399
20400 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20401 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20402 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20403 * util/grub-mkrawimage.c: Moved from here ...
20404 * util/grub-mkimage.c: ... here. All users updated.
20405 (ALIGN_ADDR): Use image_target.
20406 (TARGET_NO_FIELD): New const.
20407 (image_target_desc): New type.
20408 (image_targets): New array.
20409 (grub_target_to_host64): Use image_target.
20410 (grub_target_to_host32): Likewise.
20411 (grub_target_to_host16): Likewise.
20412 (grub_host_to_target64): Likewise.
20413 (grub_host_to_target32): Likewise.
20414 (grub_host_to_target16): Likewise.
20415 (grub_host_to_target_addr): Likewise.
20416 (generate_image): Handle multiimage.
20417 (main): Require -O parameter. All users updated.
20418 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20419 util/efi/grub-mkimage.c
20420 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20421 New option --rom-directory.
20422 Use xorriso.
20423 * util/i386/efi/grub-mkimage.c: Removed.
20424 * util/i386/pc/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 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20431 (grub_target_to_host32): Likewise.
20432 (grub_target_to_host64): Likewise.
20433 (grub_host_to_target16): Likewise.
20434 (grub_host_to_target32): Likewise.
20435 (grub_host_to_target64): Likewise.
20436
f4fc97d0
BC
204372010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20438
20439 Source tree is reorganized for emu build.
20440
20441 * include/grub/util/console.h: Move from here...
20442 * include/grub/emu/console.h: ...to here.
20443 * include/grub/util/getroot.h: Move from here...
20444 * include/grub/emu/getroot.h: ...to here.
20445 * include/grub/util/hostdisk.h: Move from here...
20446 * include/grub/emu/hostdisk.h: ...to here.
20447 * util/console.c: Move from here...
20448 * kern/emu/console.c: ...to here.
20449 * util/getroot.c: Move from here...
20450 * kern/emu/getroot.c: ...to here.
20451 * util/grub-emu.c: Move from here...
20452 * kern/emu/main.c: ...to here.
20453 * util/hostdisk.c: Move from here...
20454 * kern/emu/hostdisk.c: ...to here.
20455 * util/hostfs.c: Move from here...
20456 * kern/emu/hostfs.c: ...to here.
20457 * util/mm.c: Move from here...
20458 * kern/emu/mm.c: ...to here.
20459 * util/pci.c: Move from here...
20460 * bus/emu/pci.c: ...to here.
20461 * util/sdl.c: Move from here...
20462 * video/emu/sdl.c: ...to here.
20463 * util/time.c: Move from here...
20464 * kern/emu/time.c: ...to here.
20465 * util/usb.c: Move from here...
20466 * bus/usb/emu/usb.c: ...to here.
20467
20468 * include/grub/emu/misc.h: New header for grub-emu functions.
20469 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20470
20471 * conf/any-emu.rmk: Rule updates for above renames.
20472 * conf/common.rmk: Likewise.
20473 * conf/i386-pc.rmk: Likewise.
20474 * conf/i386-qemu.rmk: Likewise.
20475 * conf/mips.rmk: Likewise.
20476 * conf/sparc64-ieee1275.rmk: Likewise.
20477 * conf/x86-efi.rmk: Likewise.
20478
20479 * disk/lvm.h: #include updates for above renames.
20480 * util/grub-mkrelpath.c: Likewise.
20481 * util/grub-probe.c: Likewise.
20482 * util/i386/pc/grub-setup.c: Likewise.
20483 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20484 * kern/emu/console.c: Likewise.
20485 * kern/emu/getroot.c: Likewise.
20486 * kern/emu/hostdisk.c: Likewise.
20487 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20488
20489 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20490 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20491 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20492 * util/misc.c: Remove grub-emu functions.
20493
cced9145
VS
204942010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 Fix gfxmenu crash.
20497 Reported by: Thorsten Grützmacher.
20498
20499 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20500 timeout hook.
20501 (circprog_set_property): Register and unregister timeout hook.
20502 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20503 (label_destroy): Free template. and unregister hook.
20504 (label_set_state): New function.
20505 (label_set_property): Handle templates and hooks.
20506 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20507 timeout hook.
20508 (progress_bar_set_property): Register and unregister timeout hook.
20509 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20510 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20511 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20512 (update_timeout_visit): Removed.
20513 (update_timeouts): New function.
20514 (redraw_timeouts): Likewise.
20515 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20516 (grub_gfxmenu_clear_timeout): Likewise.
20517 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20518 (grub_gfxmenu_timeout_notify): Likewise.
20519 (grub_gfxmenu_timeout_notifications): New external variable.
20520 (grub_gfxmenu_timeout_register): New function.
20521 (grub_gfxmenu_timeout_unregister): Likewise.
20522
c6e5caab
VS
205232010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20524
20525 Transform (broken) vga terminal into (working) vga video driver.
20526
20527 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20528 video/i386/pc/vga.c.
20529 * include/grub/video.h (grub_video_driver_id):
20530 Add GRUB_VIDEO_DRIVER_VGA.
20531 * term/i386/pc/vga.c: Renamed to ...
20532 * video/i386/pc/vga.c: ...this
20533 (DEBUG_VGA): Removed.
20534 (CHAR_WIDTH): Likewise.
20535 (CHAR_HEIGHT): Likewise.
20536 (TEXT_WIDTH): Likewise.
20537 (TEXT_HEIGHT): Likewise.
20538 (DEFAULT_FG_COLOR): Likewise.
20539 (DEFAULT_BG_COLOR): Likewise.
20540 (colored_char): Likewise.
20541 (xpos): Likewise.
20542 (ypos): Likewise.
20543 (cursor_state): Likewise.
20544 (fg_color): Likewise.
20545 (bg_color): Likewise.
20546 (text_buf): Likewise.
20547 (page): Likewise.
20548 (font): Likewise.
20549 (framebuffer): New variable.
20550 (set_read_map): Disabled.
20551 (setup): New variable.
20552 (is_target): Likewise.
20553 (grub_vga_mod_init): Likewise.
20554 (grub_vga_mod_fini): Likewise.
20555 (check_vga_mem): Likewise.
20556 (write_char): Likewise.
20557 (write_cursor): Likewise.
20558 (scroll_up): Likewise.
20559 (grub_vga_putchar): Likewise.
20560 (grub_vga_getcharwidth): Likewise.
20561 (grub_vga_getwh): Likewise.
20562 (grub_vga_getxy): Likewise.
20563 (grub_vga_gotoxy): Likewise.
20564 (grub_vga_cls): Likewise.
20565 (grub_vga_setcolorstate): Likewise.
20566 (grub_vga_setcursor): Likewise.
20567 (grub_video_vga_init): New function.
20568 (grub_video_vga_setup): Likewise.
20569 (grub_video_vga_fini): Likewise.
20570 (update_target): Likewise.
20571 (grub_video_vga_blit_bitmap): Likewise.
20572 (grub_video_vga_blit_render_target): Likewise.
20573 (grub_video_vga_set_active_render_target): Likewise.
20574 (grub_video_vga_get_active_render_target): Likewise.
20575 (grub_video_vga_swap_buffers): Likewise.
20576 (grub_video_vga_set_palette): Likewise.
20577 (grub_video_vga_get_info_and_fini): Likewise.
20578 (grub_vga_term): Removed.
20579 (grub_video_vga_adapter): New variable.
20580 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20581 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20582
2bf61a98
VS
205832010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 * video/readers/jpeg.c: Indented.
20586
09ddcd11
VS
205872010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20588
20589 Various jpeg cleanups.
20590
20591 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20592 (grub_jpeg_decode_quan_table): Use sizeof.
20593 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20594
e5507505
PH
205952010-05-05 Peter Hurley <No e-mail available> (tiny change)
20596
20597 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20598 tables. Ignore non-last ac bit.
20599 (grub_jpeg_decode_quan_table): Likewise.
20600
7e720a9b
VS
206012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20604 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20605 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20606 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20607 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20608 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20609
a7fc080b
VS
206102010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20611
20612 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20613 error.
20614
2bf6012d
VS
206152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20616
20617 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20618
265d68cd
VS
206192010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20622 condition.
20623
206242010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20625
20626 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20627 part.
20628
265d68cd 206292010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20630
20631 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20632 pointers.
20633
265d68cd 206342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20635
20636 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20637
d1b61374
CF
206382010-05-01 Christian Franke <franke@computer.org>
20639
20640 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20641 Remove broken Cygwin path conversion.
20642 * util/misc.c: [__CYGWIN__] Add include and define.
20643 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20644 for Cygwin 1.7.
20645 (make_system_path_relative_to_its_root): Simplify loop, replace early
20646 return by break.
20647 [__CYGWIN__] Add conversion to win32 path.
20648 Include "/" case in trailing slash removal.
20649
3558c6e9
VS
206502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20651
20652 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20653 Reported by: Seth Goldberg
20654
f5f3ff93
VS
206552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 * commands/help.c (grub_cmd_help): Fix a typo.
20658 Reported by: Seth Goldberg
20659
d8b5cd40
VS
206602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20661
20662 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20663 name and add N_.
20664 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20665 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20666 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20667 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20668 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20669 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20670 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20671 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20672 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20673 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20674 * normal/context.c (GRUB_MOD_INIT): Likewise.
20675 * normal/main.c (GRUB_MOD_INIT): Likewise.
20676 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20677 * term/serial.c (GRUB_MOD_INIT): Likewise.
20678 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20679
88c14915
VS
206802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20681
20682 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20683 extra == 0.
20684
165134bc
VS
206852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20686
20687 * commands/iorw.c: New file.
20688 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20689 (iorw_mod_SOURCES): New variable.
20690 (iorw_mod_CFLAGS): Likewise.
20691 (iorw_mod_LDFLAGS): Likewise.
20692
c5ac9b32
VS
206932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20694
20695 Hotkey support
20696
20697 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20698 * normal/main.c (hotkey_aliases): New variable.
20699 (grub_normal_add_menu_entry): Parse "--hotkey".
20700 * normal/menu_text.c (run_menu): Handle hotkeys.
20701
ce60689c
VS
207022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * kern/i386/coreboot/init.c (grub_machine_init): Call
20705 grub_machine_mmap_init on qemu.
20706
0359d006
VS
207072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 * boot/i386/qemu/boot.S: Add a missing .code16.
20710
7819a456
VS
207112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 Use LBIO on coreboot.
20714
20715 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20716 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20717 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20718 New declaration.
20719 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20720 grub_machine_mmap_init on coreboot.
20721 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20722 GRUB_LINUXBIOS_MEMBER_LINK.
20723 (grub_machine_mmap_iterate): Fix declaration.
20724 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20725
7210dca9
VS
207262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 Split coreboot and multiboot ports.
20729
20730 * conf/i386-multiboot.rmk: New file.
20731 * configure.ac: Add multiboot port.
20732 * include/grub/i386/multiboot/boot.h: New file.
20733 * include/grub/i386/multiboot/console.h: Likewise.
20734 * include/grub/i386/multiboot/init.h: Likewise.
20735 * include/grub/i386/multiboot/kernel.h: Likewise.
20736 * include/grub/i386/multiboot/loader.h: Likewise.
20737 * include/grub/i386/multiboot/memory.h: Likewise.
20738 * include/grub/i386/multiboot/serial.h: Likewise.
20739 * include/grub/i386/multiboot/time.h: Likewise.
20740 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20741 * loader/multiboot.c: Likewise.
20742 * loader/multiboot_mbi2.c: Likewise.
20743 * util/grub-mkrescue.in: Generate multiboot rescue.
20744
6f8aaf68
VS
207452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20746
3080f7a7
VS
20747 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20748
207492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20752
20753 * commands/terminal.c (abstract_terminal): New struct.
20754 (handle_command): New function. Based on grub_cmd_terminal_input.
20755 (grub_cmd_terminal_input): Use handle_command.
20756 (grub_cmd_terminal_output): Use handle_command.
20757
a8ebb841
BC
207582010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20759
20760 Fix comment handling.
20761
20762 * tests/grub_script_comments.in: New testcase.
20763 * conf/tests.rmk: Rules for new testcase.
20764 * script/yylex.l: Updated flex rules.
20765
bb06ba08
ST
207662010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20767
20768 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20769 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20770 if argc is 1.
bb06ba08 20771
cc9d2425
VS
207722010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20775 autogen issues.
20776
460d8402
CF
207772010-04-26 Christian Franke <franke@computer.org>
20778
20779 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20780 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20781 (grub_get_prefix): Remove function.
20782 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20783 make_system_path_relative_to_its_root ().
20784 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20785
553c01f9
CF
207862010-04-24 Christian Franke <franke@computer.org>
20787
20788 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20789 (kernel_img_LDFLAGS): Remove -static-libgcc.
20790
2aec1692
CF
207912010-04-24 Christian Franke <franke@computer.org>
20792
20793 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20794 and CHECK_END_SYMBOL if grub-emu is built.
20795 Unset TARGET_OBJ2ELF if grub-emu is built
20796 without module support.
20797
f67dc308
JS
207982010-04-24 Jiro SEKIBA <jir@unicus.jp>
20799
20800 Nilfs2 support.
20801
20802 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20803 (grub_fstest_SOURCES): Likewise.
20804 (pkglib_MODULES): Add nilfs2.mod.
20805 (nilfs2_mod_SOURCES): New variable.
20806 (nilfs2_mod_CFLAGS): Likewise.
20807 (nilfs2_mod_LDFLAGS): Likewise.
20808 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20809 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20810 * fs/nilfs2.c: New file.
20811
4ba8d354
VS
208122010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20815 is not supported.
20816
0d2c20c6
GS
208172010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20818
20819 Add grub-mkconfig support for NetBSD.
20820
20821 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20822 * util/grub-mkconfig.in: export new NetBSD specific variables.
20823 * po/POTFILES-shell: added 10_netbsd.in.
20824 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20825
bc4a2d83
BC
208262010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20827
20828 Fix emu build with grub-emu-pci and grub-emu-modules.
20829
20830 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20831 functions.
20832 * include/grub/libpciaccess.h: New file.
20833 * conf/any-emu.rmk: Update kernel headers for emu build.
20834
f48c87aa
VS
208352010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20838
18959385
VS
208392010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20842
0037de3f
VS
208432010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20844
20845 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20846 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20847 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20848 util/ieee1275/ofpath.c.
20849 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20850 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20851 * include/grub/sparc64/ieee1275/boot.h
20852 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20853 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20854 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20855 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20856 const char *.
20857 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20858 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20859 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20860 install.
20861
38e55e90
GS
208622010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20863
20864 * util/grub-mkconfig.in: Corrected two == equality tests.
20865 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20866 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20867 expect a number appended to it.
20868 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20869 expects a number appended to it.
20870
a9e6ff28
VS
208712010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20874
0b830b8f
VS
208752010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 * util/hostdisk.c (make_device_name): Change to new partition naming.
20878
0973daeb
VS
208792010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20880
20881 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20882
460d8402 208832010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20884
20885 * Makefile.in: Add missing localedir setting.
20886
0b456309
CW
208872010-04-14 Colin Watson <cjwatson@ubuntu.com>
20888
20889 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20890 mistake in r2156. Noticed by Anthony Fok.
20891
20892 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20893 @localedir@.
20894 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20895
08f46d62
BC
208962010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20897
20898 Fix a spurious, uninitialized variable warning.
20899
20900 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20901 Initialize variable, shdr.
20902 (grub_freebsd_load_elfmodule): Likewise.
20903 (grub_freebsd_load_elf_meta): Likewise.
20904
8c4a72d4
BC
209052010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20906
20907 Fix for escaped dollar in double quoted strings.
20908
20909 * script/yylex.l: Updated flex rules.
20910 * conf/tests.rmk: Rule for new testcase.
20911 * tests/grub_script_dollar.in: New testcase.
20912
ce44826e
CPE
209132010-04-13 Carles Pina i Estany <carles@pina.cat>
209142010-04-13 Colin Watson <cjwatson@ubuntu.com>
20915
20916 Enclose all translated strings in grub.cfg in single quotes, and
20917 escape them appropriately (Ubuntu bug #552921).
20918
20919 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20920 * util/grub.d/10_hurd.in: Use it.
20921 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20922 * util/grub.d/10_linux.in (linux_entry): Likewise.
20923
4b0cd8f8
VS
209242010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20925
20926 Fix cygwin compilation.
20927
20928 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20929 * include/grub/misc.h (__register_frame_info)
20930 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20931 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20932 * kern/misc.c (__register_frame_info)
20933 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20934 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20935
01fcf061
VS
209362010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20937
20938 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20939
5d04b11e
VS
209402010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20941
20942 Unify libgcc processing.
20943
20944 * Makefile.in (kernel_img_LDFLAGS): New variable.
20945 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20946 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20947 overwriting.
20948 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20949 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20950 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20951 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20952 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20953 overwriting. Remove -lgcc and -static-libgcc
20954 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20955 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20956 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20957 (kernel_img_LDFLAGS): Append instead of overwriting.
20958 Remove -lgcc and -static-libgcc
20959 * conf/sparc64-ieee1275.rmk: Likewise.
20960 * include/grub/powerpc/libgcc.h: Move to ...
20961 * include/grub/libgcc.h: .. this.
20962 * include/grub/libgcc.h: Don't export most of the function on x86.
20963 (__bswapsi2): New export.
20964 (__bswapdi2): Likewise.
20965 * include/grub/mips/libgcc.h: Removed.
20966 * include/grub/sparc64/libgcc.h: Likewise.
20967
b7f3ac29
VS
209682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20971 disk_info_msg (conflicts with gettexting into languages with cases).
20972
2c7031b1
GS
209732010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20974
20975 Add grub-probe support for NetBSD.
20976
20977 * util/getroot.c (find_root_device): Convert block device to
20978 character device on NetBSD.
20979 * util/probe.c (probe): Require character device on NetBSD.
20980 * util/hostdisk.c: NetBSD specific headers.
20981 (configure_device_driver): new function to tune device driver
20982 parameters (currently only for NetBSD floppy driver).
20983 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20984 via disklabel ioctl).
20985 (open_device): call configure_device_driver on NetBSD.
20986 (convert_system_partition_to_system_disk): NetBSD specific code.
20987 (device_is_wholedisk): Likewise.
20988 (grub_util_biosdisk_get_grub_dev): Likewise.
20989 (make_device_name): Fixed a typo in bsd_part_str.
20990 * configure.ac: check for opendisk() and getrawpartition() on
20991 NetBSD and set LIBUTIL.
20992 * Makefile.in: add LIBUTIL to LIBS.
20993
f516290c
BC
209942010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20995
20996 Documentation fix.
20997
20998 * util/grub-script-check.c: Better help message.
20999
d8dcc0df
BC
210002010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
21001
21002 Fix FreeBSD build.
21003
21004 * configure.ac: Flex version check.
21005 * conf/common.rmk: Add -Wno-error to sh.mod.
21006 * script/yylex.l: Remove all #pragma.
21007
6734334a
VS
210082010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21009
21010 * include/grub/util/misc.h (canonicalise_file_name): Add missing
21011 prototype.
21012 Reported by: Seth Goldberg.
21013
daea6abd
VS
210142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21017 Rename "module" to "module2".
21018 Reported by: Seth Goldberg.
21019
f2fd9d2b
VS
210202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21021
21022 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21023 EXPORT_FUNC.
21024 Reported by: Seth Goldberg.
21025
be124579
VS
210262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21027
21028 * lib/posix_wrap/locale.h: Add missing file.
21029 Reported by: Seth Goldberg.
21030
ef5da797
VS
210312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21032
21033 grub-emu module load support.
21034
21035 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21036 NO_DYNAMIC_MODULES switched to this.
21037 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21038 (CFLAGS): Likewise.
21039 * conf/any-emu.rmk: Generate symlist.
21040 (kernel_img_HEADERS): Add util/datetime.h.
21041 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21042 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21043 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21044 kern/$(target_cpu)/cache.S.
21045 * configure.ac (grub-emu-modules): New option.
21046 * genmk.rb: Handle multiple source lists.
21047 * include/grub/sdl.h: New file.
21048 * include/grub/libusb.h: Likewise.
21049 * util/grub-emu.c (main): Hanle (host) root.
21050 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21051 GRUB_ERR_UNKNOWN_DEVICE.
21052 * util/misc.c: Move mm functions to ...
21053 * util/mm.c: ... here. All users updated.
21054
47822096
VS
210552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21058 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21059 missing files.
21060 (maintainer-clean): Remove libgcrypt-grub.
21061
5d7e7445
VS
210622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21063
21064 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21065
25f4e252
EC
210662010-04-09 EFI Coder <eficoder@hotmail.com>
21067
21068 * normal/menu_text.c (print_message): Clean up the message and show
21069 the Fn information when on EFI
21070 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21071
027de555
VS
210722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21073
21074 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21075 All users updated.
21076 * normal/crypto.c (read_crypto_list): Likewise.
21077 * normal/dyncmd.c (read_command_list): Likewise.
21078 * normal/term.c (read_terminal_list): Likewise.
21079 * normal/main.c (read_lists): Use explicit prefix.
21080 (read_lists_hook): Use read_lists.
21081 (grub_normal_execute): Likewise.
21082
47779711
VS
210832010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21086 Reported by: Thomas Schmitt.
21087 Add -no-emul-boot to grub-mkisofs parameters.
21088
1118c32e
VS
210892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21090
21091 * font/font.c: Indented.
21092
7d652447
BC
210932010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21094
21095 Elif support to GRUB script (by Deepak Vankadaru).
21096
21097 * tests/grub_script_if.in: New testcase.
21098 * conf/tests.rmk: Rule for new testcase.
21099 * script/parser.y: Grammar rules for elif.
21100
34bb22df
BC
211012010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21102
21103 While and until loops support to GRUB script.
21104
21105 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21106 (grub_script_create_cmdwhile): New function prototype.
21107 (grub_script_execute_cmdwhile): New function prototype.
21108 * script/execute.c (grub_script_execute_cmdwhile): New function.
21109 * script/parser.y (command): New commands.
21110 (whilecmd): New grammar rule.
21111 (untilcmd): New grammar rule.
21112 * script/script.c (grub_script_create_cmdwhile): New function.
21113 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21114 function.
21115
21116 * tests/grub_script_while1.in: New testcase.
21117 * conf/tests.rmk: Rule for new testcase.
21118
e215d8e0
VS
211192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21122 as *.jpg.
21123
d7c43ba1
MV
211242010-04-09 Mario Vazquez <mariovazq@gmail.com>
21125
21126 GRUB_BACKGROUND support.
21127
21128 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21129 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21130
d64795c0
VS
211312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21132
21133 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21134 Idea by: Mario Vazquez
d64795c0
VS
21135
21136 * util/grub.d/00_header.in: Load pf2 and image modules.
21137
f267f83a
VS
211382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 grub-mkconfig multiple terminal support.
21141
21142 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21143 * util/grub.d/00_header.in: Likewise.
21144
b7841ceb
VS
211452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21148 we use cd $(srcdir).
21149
df60998c
CW
211502010-04-08 Colin Watson <cjwatson@ubuntu.com>
21151
21152 * util/grub.d/10_linux.in: Only use the first word of
21153 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21154 spaces in GRUB_DISTRIBUTOR.
21155 * util/grub.d/10_kfreebsd.in: Likewise.
21156 * util/grub.d/10_hurd.in: Likewise.
21157
fa09c82e
BC
211582010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21159
14e18ae3 21160 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21161
21162 * tests/util/grub-shell.in: Remove -serial stdio option.
21163
daf892b3
BC
211642010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 POSIX header file wrappers.
21167
21168 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21169 equivalents.
21170 * lib/posix_wrap/ctype.h: Likewise.
21171 * lib/posix_wrap/errno.h: Likewise.
21172 * lib/posix_wrap/langinfo.h: Likewise.
21173 * lib/posix_wrap/limits.h: Likewise.
21174 * lib/posix_wrap/localcharset.h: Likewise.
21175 * lib/posix_wrap/stdint.h: Likewise.
21176 * lib/posix_wrap/stdio.h: Likewise.
21177 * lib/posix_wrap/stdlib.h: Likewise.
21178 * lib/posix_wrap/string.h: Likewise.
21179 * lib/posix_wrap/sys/types.h: Likewise.
21180 * lib/posix_wrap/unistd.h: Likewise.
21181 * lib/posix_wrap/wchar.h: Likewise.
21182 * lib/posix_wrap/wctype.h: Likewise.
21183 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21184 (grub_script.yy.h): Likewise.
21185 * script/yylex.l: Remove POSIX emulation #defines.
21186 * Makefile.in (POSIX_CFLAGS): New variable.
21187 (GNULIB_UTIL_CFLAGS): Likewise.
21188
21189 Regexp support.
21190
21191 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21192 (regexp_mod_SOURCES): New variable.
21193 (regexp_mod_CFLAGS): Likewise.
21194 (regexp_mod_LDFLAGS): Likewise.
21195 * commands/regexp.c: New file.
21196 * gnulib/regcomp.c: New file. Imported from gnulib.
21197 * gnulib/regex.c: Likewise.
21198 * gnulib/regex_internal.c: Likewise.
21199 * gnulib/regex_internal.h: Likewise.
21200 * gnulib/regexec.c: Likewise.
21201 * gnulib/regex.h: Likewise.
21202
974ac4f7
VS
212032010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21204
21205 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21206 unsupported video mode types.
21207
2622c3ff
VS
212082010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21209
21210 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21211
064cb524
VS
212122010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21213
21214 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21215 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21216
a8c3b552
VS
212172010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21218
21219 Remove unused grub_vga_get_font.
21220
21221 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21222 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21223
187bbe3d
GS
212242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21225
21226 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21227 * include/grub/misc.h: Likewise.
21228
b9396631
GS
212292010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21230
21231 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21232 for which failure is fatal.
21233
50479feb
GS
212342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21235
21236 * util/grub-install.in: Use mkdir -p to create grub directory.
21237 * util/i386/efi/grub-install.in: Likewise.
21238 * util/ieee1275/grub-install.in: Likewise.
21239
b1654fdf
GS
212402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21241
21242 * Makefile.in (LEX): new variable.
21243
bd5a6415
GS
212442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21245
21246 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21247 `=' and added double quotes on operands of this equality test.
21248
3db3a82b
VS
212492010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21250
21251 * Makefile.in (uninstall): Remove a leftover debug echo.
21252 Reported by: Grégoire Sutre
21253
38023412
VS
212542010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 MIPS multiboot2 support.
21257
21258 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21259 (multiboot2_mod_SOURCES): New variable.
21260 (multiboot2_mod_CFLAGS): Likewise.
21261 (multiboot2_mod_LDFLAGS): Likewise.
21262 (multiboot2_mod_ASFLAGS): Likewise.
21263 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21264 definition.
21265 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21266 (MULTIBOOT_MBI_REGISTER): Likewise.
21267 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21268 (MULTIBOOT_ELF32_MACHINE): Likewise.
21269 (MULTIBOOT_ELF64_MACHINE): Likewise.
21270 * include/grub/mips/multiboot.h: New file.
21271 * include/grub/video.h (grub_video_driver_id): New type
21272 GRUB_VIDEO_DRIVER_SM712.
21273 (grub_video_get_info_and_fini): Export.
21274 (grub_video_get_palette): Likewise.
21275 (grub_video_get_driver_id): Likewise.
21276 * include/multiboot2.h: Resynced with spec.
21277 * loader/i386/multiboot.c: Moved from here ...
21278 * loader/multiboot.c: ... here. All users updated.
21279 (grub_multiboot_boot): Use platform-specific macros.
21280 * loader/i386/multiboot_elfxx.c: Moved from here ...
21281 * loader/multiboot_elfxx.c: ... here. All users updated.
21282 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21283 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21284 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21285
47674667
VS
212862010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 Import gnulib argp module.
21289
21290 * gnulib/argp-ba.c: New file.
21291 * gnulib/argp-eexst.c: Likewise.
21292 * gnulib/argp-fmtstream.c: Likewise.
21293 * gnulib/argp-fmtstream.h: Likewise.
21294 * gnulib/argp-fs-xinl.c: Likewise.
21295 * gnulib/argp-help.c: Likewise.
21296 * gnulib/argp-namefrob.h: Likewise.
21297 * gnulib/argp-parse.c: Likewise.
21298 * gnulib/argp-pin.c: Likewise.
21299 * gnulib/argp-pv.c: Likewise.
21300 * gnulib/argp-pvh.c: Likewise.
21301 * gnulib/argp-version-etc.c: Likewise.
21302 * gnulib/argp-version-etc.h: Likewise.
21303 * gnulib/argp-xinl.c: Likewise.
21304 * gnulib/argp.h: Likewise.
21305
495442ed
VS
213062010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 * kern/device.c (grub_device_iterate): Clear errors after failed
21309 opening device.
21310
f9fd65df
VS
213112010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21312
21313 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21314 returned by firmware.
21315
af09641e
VS
213162010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21317
21318 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21319 compilation on coreboot and qemu
21320
016883a5
VS
213212010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 * include/multiboot2.h: Resync with spec.
21324
f97e1f7d
VS
213252010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21326
21327 Multiboot2 tag support
21328
21329 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21330 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21331 Remove loader/multiboot_loader.c.
21332 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21333 (grub_multiboot2_real_boot): Likewise.
21334 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21335 (grub_get_multiboot_mmap_count): New proto.
21336 (grub_fill_multiboot_mmap): Likewise.
21337 (grub_multiboot_set_video_mode): Likewise.
21338 (grub_multiboot_set_console): Likewise.
21339 (grub_multiboot_load): Likewise.
21340 (grub_multiboot_load_elf): Likewise.
21341 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21342 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21343 * include/multiboot.h: Resynced with specification.
21344 * include/multiboot2.h: Resynced with specification.
21345 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21346 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21347 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21348 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21349 users updated.
21350 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21351 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21352 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21353 Removed.
21354 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21355 Moved from here...
21356 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21357 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21358 Moved from here...
21359 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21360 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21361 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21362 All users updated.
21363 * loader/i386/multiboot_mbi2.c: New file.
21364
3506b90b
VS
213652010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21366
21367 Resync with gnulib.
21368
21369 * Makefile.in (GNULIB_CFLAGS): New variable.
21370 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21371 (grub_script_check_CFLAGS): New variable.
21372 * gnulib/alloca.h: Resync with gnulib.
21373 * gnulib/error.c: Likewise.
21374 * gnulib/error.h: Likewise.
21375 * gnulib/fnmatch.c: Likewise.
21376 * gnulib/fnmatch_loop.c: Likewise.
21377 * gnulib/getdelim.c: Likewise.
21378 * gnulib/getline.c: Likewise.
21379 * gnulib/getopt.c: Likewise.
21380 * gnulib/getopt1.c: Likewise.
21381 * gnulib/getopt_int.h: Likewise.
21382 * gnulib/gettext.h: Likewise.
21383 * gnulib/progname.c: Likewise.
21384 * gnulib/progname.h: Likewise.
21385
394a3120
GS
213862010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21387
21388 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21389 which is the case with --disabled-nls.
21390
21391 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21392 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21393 * util/misc.c: Likewise.
21394 * util/mkisofs/mkisofs.c: Likewise.
21395 * util/mkisofs/mkisofs.h: Likewise.
21396
969d1c78
VS
213972010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21398
21399 Simplify Apple CC support.
21400
21401 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21402 Add 0 byte at the end not to have a symbol with empty target.
21403 * mmap/i386/pc/mmap_helper.S: Likewise.
21404 * genmk.rb: Ignore errors 2030 and 2050.
21405 * kern/i386/pc/startup.S: Use LOCAL when possible.
21406
8d2977bb
BC
214072010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21408
21409 Testcase and the fix for final semicolon on cmdline.
21410
21411 * tests/grub_script_final_semicolon.in: New testcase.
21412 * conf/tests.rmk: Rules for the new testcase.
21413 * script/parser.y: Grammar fix.
21414
a7bd6915
BC
214152010-03-26 BVK Chaitanya <bvk@localhost>
21416
21417 Blank lines testcase for GRUB script.
21418
21419 * tests/grub_script_blanklines.in: New testcase.
21420 * conf/tests.rmk: Rules for the new testcase.
21421
e4ff6628
VS
214222010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 Don't use __FILE__.
21425
21426 * genmk.rb: Add -DGRUB_FILE to all C targets.
21427 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21428 * include/grub/list.h: Likewise.
21429 * include/grub/misc.h: Likewise.
21430 * include/grub/mm.h: Likewise.
21431 * include/grub/test.h: Likewise.
21432 * kern/mm.c: Likewise.
21433 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21434
6a5cf6b6
VS
214352010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21436
21437 Sunpc partitions support.
21438
21439 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21440 (grub_fstest_SOURCES): Likewise.
21441 (pkglib_MODULES): Add part_sunpc.mod.
21442 (part_sunpc_mod_SOURCES): New variable.
21443 (part_sunpc_mod_CFLAGS): Likewise.
21444 (part_sunpc_mod_LDFLAGS): Likewise.
21445 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21446 * partmap/sunpc.c: New file.
21447
746d9045
BC
214482010-03-26 BVK Chaitanya <bvk@localhost>
21449
21450 For loop support to GRUB script.
21451
21452 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21453 (grub_script_create_cmdfor): New function prototype.
21454 (grub_script_execute_cmdfor): New function prototype.
21455 * script/execute.c (grub_script_execute_cmdfor): New function.
21456 * script/parser.y (command): New for command.
21457 (forcmd): New grammar rule.
21458 * script/script.c (grub_script_create_cmdfor): New function.
21459 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21460 function.
21461 * tests/grub_script_for1.in: New testcase.
21462 * conf/tests.rmk: Rules for new testcase.
21463
18486b18
VS
214642010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 Nested partitions
21467
21468 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21469 'partition' is NULL, grub_partition_get_start already does that.
21470 * commands/loadenv.c (check_blocklists): Likewise.
21471 (write_blocklists): Likewise.
21472 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21473 (grub_fstest_SOURCES): Likewise.
21474 (pkglib_MODULES): Add part_bsd.mod.
21475 (part_bsd_mod_SOURCES): New variable.
21476 (part_bsd_mod_CFLAGS): Likewise.
21477 (part_bsd_mod_LDFLAGS): Likewise.
21478 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21479 (grub_emu_SOURCES): Likewise.
21480 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21481 * include/grub/bsdlabel.h: New file.
21482 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21483 'get_name'.
21484 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21485 (grub_partition_map_list): New variable.
21486 (grub_partition_map_register): Inline.
21487 (grub_partition_map_unregister): Likewise.
21488 (FOR_PARTITION_MAPS): New macro.
21489 (grub_partition_map_iterate): Removed.
21490 (grub_partition_get_start): Handle nested partitions.
21491 * include/grub/msdos_partition.h: Remove bsd-related entries.
21492 (grub_pc_partition): Remove.
21493 * kern/disk.c (grub_disk_close): Free partition data.
21494 (grub_disk_adjust_range): Handle nested partitions.
21495 * kern/partition.c (grub_partition_map_probe): New function.
21496 (grub_partition_probe): Parse name to number, handle subpartitions.
21497 (get_partmap): New function.
21498 (grub_partition_iterate): Handle subpartitions.
21499 (grub_partition_get_name): Likewise.
21500 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21501 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21502 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21503 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21504 Set 'number'.
21505 (acorn_partition_map_probe): Remove.
21506 (acorn_partition_map_get_name): Likewise.
21507 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21508 Set 'number'.
21509 Set 'index' to 0 since there can be only one partition entry per sector.
21510 (amiga_partition_map_probe): Remove.
21511 (amiga_partition_map_get_name): Likewise.
21512 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21513 Set 'number'.
21514 Set 'offset' and 'index' to real positions of partitions.
21515 (apple_partition_map_probe): Remove.
21516 (apple_partition_map_get_name): Likewise.
21517 * partmap/bsdlabel.c: New file.
21518 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21519 Set 'number'.
21520 Allocate 'data' so it can be correctly freed.
21521 Set 'index' to offset inside sector.
21522 (gpt_partition_map_probe): Remove.
21523 (gpt_partition_map_get_name): Likewise.
21524 * partmap/msdos.c (grub_partition_parse): Remove.
21525 (pc_partition_map_iterate): Don't force raw access.
21526 Set 'number'.
21527 Make 'ext_offset' a local variable.
21528 (pc_partition_map_probe): Remove.
21529 (pc_partition_map_get_name): Remove.
21530 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21531 Set 'number'.
21532 (sun_partition_map_probe): Remove.
21533 (sun_partition_map_get_name): Likewise.
21534 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21535 (grub_pcpart_type): Likewise.
21536 * util/hostdisk.c (open_device): Handle new numbering scheme.
21537 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21538 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21539 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21540 * util/grub-install.in: Insert all subpartition modules.
21541 * util/ieee1275/grub-install.in: Likewise.
21542
a3940f88
AG
215432010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21544
21545 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21546 grammar.
21547
21b99926 215482010-03-24 Colin Watson <cjwatson@ubuntu.com>
21549
21550 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21551
bed1d352
CW
215522010-03-21 Colin Watson <cjwatson@ubuntu.com>
21553
21554 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21555 match where 'make install' puts them.
21556 * util/i386/efi/grub-install.in: Likewise.
21557
c9f58427
CW
215582010-03-19 Colin Watson <cjwatson@ubuntu.com>
21559
21560 * .bzrignore: Add gentrigtables, grub-script-check,
21561 grub_script_check_init.c, grub_script_check_init.h, and
21562 trigtables.c.
21563
f84afb27
VS
215642010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 * kern/parser.c: Indented.
21567
ed0e3d30
VS
215682010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21571
0ea81d98
VS
215722010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21573
21574 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21575 alpha_mask_size == 0 case.
21576
0cdc2a09
BC
215772010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21578
21579 GRUB shell lexer and parser improvements.
21580
21581 * conf/any-emu.rmk: Build rule updates.
21582 * conf/common.rmk: Likewise.
21583 * conf/i386-coreboot.rmk: Likewise.
21584 * conf/i386-efi.rmk: Likewise.
21585 * conf/i386-ieee1275.rmk: Likewise.
21586 * conf/i386-pc.rmk: Likewise.
21587 * conf/powerpc-ieee1275.rmk: Likewise.
21588 * conf/x86_64-efi.rmk: Likewise.
21589
21590 * configure.ac: Configure check for flex.
21591
21592 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21593 types.
21594 (grub_lexer_param): Struct member updates.
21595 (grub_parser_param): Likewise.
21596 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21597 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21598 (grub_script_lexer_init): Prototype update.
21599 (grub_script_lexer_record_start): Likewise.
21600 (grub_script_lexer_record_stop): Likewise.
21601 (grub_script_lexer_yywrap): New function prototype.
21602 (grub_script_lexer_fini): Likewise.
21603 (grub_script_execute_argument_to_string): Removed by...
21604 (grub_script_execute_argument_to_argv): ...better version.
21605
21606 * script/execute.c (ROUND_UPTO): New macro.
21607 (grub_script_execute_cmdline): Out of memory fixes.
21608 (grub_script_execute_menuentry): Likewise.
21609 (grub_script_execute_argument_to_string): Removed. Update all
21610 users by...
21611 (grub_script_execute_argument_to_argv): ...better version.
21612 * script/function.c (grub_script_function_create): Use
21613 grub_script_execute_argument_to_argv instead of
21614 grub_script_execute_argument_to_string.
21615
21616 * script/lexer.c (check_varstate): Removed.
21617 (check_textstate): Removed.
21618 (grub_script_lexer_record_start): Likewise.
21619 (grub_script_lexer_record_stop): Likewise.
21620 (recordchar): Replaced with...
21621 (grub_script_lexer_record): ...new function.
21622 (nextchar): Removed.
21623 (grub_script_lexer_init): Rewritten.
21624 (grub_script_yylex): Rewritten.
21625 (append_newline): New function.
21626 (grub_script_lexer_yywrap): New function.
21627 (grub_script_lexer_fini): New function.
21628 (grub_script_yyerror): Sets error flag.
21629
21630 * script/yylex.l: New file.
21631 (grub_lexer_yyfree): Wrapper for flex yyffre.
21632 (grub_lexer_yyalloc): Likewise.
21633 (grub_lexer_yyrealloc): Likewise.
21634 * script/parser.y: Refactored.
21635
21636 * script/script.c (grub_script_arg_add): Out of memory fixes.
21637 (grub_script_add_arglist): Likewise.
21638 (grub_script_create_cmdline): Likewise.
21639 (grub_script_create_cmdmenu): Likewise.
21640 (grub_script_add_cmd): Likewise.
21641 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21642 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21643 unnecessary code.
21644
21645 * tests/grub_script_echo1.in: New testcase.
21646 * tests/grub_script_vars1.in: New testcase.
21647 * tests/grub_script_echo_keywords.in: New testcase.
21648
1d63a066
VS
216492010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 Remove some redundancy in build system.
21652
21653 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21654 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21655 (TARGET_LDFLAGS): Add -nostdlib.
21656 (TARGET_IMG_LDFLAGS): Likewise.
21657 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21658 anything since mmap isn't available.
21659 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21660 Add util/time.c.
21661 (pkglib_MODULES): Remove reboot.mod.
21662 (reboot_mod_SOURCES): Removed.
21663 (reboot_mod_CFLAGS): Likewise.
21664 (reboot_mod_LDFLAGS): Likewise.
21665 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21666 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21667 (DEFSYMFILES): Add kernel_syms.lst.
21668 (kernel_img_HEADERS): Add common headers.
21669 (symlist.c): New target.
21670 (kernel_syms.lst): Likewise.
21671 (pkglib_MODULES): Add memdisk.mod.
21672 (memdisk_mod_SOURCES): New variable.
21673 (memdisk_mod_CFLAGS): Likewise.
21674 (memdisk_mod_LDFLAGS): Likewise.
21675 (pkglib_MODULES): Add reboot.mod.
21676 (reboot_mod_SOURCES): New variable.
21677 (reboot_mod_CFLAGS): Likewise.
21678 (reboot_mod_LDFLAGS): Likewise.
21679 (pkglib_MODULES): Add date.mod.
21680 (date_mod_SOURCES): New variable.
21681 (date_mod_CFLAGS): Likewise.
21682 (date_mod_LDFLAGS): Likewise.
21683 (pkglib_MODULES): Add datehook.mod.
21684 (datehook_mod_SOURCES): New variable.
21685 (datehook_mod_CFLAGS): Likewise.
21686 (datehook_mod_LDFLAGS): Likewise.
21687 (pkglib_MODULES): Add lsmmap.mod.
21688 (lsmmap_mod_SOURCES): New variable.
21689 (lsmmap_mod_CFLAGS): Likewise.
21690 (lsmmap_mod_LDFLAGS): Likewise.
21691 (pkglib_MODULES): Add boot.mod.
21692 (boot_mod_SOURCES): New variable.
21693 (boot_mod_CFLAGS): Likewise.
21694 (boot_mod_LDFLAGS): Likewise.
21695 * conf/i386-coreboot.rmk: Removed redundant parts.
21696 * conf/i386-ieee1275.rmk: Likewise.
21697 * conf/i386-pc.rmk: Likewise.
21698 * conf/mips-yeeloong.rmk: Likewise.
21699 * conf/mips.rmk: Likewise.
21700 * conf/powerpc-ieee1275.rmk: Likewise.
21701 * conf/sparc64-ieee1275.rmk: Likewise.
21702 * conf/x86_64-efi.rmk: Likewise.
21703 * conf/i386-coreboot.rmk: Moved qemu parts ..
21704 * conf/i386-qemu.rmk: ... here
21705 * conf/i386-efi.rmk: Moved common parts to...
21706 * conf/x86-efi.rmk: ... here.
21707 * conf/i386.rmk: Added modules common to all x86 variants.
21708 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21709 * disk/memdisk.c: Remove grub/machine/kernel.h.
21710 * gensymlist.sh.in: Include symbol.h.
21711 * hook/datehook.c: Correct module name.
21712 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21713 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21714 * include/grub/i386/efi/serial.h: New file.
21715 * include/grub/x86_64/efi/serial.h: Likewise.
21716 * util/time.c: Likewise.
21717 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21718
463ac55f
CK
217192010-03-14 Colin King <colin.king@ubuntu.com>
217202010-03-14 Colin Watson <cjwatson@ubuntu.com>
21721
21722 Shrink the pre-partition-table part of boot.img by eight bytes.
21723
21724 * boot/i386/pc/boot.S (ERR): New macro.
21725 (chs_mode): Use ERR.
21726 (geometry_error): Likewise.
21727 (hd_probe_error): Remove. This is only used once, so we wrwite
21728 it inline instead.
21729 (read_error): Instead of printing read_error_string, just set up
21730 %si and fall through to ...
21731 (error_message): ... this new function, also used by ERR.
21732
08e46ede
CW
217332010-03-14 Colin Watson <cjwatson@ubuntu.com>
21734
21735 Speed up consecutive hostdisk operations on the same device.
21736
21737 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21738 (grub_util_biosdisk_open): Initialise disk->data.
21739 (struct linux_partition_cache): New structure.
21740 (linux_find_partition): Cache partition start positions; these are
21741 expensive to compute on every read and write.
21742 (open_device): Cache open file descriptor in disk->data, so that we
21743 don't have to reopen it and flush the buffer cache for consecutive
21744 operations on the same device.
21745 (grub_util_biosdisk_close): New function.
21746 (grub_util_biosdisk_dev): Set `close' member.
21747
21748 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21749 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21750 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21751 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21752 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21753
4a6d2d06
VS
217542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 Compile parts of grub-emu as modules.
21757
21758 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21759 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21760 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21761 (all-local): Add $(GRUB_EMU).
21762 (install-local): Install $(GRUB_EMU).
21763 (uninstall): Uninstall $(GRUB_EMU).
21764 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21765 * kern/dl.c: Likewise.
21766 * commands/sleep.c: Not include machine/time.h.
21767 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21768 (COMMON_CFLAGS): Likewise.
21769 (sbin_UTILITIES): Remove grub-emu.
21770 (grub_emu_SOURCES): Removed.
21771 (kernel_img_RELOCATABLE): New variable.
21772 (pkglib_PROGRAMS): Add kernel.img.
21773 (kernel_img_SOURCES): New variable
21774 (kernel_img_CFLAGS): Likewise.
21775 (kernel_img_LDFLAGS): Likewise.
21776 (TARGET_NO_STRIP): Likewise.
21777 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21778 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21779 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21780 (grub-emu): New target.
21781 (GRUB_EMU): New variable.
21782 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21783 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21784 * loader/xnu.c: Likewise.
21785 * include/grub/pci.h: Likewise.
21786 * genemuinit.sh: New file.
21787 * genemuinitheader.sh: Likewise.
21788 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21789 Support TARGET_NO_DYNAMIC_MODULES.
21790 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21791 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21792 * disk/loopback.c: Likewise.
21793 * font/font_cmd.c: Likewise.
21794 * partmap/acorn.c: Likewise.
21795 * partmap/amiga.c: Likewise.
21796 * partmap/apple.c: Likewise.
21797 * partmap/gpt.c: Likewise.
21798 * partmap/msdos.c: Likewise.
21799 * partmap/sun.c: Likewise.
21800 * parttool/msdospart.c: Likewise.
21801 * term/gfxterm.c: Likewise.
21802 * video/bitmap.c: Likewise.
21803 * video/readers/jpeg.c: Likewise.
21804 * video/readers/png.c: Likewise.
21805 * video/readers/tga.c: Likewise.
21806 * video/video.c: Likewise.
21807 * util/grub-emu.c (read_command_list): Removed.
21808 (main): Don't call util_init_nls.
21809 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21810 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21811
91fdd2ed
VS
218122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21815 date.mod, datehook.mod.
21816 (datetime_mod_SOURCES): New variable.
21817 (datetime_mod_CFLAGS): Likewise.
21818 (datetime_mod_LDFLAGS): Likewise.
21819 (date_mod_SOURCES): Likewise.
21820 (date_mod_CFLAGS): Likewise.
21821 (date_mod_LDFLAGS): Likewise.
21822 (datehook_mod_SOURCES): Likewise.
21823 (datehook_mod_CFLAGS): Likewise.
21824 (datehook_mod_LDFLAGS): Likewise.
21825 * conf/sparc64-ieee1275.rmk: Likewise.
21826 * lib/ieee1275/datetime.c: New file.
21827
873ccae6
VS
218282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21829
21830 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21831 (ieee1275_fb_mod_SOURCES): New variable.
21832 (ieee1275_fb_mod_CFLAGS): Likewise.
21833 (ieee1275_fb_mod_LDFLAGS): Likewise.
21834 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21835 New proto.
21836 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21837 (HEAP_MAX_ADDR): Likewise.
21838 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21839 type.
21840 Correct stop condition.
21841 (grub_ieee1275_devices_iterate): New function.
21842 * video/ieee1275.c: New file.
21843
601c97c0
VS
218442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21847
21848 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21849 as scratch.
21850 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21851 SCRATCH_PAD_DISKBOOT as scratch.
21852 (bootit): Pass Openfirmware pointer in %o4.
21853 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21854 of 0x200000.
21855 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21856 with util/grub-mkrawimage.c.
21857 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21858 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21859 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21860 (grub_aout_load) [GRUB_UTIL]: Likewise.
21861 * include/grub/kernel.h (grub_modules_get_end): New proto.
21862 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21863 (SCRATCH_PAD_BOOT): New definition.
21864 (SCRATCH_PAD_DISKBOOT): Likewise.
21865 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21866 * include/grub/sparc64/ieee1275/ieee1275.h
21867 (grub_ieee1275_original_stack): New variable
21868 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21869 New definition
21870 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21871 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21872 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21873 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21874 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21875 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21876 (grub_platform_image_format_t): New type.
21877 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21878 * kern/main.c (grub_modules_get_end)
21879 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21880 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21881 (codestart): Switch stacks.
21882 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21883 variable.
21884 (grub_heap_init): Use grub_modules_get_end.
21885 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21886 stack.
21887 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21888 (main): Likewise.
21889 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21890
d68b491e
TG
218912010-03-14 Thorsten Glaser <tg@mirbsd.org>
21892
21893 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21894
4e02ed50
MK
218952010-03-08 Matt Kraai <kraai@ftbfs.org>
21896
21897 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21898 bug #559005).
21899
1f15fc1e
VS
219002010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21901
21902 * genmoddep.awk: Output all missing symbols and not only first.
21903
fce5d8ff
VS
219042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21905
21906 * NEWS: Put the date of 1.98 release.
21907
d1e8a02f
VS
219082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21909
21910 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21911 ft2build.h.
21912
696fd607
VS
219132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21914
21915 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21916 completition in the middle of string.
21917
33e2e6f3
VS
219182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21919
21920 * util/grub-mkrescue.in: Use mktemp with explicit template.
21921
b1f6d291
VS
219222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21925
2ac227c7
VS
219262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21929 right pointer.
21930
8f9a632b
VS
219312010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21932
21933 Fix FreeBSD compilation.
21934
21935 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21936 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21937
60b03859
VS
219382010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21939
21940 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21941
48a5a769
VS
219422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21943
21944 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21945
3ab4bd77
VS
219462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21949
d116e0d8
RM
219502010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21951
21952 Support relative image path in theme file.
21953
21954 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21955 (image_set_property): Handle theme_dir and relative path.
21956
c7ef54aa
VS
219572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21958
21959 * configure.ac: Alias amd64 to x86_64.
21960
fcee14ed
VS
219612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * NEWS: mention multiboot on EFI.
21964
d0780363
VS
219652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21966
21967 * kern/main.c (grub_load_modules): Handle errors from init functions of
21968 embeded modules.
21969
41168ea4
VS
219702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21971
21972 * normal/autofs.c (autoload_fs_module): Handle errors.
21973
b54d93ac
VS
219742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21975
21976 Disable linux.mod on qemu-mips since it's not functional and leads
21977 to compilation failure.
21978
21979 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21980 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21981 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21982 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21983 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21984 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21985 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21986 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21987 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21988 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21989 Reported by: BVK Chaitanya
21990
fc8345da
JU
219912010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21992
21993 * INSTALL: Add gettext as a dependency and add qemu to a new section
21994 "Prerequisites for make-check".
21995
4760f979
CF
219962010-03-04 Christian Franke <franke@computer.org>
21997
21998 * util/grub-pe2elf.c: Add missing include "progname.h".
21999
f209b5b2
VS
220002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 * normal/crypto.c (read_crypto_list): Fix a typo.
22003 Reported by: Seth Goldberg.
22004
b4b7be98
VS
220052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 22008 Reported by: Seth Goldberg.
b4b7be98 22009
c0ee0385
VS
220102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22011
22012 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
22013 ascii.bitmaps.
22014
a8efbf64
VS
220152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22016
22017 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 22018 Reported by: Seth Goldberg.
a8efbf64 22019
08dcd913
VS
220202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 * util/i386/efi/grub-install.in: Copy gettext files.
22023
c4d0b332
VS
220242010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22027
c6f2fe52
VS
220282010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22029
22030 Wait for user entry basing on presence of output rather than on errors.
22031
22032 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22033 (grub_install_newline_hook): Likewise.
22034 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22035 * normal/menu.c (show_menu): Check line_counter to determine presence
22036 of output.
22037 * normal/term.c (grub_normal_line_counter): New variable.
22038 (grub_normal_get_line_counter): New function.
22039 (grub_install_newline_hook): Likewise.
22040
5382b1e4
VS
220412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22044
5519963b
VS
220452010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 * configure.ac: Update version to 1.98.
22048
72b28631
VS
220492010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22050
22051 * util/grub.d/10_linux.in (linux_entry): Don't default to
22052 gfxpayload=keep if Linux doesn't support video handover.
22053
c140a180
VS
220542010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22055
22056 Don't compile video modules on yeeloong since video subsystem is part
22057 of kernel.
22058
22059 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22060 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22061 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22062 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22063 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22064 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22065 * include/grub/bitmap_scale.h: Likewise.
22066 * include/grub/bufio.h: Likewise.
22067 * include/grub/font.h: Likewise.
22068 * include/grub/gfxterm.h: Likewise.
22069 * include/grub/video.h: Likewise.
22070 * include/grub/vbe.h: Don't include video_fb.h.
22071 * video/i386/pc/vbe.c: Include video_fb.h.
22072 * commands/i386/pc/vbetest.c: Include video.h.
22073
a0ca21c2
CW
220742010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22075
22076 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22077 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22078 default entry if GRUB_SAVEDEFAULT=true. This allows using
22079 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22080 saving a new default on every boot.
22081
4a8a763c
VS
220822010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22085 * normal/term.c (read_terminal_list): Likewise.
22086 * normal/main.c (grub_normal_init_page): Likewise.
22087 (grub_normal_read_line_real): Likewise.
22088
607ffde2
VS
220892010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22090
22091 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22092 memory leak.
22093 Reported by: Seth Goldberg.
22094
2b8fa975
CW
220952010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22096
22097 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22098 duplicate declaration of `start'.
22099
618307dd
VS
221002010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22103 filename.
22104 Reported by: Georgy Buranov
22105
7dd05b96 221062010-02-20 Carles Pina i Estany <carles@pina.cat>
22107
22108 * util/grub-mkrawimage.c (usage): Change string formatting to
22109 improve gettext.
22110
d1484a42
MRA
221112010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22112
22113 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22114 backspace keys.
22115
42b1d186
VS
221162010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22119 Reported by: Michael Suchanek.
22120
221212010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22122
22123 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22124 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22125
d9f31a41
VS
221262010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22127
22128 Remove any reference to non-free fonts.
22129
22130 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22131 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22132 uses non-free components.
22133 * font/font.c (grub_font_get_name): Remove example name.
22134 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22135 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22136 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22137 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22138
2793c71e
GB
221392010-02-16 Georgy Buranov <gburanov@gmail.com>
22140
22141 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22142
402e3779
VS
221432010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22146 Double divisor.
22147 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22148 features.
22149 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22150
0dd1e0dd
VS
221512010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22152
22153 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22154
6fa7cfce
ST
221552010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22156
22157 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22158 * docs/grub.texi (Command-line and menu entry commands): Document play
22159 command.
22160
37c8483b
ST
221612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22162
22163 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22164 parse arguments as inline tempo and notes. Move code for playing notes
22165 to...
22166 (play): ... new function.
22167
14da0fb7
ST
221682010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22169
22170 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22171 grub_uint16_t instead of short.
22172 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22173 disk from little endian to cpu endianness.
22174
04459e70
ST
221752010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22176
22177 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22178 GRUB_TICKS_PER_SECOND instead of 120.
22179
a0876943
VS
221802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22183 escape sequence after \e.
22184
e29f95dc
VS
221852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22188 non-ASCII characters.
22189
d27859b2
VS
221902010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22193 set root in single quotes to prevent \, from being unescaped.
22194
bc028f2f
VS
221952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 Prevent unknown commands from stopping menuentry execution.
22198
22199 * script/execute.c (grub_script_execute_cmdline): Print error after
22200 unknown command.
22201
095f5f82
VS
222022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22203
22204 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22205 Reported by: Pavel Pisa.
22206
8c717950
VS
222072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22208
22209 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22210
904935c3
VS
222112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22212
22213 Merge grub_ieee1275_map_physical into grub_map and rename to
22214 grub_ieee1275_map
22215
22216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22217 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22218 Remove.
22219 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22220 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22221 necessary.
22222 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22223
5b59a4e3
VS
222242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22225
22226 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22227 opening and not after.
22228
69e137e8
VS
222292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22230
22231 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22232 constants.
22233
2c0fcc36
VS
222342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22235
22236 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22237 (alloc_phys): Use ALIGN_UP instead of align_addr.
22238
8c6052ce
VS
222392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22242
17cec782
VS
222432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22244
22245 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22246
e0128bbd
VS
222472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22248
22249 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22250 verbose dprintf.
22251
ca62070b
VS
222522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22253
22254 Fix over-4GiB seek on sparc64.
22255
22256 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22257 Replace pos_i and pos_lo with pos. All users updated.
22258 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22259 New constant.
22260 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22261 Likewise.
22262 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22263 and pos_lo.
22264
bdca2607
VS
222652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22266
22267 * util/grub-mkrawimage.c (main): Call set_program_name.
22268
da278c4d
VS
222692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 Properly align 64-bit targets.
22272
22273 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22274 (generate_image): Use ALIGN_ADDR.
22275
b274d734
VS
222762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22277
22278 Properly create cross-endian images.
22279
22280 * include/grub/types.h (grub_host_to_target_addr): New macro
22281 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22282
82da2062
VS
222832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22286
7cae4377
VS
222872010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22290
22291 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22292 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22293 (grub_linux_boot): Divide by 64K when on VESA.
22294
65a533e7
VS
222952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 Support GRUB_GFXPAYLOAD_LINUX.
22298
22299 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22300 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22301
dd01d397
VS
223022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22303
22304 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22305 to show messages instead of discarding them.
22306 Process errors after executing command and not before. Keep old method
22307 too as precaution.
22308
660960d6
VS
223092010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22310
22311 * configure.ac: Check for ft2build.h.
22312
62509f04
VS
223132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22316
473df63d
VS
223172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22318
22319 * genkernsyms.sh.in: Use TARGET_CC.
22320
c98d2a13
CW
223212010-02-07 Colin Watson <cjwatson@ubuntu.com>
22322
22323 * NEWS: Update.
22324
6e14234c
VS
223252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22326
22327 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22328 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22329 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22330
b255e9cf
YB
223312010-02-07 Yves Blusseau <blusseau@zetam.org>
22332
6e14234c 22333 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22334
98e6959d
VS
223352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22336
22337 Fix warnings in grub-emu when compiling with maximum warning options.
22338
22339 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22340 (grub_arch_modules_addr): Return 0 and not NULL.
22341 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22342 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22343 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22344 of disk to dsk to avoid shadowing.
74e4934e
VS
22345 (find_free_slot): Fix prototype.
22346 * util/getroot.c (grub_util_is_dmraid): Make static.
22347 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22348 Add missing prototype.
22349 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22350
74e31b5c
VS
223512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22352
22353 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22354 appropriately.
22355
6b2ad14b
VS
223562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22357
22358 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22359 code out.
22360
8f891adc
VS
223612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22364 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22365 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22366 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22367 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22368 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22369
74b45184
VS
223702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * include/grub/err.h (grub_err_printf): Don't export.
22373
a4bced77
VS
223742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22375
22376 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22377
007d0695
VS
223782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22381 * kern/misc.c (grub_gettext_dummy): Make static.
22382
b6c0d9c2
VS
223832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22386 by non-valid ones.
22387 * kern/term.c (grub_putchar): Likewise.
22388
f51a90d0
VS
223892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22392 buggy hook call and memory leak.
22393
6846cec5
VS
223942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22395
22396 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22397
468d69fe
VS
223982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22399
22400 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22401
51906b8c
VS
224022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22405 modevar.
22406 Return grub_errno on allocation error.
22407
09706ce5
VS
224082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22409
22410 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22411
911df80c
YB
224122010-02-06 Yves Blusseau <blusseau@zetam.org>
22413
22414 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22415 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22416
3746a6bc
VS
224172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22418
22419 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22420 non-pxe disk.
22421 (grub_pxefs_open): Likewise.
22422
09706ce5
VS
224232010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22424
22425 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22426 * util/grub.d/10_kfreebsd.in: Likewise.
22427 * util/grub.d/10_linux.in: Likewise.
22428
7cc192d9
VS
224292010-02-06 Colin D Bennett <colin@gibibit.com>
22430
22431 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22432 (gfxmenu_mod_SOURCES): New variable.
22433 (gfxmenu_mod_CFLAGS): Likewise.
22434 (gfxmenu_mod_LDFLAGS): Likewise.
22435 * include/grub/term.h (grub_term_set_current_output): Declare
22436 argument as const.
22437 * docs/gfxmenu-theme-example.txt: New file.
22438 * gfxmenu/gfxmenu.c: Likewise.
22439 * gfxmenu/gui_box.c: Likewise.
22440 * gfxmenu/gui_canvas.c: Likewise.
22441 * gfxmenu/gui_circular_progress.c: Likewise.
22442 * gfxmenu/gui_image.c: Likewise.
22443 * gfxmenu/gui_label.c: Likewise.
22444 * gfxmenu/gui_list.c: Likewise.
22445 * gfxmenu/gui_progress_bar.c: Likewise.
22446 * gfxmenu/gui_string_util.c: Likewise.
22447 * gfxmenu/gui_util.c: Likewise.
22448 * gfxmenu/icon_manager.c: Likewise.
22449 * gfxmenu/model.c: Likewise.
22450 * gfxmenu/named_colors.c: Likewise.
22451 * gfxmenu/theme_loader.c: Likewise.
22452 * gfxmenu/view.c: Likewise.
22453 * gfxmenu/widget-box.c: Likewise.
22454 * include/grub/gfxmenu_model.h: Likewise.
22455 * include/grub/gfxmenu_view.h: Likewise.
22456 * include/grub/gfxwidgets.h: Likewise.
22457 * include/grub/gui.h: Likewise.
22458 * include/grub/gui_string_util.h: Likewise.
22459 * include/grub/icon_manager.h: Likewise.
22460
224612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22462
22463 Agglomerate scrolling in gfxterm.
22464
22465 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22466 (grub_virtual_screen_setup): Initialise 'total_screen'.
22467 (write_char): Split to ...
22468 (paint_char): ... this ...
22469 (write_char): ... and this.
22470 (paint_char): Handle delayed scrolling.
22471 (draw_cursor): Likewise.
22472 (scroll_up): Split to ...
22473 (real_scroll): ... this ...
22474 (scroll_up): ... and this.
22475 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22476 characters.
22477 (grub_gfxterm_refresh): Call real_scroll.
22478
224792010-02-06 Colin D Bennett <colin@gibibit.com>
22480
22481 * include/grub/misc.h (grub_iscntrl): New inline function.
22482 (grub_isalnum): Likewise.
22483 (grub_strtol): Likewise.
22484
224852010-02-06 Colin D Bennett <colin@gibibit.com>
22486
22487 * normal/menu_text.c (get_entry_number): Move from here ...
22488 * normal/menu.c (get_entry_number): ... moved here.
22489 * include/grub/menu.h (grub_menu_get_default_entry_index):
22490 New prototype.
22491 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22492 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22493 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22494 (grub_menu_viewer_should_return): Likewise.
22495 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22496 * normal/menu_text.c (run_menu): Enable menu switching.
22497 * normal/menu_viewer.c (should_return): New variable.
22498 (menu_viewer_changed): Likewise.
22499 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22500 (grub_menu_viewer_should_return): New function.
22501 (menuviewer_write_hook): Likewise.
22502 (grub_menu_viewer_init): Likewise.
22503
225042010-02-06 Colin D Bennet <colin@gibibit.com>
225052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 Support for gfxterm in a window.
22508
22509 * include/grub/gfxterm.h: New file.
22510 * include/grub/video.h (struct grub_video_rect): New declaration.
22511 (grub_video_rect_t): Likewise.
22512 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22513 (refcount): New variable.
22514 (render_target): Likewise.
22515 (window): Likewise.
22516 (repaint_callback): Likewise.
22517 (grub_virtual_screen_setup): Use 'render_target'.
22518 (init_window): New function.
22519 (grub_gfxterm_init_window): Likewise.
22520 (grub_gfxterm_init): Check reference counter.
22521 Use init_window.
22522 (destroy_window): New function.
22523 (grub_gfxterm_destroy_window): Likewise.
22524 (grub_gfxterm_fini): Check reference counter.
22525 Use destroy_window.
22526 (redraw_screen_rect): Restore viewport.
22527 Use 'render_target' and 'window'.
22528 Call 'repaint_callback'.
22529 (write_char): Use 'render_target'.
22530 (draw_cursor): Likewise.
22531 (scroll_up): Restore viewport.
22532 Use 'render_target' and 'window'.
22533 Call 'repaint_callback'.
22534 (grub_gfxterm_cls): Likewise.
22535 (grub_gfxterm_refresh): Use 'window'.
22536 (grub_gfxterm_set_repaint_callback): New function.
22537 (grub_gfxterm_background_image_cmd): Use 'window'.
22538 (grub_gfxterm_get_term): New function.
22539 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22540
225412010-02-06 Colin D Bennett <colin@gibibit.com>
22542
22543 Bitmap scaling support.
22544
22545 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22546 (bitmap_scale_mod_SOURCES): New variable.
22547 (bitmap_scale_mod_CFLAGS): Likewise.
22548 (bitmap_scale_mod_LDFLAGS): Likewise.
22549 * include/grub/bitmap_scale.h: New file.
22550 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22551 (background_image_cmd_options): New variable.
22552 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22553 (cmd): Rename and change type to ...
22554 (background_image_cmd_handle): ... this. All users updated.
22555 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22556 * video/bitmap_scale.c: New file.
22557
225582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22559
22560 SDL support.
22561
22562 * Makefile.in (LIBSDL): New variable.
22563 (enable_grub_emu_sdl): Likewise.
22564 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22565 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22566 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22567 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22568 * util/sdl.c: New file.
22569
225702010-02-06 Colin D Bennett <colin@gibibit.com>
225712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22572
22573 Double buffering support.
22574
22575 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22576 * include/grub/video.h: Update comment.
22577 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22578 New type.
22579 (grub_video_fb_doublebuf_blit_init): New prototype.
22580 * term/gfxterm.c (scroll_up): Support double buffering.
22581 (grub_gfxterm_refresh): Likewise.
22582 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22583 (grub_video_fb_doublebuf_blit_init): Likewise.
22584 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22585 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22586 'displayed_page', 'render_page' and 'update_screen'.
22587 (grub_video_vbe_fini): Free offscreen buffer.
22588 (doublebuf_pageflipping_commit): New function.
22589 (doublebuf_pageflipping_update_screen): Likewise.
22590 (doublebuf_pageflipping_init): Likewise.
22591 (double_buffering_init): Likewise.
22592 (grub_video_vbe_setup): Enable doublebuffering.
22593 (grub_video_vbe_swap_buffers): Implement.
22594 (grub_video_vbe_set_active_render_target): Handle double buffering.
22595 (grub_video_vbe_get_active_render_target): Likewise.
22596 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22597 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22598 (grub_video_vbe_enable_double_buffering): Likewise.
22599 (grub_video_vbe_swap_buffers): Use update_screen.
22600 (grub_video_set_mode): Use double buffering.
22601
226022010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22603
22604 * maintainance/gentrigtables.py: Remove.
22605 * lib/trig.c: Likewise.
22606
22607 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22608
22609 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22610 `trigtables.c'.
22611 (trigtables.c): New rule.
22612 (gentrigtables): Likewise.
22613 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22614
226152010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22616
22617 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22618 integer constants.
22619
226202010-02-06 Colin D Bennet <colin@gibibit.com>
22621
22622 Trigonometry support.
22623
22624 * include/grub/trig.h: New file.
22625 * lib/trig.c: Likewise.
22626 * maintainance/gentrigtables.py: Likewise.
22627 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22628 (trig_mod_SOURCES): New variable.
22629 (trig_mod_CFLAGS): Likewise.
22630 (trig_mod_LDFLAGS): Likewise.
22631
5562834e
VS
226322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22633
22634 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22635 disk devices.
22636
4f8528fc
VS
226372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22638
22639 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22640 error.
22641
2b4068e9
VS
226422010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 * util/hostdisk.c (open_device): Don't use partition device when reading
22645 before the partition.
22646 (grub_util_biosdisk_read): Don't read from partition and before the
22647 partition in single operation.
22648 (grub_util_biosdisk_write): Don't write to partition and before the
22649 partition in single operation.
22650
399f6e4d
TL
226512010-02-03 Torsten Landschoff <torsten@debian.org>
22652
22653 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22654 last sectors.
22655
996649b0
VS
226562010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22659 CDROM reads.
22660 (grub_biosdisk_write): Refuse to write to CDROM.
22661
3b205d4d
VS
226622010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22663
22664 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22665
61e89d9d
VS
226662010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22667
22668 * font/font.c (find_glyph): Check that bmp_idx is available before
22669 using it.
22670 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22671 with (font == NULL).
22672
bf7fcba2
CS
226732010-01-28 Christian Schmitt <chris@ilovelinux.de>
22674
22675 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22676
f45d2663
BC
226772010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22678
22679 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22680 * util/grub-script-check.c (getline): Fix empty lines case.
22681
ec1444e6
RM
226822010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22683
22684 * Makefile.in (check): Exit with fail status when one of the tests
22685 fails.
22686 * tests/example_functional_test.c (example_test): Fix reversed assert.
22687 * tests/example_unit_test.c (example_test): Likewise.
22688
2e1cb9bb
CW
226892010-01-28 Colin Watson <cjwatson@ubuntu.com>
22690
22691 * util/grub.d/10_linux.in: This script does not use any of the
22692 contents of gettext.sh, only the external command `gettext', so stop
22693 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22694 the same prefix as GRUB.)
22695 * util/grub.d/10_kfreebsd.in: Likewise.
22696
63533ab0
VS
226972010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22698
22699 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22700 of the line.
22701
989e1f93
VS
227022010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22703
22704 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22705 last sectors.
22706
e709ebe2
VS
227072010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22708
22709 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22710 having a 4KiB and not 32KiB buffer size.
22711
27dea7ed
RM
227122010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22713
22714 * util/hostfs.c: Include `<errno.h>'.
22715 (grub_hostfs_read): Handle errors from fseeko() and fread().
22716
67667b9c
RM
227172010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22718
22719 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22720 loop when using read hooks on files whose size isn't sector-aligned.
22721
c294d9d8
RM
227222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22723
22724 Remove unused parameter.
22725
22726 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22727 (grub_iso9660_open): Remove initialization of `data->length'.
22728
af75a9f1
RM
227292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22730
22731 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22732 memleak conditions.
22733
254e2ce5 227342010-01-27 Carles Pina i Estany <carles@pina.cat>
22735
22736 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22737 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22738
b510928c 227392010-01-26 Carles Pina i Estany <carles@pina.cat>
22740
22741 * util/bin2h.c (usage): Fix warning (space after backslash).
22742
aa2f9dd2 227432010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22744
22745 * font/font.c: Include `grub/fontformat.h.
22746 Remove font file format constants.
22747 (grub_font_load): Use the new macros.
22748 * include/grub/fontformat.h: New file.
22749 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22750 (write_font_pf2): Use the new macros.
22751
94e7e712
RM
227522010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22753
22754 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22755 does.
22756
3973a59a
RM
227572010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22758
22759 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22760
22761 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22762 (_start): Macroify `0x7F'.
22763
22764 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22765 (make_install_device): Use "(pxe)" as fallback prefix when booting
22766 via PXE.
22767
42e0cba3
GS
227682010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22769
22770 * configure.ac: Reset LIBS after check for libgcc symbols.
22771
847effd8
CW
227722010-01-25 Colin Watson <cjwatson@ubuntu.com>
22773
22774 * util/hostdisk.c (open_device): Add trailing newline to debug
22775 message.
22776
ea4a7e35
GS
227772010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22778
22779 * configure.ac: Check for `limits.h'.
22780 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22781
67951a53
RM
227822010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22783
22784 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22785 capitalize error strings.
22786
c273d4ce
ST
227872010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22788
22789 * util/grub.d/10_hurd.in: Add a recovery mode.
22790
69be5b74
VS
227912010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22792
22793 * configure.ac: Check for libgcc symbols with -nostdlib.
22794
fc9e5810
BC
227952010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22796
22797 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22798
4b358c0a
VS
227992010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22800
22801 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22802 stack since heap may be unavailable at that point.
22803 (grub_ofconsole_gotoxy): Likewise.
22804
454fcd1c
VS
228052010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22806
22807 * configure.ac: Check for _restgpr_14_x.
22808 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22809 and _savegpr_* prototypes.
22810
566863ca
RM
228112010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22812
22813 Use generic grub_reboot() for i386-efi.
22814
22815 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22816 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22817 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22818
bf86e59a
VS
228192010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22820
22821 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22822 presence of "prefix" variable as it breaks when normal.mod is
22823 embedded.
22824
d645e0f8
VS
228252010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22826
22827 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22828 stack since heap is unavailable at that point.
22829
f9ab2e25
VS
228302010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22831
22832 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22833 (grub_freebsd_bootinfo): Rewritten.
22834 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22835
01fc7054
VS
228362010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22837
22838 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22839
caab4fd6
RM
228402010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22841
22842 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22843 domain now.
22844
67eb1427
FZ
228452010-01-20 Felix Zielcke <fzielcke@z-51.de>
22846
22847 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22848 around for handling "/" to the correct fix. Fix a memory leak. Use
22849 xstrdup instead of strdup.
22850
a9ed4ff3
VS
228512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22852
22853 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22854
228552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22856
22857 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22858
22859 * font/font.c (struct grub_font): New member 'bmp_idx'.
22860 (font_init): Initialise 'bmp_idx'.
22861 (load_font_index): Fill 'bmp_idx'.
22862 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22863
48209f4f
VS
228642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22865
22866 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22867 unnecessary calls.
22868
9f0a4bb7
VS
228692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22870
22871 Move context handling out of the kernel.
22872
22873 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22874 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22875 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22876 * conf/i386-efi.rmk: Likewise.
22877 * conf/i386-ieee1275.rmk: Likewise.
22878 * conf/i386-pc.rmk: Likewise.
22879 * conf/powerpc-ieee1275.rmk: Likewise.
22880 * conf/sparc64-ieee1275.rmk: Likewise.
22881 * conf/x86_64-efi.rmk: Likewise.
22882 * include/grub/env.h: Include grub/menu.h.
22883 (grub_env_var_type): Removed.
22884 (grub_env_var): Replaced field 'type' with 'global'.
22885 (grub_env_find): New prototype.
22886 (grub_env_context_open): Remove EXPORT_FUNC.
22887 (grub_env_context_close): Likewise.
22888 (grub_env_export): Likewise.
22889 (grub_env_set_data_slot): Removed.
22890 (grub_env_get_data_slot): Likewise.
22891 (grub_env_unset_data_slot): Likewise.
22892 (grub_env_unset_menu): New prototype.
22893 (grub_env_set_menu): Likewise.
22894 (grub_env_get_menu): Likewise.
22895 * include/grub/env_private.h: New file.
22896 * include/grub/normal.h (grub_context_init): New prototype.
22897 (grub_context_fini): Likewise.
22898 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22899 * normal/context.c (grub_cmd_export): ... to here.
22900 * kern/env.c: Include env_private.h.
22901 (HASHSZ): Moved to include/grub/env_private.h.
22902 (grub_env_context): Likewise.
22903 (grub_env_sorted_var): Likewise.
22904 (current_context): Renamed from this ...
22905 (grub_current_context): ...to this. 'static' removed. All users updated.
22906 (grub_env_find): Removed 'static'.
22907 (grub_env_context_open): Moved to normal/context.c.
22908 (grub_env_context_close): Likewise.
22909 (grub_env_export): Likewise.
22910 (mangle_data_slot_name): Removed.
22911 (grub_env_set_data_slot): Likewise.
22912 (grub_env_get_data_slot): Likewise.
22913 (grub_env_unset_data_slot): Likewise.
22914 * kern/main.c (grub_set_root_dev): Don't export root.
22915 It will be done later.
22916 (grub_main): Don't export prefix.
22917 It will be done later.
22918 * normal/context.c: New file.
22919 * normal/main.c (free_menu): Use grub_env_unset_menu.
22920 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22921 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22922 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22923 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22924
8dd35b8c
VS
229252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 setpci support.
22928
22929 * commands/setpci.c: New file.
22930 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22931 (setpci_mod_SOURCES): New variable.
22932 (setpci_mod_CFLAGS): Likewise.
22933 (setpci_mod_LDFLAGS): Likewise.
22934
449193d5
VS
229352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22936
22937 Byte-addressable PCI configuration space.
22938
22939 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22940 dword address.
22941 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22942 GRUB_PCI_REG_CACHELINE.
22943 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22944 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22945 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22946 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22947 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22948 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22949 grub_pci_make_address.
22950 (lock_rom_area): Likewise.
22951 * commands/lspci.c (grub_lspci_iter): Use macroses
22952 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22953 of grub_pci_make_address.
22954 * disk/ata.c (grub_ata_pciinit): Likewise.
22955 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22956 (GRUB_PCI_REG_VENDOR): Likewise.
22957 (GRUB_PCI_REG_DEVICE): Likewise.
22958 (GRUB_PCI_REG_COMMAND): Likewise.
22959 (GRUB_PCI_REG_STATUS): Likewise.
22960 (GRUB_PCI_REG_REVISION): Likewise.
22961 (GRUB_PCI_REG_CLASS): Likewise.
22962 (GRUB_PCI_REG_CACHELINE): Likewise.
22963 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22964 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22965 (GRUB_PCI_REG_BIST): Likewise.
22966 (GRUB_PCI_REG_ADDRESSES): Likewise.
22967 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22968 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22969 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22970 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22971 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22972 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22973 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22974 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22975 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22976 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22977 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22978 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22979 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22980 (GRUB_PCI_REG_MIN_GNT): Likewise.
22981 (GRUB_PCI_REG_MAX_LAT): Likewise.
22982 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22983 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22984 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22985 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22986 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22987 space.
22988
96d73208
RM
229892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22990
22991 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22992 can be reliably determined to be supported.
22993
d4484482
RM
229942010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22995
22996 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22997 that VESA is supported.
22998 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22999 supported.
23000
00308ecf
VS
230012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23002
23003 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
23004
f66924a4
RM
230052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23006
23007 * util/misc.c (make_system_path_relative_to_its_root): Work around
23008 special-casing of "/", as previous incarnation of this routine did.
23009
cbca0ada
VS
230102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23011
23012 Fix any-emu compilation.
23013
23014 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
23015 * grub_bin2h_SOURCES: New variable.
23016
34a66d99
RM
230172010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23018
23019 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23020
94fabf58
RM
230212010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23022
23023 * util/grub.d/00_header.in: Fix handling of locale_dir.
23024
02cf98ca
VS
230252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23026
23027 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23028 as possible unifont location (Gentoo).
23029 Reported by: Alexander Brüning
23030
327dbcd7
VS
230312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23032
23033 Don't try to generate lists for kernel.img.
23034
23035 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23036 (pkglib_MODULES): Remove kernel.img.
23037 (kernel_img_EXPORTS): Removed.
23038 (kernel_img_RELOCATABLE): New variable.
23039 * conf/x86_64-efi.rmk: Likewise.
23040 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23041
ca467290
VS
230422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23043
23044 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23045 grub_xasprintf or grub_snprintf.
23046 (grub_vsprintf): Likewise.
23047 (grub_snprintf): New proto.
23048 (grub_vsnprintf): Likewise.
23049 (grub_xasprintf): Likewise.
23050 (grub_xvasprintf): Likewise.
23051 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23052 (grub_sprintf): Removed.
23053 (grub_vsnprintf): New function.
23054 (grub_snprintf): Likewise.
23055 (grub_xvasprintf): Likewise.
23056 (grub_xasprintf): Likewise.
23057 (grub_vsprintf): Renamed to ...
23058 (grub_vsnprintf_real): ...this. New argument max_len.
23059
aca655fd
BC
230602010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23061
23062 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23063 fix grub-script-check warning.
23064
7ee92c32
VS
230652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23066
23067 * include/grub/font.h (grub_font_load): Fix prototype.
23068
f80927ca
VS
230692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23072
119c50ea
VS
230732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 * include/grub/x86_64/at_keyboard.h: New file.
23076
47d5f3c1
VS
230772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 * loader/mips/linux.c: Include missing grub/i18n.h.
23080
55ff5266
RM
230812009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23082
23083 * normal/menu.c (notify_execution_failure): Clarify error message.
23084
c893cc87
RM
230852009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23086
23087 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23088 return value (and revert all return statements). Update users.
23089
917dd370
CW
230902010-01-20 Dan Merillat <debian@dan.merillat.org>
23091
23092 * kern/device.c (grub_device_iterate): Allocate new part_ent
23093 structure based on sizeof (*p) rather than sizeof (p->next), to
23094 account for structure padding.
23095
23096 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23097 disk is NULL, which might happen for LVM physical volumes with no
23098 LVM signature.
23099
d4a4ee57
RM
231002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23101
23102 * loader/mips/linux.c (grub_cmd_initrd)
23103 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23104
231052009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23106
23107 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23108 (grub_video_video_init, grub_video_bitmap_init)
23109 (grub_font_manager_init, grub_term_gfxterm_init)
23110 (grub_at_keyboard_init): New extern declarations.
23111 (grub_machine_init): Initialize gfxterm and at_keyboard.
23112
23113 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23114
23115 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23116 `gfxterm.mod' into core image.
23117
23118 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23119 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23120 (kernel_img_FORMAT): Copy to ...
23121
23122 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23123 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23124 (kernel_img_FORMAT): ... here, and ...
23125
23126 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23127 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23128 (kernel_img_FORMAT): ... here.
23129
23130 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23131 and input (at_keyboard) terminals in kernel.
23132 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23133
23134 (pkglib_MODULES): Remove `pci.mod'.
23135 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23136 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23137 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23138 (at_keyboard_mod_LDFLAGS): Remove variables.
23139
231402010-01-11 Felix Zielcke <fzielcke@z-51.de>
23141
23142 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23143
231442009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23145
23146 * include/grub/mips/libgcc.h: Only export symbols for functions
23147 that libgcc provides.
23148
231492009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23150
23151 MIPS support.
23152
23153 * bus/bonito.c: New file.
23154 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23155 GRUB_PCI_NUM_DEVICES.
23156 * term/i386/pc/serial.c: Move to ...
23157 * term/serial.c: ... here. All users updated.
23158 * util/i386/pc/grub-mkimage.c: Move to ...
23159 * util/grub-mkrawimage.c: ... here. All users updated.
23160 * term/i386/pc/at_keyboard.c: Move to ...
23161 * term/at_keyboard.c: ... here. All users updated.
23162 * conf/mips-qemu-mips.rmk: New file.
23163 * conf/mips-yeeloong.rmk: Likewise.
23164 * conf/mips.rmk: Likewise.
23165 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23166 mipsel-qemu-mips.
23167 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23168 to port addresses.
23169 (grub_ata_pciinit): Support CS5536.
23170 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23171 * font/font_cmd.c (loadfont_command): Open file before passing it to
23172 grub_font_load.
23173 (pseudo_file_read): New function.
23174 (pseudo_file_close): Likewise.
23175 (pseudo_fs): New structure.
23176 (load_font_module): New function.
23177 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23178 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23179 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23180 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23181 * include/grub/i386/at_keyboard.h: Split into ...
23182 * include/grub/at_keyboard.h: ... this ...
23183 * include/grub/i386/at_keyboard.h: ... and this.
23184 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23185 New prototype.
23186 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23187 updated.
23188 (grub_elf64_size): Likewise.
23189 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23190 filename.
23191 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23192 * include/grub/i386/coreboot/serial.h: Rewritten.
23193 * include/grub/i386/ieee1275/serial.h: Include
23194 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23195 * include/grub/i386/pc/serial.h: Moved from here ...
23196 * include/grub/serial.h: ... to here. All users updated.
23197 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23198 (GRUB_PCI_NUM_BUS): Likewise.
23199 (GRUB_PCI_NUM_DEVICES): Likewise.
23200 (grub_pci_device_map_range): Add missing volatile keyword.
23201 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23202 * include/grub/mips/at_keyboard.h: New file.
23203 * include/grub/mips/cache.h: Likewise.
23204 * include/grub/mips/io.h: Likewise.
23205 * include/grub/mips/kernel.h: Likewise.
23206 * include/grub/mips/libgcc.h: Likewise.
23207 * include/grub/mips/pci.h: Likewise.
23208 * include/grub/mips/qemu-mips/boot.h: Likewise.
23209 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23210 * include/grub/mips/qemu-mips/loader.h: Likewise.
23211 * include/grub/mips/qemu-mips/memory.h: Likewise.
23212 * include/grub/mips/qemu-mips/serial.h: Likewise.
23213 * include/grub/mips/qemu-mips/time.h: Likewise.
23214 * include/grub/mips/relocator.h: Likewise.
23215 * include/grub/mips/time.h: Likewise.
23216 * include/grub/mips/types.h: Likewise.
23217 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23218 * include/grub/mips/yeeloong/boot.h: Likewise.
23219 * include/grub/mips/yeeloong/kernel.h: Likewise.
23220 * include/grub/mips/yeeloong/loader.h: Likewise.
23221 * include/grub/mips/yeeloong/memory.h: Likewise.
23222 * include/grub/mips/yeeloong/pci.h: Likewise.
23223 * include/grub/mips/yeeloong/serial.h: Likewise.
23224 * include/grub/mips/yeeloong/time.h: Likewise.
23225 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23226 * kern/elf.c (grub_elf32_size): New parameter. All users
23227 updated.
23228 (grub_elf64_size): Likewise.
23229 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23230 Load modules before saying "Welcome to GRUB!".
23231 Call grub_refresh after saying "Welcome to GRUB!".
23232 * kern/mips/cache.S: New file.
23233 * kern/mips/cache_flush.S: Likewise.
23234 * kern/mips/dl.c: Likewise.
23235 * kern/mips/init.c: Likewise.
23236 * kern/mips/qemu-mips/init.c: Likewise.
23237 * kern/mips/startup.S: Likewise.
23238 * kern/mips/yeeloong/init.c: Likewise.
23239 * kern/term.c (grub_putcode): Handle NULL terminal.
23240 (grub_getcharwidth): Likewise.
23241 (grub_getkey): Likewise.
23242 (grub_checkkey): Likewise.
23243 (grub_getkeystatus): Likewise.
23244 (grub_getxy): Likewise.
23245 (grub_getwh): Likewise.
23246 (grub_gotoxy): Likewise.
23247 (grub_cls): Likewise.
23248 (grub_setcolorstate): Likewise.
23249 (grub_setcolor): Likewise.
23250 (grub_getcolor): Likewise.
23251 (grub_refresh): Likewise.
23252 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23253 (write_jump): Add hatch nop.
23254 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23255 * lib/mips/setjmp.S: New file.
23256 * loader/mips/linux.c: Likewise.
23257 * term/i386/pc/at_keyboard.c: Move from here ...
23258 * term/at_keyboard.c: ... to here.
23259 * term/i386/pc/serial.c: Moved from here ...
23260 * term/serial.c: ... to here. All users updated.
23261 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23262 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23263 (serial_translate_key_sequence): Avoid deadlock.
23264 (grub_serial_getkey): Handle backspace.
23265 (grub_serial_putchar): Fix newline handling.
23266 * util/i386/pc/grub-mkimage.c: Move from here ...
23267 * util/grub-mkrawimage.c: ... to here. All users updated.
23268 (generate_image): New parameters 'font_path' and 'format'.
23269 Support embedding font.
23270 Use grub_host_to_target* instead of grub_cpu_to_le*.
23271 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23272 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23273 (options): New option "--font".
23274 (usage): Likewise.
23275 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23276 (main): Handle "--font".
23277 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23278 (grub_virtual_screen_setup): Set bg_color_display.
23279 (redraw_screen_rect): Use bg_color_display instead of incorrect
23280 bg_color.
23281 (grub_gfxterm_cls): Likewise.
23282 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23283 Support embedding config file.
23284 (add_segments): Likewise.
23285 (options): New option "--config".
23286 (main): Handle "--config".
23287 * video/sm712.c: New file.
23288
25c2b5b3
RM
232892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23290
23291 Fix parallel builds.
23292
23293 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23294 font.c depend on ascii.h).
23295
232962010-01-12 Carles Pina i Estany <carles@pina.cat>
23297
23298 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23299
233002010-01-11 Carles Pina i Estany <carles@pina.cat>
23301
23302 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23303 By default: disabled.
23304 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23305 parameter.
23306
233072010-01-10 Carles Pina i Estany <carles@pina.cat>
23308
23309 * font/font.c: Update copyright years.
23310 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23311
233122010-01-10 Carles Pina i Estany <carles@pina.cat>
23313
23314 * font/font.c: Include `ascii.h'.
23315 (ASCII_BITMAP_SIZE): New macro.
23316 (ascii_font_glyph): Define.
23317 (ascii_glyph_lookup): New function.
23318 (grub_font_get_string_width): Change comment. If glyph not found, use
23319 ascii_glyph_lookup.
23320 (grub_font_get_glyph_with_fallback): If glyph not available returns
23321 ascii_glyph_lookup.
23322 * util/grub-mkfont.c (file_formats): New enum.
23323 (options): Add `ascii-bitmaps' new option.
23324 (usage): Add `asii-bitmaps' new option.
23325 (write_font_ascii_bitmap): New function.
23326 (write_font): Rename to ...
23327 (write_font_p2): ... this. Remove print_glyphs call.
23328 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23329 used. Call print_glyphs.
23330 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23331
233322010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23333
23334 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23335 (grub_bin2h_SOURCES): New variable.
23336 * util/bin2h.c: New file.
23337
915fc1b8
VS
233382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 * include/multiboot.h: Resynced with spec.
23341 * include/multiboot2.h: Likewise.
23342 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23343 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23344
9444b678
RM
233452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23346
23347 * include/grub/term.h (grub_term_register_input,
23348 grub_term_register_output): Check return of terminal init()
23349 routines, and abort if errors are raised.
23350
23351 * commands/terminal.c: Update copyright year.
23352
cba98e8d
RM
233532010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23354
23355 * commands/terminal.c (grub_cmd_terminal_input)
23356 (grub_cmd_terminal_output): Check return of terminal init()
23357 routines, and abort if errors are raised.
23358
6f7db5d6
VS
233592010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23360
23361 * include/grub/i386/bsd.h: Fix include pathes.
23362
262bff8d
VS
233632010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 Add missing *BSD copyright headers.
23366
23367 * include/grub/aout.h: Add BSD licence.
23368 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23369 * include/grub/i386/freebsd_linker.h: ... here,
23370 * include/grub/i386/freebsd_reboot.h: ... here,
23371 * include/grub/i386/netbsd_bootinfo.h: ... here,
23372 * include/grub/i386/netbsd_reboot.h: ... here,
23373 * include/grub/i386/openbsd_bootarg.h: ... here,
23374 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23375 licence to each file.
23376
b2cab848
RM
233772010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23378
23379 * acinclude.m4: Remove `nop' assembly instruction; it's not
23380 implemented by all architectures.
23381
2cb6be4b
RM
233822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23383
23384 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23385 ELILO. This is no longer necessary.
23386
a2eaee15
BC
233872010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23388
23389 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23390
23391 * util/grub-script-check.c: grub-script-check tool.
23392 * conf/common.rmk: Make rules for grub-script-check.
23393
88d17012
RM
233942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23395
23396 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23397 spotting it back in 2008. Shame on me for forgetting he did.
23398
23399 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23400
8040619d
RM
234012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23402
23403 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23404 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23405 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23406 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23407 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23408 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23409
a0c2a0f6
RM
234102010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23411
23412 * include/grub/test.h: Add license header.
23413 * tests/example_functional_test.c: Likewise.
23414 * tests/example_unit_test.c: Likewise.
23415 * tests/lib/functional_test.c: Likewise.
23416 * tests/lib/test.c: Likewise.
23417 * tests/lib/unit_test.c: Likewise.
23418
b0b13907
VS
234192010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 Use flag-based instead of hook-based video mode selection and "auto"
23422 keyword.
23423
23424 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23425 (grub_video_set_mode): Changed prototype. All users updated.
23426 (grub_video_check_mode_flag): New inline function.
23427 * video/video.c (parse_modespec): New function.
23428 (grub_video_set_mode): Parse flags and keywords.
23429
ea379330 234302010-01-17 Carles Pina i Estany <carles@pina.cat>
23431
23432 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23433 fprintf call.
23434
e15c215e
FZ
234352010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23436
23437 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23438
409ae1c9 234392010-01-16 Carles Pina i Estany <carles@pina.cat>
23440
23441 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23442 string.
23443 * util/grub-emu.c (usage): Likewise.
23444 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23445 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23446 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23447 * util/i386/pc/grub-setup.c (usage): Likewise.
23448
70a14d3d 234492010-01-16 Carles Pina i Estany <carles@pina.cat>
23450
23451 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23452 the message.
23453 (grub_util_info): Likewise.
23454 (grub_util_error): Likewise.
23455 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23456 and/or new lines in `grub_util_warna', `grub_util_info',
23457 `grub_util_error' calls.
23458 * util/getroot.c: Likewise.
23459 * util/grub-editenv.c: Likewise.
23460 * util/grub-emu.c: Likewise.
23461 * util/grub-fstest.c: Likewise.
23462 * util/grub-mkdevicemap.c: Likewise.
23463 * util/grub-mkfont.c: Likewise.
23464 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23465 * util/grub-mkrelpath.c: Likewise.
23466 * util/grub-pe2elf.c: Likewise.
23467 * util/grub-probe.c: Likewise.
23468 * util/hostdisk.c: Likewise.
23469 * util/i386/efi/grub-mkimage.c: Likewise.
23470 * util/i386/pc/grub-mkimage.c: Likewise.
23471 * util/i386/pc/grub-setup.c: Likewise.
23472 * util/ieee1275/ofpath.c: Likewise.
23473 * util/mkisofs/eltorito.c: Likewise.
23474 * util/mkisofs/rock.c: Likewise.
23475 * util/mkisofs/write.c: Likewise.
23476 * util/raid.c: Likewise.
23477 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23478 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23479
a0b766fc
VS
234802010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23481
23482 Enable multiboot on non-pc.
23483
23484 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23485 multiboot.mod and multiboot2.mod to ...
23486 * conf/i386.rmk (pkglib_MODULES): ... here.
23487 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23488 Moved to ...
23489 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23490 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23491 Moved to ...
23492 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23493 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23494 Moved to ...
23495 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23496 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23497 Moved to ...
23498 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23499 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23500 relocator.mod.
23501 (ata_mod_SOURCES): Removed.
23502 (ata_mod_CFLAGS): Likewise.
23503 (ata_mod_LDFLAGS): Likewise.
23504 (relocator_mod_SOURCES): Removed.
23505 (relocator_mod_CFLAGS): Likewise.
23506 (relocator_mod_ASFLAGS): Likewise.
23507 (relocator_mod_LDFLAGS): Likewise.
23508 Include i386.mk.
23509 * include/grub/x86_64/multiboot.h: New file.
23510 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23511 Terminate EFI.
23512
884ade56
VS
235132010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23514
23515 Video multiboot support.
23516
23517 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23518 New prototype.
23519 * include/multiboot.h: Resynced with multiboot specification.
23520 * include/multiboot2.h: Likewise.
23521 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23522 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23523 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23524 (HAS_VGA_TEXT): Likewise.
23525 (accepts_video): New variable.
23526 (grub_multiboot_set_accepts_video): New function.
23527 (grub_multiboot_get_mbi_size): Account for video structures.
23528 (set_video_mode): New function.
23529 (retrieve_video_parameters): Likewise.
23530 (grub_multiboot_make_mbi): Fill video fields.
23531
0d90e8a6
VS
235322010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23533
23534 Video driver ids.
23535
23536 * include/grub/video.h (grub_video_driver_id): New type.
23537 (grub_video_adapter): New member 'id'. All users updated.
23538 (grub_video_get_driver_id): New proto.
23539 * video/video.c (grub_video_get_driver_id): New function.
23540
5c71db1b 235412010-01-14 Carles Pina i Estany <carles@pina.cat>
23542
23543 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23544 `var=val'.
23545
cca15b52 235462010-01-14 Carles Pina i Estany <carles@pina.cat>
23547
23548 * normal/cmdline.c (print_completion): Gettextizze.
23549
c586fbb2 235502001-01-14 Carles Pina i Estany <carles@pina.cat>
23551
23552 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23553
ba2f6848 235542010-01-14 Carles Pina i Estany <carles@pina.cat>
23555
23556 * gettext/gettext.c (grub_gettext_translate): Push and pop
23557 grub_errno.
23558 (grub_gettext_delete_list): Change comment style.
23559 * kern/err.c (grub_error): Gettextizze.
23560 (grub_fatal): Gettextizze.
23561
0a46429a
RM
235622010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23563
23564 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23565 (grub_linux16_real_boot): ... this.
23566 * kern/i386/loader.S: Likewise.
23567 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23568 (grub_linux16_boot): New function. Switches to text mode and calls
23569 grub_linux16_real_boot().
23570
23571 * loader/i386/bsd.c: Include `<grub/video.h>'.
23572 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23573 text mode before calling grub_unix_real_boot().
23574
23575 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23576 (grub_multiboot_boot): Switch to text mode before calling
23577 grub_relocator32_boot().
23578
23579 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23580 (grub_chainloader_boot): Switch to text mode before calling
23581 grub_chainloader_real_boot().
23582
d6f93a66
RM
235832010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235842010-01-05 Colin Watson <cjwatson@ubuntu.com>
23585
23586 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23587 non-empty value.
23588
235892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235902010-01-05 Colin Watson <cjwatson@ubuntu.com>
23591
23592 * util/grub.d/00_header.in: Define a "savedefault" function for use
23593 in menu entries.
23594 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23595
235962010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235972010-01-05 Colin Watson <cjwatson@ubuntu.com>
23598
23599 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23600 saved_entry if boot_once is unset.
23601 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23602 previous saved entry (i.e. grub-reboot).
23603
236042009-12-08 Colin Watson <cjwatson@ubuntu.com>
23605
23606 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23607
236082009-12-08 Colin Watson <cjwatson@ubuntu.com>
23609
23610 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23611 `var=val'.
23612 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23613
236142009-12-08 Colin Watson <cjwatson@ubuntu.com>
23615
23616 * util/grub-reboot.in: Fix --version output.
23617 * util/grub-set-default.in: Likewise.
23618
236192009-12-08 Colin Watson <cjwatson@ubuntu.com>
23620
23621 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23622 blocks.
23623
236242009-12-08 Colin Watson <cjwatson@ubuntu.com>
23625
23626 * util/grub.d/00_header.in: Quote the value assigned to `default',
23627 in case it contains spaces.
23628
236292009-12-08 Colin Watson <cjwatson@ubuntu.com>
23630
23631 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23632 `save_default_entry' call from the macosx case to the linux case.
23633
236342009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
236352009-10-25 Colin Watson <cjwatson@ubuntu.com>
23636
23637 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23638 in `chosen' environment variable.
23639 * normal/menu_text.c (get_entry_number): Check if the variable
23640 matches the title of a menu entry.
23641 (run_menu): Pass menu to get_entry_number.
23642
23643 * util/grub-reboot.in: New file.
23644 * util/grub-set-default.in: New file.
23645 * conf/common.rmk (grub-reboot): New utility.
23646 (grub-set-default): New utility.
23647
23648 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23649 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23650 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23651 move it to `saved_entry' for the next boot. Load environment on
23652 initialisation.
23653 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23654 * util/grub.d/10_hurd.in: Likewise.
23655 * util/grub.d/10_linux.in (linux_entry): Likewise.
23656 * util/grub.d/10_windows.in: Likewise.
23657 * util/grub.d/30_os-prober.in: Likewise.
23658
23659 * util/grub-install.in: Create environment block.
23660 * util/i386/efi/grub-install.in: Likewise.
23661 * util/ieee1275/grub-install.in: Likewise.
23662 * util/sparc64/ieee1275/grub-install.in: Likewise.
23663
0934d184
BC
236642010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23665
23666 Unit testing framework for GRUB.
23667
23668 * Makefile.in: Test framework build rules for 'make check'.
23669 * conf/tests.rmk: Build rules for individual tests and framework.
23670
23671 * include/grub/test.h: Header file for whitebox tests.
23672 * tests/lib/functional_test.c: Framework support for whitebox
23673 functional tests.
23674 * tests/lib/test.c: Common whitebox testing code for unit and
23675 functional tests.
23676 * tests/lib/unit_test.c: Framework support for whitebox unit
23677 tests.
23678
23679 * tests/util/grub-shell-tester.in: Support utility for grub-script
23680 tests.
23681 * tests/util/grub-shell.in: Utility to execute grub-script
23682 commands in a Qemu instance.
23683
23684 * tests/example_functional_test.c: Example whitebox functional
23685 test.
23686 * tests/example_grub_script_test.in: Example grub-script test.
23687 * tests/example_scripted_test.in: Example scripted test.
23688 * tests/example_unit_test.c: Example whitebox unit test.
23689
9c4ffeeb
VS
236902010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23691
23692 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23693 Add loader/i386/multiboot_mbi.c.
23694 (multiboot2_mod_SOURCES): Likewise.
23695 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23696 (multiboot2_mod_SOURCES): Likewise.
23697 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23698 (grub_multiboot_make_mbi): Likewise.
23699 (grub_multiboot_free_mbi): Likewise.
23700 (grub_multiboot_init_mbi): Likewise.
23701 (grub_multiboot_add_module): Likewise.
23702 (grub_multiboot_set_bootdev): Likewise.
23703 * loader/i386/multiboot.c (mbi): Removed.
23704 (mbi_dest): Likewise.
23705 (alloc_mbi): New variable.
23706 (grub_multiboot_payload_size): Removed. All users updated.
23707 (grub_multiboot_pure_size): New variable.
23708 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23709 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23710 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23711 (grub_fill_multiboot_mmap): Likewise.
23712 (grub_multiboot_get_bootdev): Likewise.
23713 (grub_multiboot): Use multiboot_mbi functions.
23714 * loader/i386/multiboot_mbi.c: New file.
23715
17383dfe
VS
237162010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23717
23718 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23719 it would result in module crash.
23720
c1f28820
VS
237212010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23722
23723 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23724 (grub_ofconsole_getwh): Split to ...
23725 (grub_ofconsole_getwh): ... this.
23726 (grub_ofconsole_dimensions): ...and this.
23727 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23728
58655a16
RM
237292010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23730
23731 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23732
10891398
VS
237332010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 * loader/i386/pc/multiboot2.c: Removed stalled file.
23736
0b8a223c
VS
237372010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23738
23739 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23740 Reported by: Grégoire Sutre
23741
92ab12b0
RM
237422010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23743
23744 * util/misc.c (canonicalize_file_name): New function.
23745 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23746 instead of realpath().
23747
a788afb6
CW
237482010-01-11 Colin Watson <cjwatson@ubuntu.com>
23749
23750 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23751 and make it clearer that it's optional. Based on confusion
23752 witnessed on IRC.
23753
ffa8e3d2
VS
237542010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23757 in premature implicit newline.
23758
e9060a9d
VS
237592010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23760
23761 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23762 which resulted in garbled command line at the end of screen.
23763
f0d0c0b7
RM
237642010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23765
23766 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23767 initialization with similar approach as with other Linux loaders.
23768
0e60bae7
RM
237692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23770
23771 Fix i386-ieee1275 build.
23772
23773 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23774 and grub_term_height() for video_{width,height} initialization.
23775
237762010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23777
23778 Fix grub-emu build.
23779
23780 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23781
cdb3f378
RM
237822010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
237832010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23784
23785 Support for multiple terminals.
23786
23787 * Makefile.in (pkglib_DATA): terminal.lst.
23788 (terminal.lst): New target.
23789 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23790 (GRUB_MOD_INIT(handler)): Likewise.
23791 (GRUB_MOD_FINI(handler)): Likewise.
23792 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23793 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23794 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23795 (grub_cmd_sleep): Use grub_term_save_pos.
23796 * commands/terminal.c: New file.
23797 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23798 commands/terminal.c and lib/charset.c.
23799 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23800 (pkglib_MODULES): Add terminal.mod.
23801 (terminal_mod_SOURCES): New variable.
23802 (terminal_mod_CFLAGS): Likewise.
23803 (terminal_mod_LDFLAGS): Likewise.
23804 * genhandlerlist.sh: Don't handle terminals.
23805 * genmk.rb: Generate terminal-*.lst.
23806 * genterminallist.sh: New file.
23807 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23808 (grub_is_valid_utf8): Likewise.
23809 (grub_utf8_to_ucs4_alloc): Likewise.
23810 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23811 (grub_menu_register_viewer): Changed argument.
23812 (grub_menu_try_text): New proto.
23813 (grub_gfxmenu_try_hook): New declaration.
23814 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23815 (grub_menu_init_page): Additional argument term.
23816 (grub_normal_init_page): Likewise.
23817 (grub_cmdline_get): Arguments simplified.
23818 (grub_utf8_to_ucs4_alloc): Removed.
23819 (grub_print_ucs4): Additional argument term.
23820 (grub_getstringwidth): Likewise.
23821 (grub_print_message_indented): Likewise.
23822 (grub_menu_text_register_instances): New proto.
23823 (grub_show_menu): Likewise.
23824 (read_terminal_list): Likewise.
23825 (grub_set_more): Likewise.
23826 * include/grub/parser.h: Include handler.h.
23827 * include/grub/reader.h: Rewritten.
23828 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23829 (GRUB_TERM_WIDTH): Changed to function.
23830 (GRUB_TERM_HEIGHT): Likewise.
23831 (GRUB_TERM_BORDER_WIDTH): Likewise.
23832 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23833 (GRUB_TERM_NUM_ENTRIES): Likewise.
23834 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23835 (GRUB_TERM_CURSOR_X): Likewise.
23836 (grub_term_input_class): Likewise.
23837 (grub_term_output_class): Likewise.
23838 (grub_term_outputs_disabled): New declaration.
23839 (grub_term_inputs_disabled): Likewise.
23840 (grub_term_outputs): Likewise.
23841 (grub_term_inputs): Likewise.
23842 (grub_term_register_input): Rewritten.
23843 (grub_term_register_output): Likewise.
23844 (grub_term_unregister_input): Likewise.
23845 (grub_term_unregister_output): Likewise.
23846 (FOR_ACTIVE_TERM_INPUTS): New macro.
23847 (FOR_DISABLED_TERM_INPUTS): Likewise.
23848 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23849 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23850 * include/grub/terminfo.h: Add oterm argument to all protypes.
23851 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23852 Use grub_rescue_run.
23853 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23854 All users updated.
23855 * kern/reader.c: Removed. All users updated.
23856 * kern/rescue_reader.c (grub_rescue_init): Removed.
23857 (grub_rescue_reader): Likewise.
23858 (grub_register_rescue_reader): Likewise.
23859 (grub_rescue_run): New function based on kern/reader.c.
23860 * kern/term.c: Adapted for multiterm.
23861 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23862 (grub_is_valid_utf8): Likewise.
23863 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23864 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23865 right terminal.
23866 * loader/i386/linux.c (grub_linux_boot): Likewise.
23867 * normal/auth.c (grub_username_get): New function.
23868 (grub_auth_check_authentication): Use grub_username_get.
23869 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23870 * normal/color.c: Adapt for multiterm.
23871 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23872 (grub_normal_init_page): Additional argument term.
23873 (read_lists): Call read_terminal_lists.
23874 (grub_enter_normal_mode): Call grub_cmdline_run.
23875 Handle grub_normal_exit_level.
23876 (grub_cmd_normal): Make reentrant.
23877 (grub_cmd_normal_exit): New function.
23878 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23879 * normal/menu.c: Adapt for multiterm.
23880 * normal/menu_entry.c: Likewise.
23881 * normal/menu_text.c: Likewise.
23882 * normal/menu_viewer.c: Removed. All users updated.
23883 * normal/term.c: New file.
23884 * util/console.c: Change order of includes to workaround a bug in
23885 ncurses headers.
23886 * term/terminfo.c: New argument oterm on all exported functions.
23887 All users updated.
23888 * util/grub-editenv.c (grub_term_input_class): Removed.
23889 (grub_term_output_class): Likewise.
23890
1a064917
RM
238912010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23892
23893 Make loader output a bit more user-friendly.
23894
23895 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23896 is being loaded. Likewise for the Hurd.
23897
23898 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23899 that kernel of FreeBSD ${version} is being loaded.
23900
23901 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23902 grub_dprintf().
23903 (grub_cmd_initrd): Likewise.
23904 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23905 that Linux ${version} is being loaded. Likewise for initrd.
23906
5ce0a83a 239072010-01-09 Carles Pina i Estany <carles@pina.cat>
23908
23909 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23910
809bbfeb 239112010-01-08 Carles Pina i Estany <carles@pina.cat>
23912
23913 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23914 (GRUB_MOD_INIT): Gettextizze.
23915 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23916 (GRUB_MOD_INIT): Gettextizze.
23917 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23918 (grub_cmd_linux): Capitalise Linux.
23919 (GRUB_MOD_INIT): Gettextizze.
23920 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23921 (grub_cmd_linux): Capitalise Linux.
23922 (GRUB_MOD_INIT): Gettextizze.
23923 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23924 (grub_cmd_linux): Capitalise Linux.
23925 (GRUB_MOD_INIT): Gettextizze.
23926 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23927 (GRUB_MOD_INIT): Gettextizze.
23928 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23929 (grub_cmd_linux): Capitalise Linux.
23930 (GRUB_MOD_INIT): Gettextizze.
23931 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23932 (grub_cpu_xnu_init): Gettextizze.
23933 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23934 (GRUB_MOD_INIT): Gettextizze.
23935 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23936 (GRUB_MOD_INIT): Gettextizze.
23937 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23938 (grub_linux_load64): Capitalise Linux.
23939 (GRUB_MOD_INIT): Gettextizze.
23940 * loader/xnu.c: Include `<grub/i18n.h>'.
23941 (GRUB_MOD_INIT): Gettextizze.
23942 * po/POTFILES: Add `loader/efi/appleloader.c',
23943 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23944 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23945 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23946 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23947 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23948 and `loader/xnu.c'.
23949
b394b2ca
RM
239502010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23951
23952 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23953
239542010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23955
23956 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23957 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23958 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23959
bc8b32b3
RM
239602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23961
23962 Reset Multiboot 2 support. New loader implements the draft in
23963 /branches/multiboot2 and shares as much code as possible with the
23964 production Multiboot 1 implementation.
23965
23966 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23967 * loader/multiboot2.c: Likewise.
23968 * loader/i386/multiboot_helper.S: Likewise.
23969 * include/multiboot2.h: Replace with latest version from the draft
23970 in /branches/multiboot2.
23971
23972 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23973 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23974 and `loader/multiboot2.c'.
23975 (pkglib_MODULES): Add `multiboot2.mod'.
23976 (multiboot2_mod_SOURCES): New variable.
23977 (multiboot2_mod_LDFLAGS): Likewise.
23978 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23979
23980 * conf/i386-pc.rmk: Likewise.
23981
23982 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23983 (multiboot_mod_SOURCES): Remove variable.
23984 (multiboot_mod_LDFLAGS): Likewise.
23985 (multiboot_mod_CFLAGS): Likewise.
23986
23987 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23988 `<multiboot2.h>' instead of `<multiboot.h>'.
23989 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23990 (MULTIBOOT_HEADER_MAGIC): New macros.
23991
23992 * loader/multiboot_loader.c (module_version_status): Remove variable.
23993 (find_multi_boot2_header): Remove function.
23994 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23995 logic. Always check for the Multiboot version we're compiling for.
23996 (grub_cmd_module_loader): Likewise.
23997 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23998 command instead of `multiboot'.
23999
5d2c52b8
RM
240002010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24001
24002 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
24003 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
24004 all users.
24005
53108d92
RM
240062010-01-07 Robert Millan <rmh.grub@aybabtu.com>
240072010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24008
24009 Fix breakage introduced with previous commit.
24010
24011 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
24012 commands.
24013 * normal/handler.c (read_handler_list): Revert part of previous commit
24014 affecting this file.
24015 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24016 (grub_normal_execute): ... here.
24017
e2e936b2
RM
240182010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24019
24020 Merge prefix-redefinition-fix branch.
24021
24022 * normal/autofs.c (read_fs_list): Make function capable of being
24023 run multiple times, gracefuly replacing the previous data
24024 structures.
24025 * normal/dyncmd.c (read_command_list): Likewise.
24026 * normal/handler.c (read_handler_list): Likewise.
24027 * normal/main.c (read_lists): New function. Calls all the
24028 list reading functions.
24029 (grub_normal_execute): Use read_lists() instead of calling all
24030 list reading functions explicitly. Register read_lists() as a
24031 variable hook attached to ${prefix}.
24032
607a3701
VS
240332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24034
24035 Merge crypto branch.
24036
24037 * Makefile.in (pkglib_DATA): Add crypto.lst.
24038 (crypto.lst): New target.
24039 * commands/hashsum.c: New file.
24040 * commands/password.c (check_password): Use grub_crypto_memcmp.
24041 * commands/password_pbkdf2.c: New file.
24042 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24043 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24044 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24045 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24046 -I$(srcdir)/lib/libgcrypt_wrap.
24047 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24048 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24049 password_pbkdf2.mod.
24050 (crypto_mod_SOURCES): New variable.
24051 (crypto_mod_CFLAGS): Likewise.
24052 (crypto_mod_LDFLAGS): Likewise.
24053 (hashsum_mod_SOURCES): New variable.
24054 (hashsum_mod_CFLAGS): Likewise.
24055 (hashsum_mod_LDFLAGS): Likewise.
24056 (pbkdf2_mod_SOURCES): New variable.
24057 (pbkdf2_mod_CFLAGS): Likewise.
24058 (pbkdf2_mod_LDFLAGS): Likewise.
24059 (password_pbkdf2_mod_SOURCES): New variable.
24060 (password_pbkdf2_mod_CFLAGS): Likewise.
24061 (password_pbkdf2_mod_LDFLAGS): Likewise.
24062 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24063 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24064 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24065 Include conf/gcry.rmk.
24066 * include/grub/auth.h: Rewritten.
24067 * include/grub/crypto.h: New file.
24068 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24069 * include/grub/normal.h (read_crypto_list): New prototype.
24070 * lib/crypto.c: New file.
24071 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24072 * lib/pbkdf2.c: Likewise.
24073 * normal/auth.c (grub_auth_strcmp): Removed.
24074 (grub_iswordseparator): Likewise.
24075 (grub_auth_strword): Likewise.
24076 (is_authenticated): Use grub_strword.
24077 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24078 and grub_strword. Pass entered password to authentication callback.
24079 * normal/crypto.c: New file.
24080 * normal/main.c: Call read_crypto_list.
24081 * util/grub-mkpasswd-pbkdf2.c: New file.
24082 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24083
42841caa
VS
240842010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24085
24086 Fix descent and ascent calculation.
24087
24088 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24089 (options): New option "asce".
24090 (usage): Likewise.
24091 (add_char): Ignore invalid glyphs for descent calculation.
24092 Calculate ascent from actual content.
24093 (print_glyphs): Use 'asce'.
24094 (write_font): Likewise. Allow ascent override.
24095 (main): Handle "asce" option.
24096
e7730de7 240972010-01-06 Carles Pina i Estany <carles@pina.cat>
24098
24099 * kern/err.c: Include `<grub/i18n.h>'.
24100 (grub_print_error): Add full stop. Gettextizze.
24101 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24102 (grub_bsd_load_elf): Capitalise ELF.
24103 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24104 (grub_cmd_freebsd_module): Likewise.
24105 (grub_cmd_freebsd_module_elf): Likewise.
24106 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24107
40e3a41f 241082010-01-06 Carles Pina i Estany <carles@pina.cat>
24109
24110 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24111 * commands/search_file.c (HELP_MESSAGE): New macro.
24112 * commands/search_label.c (HELP_MESSAGE): Likewise.
24113 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24114 * po/POTFILES: Add `commands/search_file.c',
24115 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24116 `commands/search.c'.
24117
83507e68
RM
241182010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24119
24120 * config.rpath: Update from Gnulib.
24121
465c787b
YB
241222010-01-05 Yves Blusseau <blusseau@zetam.org>
24123
24124 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24125
6581dd3a
YB
241262010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24127
24128 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24129
3bff18c5
CW
241302010-01-05 Colin Watson <cjwatson@ubuntu.com>
24131
24132 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24133 arguments to fread so that we get a return value in bytes, rather
24134 than something that will normally be rounded down to 0.
24135 Adjust error handling to avoid producing garbage when size_t is not
24136 the same size as long long.
24137
a1368118
CW
241382010-01-05 Colin Watson <cjwatson@ubuntu.com>
24139
24140 * util/mkisofs/write.c (padblock_write): Check return value of
24141 fread.
24142
7c302978
RM
241432010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24144
24145 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24146 floppy images now.
24147
24148 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24149
e33ace06
RM
241502010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24153 instead of manual alignment.
24154 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24155 verbose). Avoid attempts to read past end of the device
24156 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24157 but GRUB_DISK_CACHE_SIZE may exceed that).
24158
4b856776
RM
241592010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24160
24161 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24162 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24163 it to upper layer.
24164
52c2d97f
VS
241652010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24166
24167 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24168 New constant.
24169 (grub_efi_piwg_device_path): New structure
24170 (grub_efi_piwg_device_path_t): New type.
24171 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24172 (devpath_1): Transform to a structure. All users updated.
24173 (devpath_2): Likewise.
24174 (devpath_3): Likewise.
24175 (devpath_4): Likewise.
24176 (devpath_5): Likewise.
24177
98ff6a54
VS
241782010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24179
24180 * loader/efi/appleloader.c: Restored. Update all users.
24181
3a73dcb6
RM
241822010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24183
24184 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24185
24186 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24187 (struct boot_blocklist): Move from here ...
24188 * include/grub/i386/pc/boot.h [ASM_FILE]
24189 (struct grub_boot_blocklist): ... to here. Update all users.
24190 (setup): Only initialize `start' member of `first_block'
24191 structure. Add assert() calls to verify the other members.
24192
24193 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24194 (generate_image): Fix broken blocklist length initialization.
24195 Add assert() call to verify blocklist `segment' field.
24196
ab0eeb0c
RM
241972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24198
24199 * loader/efi/appleloader.c: Remove. Update all users.
24200
58bc8bd5
RM
242012010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24202
24203 * boot/i386/pc/boot.S: Update copyright year.
24204 * boot/i386/pc/cdboot.S: Likewise.
24205 * boot/i386/pc/diskboot.S: Likewise.
24206 * boot/i386/pc/lnxboot.S: Likewise.
24207 * boot/i386/pc/pxeboot.S: Likewise.
24208 * bus/pci.c: Likewise.
24209 * commands/cmp.c: Likewise.
24210 * commands/help.c: Likewise.
24211 * commands/hexdump.c: Likewise.
24212 * commands/i386/pc/halt.c: Likewise.
24213 * commands/i386/pc/play.c: Likewise.
24214 * commands/i386/pc/vbeinfo.c: Likewise.
24215 * commands/ls.c: Likewise.
24216 * commands/test.c: Likewise.
24217 * disk/dmraid_nvidia.c: Likewise.
24218 * disk/i386/pc/biosdisk.c: Likewise.
24219 * disk/ieee1275/nand.c: Likewise.
24220 * disk/ieee1275/ofdisk.c: Likewise.
24221 * disk/lvm.c: Likewise.
24222 * disk/raid.c: Likewise.
24223 * disk/raid6_recover.c: Likewise.
24224 * disk/scsi.c: Likewise.
24225 * fs/affs.c: Likewise.
24226 * fs/cpio.c: Likewise.
24227 * fs/ext2.c: Likewise.
24228 * fs/hfs.c: Likewise.
24229 * fs/iso9660.c: Likewise.
24230 * fs/ntfs.c: Likewise.
24231 * fs/sfs.c: Likewise.
24232 * fs/udf.c: Likewise.
24233 * fs/ufs.c: Likewise.
24234 * fs/xfs.c: Likewise.
24235 * gencmdlist.sh: Likewise.
24236 * genmk.rb: Likewise.
24237 * include/grub/disk.h: Likewise.
24238 * include/grub/efi/api.h: Likewise.
24239 * include/grub/efi/efi.h: Likewise.
24240 * include/grub/efi/pe32.h: Likewise.
24241 * include/grub/elf.h: Likewise.
24242 * include/grub/fs.h: Likewise.
24243 * include/grub/i386/at_keyboard.h: Likewise.
24244 * include/grub/i386/pc/memory.h: Likewise.
24245 * include/grub/i386/pc/vbe.h: Likewise.
24246 * include/grub/i386/pci.h: Likewise.
24247 * include/grub/i386/tsc.h: Likewise.
24248 * include/grub/ieee1275/ieee1275.h: Likewise.
24249 * include/grub/ntfs.h: Likewise.
24250 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24251 * include/grub/sparc64/libgcc.h: Likewise.
24252 * include/grub/symbol.h: Likewise.
24253 * include/grub/types.h: Likewise.
24254 * include/multiboot2.h: Likewise.
24255 * io/gzio.c: Likewise.
24256 * kern/device.c: Likewise.
24257 * kern/disk.c: Likewise.
24258 * kern/efi/efi.c: Likewise.
24259 * kern/efi/mm.c: Likewise.
24260 * kern/elf.c: Likewise.
24261 * kern/file.c: Likewise.
24262 * kern/i386/dl.c: Likewise.
24263 * kern/i386/pc/init.c: Likewise.
24264 * kern/i386/pc/startup.S: Likewise.
24265 * kern/ieee1275/ieee1275.c: Likewise.
24266 * kern/ieee1275/init.c: Likewise.
24267 * kern/main.c: Likewise.
24268 * kern/mm.c: Likewise.
24269 * kern/powerpc/dl.c: Likewise.
24270 * kern/sparc64/dl.c: Likewise.
24271 * kern/x86_64/dl.c: Likewise.
24272 * lib/hexdump.c: Likewise.
24273 * loader/efi/appleloader.c: Likewise.
24274 * loader/i386/ieee1275/linux.c: Likewise.
24275 * loader/i386/pc/chainloader.c: Likewise.
24276 * loader/i386/pc/linux.c: Likewise.
24277 * loader/i386/pc/multiboot2.c: Likewise.
24278 * loader/ieee1275/multiboot2.c: Likewise.
24279 * loader/multiboot2.c: Likewise.
24280 * loader/multiboot_loader.c: Likewise.
24281 * loader/powerpc/ieee1275/linux.c: Likewise.
24282 * normal/completion.c: Likewise.
24283 * normal/menu_entry.c: Likewise.
24284 * partmap/apple.c: Likewise.
24285 * util/grub.d/10_hurd.in: Likewise.
24286 * util/hostfs.c: Likewise.
24287 * video/readers/png.c: Likewise.
24288
e2d70b5c
CW
242892010-01-03 Colin Watson <cjwatson@ubuntu.com>
24290
24291 * include/grub/misc.h (GNUC_PREREQ): New macro.
24292 (ATTRIBUTE_ERROR): New macro.
24293 * include/grub/list.h (grub_bad_type_cast_real): Use
24294 ATTRIBUTE_ERROR.
24295
a173283f 242962010-01-03 Carles Pina i Estany <carles@pina.cat>
24297
24298 * normal/menu_text.c (print_message): Change messages.
24299
7fa7ff74 243002010-01-03 Carles Pina i Estany <carles@pina.cat>
24301
24302 * normal/menu_entry.c (store_completion): Gettextizze.
24303
136d24f6 243042010-01-03 Carles Pina i Estany <carles@pina.cat>
24305
24306 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24307
f936862e 243082010-01-03 Carles Pina i Estany <carles@pina.cat>
24309
24310 * po/POTFILES: Sort correctly.
24311
29c44ad1 243122010-01-03 Carles Pina i Estany <carles@pina.cat>
24313
24314 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24315 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24316 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24317 full stop.
24318 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24319 summary. Gettextizze the strings.
24320 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24321 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24322 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24323 full stop.
24324 (GRUB_MOD_INIT): Remove command name from summary.
24325 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24326 summary.
24327 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24328 * term/i386/pc/serial.c (options): Add full stops.
24329 (GRUB_MOD_INIT): Remove command name from the summary.
24330
77a79592 243312010-01-03 Carles Pina i Estany <carles@pina.cat>
24332
24333 * commands/acpi.c: Gettextizze help strings and/or options. Include
24334 `grub/i18n.h' if needed.
24335 * commands/blocklist.c: Likewise.
24336 * commands/boot.c: Likewise.
24337 * commands/cat.c: Likewise.
24338 * commands/cmp.c: Likewise.
24339 * commands/configfile.c: Likewise.
24340 * commands/crc.c: Likewise.
24341 * commands/date.c: Likewise.
24342 * commands/echo.c: Likewise.
24343 * commands/efi/fixvideo.c: Likewise.
24344 * commands/efi/loadbios.c: Likewise.
24345 * commands/gptsync.c: Likewise.
24346 * commands/halt.c: Likewise.
24347 * commands/handler.c: Likewise.
24348 * commands/hdparm.c: Likewise.
24349 * commands/hexdump.c: Likewise.
24350 * commands/i386/cpuid.c: Likewise.
24351 * commands/i386/pc/drivemap.c: Likewise.
24352 * commands/i386/pc/halt.c: Likewise.
24353 * commands/i386/pc/pxecmd.c: Likewise.
24354 * commands/i386/pc/vbeinfo.c: Likewise.
24355 * commands/i386/pc/vbetest.c: Likewise.
24356 * commands/ieee1275/suspend.c: Likewise.
24357 * commands/keystatus.c: Likewise.
24358 * commands/loadenv.c: Likewise.
24359 * commands/ls.c: Likewise.
24360 * commands/lsmmap.c: Likewise.
24361 * commands/lspci.c: Likewise.
24362 * commands/memrw.c: Likewise.
24363 * commands/minicmd.c: Likewise.
24364 * commands/parttool.c: Likewise.
24365 * commands/password.c: Likewise.
24366 * commands/probe.c: Likewise.
24367 * commands/read.c: Likewise.
24368 * commands/reboot.c: Likewise.
24369 * commands/search.c: Likewise.
24370 * commands/sleep.c: Likewise.
24371 * commands/test.c: Likewise.
24372 * commands/true.c: Likewise.
24373 * commands/usbtest.c: Likewise.
24374 * commands/videotest.c: Likewise.
24375 * commands/xnu_uuid.c: Likewise.
24376 * disk/loopback.c: Likewise.
24377 * hello/hello.c: Likewise.
24378 * loader/i386/bsd.c: Likewise.
24379 * term/i386/pc/serial.c: Likewise.
24380 * po/POTFILES: Add new files.
24381
da8d5c53
CW
243822010-01-02 Colin Watson <cjwatson@ubuntu.com>
24383
24384 * term/i386/pc/at_keyboard.c
24385 (keyboard_controller_wait_untill_ready): Rename to ...
24386 (keyboard_controller_wait_until_ready): ... this. Update all users.
24387
33937904 243882010-01-01 Carles Pina i Estany <carles@pina.cat>
24389
24390 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24391 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24392 string using string width.
24393 * normal/menu_text.c (grub_print_message_indented): Use
24394 grub_print_spaces and not print_spaces.
24395 (print_timeout): Likewise.
24396 (print_spaces): Move to...
24397 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24398
3fd3b8d8
RM
243992010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24400
24401 Import from Gnulib.
24402
24403 * gnulib/getdelim.c: New file.
24404 * gnulib/getline.c: Likewise.
24405
33433555
VS
244062009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24407
24408 * include/grub/list.h (grub_assert_fail): Removed.
24409 (grub_bad_type_cast_real): New function.
24410 (grub_bad_type_cast): New macro.
24411 (GRUB_AS_LIST): Use grub_bad_type_cast.
24412 (GRUB_AS_LIST_P): Likewise.
e44721e8 24413 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24414 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24415 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24416 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24417 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24418
f5a51306
VS
244192009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24420
24421 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24422 Fix syntax error.
24423
90d1e879
RM
244242009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24425
24426 * configure.ac: Check for TARGET_CFLAGS initialization before we
24427 initialize it ourselves (sigh).
24428 Move a few modifications to TARGET_CFLAGS to be unconditional
24429 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24430 eh_frame)
24431
24432 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24433 * term/i386/pc/at_keyboard.c
24434 (keyboard_controller_wait_untill_ready): Likewise.
24435 (keyboard_controller_led): Rename `led_status' paramter to avoid
24436 name conflict.
24437
465b5a81 244382009-12-28 Carles Pina i Estany <carles@pina.cat>
24439
24440 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24441 quotes.
24442
c181849b
VS
244432009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24444
24445 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24446
9c8739a4
VS
244472009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24448
24449 * normal/menu_text.c (grub_print_message_indented): Prevent
24450 past-the-end-of-array dereference.
24451
3e74249c
VS
244522009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24455 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24456
64fd18ed 244572009-12-27 Carles Pina i Estany <carles@pina.cat>
24458
24459 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24460 * normal/main.c (grub_normal_read_line): Remove a space from the
24461 default prompt.
24462
714af9b9 244632009-12-27 Carles Pina i Estany <carles@pina.cat>
24464
24465 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24466 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24467 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24468 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24469 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24470 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24471 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24472
82f3e412 244732009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24474
24475 * video/readers/jpeg.c (cmd): Declare.
24476 (grub_cmd_jpegtest): Use `grub_command_t' type.
24477 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24478 Assign to `cmd'.
24479 (GRUB_MOD_FINI): Use `cmd' to unregister.
24480 * video/readers/png.c (cmd): Declare.
24481 (grub_cmd_pngtest): Use `grub_command_t' type.
24482 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24483 Assign to `cmd'.
24484 (GRUB_MOD_FINI): Use `cmd' to unregister.
24485 * video/readers/tga.c (cmd): Declare.
24486 (grub_cmd_tgatest): Use `grub_command_t' type.
24487 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24488 Assign to `cmd'.
24489 (GRUB_MOD_FINI): Use `cmd' to unregister.
24490
82f3e412 244912009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24492
24493 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24494 stops.
24495 * kern/corecmd.c (grub_register_core_commands): Likewise.
24496 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24497 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24498 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24499 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24500 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24501 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24502 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24503 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24504 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24505 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24506 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24507 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24508 * normal/handler.c (insert_handler): Likewise.
24509 * normal/main.c (GRUB_MOD_INIT): Likewise.
24510 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24511
fdcdbb66 245122009-12-26 Carles Pina i Estany <carles@pina.cat>
24513
24514 * commands/help.c (grub_cmd_help): Print the command name before the
24515 summary.
24516 (GRUB_MOD_INIT): Remove command name from the summary.
24517 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24518 string as summary.
fdcdbb66 24519 * lib/arg.c (find_long): Print the command name before the summary.
24520 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24521 summary.
24522 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24523 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24524 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24525 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24526 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24527 * commands/date.c (GRUB_MOD_INIT): Likewise.
24528 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24529 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24530 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24531 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24532 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24533 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24534 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24535 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24536 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24537 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24538 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24539 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24540 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24541 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24542 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24543 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24544 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24545 * commands/password.c (GRUB_MOD_INIT): Likewise.
24546 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24547 * commands/read.c (GRUB_MOD_INIT): Likewise.
24548 * commands/search.c (GRUB_MOD_INIT): Likewise.
24549 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24550 * commands/test.c (GRUB_MOD_INIT): Likewise.
24551 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24552 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24553 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24554 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24555 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24556 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24557 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24558 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24559 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24560 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24561 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24562 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24563 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24564 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24565
9c288be2
VS
245662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24567
24568 Use search command for preliminar UUID search.
24569
24570 * commands/search.c: Split into ...
24571 * commands/search_wrap.c: ...this
24572 * commands/search.c: ...and this.
24573 * commands/search_file.c: New file.
24574 * commands/search_label.c: New file.
24575 * commands/search_uuid.c: New file.
24576 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24577 Add commands/search_wrap.c, commands/search_file.c,
24578 commands/search_label.c and commands/search_uuid.c.
24579 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24580 (search_mod_SOURCES): Set to commands/search_wrap.c.
24581 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24582 search_label.mod.
24583 (search_fs_file_mod_SOURCES): New variable.
24584 (search_fs_file_mod_CFLAGS): Likewise.
24585 (search_fs_file_mod_LDFLAGS): Likewise.
24586 (search_label_mod_SOURCES): Likewise.
24587 (search_label_mod_CFLAGS): Likewise.
24588 (search_label_mod_LDFLAGS): Likewise.
24589 (search_fs_uuid_mod_SOURCES): New variable.
24590 (search_fs_uuid_mod_CFLAGS): Likewise.
24591 (search_fs_uuid_mod_LDFLAGS): Likewise.
24592 (fs_file_mod_SOURCES): Removed.
24593 (fs_file_mod_CFLAGS): Likewise.
24594 (fs_file_mod_LDFLAGS): Likewise.
24595 (fs_uuid_mod_SOURCES): Removed.
24596 (fs_uuid_mod_CFLAGS): Likewise.
24597 (fs_uuid_mod_LDFLAGS): Likewise.
24598 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24599 Set to util/grub-install.in.
24600 * disk/fs_file.c: Removed.
24601 * disk/fs_uuid.c: Likewise.
24602 * include/grub/search.h: New file.
24603 * util/grub-install.in: Handle sparc64.
24604 Create and use load.cfg.
24605 * util/sparc64/ieee1275/grub-install.in: Removed.
24606
db943399
VS
246072009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24608
24609 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24610 Ignore return status if CF is cleared.
24611 (grub_biosdisk_get_diskinfo_standard): Likewise.
24612
3fdae612
RM
246132009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24614
24615 * term/i386/pc/at_keyboard.c
24616 (keyboard_controller_wait_untill_ready): New function.
24617 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24618 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24619 for keyboard polling, rather than duplicate the same loop. This
24620 saves a few bytes in code size.
24621
7ebaa2b4
VS
246222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24623
24624 Support for (pxe[:server[:gateway]]) syntax and
24625 use environment variable for PXE.
24626
24627 * commands/i386/pc/pxecmd.c (options): Removed.
24628 (print_ip): Removed.
24629 (grub_cmd_pxe): Removed
24630 (grub_cmd_pxe_unload): New function.
24631 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24632 (grub_pxe_your_ip): Made static.
24633 (grub_pxe_default_server_ip): Likewise.
24634 (grub_pxe_default_gateway_ip): Likewise.
24635 (grub_pxe_blksize): Likewise.
24636 (parse_ip): New function.
24637 (grub_pxe_open): Support server and gateway specification.
24638 (grub_pxe_close): Free disk->data.
24639 (grub_pxefs_open): Use disk->data.
24640 (grub_pxefs_read): Likewise.
24641 (grub_env_write_readonly): New function.
24642 (set_mac_env): Likewise.
24643 (set_env_limn_ro): Likewise.
24644 (parse_dhcp_vendor): Likewise.
24645 (grub_pxe_detect): Set the environment variables.
24646 (set_ip_env): New function.
24647 (write_ip_env): Likewise.
24648 (grub_env_write_pxe_default_server): Likewise.
24649 (grub_env_write_pxe_default_gateway): Likewise.
24650 (grub_env_write_pxe_blocksize): Likewise.
24651 (GRUB_MOD_INIT(pxe)): Set environment variables.
24652 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24653 (grub_pxe_mac_addr_t): ... this. All users updated.
24654 (grub_pxe_your_ip): Removed.
24655 (grub_pxe_server_ip): Likewise.
24656 (grub_pxe_gateway_ip): Likewise.
24657 (grub_pxe_blksize): Likewise.
24658
ec5f98ab 246592009-12-25 Carles Pina i Estany <carles@pina.cat>
24660
24661 * commands/help.c: Include `<grub/i18n.h>'.
24662 (grub_cmd_help): Gettextizze.
24663 (GRUB_MOD_INIT): Likewise.
24664 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24665 (GRUB_MOD_INIT): Gettextizze.
24666 * commands/search.c: Include `<grub/i18n.h>'.
24667 (options): Gettextizze.
24668 (GRUB_MOD_INIT): Gettextizze.
24669 * lib/arg.c: Include `<grub/i18n.h>'.
24670 (help_options): Gettextizze.
24671 (find_long): Likewise.
24672 (grub_arg_show_help): Likewise.
24673 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24674 (read_command_list): Gettextizze.
24675 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24676 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24677
22815526
RM
246782009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24679
24680 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24681 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24682 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24683 (led_status): New variable.
24684 (keyboard_controller_led): New function.
24685 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24686 update led status for caps lock, num lock and scroll lock.
24687
0ad46fd7
FZ
246882009-12-25 Felix Zielcke <fzielcke@z-51.de>
24689
24690 * util/hostdisk.c (open_device): Fix a comment.
24691
d0e158c2
RM
246922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24693
24694 * util/grub-install.in (host_os): New variable.
24695 * util/i386/efi/grub-install.in (host_os): Likewise.
24696
401c0ad6
RM
246972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24698
24699 * util/mkisofs/write.c (padblock_write): Abort when given an
24700 excedingly large embed image, instead of silently truncating it.
24701
d14d3370
RM
247022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24703
24704 * include/multiboot.h: Indentation fixes.
24705
eeed10b4
RM
247062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24707
24708 * include/multiboot.h (struct multiboot_aout_symbol_table)
24709 (struct multiboot_elf_section_header_table): New structure
24710 declarations (stolen from GRUB Legacy).
24711 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24712 table information.
24713
24714 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24715 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24716 type aliases.
24717
681c70ab
RM
247182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24719
24720 * include/multiboot.h: Make comments src2texi-friendly.
24721
e4d47d8d
RM
247222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24723
24724 For consistency with [multiboot]/docs/boot.S.
24725
24726 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24727 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24728 (MULTIBOOT_MAGIC2): Rename from this ...
24729 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24730
a0b70bda
RM
247312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24732
24733 * include/multiboot.h: Remove `<grub/types.h>'.
24734 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24735 types. Update all users.
24736
61ba42be 247372009-12-25 Carles Pina i Estany <carles@pina.cat>
24738
24739 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24740 `couldn't' and `can not' by `cannot'.
24741 * commands/i386/pc/drivemap.c: Likewise.
24742 * disk/ata.c: Likewise.
24743 * disk/ieee1275/nand.c: Likewise.
24744 * fs/affs.c: Likewise.
24745 * fs/fat.c: Likewise.
24746 * fs/hfs.c: Likewise.
24747 * fs/hfsplus.c: Likewise.
24748 * fs/iso9660.c: Likewise.
24749 * fs/jfs.c: Likewise.
24750 * fs/minix.c: Likewise.
24751 * fs/reiserfs.c: Likewise.
24752 * fs/sfs.c: Likewise.
24753 * fs/udf.c: Likewise.
24754 * fs/ufs.c: Likewise.
24755 * fs/xfs.c: Likewise.
24756 * loader/powerpc/ieee1275/linux.c: Likewise.
24757 * loader/sparc64/ieee1275/linux.c: Likewise.
24758 * util/grub-probe.c: Likewise.
24759 * util/misc.c: Likewise.
24760
7fd0baee 247612009-12-24 Carles Pina i Estany <carles@pina.cat>
24762
24763 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24764 grub_errno calls.
24765 * commands/acpi.c: Likewise.
24766 * commands/blocklist.c: Likewise.
24767 * commands/efi/loadbios.c: Likewise.
24768 * commands/i386/pc/drivemap.c: Likewise.
24769 * commands/loadenv.c: Likewise.
24770 * commands/memrw.c: Likewise.
24771 * commands/password.c: Likewise.
24772 * commands/videotest.c: Likewise.
24773 * disk/ata.c: Likewise.
24774 * disk/ata_pthru.c: Likewise.
24775 * disk/dmraid_nvidia.c: Likewise.
24776 * disk/ieee1275/nand.c: Likewise.
24777 * disk/ieee1275/ofdisk.c: Likewise.
24778 * disk/loopback.c: Likewise.
24779 * disk/lvm.c: Likewise.
24780 * disk/mdraid_linux.c: Likewise.
24781 * disk/raid.c: Likewise.
24782 * disk/raid6_recover.c: Likewise.
24783 * disk/scsi.c: Likewise.
24784 * efiemu/main.c: Likewise.
24785 * efiemu/mm.c: Likewise.
24786 * efiemu/pnvram.c: Likewise.
24787 * efiemu/symbols.c: Likewise.
24788 * font/font.c: Likewise.
24789 * fs/cpio.c: Likewise.
24790 * fs/hfsplus.c: Likewise.
24791 * fs/iso9660.c: Likewise.
24792 * fs/jfs.c: Likewise.
24793 * fs/minix.c: Likewise.
24794 * fs/ntfs.c: Likewise.
24795 * fs/ntfscomp.c: Likewise.
24796 * fs/reiserfs.c: Likewise.
24797 * fs/ufs.c: Likewise.
24798 * fs/xfs.c: Likewise.
24799 * gettext/gettext.c: Likewise.
24800 * include/grub/auth.h: Likewise.
24801 * kern/elf.c: Likewise.
24802 * kern/file.c: Likewise.
24803 * kern/ieee1275/init.c: Likewise.
24804 * kern/ieee1275/mmap.c: Likewise.
24805 * kern/ieee1275/openfw.c: Likewise.
24806 * kern/powerpc/dl.c: Likewise.
24807 * kern/sparc64/dl.c: Likewise.
24808 * lib/arg.c: Likewise.
24809 * loader/i386/bsd.c: Likewise.
24810 * loader/i386/bsdXX.c: Likewise.
24811 * loader/i386/efi/linux.c: Likewise.
24812 * loader/i386/efi/xnu.c: Likewise.
24813 * loader/i386/ieee1275/linux.c: Likewise.
24814 * loader/i386/linux.c: Likewise.
24815 * loader/i386/multiboot.c: Likewise.
24816 * loader/i386/pc/linux.c: Likewise.
24817 * loader/i386/pc/multiboot2.c: Likewise.
24818 * loader/i386/xnu.c: Likewise.
24819 * loader/ieee1275/multiboot2.c: Likewise.
24820 * loader/macho.c: Likewise.
24821 * loader/machoXX.c: Likewise.
24822 * loader/multiboot2.c: Likewise.
24823 * loader/multiboot_loader.c: Likewise.
24824 * loader/powerpc/ieee1275/linux.c: Likewise.
24825 * loader/sparc64/ieee1275/linux.c: Likewise.
24826 * loader/xnu.c: Likewise.
24827 * loader/xnu_resume.c: Likewise.
24828 * mmap/i386/pc/mmap.c: Likewise.
24829 * normal/menu_viewer.c: Likewise.
24830 * partmap/acorn.c: Likewise.
24831 * partmap/amiga.c: Likewise.
24832 * partmap/apple.c: Likewise.
24833 * script/lexer.c: Likewise.
24834 * term/gfxterm.c: Likewise.
24835 * term/i386/pc/serial.c: Likewise.
24836 * term/i386/pc/vga.c: Likewise.
24837 * term/ieee1275/ofconsole.c: Likewise.
24838 * term/terminfo.c: Likewise.
24839 * video/bitmap.c: Likewise.
24840 * video/efi_gop.c: Likewise.
24841 * video/efi_uga.c: Likewise.
24842 * video/fb/video_fb.c: Likewise.
24843 * video/i386/pc/vbe.c: Likewise.
24844 * video/readers/tga.c: Likewise.
24845 * video/video.c: Likewise.
24846
0ad46fd7 248472009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24848
24849 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24850 * commands/lspci.c: Likewise.
24851 * commands/probe.c: Likewise.
24852 * commands/xnu_uuid.c: Likewise.
24853 * conf/i386-coreboot.rmk: Likewise.
24854 * conf/i386-efi.rmk: Likewise.
24855 * conf/i386-ieee1275.rmk: Likewise.
24856 * conf/i386-pc.rmk: Likewise.
24857 * conf/powerpc-ieee1275.rmk: Likewise.
24858 * conf/sparc64-ieee1275.rmk: Likewise.
24859 * conf/x86_64-efi.rmk: Likewise.
24860 * fs/i386/pc/pxe.c: Likewise.
24861 * gettext/gettext.c: Likewise.
24862 * include/grub/efi/graphics_output.h: Likewise.
24863 * include/grub/i386/pc/memory.h: Likewise.
24864 * kern/env.c: Likewise.
24865 * kern/i386/qemu/startup.S: Likewise.
24866 * lib/i386/pc/biosnum.c: Likewise.
24867 * lib/i386/relocator.c: Likewise.
24868 * lib/i386/relocator_asm.S: Likewise.
24869 * lib/relocator.c: Likewise.
24870 * loader/i386/bsd.c: Likewise.
24871 * loader/i386/multiboot.c: Likewise.
24872 * loader/i386/pc/chainloader.c: Likewise.
24873 * loader/i386/xnu.c: Likewise.
24874 * loader/xnu.c: Likewise.
24875 * normal/main.c: Likewise.
24876 * normal/menu_text.c: Likewise.
24877 * util/getroot.c: Likewise.
24878 * util/grub-mkconfig_lib.in: Likewise.
24879 * util/grub.d/00_header.in: Likewise.
24880 * util/i386/pc/grub-mkimage.c: Likewise.
24881 * util/mkisofs/eltorito.c: Likewise.
24882 * util/mkisofs/exclude.h: Likewise.
24883 * util/mkisofs/hash.c: Likewise.
24884 * util/mkisofs/iso9660.h: Likewise.
24885 * util/mkisofs/joliet.c: Likewise.
24886 * util/mkisofs/mkisofs.c: Likewise.
24887 * util/mkisofs/mkisofs.h: Likewise.
24888 * util/mkisofs/multi.c: Likewise.
24889 * util/mkisofs/name.c: Likewise.
24890 * util/mkisofs/rock.c: Likewise.
24891 * util/mkisofs/tree.c: Likewise.
24892 * util/mkisofs/write.c: Likewise.
24893 * video/efi_gop.c: Likewise.
24894
009ec743
VS
248952009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24896
24897 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24898 size counting.
24899
0ad46fd7 249002009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24901
24902 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24903 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24904
d3d30ea0
VS
249052009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24908 (GRUB_MOD_INIT(memrw)): Update help line.
24909
a34f5c70
VS
249102009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24911
24912 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24913 Use grub_extcmd_t. All users updated.
24914 (options): New variable.
24915 (grub_cmd_read): Restructure for readability. Support "-v" option.
24916 (grub_cmd_write): Restructure for readability.
24917
0ad46fd7 249182009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24919
24920 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24921
0ad46fd7 249222009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24923
24924 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24925 with the actual contents of the correspondending make variable.
24926 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24927 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24928 specifying `*.lst' and `efiemu??.o'
24929
0ad46fd7 249302009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24931
24932 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24933 after function name.
24934 Noticed by Rene Engelhard <rene@debian.org>.
24935
dc77a799
VS
249362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24937
24938 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24939 (options): New variable.
24940 (iospace): Likewise.
24941 (grub_lspci_iter): List IO spaces if "-i" was given.
24942 (grub_cmd_lspci): Parse options.
24943 (GRUB_MOD_INIT(lspci)): Use extcmd.
24944 (GRUB_MOD_FINI(lspci)): Likewise.
24945
0ad46fd7 249462009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24947
24948 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24949 `function' keyword.
24950 Patch by Tony Mancill <tmancill@debian.org>.
24951
b5d5993b
VS
249522009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24955 (grub_uhci_portstatus): Likewise.
24956 (grub_uhci_portstatus): Add necessary delay.
11d18281 24957 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24958
941903f2 249592009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24960
941903f2 24961 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24962 (GRUB_MOD_INIT): Likewise.
24963 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24964 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24965 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24966 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24967 (enable_rom_area): Likewise.
24968 (GRUB_MOD_INIT): Likewise.
24969 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24970 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24971 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24972 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24973 * commands/hexdump.c (options): Likewise.
24974 * commands/i386/cpuid.c (options): Likewise.
24975 (GRUB_MOD_INIT): Likewise.
24976 * commands/i386/pc/drivemap.c (options): Likewise.
24977 (GRUB_MOD_INIT): Likewise.
24978 * commands/i386/pc/halt (options): Likewise.
24979 (GRUB_MOD_INIT): Likewise.
24980 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24981 * commands/i386/pc/pxecmd.c (options): Likewise.
24982 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24983 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24984 * commands/keystatus.c (options): Likewise.
24985 (GRUB_MOD_INIT): Likewise.
24986 * commands/loadenv.c (options): Likewise.
24987 * commands/ls.c (options): Likewise.
24988 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24989 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24990 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24991 * commands/parttool.c (helpmsg): Likewise.
24992 * commands/probe.c (options): Likewise.
24993 * commands/read.c (GRUB_MOD_INIT): Likewise.
24994 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24995 * commands/search.c (options): Likewise.
24996 * commands/sleep.c (options): Likewise.
24997 * commands/test.c (GRUB_MOD_INIT): Likewise.
24998 * commands/true.c (GRUB_MOD_INIT): Likewise.
24999 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
25000 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
25001 * lib/arg.c (help_options): Likewise.
e9bbb4e7 25002 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
25003 `$(XGETTEXT)'.
98a50553 25004 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 25005
0ad46fd7 250062009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 25007
ef3c2c3a 25008 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
25009 instead of specifying them explicit.
25010
7922f68b
RM
250112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25012
25013 * NEWS: Add grub-probe support for GNU/Hurd.
25014
537ce47f
RM
250152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25016
25017 * NEWS: gettext was added after 1.97.
25018
9b214e3a
RM
250192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25020
25021 * util/mkisofs/msdos_partition.h: New file (based on
25022 include/grub/msdos_partition.h).
25023 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25024 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25025 (ld_options, main): Recognize --protective-msdos-label.
25026 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25027 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25028 (padblock_write): If `use_protective_msdos_label' is set, patch a
25029 protective DOS-style label in the output image.
25030
25031 * util/grub-mkrescue.in: Use --protective-msdos-label.
25032
e9309813
RM
250332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25034
25035 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25036 boot.
25037
0ae56929
RM
250382009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25039
25040 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25041 variables.
25042 (ld_options, main): Recognize `--embedded-boot'.
25043 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25044 declarations.
25045 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25046 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25047 (padblock_write): Likewise. Rewrite to support embedded boot image.
25048
25049 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25050 for BIOS-based disk boot instead of only ElTorito.
25051
b15937b1
RM
250522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25053
25054 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25055 build (not needed for bootstrap).
25056
52cc3ce0
RM
250572009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25058
25059 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25060 from i386-pc build (not needed for bootstrap).
25061 Rewrite a pair of strings.
25062
36f5ff04
RM
250632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25064
25065 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25066
973c6c85 250672009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
25068
25069 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25070
05d21547
AB
250712009-12-21 Andreas Born <futur.andy@googlemail.com>
25072
25073 * kern/env.c (grub_env_context_open): Mark exported variable for
25074 reexport.
25075
0175d51f
AB
250762009-12-21 Andreas Born <futur.andy@googlemail.com>
25077
25078 * kern/env.c (grub_env_export): Create nonexistent variables before
25079 exporting.
25080
7f39d92f 250812009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 25082
7f39d92f 25083 * include/grub/auth.h: Include `<grub/i18n.h>'.
25084 (GRUB_GET_PASSWORD): Gettextizze string.
25085 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25086 menu_text.c.
25087 (grub_utf8_to_ucs4_alloc): Fix indentation.
25088 (grub_print_ucs4): Likewise.
25089 (grub_getstringwidth): Likewise.
25090 (print_message_indented): New declaration.
25091 * normal/auth.c: Include `<grub/i18n.h>'.
25092 (grub_auth_check_authentication): Gettexttize string.
25093 * normal/cmdline.c: Include `<grub/i18n.h>'.
25094 (grub_cmdline_get): Gettextizze.
25095 * normal/color.c: Include `<grub/i18n.h>'.
25096 (grub_parse_color_name_pair): Gettexttize strings.
25097 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25098 string (use `print_message_indented').
25099 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25100 `include/grub/normal.h'.
25101 (print_message_indented): Renamed to ...
25102 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25103 used in normal/main.c).
25104 (print_message): Use `grub_print_message_indented' instead of
25105 `print_message_indented'.
25106 (print_timeout): Likewise.
25107 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25108 (grub_normal_print_device_info): Gettexttize strings.
25109 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25110
3041d898
VS
251112009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25112
25113 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25114 of arguments. Return number of tokens and not arguments. All users
25115 updated.
25116
de15bf8e
VS
251172009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25118
25119 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25120 non-MSDOS paritions.
25121
e0a6ca52
VS
251222009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25123
25124 * include/grub/types.h (UNUSED): Removed since it conflicts with
25125 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25126 Reported by Grégoire Sutre.
25127
b99518d1 251282009-12-19 Carles Pina i Estany <carles@pina.cat>
25129
25130 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25131 (grub_print_ucs4_alloc): Likewise.
25132 (grub_getstringwidth): Likewise.
25133 * normal/main.c (grub_normal_init_page): Gettextize version string.
25134 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25135 (getstringwidth): Renamed to ...
25136 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25137 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25138 (grub_print_ucs4): Remove `static' qualifer (now used in
25139 normal/main.c).
25140 * po/POTFILES: Add normal/main.c.
25141
bfd5e52b 251422009-12-19 Carles Pina i Estany <carles@pina.cat>
25143
25144 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25145 (print_message_indented): Add `margin_left' and `margin_right'
25146 parameters.
25147 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25148 strings.
25149 (print_timeout): Use `print_message_indented' to print the message.
25150 Deletes `second_stage' parameter.
25151 (run_menu): Update `print_timeout' calls.
25152
5a1ad2b9
VS
251532009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25154
25155 Fix console palette on OpenFirmware.
25156
25157 * term/ieee1275/ofconsole.c (MAX): Removed.
25158 (colors): Redone based on VGA palette.
25159 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25160 colors are supported.
25161 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25162
b045f00a
VS
251632009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25164
25165 Fix potential EfiEmu double prepare.
25166
25167 * efiemu/main.c (prepared): New variable
25168 (grub_efiemu_unload): Set prepare to '0'.
25169 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25170
25171 set_virtual_address_map support.
25172
25173 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25174 prototype.
25175 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25176 prototype.
25177 (grub_efiemu_crc32): Likewise.
25178 (grub_efiemu_crc64): Likewise.
25179 (grub_efiemu_set_virtual_address_map): Likewise.
25180 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25181 New definition.
25182 (grub_autoefi_set_virtual_address_map): Likewise.
25183 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25184 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25185 Restructure flow to accomodate it.
25186 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25187 (grub_efiemu_crc): Recompute CRC32.
25188 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25189 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25190 * efiemu/symbols.c (relocated_handle): New variable.
25191 (grub_efiemu_free_syms): Free relocated_handle.
25192 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25193 (grub_efiemu_write_sym_markers): New function.
25194 (grub_efiemu_set_virtual_address_map): Likewise.
25195
25196 Newer XNU parameters.
25197
25198 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25199 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25200 (grub_xnu_fill_devicetree): New prototype.
25201 (grub_xnu_heap_real_start): New variable.
25202 * loader/xnu.c (get_name_ptr): New function.
25203 (grub_xnu_load_driver): Fill namelen and name.
25204
25205 64-bit xnu support.
25206
25207 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25208 and 'loader/macho64.c'.
25209 * conf/i386-pc.rmk: Likewise.
25210 * conf/x86_64-efi.rmk: Likewise.
25211 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25212 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25213 * include/grub/macho.h (grub_macho_segment64): New structure.
25214 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25215 (grub_macho_size32): ... to this.
25216 (grub_macho32_get_entry_point): Renamed from ...
25217 (grub_macho_get_entry_point32): ... to this.
25218 (grub_macho_contains_macho64): New prototype.
25219 (grub_macho_size64): Likewise.
25220 (grub_macho_get_entry_point64): Likewise.
25221 (grub_macho32_load): Renamed from ...
25222 (grub_macho_load32): ... to this.
25223 (grub_macho32_filesize): Renamed from ...
25224 (grub_macho_filesize32): ... to this.
25225 (grub_macho32_readfile): Renamed from ...
25226 (grub_macho_readfile32): ... to this.
25227 (grub_macho_filesize64): New prototype.
25228 (grub_macho_readfile64): Likewise.
25229 (grub_macho_parse32): Likewise.
25230 (grub_macho_parse64): Likewise.
25231 * loader/macho.c: Split into ...
25232 * loader/machoXX.c: ... and this. Replace 32 with XX.
25233 * loader/macho32.c: New file.
25234 * loader/macho64.c: Likewise.
25235 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25236 (grub_cmd_xnu_kernel): Make 32-bit only.
25237 (grub_cmd_xnu_kernel64): New function.
25238 (grub_xnu_load_driver): Support Mach-O 64.
25239 (grub_cmd_xnu_mkext): Likewise.
25240 * util/grub.d/30_os-prober.in (osx_entry): New function.
25241 Generate entries for 64-bit boot too.
25242
25243 Eliminate ad-hoc tree format in XNU and EfiEmu.
25244
25245 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25246 * efiemu/pnvram.c: Rewritten to use environment variables.
25247 All users updated.
25248
25249 Inline utf16_to_utf8.
25250
25251 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25252 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25253 All users updated.
25254 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25255
25256 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25257 * commands/usbtest.c (grub_usb_get_string): ... move here.
25258 (usb_print_str): Fix error handling.
25259 * include/grub/usb.h (grub_usb_get_string): Remove.
25260
25261 UTF-8 to UTF-16 transformation.
25262
25263 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25264 (charset_mod_SOURCES): New variable.
25265 (charset_mod_CFLAGS): Likewise.
25266 (charset_mod_LDFLAGS): Likewise.
25267 * include/grub/utf.h: New file.
25268 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25269
25270 Support for device properties.
25271
25272 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25273 (grub_xnu_devprop_device_header): Likewise.
25274 (grub_xnu_devprop_device_descriptor): Likewise.
25275 (grub_xnu_devprop_add_device): New prototype.
25276 (grub_xnu_devprop_remove_device): Likewise.
25277 (grub_xnu_devprop_remove_property): Likewise.
25278 (grub_xnu_devprop_add_property_utf8): Likewise.
25279 (grub_xnu_devprop_add_property_utf16): Likewise.
25280 (grub_cpu_xnu_init): Likewise.
25281 (grub_cpu_xnu_fini): Likewise.
25282 (grub_cpu_xnu_unload): Likewise.
25283 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25284 (property_descriptor): Likewise.
25285 (devices): New variable.
25286 (grub_xnu_devprop_remove_property): New function.
25287 (grub_xnu_devprop_add_device): Likewise.
25288 (grub_xnu_devprop_remove_device): Likewise.
25289 (grub_xnu_devprop_add_property): Likewise.
25290 (grub_xnu_devprop_add_property_utf8): Likewise.
25291 (grub_xnu_devprop_add_property_utf16): Likewise.
25292 (hextoval): Likewise.
25293 (grub_cpu_xnu_fill_devprop): Likewise.
25294 (grub_cmd_devprop_load): Likewise.
25295 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25296 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25297 (cmd_devprop_load): New variable.
25298 (grub_cpu_xnu_init): New function.
25299 (grub_cpu_xnu_fini): Likewise.
25300 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25301 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25302 (grub_cmd_xnu_devtree): Likewise.
25303 (hextoval): New function.
25304 (unescape): Likewise.
25305 (grub_xnu_fill_devicetree): Likewise.
25306
25307 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25308 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25309
0945f181
VS
253102009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25311
25312 Workaround for broken ATI VBE.
25313
25314 * video/i386/pc/vbe.c (last_set_mode): New variable.
25315 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25316 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25317 (grub_video_vbe_setup): Don't check for reserved flag.
25318
0ad46fd7 253192009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25320
25321 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25322 the `find' command.
25323
c179ebe4
VS
253242009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25325
25326 UUID support for HFS.
25327
25328 * fs/hfs.c (grub_hfs_uuid): New function.
25329 (grub_hfs_fs): New value .uuid.
25330 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25331
0ad46fd7 253322009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25333
25334 Fix a segfault with parsing unknown long options.
25335
25336 * util/grub-mkrelpath.c (options): Zero terminate it.
25337
c4a3e41a
CPE
253382009-12-13 Carles Pina i Estany <carles@pina.cat>
25339
25340 * include/grub/misc.h (grub_puts): New declaration.
25341 (grub_puts_): Likewise.
a22008a6 25342 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25343 (grub_puts_): Likewise.
25344
2e8a7602
RM
253452009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25346
25347 * util/grub-probe.c (probe): Improve error message.
25348
b50b77b9
RM
253492009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25350
25351 * loader/i386/multiboot_elfxx.c
25352 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25353 initialization.
25354
253552009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25356
25357 Relocator framework
25358
25359 * loader/i386/xnu_helper.S: Removed. All users updated.
25360 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25361 (relocator_mod_SOURCES): New variable.
25362 (relocator_mod_CFLAGS): Likewise.
25363 (relocator_mod_LDFLAGS): Likewise.
25364 (relocator_mod_ASFLAGS): Likewise.
25365 * conf/x86_64.rmk: Likewise.
25366 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25367 (grub_multiboot_payload_entry_offset): Likewise.
25368 (grub_multiboot_forward_relocator): Likewise.
25369 (grub_multiboot_forward_relocator_end): Likewise.
25370 (grub_multiboot_backward_relocator): Likewise.
25371 (grub_multiboot_backward_relocator_end): Likewise.
25372 (grub_multiboot_payload_eip): New variable.
25373 (grub_multiboot_payload_orig): Likewise.
25374 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25375 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25376 * include/grub/i386/memory.h
25377 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25378 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25379 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25380 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25381 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25382 * include/grub/i386/relocator.h: New file.
25383 * include/grub/x86_64/relocator.h: Likewise.
25384 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25385 (XNU_RELOCATOR): New macro.
25386 (grub_xnu_launcher_start): Remove.
25387 (grub_xnu_launcher_end): Likewise.
25388 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25389 (grub_xnu_heap_real_start): Remove.
25390 (grub_xnu_heap_start): Change to void *. All users updated.
25391 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25392 * lib/i386/relocator.c: New file.
25393 * lib/i386/relocator_asm.S: Likewise.
25394 * lib/i386/relocator_backward.S: Likewise.
25395 * lib/mips/relocator.c: Likewise.
25396 * lib/mips/relocator_asm.S: Likewise.
25397 * lib/relocator.c: Likewise.
25398 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25399 (entry): Removed.
25400 (playground): Likewise.
25401 (grub_multiboot_payload_orig): New variable.
25402 (grub_multiboot_payload_dest): Likewise.
25403 (grub_multiboot_payload_size): Likewise.
25404 (grub_multiboot_payload_eip): Likewise.
25405 (grub_multiboot_payload_esp): Likewise.
25406 (grub_multiboot_boot): Use grub_relocator32_boot.
25407 (grub_multiboot_unload): Free relocators.
25408 (grub_multiboot): Setup stack. Use relocators.
25409 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25410 (grub_multiboot_load_elfXX): Use relocators.
25411 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25412 (grub_multiboot_payload_size): Likewise.
25413 (grub_multiboot_payload_dest): Likewise.
25414 (grub_multiboot_payload_entry_offset): Likewise.
25415 (grub_multiboot_forward_relocator): Likewise.
25416 (grub_multiboot_backward_relocator): Likewise.
25417 (grub_multiboot_real_boot): Likewise.
25418 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25419 (grub_xnu_entry_point): Likewise.
25420 (grub_xnu_arg1): Likewise.
25421 (grub_xnu_stack): Likewise.
25422 (grub_xnu_launch): Removed.
25423 (grub_xnu_boot_resume): New function.
25424 (grub_xnu_boot): Use relocators.
25425 * loader/i386/xnu_helper.S: Removed.
25426 * loader/xnu.c (grub_xnu_heap_start): New variable.
25427 (grub_xnu_heap_size): Likewise.
25428 (grub_xnu_heap_malloc): Use relocators.
25429 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25430
29eb90c6
VS
254312009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25434 anything.
25435
31027430
CPE
254362009-12-13 Carles Pina i Estany <carles@pina.cat>
25437
25438 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25439 GRUB_ERR_NONE before calling grub_env_set.
25440
dc0c71d9
RM
254412009-12-12 Robert Millan <rmh@aybabtu.com>
25442
25443 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25444 * genmk.rb (video): New variable.
25445 (CLEANFILES, VIDEOFILES): Add #{video}.
25446 (#{video}): New target rule.
25447 * genvideolist.sh: New file.
25448 * Makefile.in (pkglib_DATA): Add video.lst.
25449 (video.lst): New target rule.
25450 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25451 `video.lst'.
25452 * util/grub.d/30_os-prober.in: Replace `vbe' with
25453 ${GRUB_VIDEO_BACKEND}.
25454
2a4bfcf0
RM
254552009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25456
25457 * THANKS: Add David Miller.
25458
2a3aa4d5
RM
254592009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25460
25461 libpciaccess support.
25462
25463 * Makefile.in (LIBPCIACCESS): New variable.
25464 (enable_grub_emu_pci): Likewise.
25465 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25466 util/pci.c and commands/lspci.c.
25467 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25468 * configure.ac (grub-emu-pci): New option.
25469 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25470 (grub_pci_device_unmap_range): Likewise.
25471 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25472 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25473 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25474 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25475 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25476 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25477 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25478 * include/grub/pciutils.h: New file.
25479 * util/pci.c: Likewise.
25480
0ad46fd7 254812009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25482
25483 * util/misc.c: Don't include <errno.h> twice.
25484
0ad46fd7 254852009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25486
25487 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25488 name in an error message.
25489 (grub_biosdisk_rw): Likewise.
25490
2e59983c
VS
254912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25492
25493 Eliminate NTFS 4Gib barrier.
25494
25495 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25496 (read_run_data): Likewise.
25497 (grub_ntfs_read_run_list): Likewise.
25498 (grub_ntfs_read_block): Likewise.
25499 (grub_ntfs_iterate_dir): Likewise.
25500 (read_mft): Likewise.
25501 (read_data): Likewise.
25502 Use COM_LOG_LEN.
25503 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25504 to avoid 64-bit division
25505 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25506 (grub_ntfs_rlst): Use grub_disk_addr_t.
25507
71ee178a
VS
255082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25509
25510 Eliminate grub-fstest 4Gib barrier.
25511
25512 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25513 (read_file): Fix error reporting.
25514
2520d4b8
VS
255152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25516
25517 Eliminate hexdump 4Gib barrier.
25518
25519 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25520 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25521
e1f27065
VS
255222009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25523
25524 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25525 Fixes amarsh bug.
25526
1a0f7f45
RM
255272009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25528
25529 Remove miscellaneous files in distclean target.
25530
25531 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25532
c631d9fb
CW
255332009-12-09 Colin Watson <cjwatson@ubuntu.com>
25534
25535 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25536 if they're already set. This resolves the conflict between my
25537 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25538 fixing the --grub-probe option again.
25539 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25540 change on 2009-10-06, so that we now once again source
25541 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25542
7c7b6106
RM
255432009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25544
25545 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25546 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25547 `util/devicemap.c'.
25548
e3069ec1
CPE
255492009-12-08 Carles Pina i Estany <carles@pina.cat>
25550
25551 * include/grub/misc.h (grub_printf_): New declaration.
25552 * kern/misc.c (grub_printf_): New definition.
25553 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25554 instead of `grub_printf' and `_'.
25555 * normal/menu_entry.c (store_completion): Likewise.
25556 (run): Likewise.
25557 (grub_menu_entry_run): Likewise.
25558 * normal/menu_text.c (grub_wait_after_message): Likewise.
25559 (notify_booting): Likewise.
25560 (notify_fallback): Likewise.
25561 (notify_execution_failure): Likewise.
25562
d6ceebf1
CW
255632009-12-07 Colin Watson <cjwatson@ubuntu.com>
25564
25565 * configure.ac: Check for vasprintf.
25566 * util/misc.c (asprintf): Move allocation from here ...
25567 (vasprintf): ... to here. New function.
25568 (xasprintf): New function.
25569 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25570 prototypes.
25571 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25572 * util/grub-mkfont.c (write_font): Likewise.
25573 * util/grub-probe.c (probe): Likewise.
25574 * util/hostdisk.c (make_device_name): Likewise.
25575
de6daa8b
DM
255762009-12-06 David S. Miller <davem@sunset.davemloft.net>
25577
25578 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25579 anything even prefixed with 'cdrom' as a cdrom.
25580
0ad46fd7 255812009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25582
25583 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25584 mount points.
25585
98d3dc02
CPE
255862009-12-05 Carles Pina i Estany <carles@pina.cat>
25587
25588 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25589 grub_gettext_msg_list.
25590 (grub_gettext_gettranslation_from_position): Return const char *
25591 and not char *.
a2c1332b 25592 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25593 returns from the list if existing there.
25594 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25595 (grub_gettext_delete_list): Delete the list.
25596 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25597 lang environment variable is changed.
25598 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25599
b283f108
VS
256002009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25601
25602 Rename kernel.mod to kernel.img.
25603
25604 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25605 (kernel_mod_EXPORTS): Rename to ...
25606 (kernel_img_EXPORTS): ... this.
25607 (kernel_mod_SOURCES): Rename to ...
25608 (kernel_img_SOURCES): ... this.
25609 (kernel_mod_HEADERS): Rename to ...
25610 (kernel_img_HEADERS): ... this. All users updated.
25611 (kernel_mod_CFLAGS): Rename to ...
25612 (kernel_img_CFLAGS): ... this.
25613 (kernel_mod_ASFLAGS): Rename to ...
25614 (kernel_img_ASFLAGS): ... this.
25615 (kernel_mod_LDFLAGS): Rename to ...
25616 (kernel_img_LDFLAGS): ... this.
25617 * conf/x86_64-efi.rmk: Likewise.
25618 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25619 (read_kernel_image): ... this. All users updated.
25620 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25621
69055f8a
CPE
256222009-12-05 Carles Pina i Estany <carles@pina.cat>
25623
25624 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25625 (print_spaces): New function.
25626 (grub_print_ucs4): New function.
25627 (getstringwidth): New function.
25628 (print_message_indented): New function.
25629 (print_message): Gettexttize strings using print_message_indented.
25630 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25631 width.
25632 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25633 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25634 Gettextize.
25635 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25636 string.
25637 (run): Likewise.
25638 (grub_menu_entry_run): Likewise.
25639 * PO/POTFILES: Add normal/menu_entry.c.
25640
f616f51c
VS
256412009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25642
25643 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25644
57bbe3be
CPE
256452009-12-05 Carles Pina i Estany <carles@pina.cat>
25646
25647 * util/grub-install.in: Install gettext .mo files.
25648 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25649
013d67a1
CPE
256502009-12-05 Carles Pina i Estany <carles@pina.cat>
25651
25652 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25653 grub_dprintf.
25654
fb954db0
RM
256552009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25656
25657 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25658 non-firmware-dependant one in realmode.S takes precedence.
25659
6b8474f8
RM
256602009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25661
25662 * commands/halt.c: Replace misc arch-specific headers with
25663 `<grub/misc.h>'.
25664 * commands/reboot.c: Likewise.
25665 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25666 `<grub/misc.h>'.
25667 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25668 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25669 (kernel_img_SOURCES): ... to here.
25670
25671 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25672 * include/grub/i386/pc/init.h: Likewise.
25673 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25674 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25675
25676 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25677
25678 * include/grub/i386/halt.h: Remove.
25679 * include/grub/i386/reboot.h: Likewise.
25680
25681 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25682
4b2e6ca2
DM
256832009-12-03 David S. Miller <davem@sunset.davemloft.net>
25684
25685 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25686 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25687 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25688 "progname.h"
25689 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25690 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25691 (usage): Add missing comma in printf.
25692
5239348f
RM
256932009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 Use the same reboot approach on i386 coreboot and qemu as we do on
25696 BIOS.
25697
25698 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25699 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25700 * kern/i386/reboot.c: Remove.
25701 * include/grub/i386/reboot.h (grub_reboot): Export function.
25702 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25703 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25704 0xf000:0xfff0 instead of 0xffff:0x0000.
25705 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25706 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25707
ef34cbd4
RM
257082009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25709
25710 Fix $srcdir != $objdir build.
25711
25712 * Makefile.in (po/%.po): Rewrite as ...
25713 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25714
dc9837ea
ST
257152009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25716
25717 Fix GNU/Hurd grub-install crash.
25718 * util/grub-probe.c (probe): Try to access `path' only when it is not
25719 NULL.
25720
2f857f98
VS
257212009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25722
25723 Correct module naming.
25724
25725 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25726 (GRUB_MOD_INIT(efi_uga)): ... to this
25727 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25728 (GRUB_MOD_FINI(efi_uga)): ... to this
25729 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25730 (GRUB_MOD_INIT(efi_gop)): ... to this
25731 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25732 (GRUB_MOD_FINI(efi_gop)): ... to this
25733
c5448046
RM
257342009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25735
25736 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25737 translatable.
25738 (usage): Translate `arg' strings using gettext().
25739 Thanks to Jordi Mallach for the suggestion.
25740
c85184ad
VS
257412009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25742
25743 GOP support. Based on patch from Bean
25744 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25745
25746 * video/efi_gop.c: New file.
25747 * include/grub/efi/graphics_output.h: Likewise.
25748 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25749 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25750 variables.
25751 * conf/x86_64-efi.rmk: Likewise.
25752
8a4c48d8
VS
257532009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25754
25755 Rename efi_fb to efi_uga.
25756
25757 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25758 'efi_uga.mod'.
25759 (efi_fb_mod_SOURCES): Rename this ...
25760 (efi_uga_mod_SOURCES): ... to this.
25761 (efi_fb_mod_CFLAGS): Rename this ...
25762 (efi_uga_mod_CFLAGS): ... to this.
25763 (efi_fb_mod_LDFLAGS): Rename this ...
25764 (efi_uga_mod_LDFLAGS): ... to this.
25765 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25766 'efi_uga.mod'.
25767 (efi_fb_mod_SOURCES): Rename this ...
25768 (efi_uga_mod_SOURCES): ... to this.
25769 (efi_fb_mod_CFLAGS): Rename this ...
25770 (efi_uga_mod_CFLAGS): ... to this.
25771 (efi_fb_mod_LDFLAGS): Rename this ...
25772 (efi_uga_mod_LDFLAGS): ... to this.
25773 * video/efi_fb.c: Move this ...
25774 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25775
fb6c1a7b
RM
257762009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25777
25778 * po/README: New file. Explain our PO file workflow.
25779
3bc7896c
RM
257802009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25781
25782 * po/ChangeLog: Remove. Move relevant entries back to ...
25783 * ChangeLog: ... here.
25784 * po/ca.po: Remove (now handled by TLP).
25785 * po/id.po: Likewise.
25786 * po/zh_CN.po: Likewise.
25787 * Makefile.in (LINGUAS): Initialize in a way that supports
25788 empty set.
25789
9ed4841d
RM
257902009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25791
25792 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25793 reliing on po/LINGUAS.
25794 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25795 (po/%.po): ... this.
25796
0ad46fd7 257972009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25798
25799 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25800 (main): Use `program_name' instead of nonexistent `progname'.
25801
e30dd392
FZ
258022009-11-26 Felix Zielcke <fzielcke@z-51.de>
25803
25804 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25805 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25806
7656de4f
RM
258072009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25808
25809 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25810 commit.
25811 * conf/i386-efi.rmk: Likewise.
25812 * conf/i386-ieee1275.rmk: Likewise.
25813 * conf/powerpc-ieee1275.rmk: Likewise.
25814 * conf/sparc64-ieee1275.rmk: Likewise.
25815 * conf/x86_64-efi.rmk: Likewise.
25816
db77c4d4
FZ
258172009-11-26 Felix Zielcke <fzielcke@z-51.de>
25818
25819 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25820
a755bb04
FZ
258212009-11-26 Felix Zielcke <fzielcke@z-51.de>
25822
25823 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25824
8a4c07fd
RM
258252009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25826
25827 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25828 (grub_mkdevicemap_SOURCES): New variable.
25829 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25830 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25831 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25832 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25833 (grub_mkdevicemap_SOURCES): Remove.
25834 * conf/i386-efi.rmk: Likewise.
25835 * conf/i386-ieee1275.rmk: Likewise.
25836 * conf/i386-pc.rmk: Likewise.
25837 * conf/powerpc-ieee1275.rmk: Likewise.
25838 * conf/sparc64-ieee1275.rmk: Likewise.
25839 * conf/x86_64-efi.rmk: Likewise.
25840 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25841 (usage): Fix strings to use `program_name'.
25842 (main): Initialize gettext.
25843 * util/grub-editenv.c: Likewise.
25844 * util/grub-emu.c: Likewise.
25845 * util/grub-fstest.c: Likewise.
25846 * util/grub-mkdevicemap.c: Likewise.
25847 * util/grub-mkfont.c: Likewise.
25848 * util/grub-mkrelpath.c: Likewise.
25849 * util/grub-pe2elf.c: Likewise.
25850 * util/grub-probe.c: Likewise.
25851 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25852 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25853 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25854
25855 * util/misc.c: Include `"progname.h"'.
25856 (progname): Remove variable.
25857 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25858
6f61ed55
FZ
258592009-11-25 Felix Zielcke <fzielcke@z-51.de>
25860
25861 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25862 printf and print a newline after the menuentry header line.
25863 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25864
f022876b
FZ
258652009-11-25 Felix Zielcke <fzielcke@z-51.de>
25866
25867 autoconf >= 2.60 support $(localedir).
25868
25869 * INSTALL: Note that autoconf 2.60 is required.
25870 * configure.ac (AC_PREREQ): Bump to 2.60.
25871 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25872 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25873
6717926e
YB
258742009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25875
25876 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25877 aclocal is run.
25878
08806a54
RM
258792009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25880
25881 * normal/main.c (grub_normal_read_line): Fix off-by-one
25882 buffer overflow.
25883
13b33fba
RM
258842009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25885
25886 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25887 "parser.grub" in grub_command_execute() call.
25888
4a8572e9
CPE
258892009-11-24 Carles Pina i Estany <carles@pina.cat>
25890
25891 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25892 * conf/i386-efi.rmk: Likewise.
25893 * conf/i386-ieee1275.rmk: Likewise.
25894 * conf/i386-pc.rmk: Likewise.
25895 * conf/powerpc-ieee1275.rmk: Likewise.
25896 * conf/sparc64-ieee1275.rmk: Likewise.
25897 * conf/x86_64-efi.rmk: Likewise.
25898 * gettext/gettex.c: Include <grub/i18n.h>.
25899 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25900 here ...
25901 * include/grub/i18n.h: ... to here
25902 * include/grub/i18n.h: ... to here.
25903 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25904 (grub_gettext_dummy): Move above user.
4a8572e9 25905
bee48093
FZ
259062009-11-24 Felix Zielcke <fzielcke@z-51.de>
25907
25908 * util/Makefile.in (install-local): Convert a `for' into a normal
25909 shell expansion.
25910
a031e91c
RM
259112009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25912
25913 * autogen.sh: Add automake call.
25914 * config.guess: Remove.
25915 * config.sub: Likewise.
25916 * install-sh: Likewise.
25917
26bec39d
FZ
259182009-11-24 Felix Zielcke <fzielcke@z-51.de>
25919
25920 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25921
8e2532fd
FZ
259222009-11-24 Felix Zielcke <fzielcke@z-51.de>
25923
25924 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25925 function to a normal shell `for'.
25926
fefa1b7d
FZ
259272009-11-24 Felix Zielcke <fzielcke@z-51.de>
25928
25929 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25930
4501250b
FZ
259312009-11-24 Felix Zielcke <fzielcke@z-51.de>
25932
25933 * util/grub-mkrelpath.c: New file.
25934 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25935 (grub_mkrelpath_SOURCES): New variable.
25936 * include/grub/util/misc.h: New function prototype.
25937 * util/misc.c (make_system_path_relative_to_its_root): New function.
25938
25939 * util/grub-mkconfig_lib.in (bindir): New variable.
25940 (grub_mkrelpath): Likewise.
25941 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25942
25943 * util/probe.c (probe): Make the file path relative to its root.
25944 Change a info message to use the GRUB path. Enable again the
25945 check if we can read the file with GRUB facilities.
25946
25947 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25948 to its root.
25949
11d9778b
FZ
259502009-11-24 Felix Zielcke <fzielcke@z-51.de>
25951
25952 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25953 platform.
25954
4465287d
FZ
259552009-11-24 Felix Zielcke <fzielcke@z-51.de>
25956
25957 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25958 strncmp().
25959
62b47f22
FZ
259602009-11-24 Felix Zielcke <fzielcke@z-51.de>
25961
25962 * util/getroot.c (grub_util_is_dmraid): New function.
25963 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25964 devices as normal ones, not as LVM.
25965
1eafb9b9 259662009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25967
25968 * conf/common.rmk: Add grub-gettext_lib target and updates
25969 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25970 LDFLAGS.
25971 * gettext/gettext.c: New file. (Reads mo files).
25972 * include/grub/file.h (grub_file_pread): New prototype.
25973 * include/grub/i18n.h (_): New prototype.
25974 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25975 prototypes.
25976 * kern/misc.c (grub_gettext_dummy): New function.
25977 * normal/menu_text.c: Include <grub/i18n.h>.
25978 * normal/menu_text.c (print_timeout): Gettexttize string.
25979 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25980 * po/POTFILES: Add `normal/menu_text.c'.
25981 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25982 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25983 gettext module and defines locale_dir and lang in grub.cfg.
25984 * NEWS: Add gettext support.
25985
0fdb2568
RM
259862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25987
25988 * util/hostdisk.c: Include `<grub/i18n.h>'.
25989 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25990 (make_device_name): Rewrite using asprintf.
25991 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25992 (find_system_device): If a device is not found, generate one just
25993 by reusing the OS path name.
25994 (read_device_map): Make it permissible for device.map not to exist.
25995
f515aa62
RM
259962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25997
25998 * script/sh/execute.c: Move from here ...
25999 * script/execute.c: ... to here. Update all users.
26000 * script/sh/function.c: Move from here ...
26001 * script/function.c: ... to here. Update all users.
26002 * script/sh/lexer.c: Move from here ...
26003 * script/lexer.c: ... to here. Update all users.
26004 * script/sh/main.c: Move from here ...
26005 * script/main.c: ... to here. Update all users.
26006 * script/sh/parser.y: Move from here ...
26007 * script/parser.y: ... to here. Update all users.
26008 * script/sh/script.c: Move from here ...
26009 * script/script.c: ... to here. Update all users.
26010
f84b481b
RM
260112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26012
26013 * configure.ac: Detect all `emu' platforms. Define
26014 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
26015 --enable-grub-emu logic. Disable include/grub/machine
26016 symlink on `emu' platforms.
26017
26018 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26019 * gensymlist.sh.in: Likewise.
26020
26021 * include/grub/i386/coreboot/machine.h: Remove file.
26022 * include/grub/i386/efi/machine.h: Likewise.
26023 * include/grub/i386/ieee1275/machine.h: Likewise.
26024 * include/grub/i386/pc/machine.h: Likewise.
26025 * include/grub/i386/qemu/machine.h: Likewise.
26026 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26027 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26028 * include/grub/x86_64/efi/machine.h: Likewise.
26029
26030 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26031 * commands/halt.c: Likewise.
26032 * commands/reboot.c: Likewise.
26033 * include/grub/autoefi.h: Likewise.
26034 * include/grub/i386/at_keyboard.h: Likewise.
26035 * include/grub/i386/kernel.h: Likewise.
26036 * include/grub/i386/loader.h: Likewise.
26037 * include/grub/i386/pc/memory.h: Likewise.
26038 * kern/dl.c: Likewise.
26039 * kern/i386/coreboot/init.c: Likewise.
26040 * loader/i386/bsd.c: Likewise.
26041 * loader/i386/linux.c: Likewise.
26042 * loader/multiboot_loader.c: Likewise.
26043 * term/i386/pc/serial.c: Likewise.
26044 * term/usb_keyboard.c: Likewise.
26045
26046 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26047 `<grub/machine/machine.h>'
26048 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26049 * util/misc.c: Remove `<grub/machine/machine.h>' and
26050 `<grub/machine/time.h>'.
26051
26052 * Makefile.in (enable_grub_emu): Remove variable.
26053 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26054
26055 * conf/any-emu.rmk: New file.
26056 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26057 (grub_emu_init.c): Move from here ...
26058 * conf/any-emu.rmk: ... to here.
26059
26060 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26061 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26062 * conf/any-emu.rmk: ... to here.
26063
4efeab03
RM
260642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26065
26066 * include/grub/parser.h (grub_parser_register): Document need
26067 of `name' parameter.
26068 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26069 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26070 "sh" to "grub".
26071
ea1dd8bf
RM
260722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26073
26074 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26075 `$(XGETTEXT)'.
26076 * include/grub/i18n.h (N_): New macro.
26077 * util/mkisofs/mkisofs.h: Likewise.
26078 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26079 around N_().
26080 (usage): Use gettext() to translate help strings when printing them.
26081
0c140626
RM
260822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26083
26084 Based on patch from Bean
26085 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26086
26087 * video/efi_fb.c: New file.
26088 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26089 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26090 variables.
26091 * conf/x86_64-efi.rmk: Likewise.
26092
87d58298
RM
260932009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26094
26095 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26096 * util/i386/pc/grub-setup.c: Likewise.
26097
994cc3a3
ST
260982009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26099
26100 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26101 <hurd/fs.h>
26102 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26103 file_get_storage_info to implement grub_guess_root_device.
26104
26a61d6a
FZ
261052009-11-21 Felix Zielcke <fzielcke@z-51.de>
26106
26107 * Makefile.in (target): Use make's builtin $(shell) function
26108 instead of calling directly $(SHELL) to create the locale directories,
26109 inside the $(foreach) function.
26110
74ff1dd5
FZ
261112009-11-21 Felix Zielcke <fzielcke@z-51.de>
26112
26113 * util/grub-mkrescue.in: Print an error and usage if output option
26114 has not been given.
26115
0b787d0e
FZ
261162009-11-21 Felix Zielcke <fzielcke@z-51.de>
26117
26118 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26119 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26120 root and /boot are on different devices.
26121
1164b270
RM
261222009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26123
26124 Fix build for srcdir != objdir.
26125
26126 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26127 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26128 $(srcdir).
26129 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26130 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26131 reference for input.
26132
13774a2f
RM
261332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26134
26135 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26136 or hardlinking it). Remove -J option, Joliet is not compatible with
26137 multiple source directories.
26138
efda854e
RM
261392009-11-21 Carles Pina i Estany <carles@pina.cat>
261402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26141
26142 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26143 (process_input_dir): New function. Process an arbitrary input
26144 directory.
26145 Misc adjustments to support both "override mode" and system-wide mode.
26146
6c09890c
FZ
261472009-11-20 Felix Zielcke <fzielcke@z-51.de>
26148
26149 * configure.ac (UNIFONT_BDF): Rename to ...
26150 (FONT_SOURCE): ... this. Update all users.
26151
a797824f
FZ
261522009-11-20 Felix Zielcke <fzielcke@z-51.de>
26153
26154 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26155 to the list of unifont files to look for.
26156
cd4f42b0
RM
261572009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26158
26159 Patch from Joe Auricchio <jauricchio@gmail.com>
26160 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26161 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26162 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26163
393c783d
FZ
261642009-11-19 Felix Zielcke <fzielcke@z-51.de>
26165
26166 * Makefile.in (install-local): Add a missing backslash.
26167
b2f1e327
FZ
261682009-11-19 Felix Zielcke <fzielcke@z-51.de>
26169
26170 * include/grub/x86_64/io.h: New file.
26171
f577f7a0
RM
261722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26173
26174 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26175 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26176 Include `"progname.h"'.
26177 (main): Initialize gettext.
26178 * util/i386/pc/grub-setup.c: Gettexttize.
26179 * util/i386/pc/grub-mkimage.c: Likewise.
26180
26181 * Makefile.in (po/*.po): Redefine as ...
26182 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26183
3bc7896c
RM
26184 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26185
c37943b6
RM
261862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26187
26188 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26189 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26190 (program_name): Remove.
26191 (main): Initialize gettext support.
6323f705
RM
26192 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26193 Include `<libintl.h>'.
26194 (_): New macro.
c37943b6
RM
26195
26196 * util/mkisofs/eltorito.c: Gettexttize.
26197 * util/mkisofs/joliet.c: Likewise.
26198 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26199 * util/mkisofs/multi.c: Likewise.
26200 * util/mkisofs/rock.c: Likewise.
26201 * util/mkisofs/tree.c: Likewise.
26202 * util/mkisofs/write.c: Likewise.
26203
3bc7896c
RM
26204 * po/POTFILES: Update with new files.
26205
5ce77c6e
RM
262062009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26207
26208 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26209 * util/mkisofs/iso9660.h: Likewise.
26210 * util/mkisofs/joliet.c: Likewise.
26211 * util/mkisofs/mkisofs.c: Likewise.
26212 * util/mkisofs/mkisofs.h: Likewise.
26213 * util/mkisofs/rock.c: Likewise.
26214 * util/mkisofs/tree.c: Likewise.
26215 * util/mkisofs/write.c: Likewise.
26216
26217 * util/mkisofs/eltorito.c (rcsid): Remove.
26218 * util/mkisofs/hash.c: Likewise.
26219 * util/mkisofs/joliet.c: Likewise.
26220 * util/mkisofs/name.c: Likewise.
26221 * util/mkisofs/rock.c: Likewise.
26222 * util/mkisofs/tree.c: Likewise.
26223 * util/mkisofs/write.c: Likewise.
26224
1dabbc77
RM
262252009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26226
26227 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26228 instead of static allocation.
26229 * util/mkisofs/match.h: Likewise.
26230
633877cb
RM
262312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26232
3bc7896c
RM
26233 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26234 and `util/grub.d/10_linux.in'.
633877cb
RM
26235 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26236 translatable Shell files.
26237
af1c0c85
RM
262382009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26239
26240 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26241
769ae37b
RM
262422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26243
26244 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26245 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26246 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26247 Add gettext initialization.
26248 (kfreebsd_entry): Make menuentry output translatable.
26249
262502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26251
26252 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26253 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26254 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26255 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26256 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26257 * po/LINGUAS: New file.
769ae37b
RM
26258
262592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26260
26261 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26262 other things).
26263 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26264 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26265 bindtextdomain() calls for gettext initialization.
26266
262672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26268
26269 * gnulib/progname.c: New file (imported from Gnulib).
26270 * gnulib/progname.h: Likewise.
26271 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26272 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26273 (usage): Replace `progname' with `program_name'.
26274 (main): Use set_program_name() for program name initialization.
26275
262762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26277
26278 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26279 from here ...
26280 * Makefile.in (CPPFLAGS): ... to here.
26281
262822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26283
26284 * aclocal.m4: Move from here ...
26285 * acinclude.m4: ... to here.
26286 * autogen.sh: Add call to `aclocal'.
26287 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26288
262892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26290
26291 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26292 (LINGUAS): New variable.
26293 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26294 (install-local): Install MO files.
26295 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26296 * include/grub/i18n.h: New file.
3bc7896c
RM
26297 * po/POTFILES: New file.
26298 * po/ca.po: New file.
769ae37b
RM
26299 * util/grub.d/10_linux.in (bindir): New variable.
26300 Add gettext initialization.
26301 (linux_entry): Make menuentry output translatable.
26302 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26303 (usage): Make --help output translatable.
26304 (main): Initialize gettext.
26305
02c0a6ad
RM
263062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26307
26308 * import_gcry.py: New file (written by Vladimir with minor
26309 adjustments).
26310 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26311 ciphers.
26312 * INSTALL: Document that Python is required for bootstrap.
26313
263142009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26315
26316 Import ciphers from libgcrypt 1.4.4.
26317
26318 * lib/libgcrypt/cipher/ChangeLog
26319 * lib/libgcrypt/cipher/ac.c
26320 * lib/libgcrypt/cipher/arcfour.c
26321 * lib/libgcrypt/cipher/bithelp.h
26322 * lib/libgcrypt/cipher/blowfish.c
26323 * lib/libgcrypt/cipher/camellia-glue.c
26324 * lib/libgcrypt/cipher/camellia.c
26325 * lib/libgcrypt/cipher/camellia.h
26326 * lib/libgcrypt/cipher/cast5.c
26327 * lib/libgcrypt/cipher/cipher.c
26328 * lib/libgcrypt/cipher/crc.c
26329 * lib/libgcrypt/cipher/des.c
26330 * lib/libgcrypt/cipher/dsa.c
26331 * lib/libgcrypt/cipher/ecc.c
26332 * lib/libgcrypt/cipher/elgamal.c
26333 * lib/libgcrypt/cipher/hash-common.c
26334 * lib/libgcrypt/cipher/hash-common.h
26335 * lib/libgcrypt/cipher/hmac-tests.c
26336 * lib/libgcrypt/cipher/md.c
26337 * lib/libgcrypt/cipher/md4.c
26338 * lib/libgcrypt/cipher/md5.c
26339 * lib/libgcrypt/cipher/primegen.c
26340 * lib/libgcrypt/cipher/pubkey.c
26341 * lib/libgcrypt/cipher/rfc2268.c
26342 * lib/libgcrypt/cipher/rijndael-tables.h
26343 * lib/libgcrypt/cipher/rijndael.c
26344 * lib/libgcrypt/cipher/rmd.h
26345 * lib/libgcrypt/cipher/rmd160.c
26346 * lib/libgcrypt/cipher/rsa.c
26347 * lib/libgcrypt/cipher/seed.c
26348 * lib/libgcrypt/cipher/serpent.c
26349 * lib/libgcrypt/cipher/sha1.c
26350 * lib/libgcrypt/cipher/sha256.c
26351 * lib/libgcrypt/cipher/sha512.c
26352 * lib/libgcrypt/cipher/tiger.c
26353 * lib/libgcrypt/cipher/twofish.c
26354 * lib/libgcrypt/cipher/whirlpool.c
26355
af2f93ac
RM
263562009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26357
26358 Fix build for systems without error().
26359
26360 * gnulib/error.c: New file (imported from Gnulib).
26361 * gnulib/error.h: Likewise.
26362 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26363 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26364 (this variable is now used by error()).
26365
73fb3dd5
FZ
263662009-11-16 Felix Zielcke <fzielcke@z-51.de>
26367
814f5e96
FZ
26368 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26369 instead of relying that char is signed.
73fb3dd5 26370
a691ca33
VS
263712009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26372
26373 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26374 blocksize different from specified.
26375 (grub_pxefs_read): Likewise.
26376
2af8f0f4
FZ
263772009-11-16 Felix Zielcke <fzielcke@z-51.de>
26378
26379 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26380
26381 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26382 (grub_ata_readwrite): Likewise. Update 2 format strings.
26383 (grub_atapi_read): Likewise.
26384
26385 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26386 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26387 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26388 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26389 (ata_mod_LDFLAGS): Move from here ...
26390 * conf/i386.rmk: ... to here ...
26391 * conf/x86_64-efi.rmk: ... and here.
26392 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26393 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26394
83bdecaf
RM
263952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26396
26397 Relicense multiboot.h, with RMS' blessing.
26398
26399 * include/multiboot.h: Change to X11 license.
26400
fd6fd3d7
RM
264012009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26402
26403 Support --version in grub-mkisofs.
26404
26405 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26406 (OPTION_VERSION): New macro.
26407 (ld_options): Recognize --version.
26408 (usage): Move `program_name' from here ...
26409 (program_name): ... to here. Add `static' qualifier.
26410 (main): Recognize `OPTION_VERSION'.
26411
16a88c49
FZ
264122009-11-15 Felix Zielcke <fzielcke@z-51.de>
26413
26414 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26415 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26416
a4158476
RM
264172009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26418
26419 Fix help2man generation for mkisofs.
26420
26421 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26422 (usage): Send output to stdout (rather than stderr).
26423
fc2208b0
RM
264242009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26425
26426 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26427 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26428 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26429 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26430 (bin_SCRIPTS): Add `grub-mkfloppy'.
26431 (grub_mkfloppy_SOURCES): New variable.
26432
26433 * util/grub-mkrescue.in: New file.
26434 * util/i386/pc/grub-mkfloppy.in: New file.
26435
26436 * util/i386/coreboot/grub-mkrescue.in: Remove.
26437 * util/i386/pc/grub-mkrescue.in: Remove.
26438
8d0edf4a
RM
264392009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26440
26441 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26442 from here ...
26443 * include/multiboot.h (struct multiboot_header): ... to here. Update
26444 all users.
26445 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26446 from here ...
26447 * include/multiboot.h (struct multiboot_info): ... to here. Update
26448 all users.
26449 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26450 from here ...
26451 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26452 Update all users.
26453 * include/grub/multiboot.h (struct grub_mod_list): Move
26454 from here ...
26455 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26456 Update all users.
26457
a73f5969
RM
264582009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26459
26460 * include/multiboot2.h (multiboot_word): Rename from this ...
26461 (multiboot2_word): ... to this. Update all users.
26462 (multiboot_header): Rename from this ...
26463 (multiboot2_header): ... to this. Update all users.
26464 (multiboot_tag_header): Rename from this ...
26465 (multiboot2_tag_header): ... to this. Update all users.
26466 (multiboot_tag_start): Rename from this ...
26467 (multiboot2_tag_start): ... to this. Update all users.
26468 (multiboot_tag_name): Rename from this ...
26469 (multiboot2_tag_name): ... to this. Update all users.
26470 (multiboot_tag_module): Rename from this ...
26471 (multiboot2_tag_module): ... to this. Update all users.
26472 (multiboot_tag_memory): Rename from this ...
26473 (multiboot2_tag_memory): ... to this. Update all users.
26474 (multiboot_tag_unused): Rename from this ...
26475 (multiboot2_tag_unused): ... to this. Update all users.
26476 (multiboot_tag_end): Rename from this ...
26477 (multiboot2_tag_end): ... to this. Update all users.
26478
1c8927f0
RM
264792009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26480
26481 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26482 this platform we should support Multiboot1 first.
26483
26484 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26485 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26486 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26487
6e1e0d89
RM
264882009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26489
26490 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26491 of write calls (converting them to fwrite() if they aren't already).
26492 (get_torito_desc): Likewise.
26493 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26494
7f2b34d8
RM
264952009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26496
26497 * util/i386/pc/grub-install.in: Move from here ...
26498 * util/grub-install.in: ... to here. Update all users.
26499
c0ef3311
CW
265002009-11-11 Colin Watson <cjwatson@ubuntu.com>
26501
26502 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26503
e1f240ff
RM
265042009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26505
26506 Support for El Torito without floppy emulation.
26507
26508 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26509 (init_boot_catalog): Improve error handling.
26510 (get_torito_desc): Don't use floppy emulation unless requested by
26511 user. Patch boot information table when requested via
26512 `-boot-info-table'.
26513 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26514 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26515 (use_boot_info_table): New variables.
26516 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26517 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26518 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26519 `--eltorito-emul-floppy'.
26520 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26521 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26522 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26523 (use_boot_info_table, get_731): New prototypes.
26524 * util/mkisofs/write.c (get_731): New function.
26525
af7d4de5
FZ
265262009-11-11 Felix Zielcke <fzielcke@z-51.de>
26527
26528 Fix the generation of the man page.
26529
26530 * util/pc/i386/grub-install.in: Source
26531 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26532
2c55dbc0
RM
265332009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26534
26535 Large file support for grub-mkisofs.
26536
26537 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26538 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26539 (session_start): Upgrade type to `uint64_t'. Update all users.
26540 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26541 (struct directory_entry): Upgrade type of `starting_block' and
26542 `size' to `uint64_t'. Update all users.
26543 (struct deferred): Remove unused structure.
26544 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26545 Update all users.
26546 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26547 file is larger than `UINT32_MAX'.
26548 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26549 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26550 return value.
26551 (struct deferred_write): Upgrade type of `extent' and `size' to
26552 `uint64_t'. Update all users.
26553 (last_extent_written): Upgrade type to `uint64_t'. Update all
26554 users.
26555 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26556 Update all users. Upgrade type of `remain' to `int64_t' and
26557 `use' to `size_t'. Use error() to handle fread() errors.
26558 (write_files): Rely on write_one_file() rather than calling
26559 xfwrite() directly.
26560
6a9cead5
FZ
265612009-11-09 Felix Zielcke <fzielcke@z-51.de>
26562
26563 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26564
4825d790
RM
265652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26566
26567 * util/mkisofs/fnmatch.c: Remove.
26568 * util/mkisofs/getopt1.c: Likewise.
26569 * util/mkisofs/getopt.c: Likewise.
26570 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26571 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26572 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26573 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26574 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26575
26576 * configure.ac: Detect `mingw32msvc' host_os.
26577 Check for lstat(), getuid() and getgid().
26578
26579 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26580 instances of `u_char' with `uint8_t'.
26581
26582 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26583 [!HAVE_GETUID] (getuid): New function (stub).
26584 [!HAVE_GETGID] (getgid): Likewise.
26585 [!HAVE_LSTAT] (lstat): Likewise.
26586 [!S_IROTH] (S_IROTH): New macro (dummy).
26587 [!S_IRGRP] (S_IRGRP): Likewise.
26588
84b860d8
RM
265892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26590
26591 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26592 conditional expression).
26593
66e9b712
RM
265942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26595
26596 Import from Gnulib.
26597
26598 * gnulib/fnmatch.c: New file.
26599 * gnulib/fnmatch.h: Likewise.
26600 * gnulib/fnmatch_loop.c: Likewise.
26601 * gnulib/getopt.c: Likewise.
26602 * gnulib/getopt.h: Likewise.
26603 * gnulib/getopt1.c: Likewise.
26604 * gnulib/getopt_int.h: Likewise.
26605 * gnulib/gettext.h: Likewise.
26606
34f4a5b0
RM
266072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26608
26609 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26610 * normal/handler.c (read_handler_list): Likewise.
26611
ac451143
RM
266122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 Misc cleanup.
26615
26616 * kern/command.c (grub_register_command_prio): Use
26617 grub_zalloc() instead of explicitly zeroing data.
26618 * kern/list.c: Include `<grub/mm.h>'.
26619 (grub_named_list_find): Replace `0' with `NULL'.
26620 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26621 (fs_module_list): Change type to `grub_named_list_t'. Update all
26622 users.
26623 * normal/dyncmd.c (read_command_list): Add space between function
26624 call and parenthesis.
26625 * normal/handler.c (read_handler_list): Likewise.
26626
4089b167
RM
266272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26628
26629 * normal/auth.c (punishment_delay): Moved from here ...
26630 (grub_auth_strcmp): ... to here (inside function).
26631
325f5037
RM
266322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26633
26634 * include/grub/list.h (struct grub_named_list): Remove `const'
26635 qualifier from `name'.
26636 (struct grub_prio_list): Likewise.
26637
7aea29a3
RM
266382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26639
26640 * normal/auth.c: Include `<grub/time.h>'.
26641 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26642
3fd6f044
RM
266432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26644
26645 * normal/auth.c (punishment_delay): New variable.
26646 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26647 (grub_auth_check_authentication): Punish failed login attempts with
26648 an incremental (2^N) delay.
26649
a4cd68e4
RM
266502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26651
26652 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26653 path with $(srcdir).
26654
7ad12f43
VS
266552009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26656
26657 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26658
c1129f03
RM
266592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26660
26661 * util/i386/coreboot/grub-mkrescue.in: New file.
26662 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26663 variables.
26664
26665 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26666 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26667 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26668 requirements.
26669 * util/mkisofs/defaults.h: New file.
26670 * util/mkisofs/eltorito.c: Likewise.
26671 * util/mkisofs/exclude.h: Likewise.
26672 * util/mkisofs/fnmatch.c: Likewise.
26673 * util/mkisofs/getopt.c: Likewise.
26674 * util/mkisofs/getopt1.c: Likewise.
26675 * util/mkisofs/hash.c: Likewise.
26676 * util/mkisofs/include/fctldefs.h: Likewise.
26677 * util/mkisofs/include/mconfig.h: Likewise.
26678 * util/mkisofs/include/prototyp.h: Likewise.
26679 * util/mkisofs/include/statdefs.h: Likewise.
26680 * util/mkisofs/iso9660.h: Likewise.
26681 * util/mkisofs/joliet.c: Likewise.
26682 * util/mkisofs/match.c: Likewise.
26683 * util/mkisofs/match.h: Likewise.
26684 * util/mkisofs/mkisofs.c: Likewise.
26685 * util/mkisofs/mkisofs.h: Likewise.
26686 * util/mkisofs/multi.c: Likewise.
26687 * util/mkisofs/name.c: Likewise.
26688 * util/mkisofs/rock.c: Likewise.
26689 * util/mkisofs/tree.c: Likewise.
26690 * util/mkisofs/write.c: Likewise.
26691
ec8bb77d
VS
266922009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26695 being insecure.
26696
3716b12c
RM
266972009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26698
26699 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26700 `grub-mkimage' (and use $0 when possible).
26701
b97b7b91
RM
267022009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26703
26704 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26705 error message for excessively large memory map.
26706
04114812
RM
267072009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26708
26709 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26710 executable bit.
26711
e4eb2373
RM
267122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26713
26714 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26715 message for coreboot users.
26716
c926e1d5 267172009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26718
26719 Fix build with GNU gold.
26720
26721 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26722 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26723 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26724 link addresses.
26725 * aclocal.m4: Likewise.
26726
86e5b1db 267272009-11-04 Felix Zielcke <fzielcke@z-51.de>
26728
26729 * configure.ac (AC_PREREQ): Bump to 2.59d.
26730 * INSTALL: Make it more clear when Autoconf and Ruby are
26731 needed and when to run `./autogen.sh'.
26732
246cd78f 267332009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26734
26735 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26736 OSes.
26737
4f9dfb37 267382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26739
26740 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26741
b82bd5e1 267422009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26743
26744 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26745 giving it to GNU Mach.
26746
ff1a9bca 267472009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26748
26749 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26750 GNU partition number to get internal GRUB partition number.
26751
61697d9c 267522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26753
26754 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26755 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26756
a50569e1 267572009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26758
26759 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26760 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26761 case.
26762
5b153867 267632009-11-01 Felix Zielcke <fzielcke@z-51.de>
26764
26765 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26766
d9e2cd70 267672009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26768
26769 Fix build problem.
26770
26771 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26772 `-isystem=$(srcdir)/include'.
26773
805111a4 267742009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26775
26776 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26777 checked (grub-install doesn't currently rely on it).
26778
fa6e945f 267792009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26780
26781 Revert SVN r2660.
26782
26783 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26784 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26785 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26786 * conf/i386-ieee1275.rmk: Likewise.
26787 * conf/i386-pc.rmk: Likewise.
26788 * conf/powerpc-ieee1275.rmk: Likewise.
26789 * conf/sparc64-ieee1275.rmk: Likewise.
26790 * conf/x86_64-efi.rmk: Likewise.
26791
cee15086 267922009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26793
26794 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26795
95b9239e 267962009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26797
26798 * include/grub/misc.h: Stop checking for APPLE_CC.
26799
2ed19dfd 268002009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26801
26802 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26803 doesn't cause an infinite call loop.
26804
fdcdde19 268052009-10-28 Felix Zielcke <fzielcke@z-51.de>
26806
26807 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26808 strings.
26809
cefabfe1 268102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26811
26812 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26813 variable.
26814 * Makefile.in: Likewise.
26815
ed96ab6d 268162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26817
26818 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26819
0579b753 268202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26821
26822 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26823
478df409 268242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26825
26826 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26827
083d1679 268282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26829
26830 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26831 from here ...
26832 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26833
5947ae32 268342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26835
26836 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26837 in $(MAKEINFO) invocation. This makes it clear in output that
26838 errors are being ignored.
26839
94180ff6 268402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26841
26842 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26843 from here ...
26844 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26845 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26846 * conf/i386-ieee1275.rmk: Likewise.
26847 * conf/i386-pc.rmk: Likewise.
26848 * conf/powerpc-ieee1275.rmk: Likewise.
26849 * conf/sparc64-ieee1275.rmk: Likewise.
26850 * conf/x86_64-efi.rmk: Likewise.
26851
9031b03a 268522009-10-26 Colin Watson <cjwatson@ubuntu.com>
26853
26854 * util/grub-editenv.c (main): If only a command is given, use
26855 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26856 (usage): FILENAME is now optional and has a default.
26857
e4f6809b 268582009-10-26 Colin Watson <cjwatson@ubuntu.com>
26859
26860 Improve grub-mkconfig performance when there are several menu
26861 entries on a single filesystem.
26862
26863 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26864 prepare_grub_to_access_device.
26865 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26866 * util/grub.d/30_os-prober.in: Likewise.
26867
67937d4d 268682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26869
26870 * util/grub.d/10_freebsd.in: Remove.
26871 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26872 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26873
ee3756cc 268742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26875
5c35048e 26876 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26877
4dea1c6f 268782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26879
26880 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26881 grub_util_error() call.
26882
042484d7 268832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26884
26885 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26886 `reserved_first_sector' member.
26887 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26888 `reserved_first_sector' to 1.
26889 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26890 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26891 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26892 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26893 filesystems which begin at first sector.
26894 (options): New option --skip-fs-probe.
26895 (main): Handle --skip-fs-probe and pass it to setup().
26896
d64448a7 268972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26898
26899 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26900 (memset): Fix function prototype.
26901
508d42ec 269022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
269032009-10-25 Vasily Averin <vvs@parallels.com>
26904
26905 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26906 `dirent.direntlen == 0'.
26907
b240e30c 269082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26909
26910 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26911 `cpio'.
26912 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26913
346e7fbe 269142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26915
26916 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26917 `__trampoline_setup' and `__ucmpdi2'.
26918 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26919 that libgcc provides.
26920
cdb308b0 269212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26922
26923 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26924 * include/grub/sparc64/libgcc.h (memset): Likewise.
26925 * include/grub/misc.h (memset, memcmp): New function prototypes.
26926
fb26abc2 269272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26928
26929 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26930 `cpio'.
26931 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26932
f6693890 269332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26934
26935 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26936 * docs/grub.cfg: Compensate for recent change in multiboot
26937 loader (since 2009-08-14 it won't pass filename to payload).
26938 * util/grub.d/10_hurd.in: Likewise.
26939
0933cdc0 269402009-10-21 Felix Zielcke <fzielcke@z-51.de>
26941
26942 * config.guess: Update to latest version from config git
26943 repository.
26944 * config.sub: Likewise.
26945
3b2fe8c2 269462009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26947
26948 Fix build on sparc64.
26949
26950 * configure.ac: Perform checks for libgcc symbols before
26951 adding `-nostdlib' to LDFLAGS.
26952
46695a62 269532009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26954
26955 Let user specify OpenBSD root device.
26956
26957 * loader/i386/bsd.c (openbsd_root): New variable.
26958 (openbsd_opts): New option 'root'.
26959 (OPENBSD_ROOT_ARG): New macro.
26960 (grub_openbsd_boot): Use 'openbsd_root'.
26961 (grub_cmd_openbsd): Fill 'openbsd_root'.
26962
d2b6b7fc 269632009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26964
26965 * NEWS: Misc adjustments.
26966
421bd7ac 269672009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26968
26969 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26970
f1d29d87 269712009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26972
26973 * configure.ac: Bump version to 1.97.
26974
6f3cd880 269752009-10-16 Colin Watson <cjwatson@ubuntu.com>
26976
26977 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26978 -mno-3dnow on x86 architectures. Some toolchains enable these
26979 features by default, but they rely on registers that aren't enabled
26980 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26981
035f7122 269822009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26983
26984 Make entry text a bit more readable.
26985
26986 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26987
44998e58 269882009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26989
26990 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26991
cd2851b3 269922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26993
26994 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26995 operations.
26996
c6f3b249 269972009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26998
26999 * configure.ac: Add missing dollar.
27000
6b5886ba 270012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
27002
27003 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
27004
27005 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
27006 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
27007 exports.
27008 * include/grub/sparc64/libgcc.h: Likewise. Use
27009 preprocessor conditionals.
27010
e9d66f6d 270112009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 * conf/common.rmk (grub-dumpbios): Remove rule.
27014 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
27015 * util/grub-dumpbios.in: Remove file.
27016
9155bc17 270172009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27018
27019 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27020 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27021
27022 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27023 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27024 users.
27025
27026 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27027 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27028 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27029 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27030 users.
27031
bf7f7a18 270322009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27033
27034 * term/tparm.c: Switch to GPLv3.
27035
86564c26 270362009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27037
27038 * include/grub/i386/cpuid.h: Add header protection.
27039
5c936493 270402009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27041
27042 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27043
27044 * include/grub/i386/cpuid.h: New file.
27045 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27046 (has_longmode): Rename to ...
27047 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27048 `static' attribute.
27049 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27050 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27051 on a CPU that doesn't implement AMD64 instruction set.
27052
186e7cf2 270532009-10-06 Colin Watson <cjwatson@ubuntu.com>
27054
27055 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27056 that version.texi is rebuilt on version number changes.
27057
83b65c4a 270582009-10-06 Colin Watson <cjwatson@ubuntu.com>
27059
27060 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27061 Fixes bug #27602.
27062
d244281c 270632009-10-06 Colin Watson <cjwatson@ubuntu.com>
27064
27065 * util/i386/pc/grub-install.in: Source
27066 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27067 that the --grub-probe option will work.
27068 * util/sparc64/ieee1275/grub-install.in: Likewise.
27069
da25306d 270702009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27071
27072 * configure.ac: Bump version to 1.97~beta4.
27073
e8ee83c0 270742009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27075
27076 Resync grub-mkdevicemap in x86_64-efi.
27077
27078 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27079 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27080 `util/devicemap.c'.
27081
50dcabcf 270822009-10-01 Colin Watson <cjwatson@ubuntu.com>
27083
27084 * util/grub-editenv.c (create_envblk_file): Write new block with a
27085 .new suffix and then rename it into place, to ensure atomic
27086 creation.
27087
0e51c3a7 270882009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27089
27090 Do not automatically install headers.
27091
27092 * Makefile.in (include_DATA): Remove. Update all users.
27093
31299a95 270942009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27095
27096 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27097 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27098
27099 * util/osdetect.lua: Remove.
27100 * script/lua/lauxlib.c: Likewise.
27101 * script/lua/ldebug.c: Likewise.
27102 * script/lua/grub_main.c: Likewise.
27103 * script/lua/lauxlib.h: Likewise.
27104 * script/lua/ldebug.h: Likewise.
27105 * script/lua/ltablib.c: Likewise.
27106 * script/lua/liolib.c: Likewise.
27107 * script/lua/lstrlib.c: Likewise.
27108 * script/lua/lualib.h: Likewise.
27109 * script/lua/ldo.c: Likewise.
27110 * script/lua/ldump.c: Likewise.
27111 * script/lua/ldo.h: Likewise.
27112 * script/lua/loslib.c: Likewise.
27113 * script/lua/lundump.c: Likewise.
27114 * script/lua/grub_lib.c: Likewise.
27115 * script/lua/ldblib.c: Likewise.
27116 * script/lua/lundump.h: Likewise.
27117 * script/lua/lmem.c: Likewise.
27118 * script/lua/grub_lib.h: Likewise.
27119 * script/lua/lmathlib.c: Likewise.
27120 * script/lua/lstate.c: Likewise.
27121 * script/lua/ltm.c: Likewise.
27122 * script/lua/lvm.c: Likewise.
27123 * script/lua/lmem.h: Likewise.
27124 * script/lua/lstate.h: Likewise.
27125 * script/lua/ltm.h: Likewise.
27126 * script/lua/ltable.c: Likewise.
27127 * script/lua/lvm.h: Likewise.
27128 * script/lua/llex.c: Likewise.
27129 * script/lua/lgc.c: Likewise.
27130 * script/lua/grub_lua.h: Likewise.
27131 * script/lua/loadlib.c: Likewise.
27132 * script/lua/lfunc.c: Likewise.
27133 * script/lua/lopcodes.c: Likewise.
27134 * script/lua/lparser.c: Likewise.
27135 * script/lua/ltable.h: Likewise.
27136 * script/lua/llex.h: Likewise.
27137 * script/lua/lgc.h: Likewise.
27138 * script/lua/lfunc.h: Likewise.
27139 * script/lua/lbaselib.c: Likewise.
27140 * script/lua/lopcodes.h: Likewise.
27141 * script/lua/lparser.h: Likewise.
27142 * script/lua/lzio.c: Likewise.
27143 * script/lua/linit.c: Likewise.
27144 * script/lua/lobject.c: Likewise.
27145 * script/lua/llimits.h: Likewise.
27146 * script/lua/lstring.c: Likewise.
27147 * script/lua/lzio.h: Likewise.
27148 * script/lua/lapi.c: Likewise.
27149 * script/lua/lcode.c: Likewise.
27150 * script/lua/lua.h: Likewise.
27151 * script/lua/lobject.h: Likewise.
27152 * script/lua/lstring.h: Likewise.
27153 * script/lua/lapi.h: Likewise.
27154 * script/lua/lcode.h: Likewise.
27155 * script/lua/luaconf.h: Likewise.
27156
cb8a2c38 271572009-09-26 Colin Watson <cjwatson@ubuntu.com>
27158
27159 * docs/grub.texi (Command-line and menu entry commands): Document
27160 date and echo commands.
27161
6b9b6276 271622009-09-24 Pavel Roskin <proski@gnu.org>
27163
27164 * include/grub/kernel.h (struct grub_module_header): Remove
27165 `grub_module_header_types'. Make `type' unsigned. Make `size'
27166 32-bit on all platforms.
27167 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27168 8-bit field. Use grub_host_to_target32() for `size'.
27169 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27170 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27171 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27172
4e5a02a7 271732009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27174
27175 Fix "lost keypress" bug in at_keyboard.
27176
27177 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27178 Checks for readyness of input buffer (without flushing it).
27179 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27180 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27181
c6dcedf6 271822009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27183
27184 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27185 size check within GRUB_MACHINE_PCBIOS section.
27186
74c958b1 271872009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27188
27189 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27190 return value.
27191 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27192 KEYBOARD_ISREADY check.
27193 (grub_at_keyboard_checkkey): Rename to ...
27194 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27195 Remove gratuitous cast.
27196
ff420223 271972009-09-23 Colin Watson <cjwatson@ubuntu.com>
27198
27199 * configure.ac: Call AC_PROG_MKDIR_P.
27200 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27201 version.texi in $(builddir) rather than $(srcdir).
27202 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27203 to makeinfo's @include search path.
27204
d96875df 272052009-09-23 Felix Zielcke <fzielcke@z-51.de>
27206
27207 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27208
9b3f8365 272092009-09-23 Felix Zielcke <fzielcke@z-51.de>
27210
27211 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27212 for `*.dpkg-new'.
27213
c44c90db 272142009-09-21 Colin Watson <cjwatson@ubuntu.com>
27215
27216 Build info documentation. Some code borrowed from Automake.
27217
27218 * configure.ac: Check for makeinfo.
27219 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27220 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27221 docs/version.texi.
27222 (MOSTLYCLEANFILES): Add vti.tmp.
27223 (docs/version.texi, docs/stamp-vti): Update automatically.
27224 (docs/grub.info): Build info documentation. Use --force and ignore
27225 errors for now.
27226 (all-local): Add $(INFOS).
27227 (install-local): Install info files.
27228 (uninstall): Uninstall info files.
27229 * docs/version.texi: Remove from revision control. This file is
27230 automatically generated on build now.
27231 * gendistlist.sh: Add `*.info'.
27232
e0b37bb5 272332009-09-21 Felix Zielcke <fzielcke@z-51.de>
27234
27235 * kern/term.c: Fix indentation.
27236
5a78865b 272372009-09-21 Felix Zielcke <fzielcke@z-51.de>
27238
27239 * util/hostdisk.c: Fix a comment.
27240
dace7e8a 272412009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27242
27243 Fix regression introduced in r2539.
27244
27245 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27246 to 0xA1.
27247
a83d079b 272482009-09-19 Colin Watson <cjwatson@ubuntu.com>
27249
27250 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27251 os-prober. Under normal operation, it does not print anything to
27252 stderr; if it does, we need to debug it, and throwing away stderr
27253 makes that excessively difficult.
a83d079b 27254
be94a509 272552009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27256
27257 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27258
63f745e8 272592009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27260
27261 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27262 AC_LANG_PROGRAM from autoconf.
27263 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27264 prototypes (fixes warning).
27265
27266 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27267 `--disable-werror' was used.
27268
bbb2a70f 272692009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27270
27271 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27272 uninitialized `lastaddr'.
27273
77c24f1d 272742009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27275
0f0b8c87 27276 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27277
07197f23 272782009-09-14 Colin Watson <cjwatson@ubuntu.com>
27279
27280 * commands/test.c (get_fileinfo): Return immediately if
27281 grub_fs_probe fails.
27282
dabf1798 272832009-09-14 José Martínez <xosemp@gmail.com>
27284
27285 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27286
d52109a7 272872009-09-14 Colin Watson <cjwatson@ubuntu.com>
27288
27289 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27290 output.
27291
56532179 272922009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27293
27294 * configure.ac: Remove --enable-grub-pe2elf. Only build
27295 grub-pe2elf when needed by the build system itself.
27296 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27297
8ef070f5 272982009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27299
27300 * configure.ac: Bump version to 1.97~beta3.
27301 * docs/version.texi: Likewise.
27302
61229557 273032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27304
27305 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27306 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27307 from here ...
27308 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27309 (grub_linux_setup_video): ... to here (with some adjustments).
27310
5c9f8d84 273112009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27312
27313 Fix memory corruption issue (spotted by Colin Watson).
27314
27315 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27316 causing returned size to be stored in an incorrect memory location.
27317 Fix use of uninitialized value when storing the returned size.
27318
e8f5d6e9 273192009-09-12 Yves Blusseau <blusseau@zetam.org>
27320
27321 Change clean rules to properly remove files
27322
27323 * genmk.rb: add new clean rules
27324 * Makefile.in (clean): add the new targets
27325 (mostlyclean): likewise
27326
cda2a409 273272009-09-11 Colin Watson <cjwatson@ubuntu.com>
27328
27329 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27330 to grub_uint64_t.
27331 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27332 non-resident files.
27333
86695375 273342009-09-11 Colin Watson <cjwatson@ubuntu.com>
27335
27336 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27337 part of bug #27349.
27338
8aa1541a 273392009-09-10 Felix Zielcke <fzielcke@z-51.de>
27340
27341 * util/grub-mkconfig.in: Make the created config mode 400 and
27342 print a warning if it fails.
27343
48d9bb0a 273442009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27345
27346 * util/grub.d/40_custom.in: Ask user to type custom entries below
27347 comment, rather than below 'exec tail' line.
27348
3b0521be 273492009-09-10 Colin Watson <cjwatson@ubuntu.com>
27350
27351 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27352 visible in grub.cfg.
27353
50051d55 273542009-09-10 Colin Watson <cjwatson@ubuntu.com>
27355
27356 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27357 file.
27358
c0d34387 273592009-09-10 Felix Zielcke <fzielcke@z-51.de>
27360
27361 * docs/grub.cfg: Add an example menu entry for memtest86+.
27362
80a608f3 273632009-09-09 Felix Zielcke <fzielcke@z-51.de>
27364
a2094832 27365 * config.guess: Update to latest version from config git.
80a608f3 27366 * config.sub: Likewise.
27367
99423078 273682009-09-08 Colin Watson <cjwatson@ubuntu.com>
27369
27370 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27371 unknown-command case. Fixes bug #27320.
27372
44454e4c 273732009-09-08 Felix Zielcke <fzielcke@z-51.de>
27374
27375 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27376 `help' if the command exists.
27377
e30d87ad 273782009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27379
27380 * INSTALL: Require GCC 4.1.3 or later.
27381
9a86f1ec 273822009-09-06 Yves Blusseau <blusseau@zetam.org>
27383
27384 * Makefile.in (RMKFILES): add i386-qemu.rmk
27385 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27386 $(srcdir)/stamp-h.in
27387
7f26d466 273882009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27389
27390 * util/grub-probe.c (probe): Comment out buggy codepath, which
27391 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27392 should be re-enabled after 1.97.
27393
3a613259 273942009-09-05 Felix Zielcke <fzielcke@z-51.de>
27395
27396 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27397 find searches for.
27398
197f76c7 273992009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27400
27401 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27402 unnecessary calls to grub_error.
27403
70ba68ce 274042009-09-04 Colin Watson <cjwatson@ubuntu.com>
27405
27406 * NEWS: Mention `keystatus' and Unicode fonts.
27407
4ff0d7a4 274082009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27409
27410 * configure.ac: Bump version to 1.97~beta2.
27411 * docs/version.texi: Likewise.
27412
77c55a87 274132009-09-03 Colin Watson <cjwatson@ubuntu.com>
27414
27415 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27416 containing unwind information in some cases where it previously did
27417 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27418 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27419 discussion.
27420
f79572cd 274212009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27422
27423 Embedding loadenv module into grub-emu
27424
27425 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27426 commands/loadenv.c
27427 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27428 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27429 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27431 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27432 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27433
93a81088 274342009-09-03 Magnus Granberg <zorry@ume.nu>
27435
27436 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27437 include -fPIE in the default specs.
27438 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27439 to TARGET_CFLAGS.
27440
160034b2 274412009-09-03 Felix Zielcke <fzielcke@z-51.de>
27442
27443 * INSTALL: Note that GNU Bison 2.3 or later is required.
27444
087c07c4 274452009-09-03 Colin Watson <cjwatson@ubuntu.com>
27446
27447 * kern/i386/pc/startup.S: Fix typo.
27448
cbf978c0 274492009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27450
27451 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27452 according to GCS.
27453
274542009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27455
27456 * docs/grub.texi (Naming convention): Describe one-based partition
27457 numbering.
27458 (Device syntax): Likewise.
27459 (File name syntax): Likewise.
27460 (Block list syntax): Likewise.
27461 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27462 menu.lst.
27463 (File name syntax): Likewise.
27464 (Command-line and menu entry commands): Document acpi, blocklist,
27465 crc, export, insmod, keystatus, ls, set, and unset commands.
27466
f3e8cdfd 274672009-09-02 Colin Watson <cjwatson@ubuntu.com>
27468
27469 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27470 to avoid implying that only one of --shift, --ctrl, or --alt may be
27471 used.
27472
c0bc232b 274732009-09-02 Colin Watson <cjwatson@ubuntu.com>
27474
27475 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27476 rather than comparing against S_IFREG, which will almost never work.
27477
aa0f752d 274782009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27479
27480 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27481 (write_blocklists): Likewise.
27482
ecb3166a 274832009-09-01 Colin Watson <cjwatson@ubuntu.com>
27484
27485 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27486 argument to grub_printf.
27487
c403a125 274882009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27489
27490 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27491 non GNU test.
31aba781 27492
b5e7312c 274932009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27494
27495 * kern/file.c (grub_file_read): Spelling fix
27496
fe00f472 274972009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27498
27499 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27500 loading of headers in some cases.
27501
cc55302e 275022009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27503
27504 * configure.ac: Bump version to 1.97~beta1.
27505 * docs/version.texi: Likewise.
27506
5c90cdd2 275072009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27508
27509 * include/grub/i386/xnu.h: Add license header.
27510 include grub/err.h explicitly.
27511
c90edae4 275122009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27513
27514 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27515 to `ufs' in the vfs.root.mountfrom kernel parameter.
27516
d8888b5c 275172009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27518
27519 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27520
27521 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27522 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27523
27524 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27525 `ARRAY_SIZE' macro.
27526
6f07b921 275272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27528
27529 * kern/file.c (grub_file_read): Check offset.
27530 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27531 * fs/jfs.c (grub_jfs_read_file): Likewise.
27532 * fs/ntfs.c (grub_ntfs_read): Likewise.
27533 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27534 * fs/minix.c (grub_minix_read_file): Correct offset check.
27535 * fs/ufs.c (grub_ufs_read_file): Likewise.
27536
b4f34077 275372009-08-28 Colin Watson <cjwatson@ubuntu.com>
27538
27539 * term/i386/pc/console.c (bios_data_area): Cast
27540 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27541
e7c69859 275422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27543
27544 1-bit optimised blitters.
27545
27546 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27547 prototype.
27548 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27549 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27550 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27551 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27552 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27553 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27554 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27555 function.
27556 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27557 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27558 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27559 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27560 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27561 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27562 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27563 when possible.
27564 * video/video.c (grub_video_get_blit_format): Return
27565 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27566
a57da43f 275672009-08-28 Colin Watson <cjwatson@ubuntu.com>
27568
27569 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27570 the first argument to grub_printf.
27571
4cbe67e5 275722009-08-28 Colin Watson <cjwatson@ubuntu.com>
275732009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27574
27575 Add `getkeystatus' terminal method. Add a new `keystatus' command
27576 to query it.
27577
27578 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27579 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27580 modifier key bitmasks.
27581 (struct grub_term_input): Add `getkeystatus' member.
27582 (grub_getkeystatus): Add prototype.
27583 * kern/term.c (grub_getkeystatus): New function.
27584
27585 * include/grub/i386/pc/memory.h
27586 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27587 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27588 Data Area layout.
27589 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27590 (grub_console_term_input): Set `getkeystatus' member.
27591 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27592 constants.
27593 (grub_usb_keyboard_getreport): Likewise.
27594 (grub_usb_keyboard_checkkey): Likewise.
27595 (grub_usb_keyboard_getkeystatus): New function.
27596 (grub_usb_keyboard_term): Set `getkeystatus' member.
27597
27598 * commands/keystatus.c: New file.
27599 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27600 (keystatus_mod_SOURCES): New variable.
27601 (keystatus_mod_CFLAGS): Likewise.
27602 (keystatus_mod_LDFLAGS): Likewise.
27603 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27604 commands/keystatus.c.
27605 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27606 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27607 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27609 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27610 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27611
6e2a9085 276122009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 Split befs.mod and afs.mod into *_be.mod and *.mod
27615
27616 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27617 (grub_fstest_SOURCES): Likewise.
27618 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27619 (afs_be_mod_SOURCES): New variable.
27620 (afs_be_mod_CFLAGS): Likewise.
27621 (afs_be_mod_LDFLAGS): Likewise.
27622 (befs_be_mod_SOURCES): Likewise.
27623 (befs_be_mod_CFLAGS): Likewise.
27624 (befs_be_mod_LDFLAGS): Likewise.
27625 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27626 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27628 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27629 (grub_emu_SOURCES): Likewise.
27630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27631 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27632 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27633 * fs/afs_be.c: New file.
27634 * fs/befs_be.c: New file.
27635 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27636 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27637 (U16): Replaced with ...
27638 (grub_afs_to_cpu16): ...this. All users updated.
27639 (U32): Replaced with ...
27640 (grub_afs_to_cpu32): ...this. All users updated.
27641 (U64): Replaced with ...
27642 (grub_afs_to_cpu64): ...this. All users updated.
27643 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27644 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 27645 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 27646 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27647 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27648 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27649 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27650 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27651 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27652 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27653 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27654
32a71655 276552009-08-26 Bean <bean123ch@gmail.com>
27656
27657 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27658 64-bit number.
27659 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27660 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27661 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27662
552bf6c5 276632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27664
27665 NetBSD memory map support.
27666
27667 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27668 (grub_netbsd_btinfo_mmap_header): New structure.
27669 (grub_netbsd_btinfo_mmap_entry): Likewise.
27670 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27671
1ae2078c 276722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27673
27674 Enable bsd.mod on coreboot.
27675
27676 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27677 (bsd_mod_SOURCES): New variable.
27678 (bsd_mod_CFLAGS): Likewise.
27679 (bsd_mod_LDFLAGS): Likewise.
27680 (bsd_mod_ASFLAGS): Likewise.
27681 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27682 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27683
beefc598 276842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27685
27686 Cleanup NetBSD root support.
27687
27688 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27689 grub_bsd_get_device.
27690 Fix typo.
27691
3b76e68b 276922009-08-25 Felix Zielcke <fzielcke@z-51.de>
27693
27694 * util/grub.d/00_header.in: Move check for the video backend of
27695 gfxterm from here ...
27696 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27697 a suitable video backend.
27698
aea664ea 276992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27700
27701 Fix breakage in grub-setup.
27702
27703 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27704 "msdos_partition_map".
27705
ff747d50 277062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27707
27708 Fix breakage in normal/auth.c.
27709
27710 * normal/auth.c (grub_iswordseparator): New function.
27711
e7e1f93f 277122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27713
27714 Authentication support.
27715
27716 * commands/password.c: New file.
27717 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27718 (password_mod_SOURCES): New variable.
27719 (password_mod_CFLAGS): Likewise.
27720 (password_mod_LDFLAGS): Likewise.
27721 (normal_mod_SOURCES): Add normal/auth.c.
27722 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27723 normal/auth.c.
27724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27726 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27729 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27730 * include/grub/auth.h: New file.
27731 * include/grub/err.h (grub_err_t): New enum value
27732 GRUB_ERR_ACCESS_DENIED.
27733 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27734 'users'.
27735 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27736 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27737 users updated.
27738 * normal/auth.c: New file.
27739 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27740 (grub_cmdline_run): Don't allow to go to command line without
27741 authentication.
27742 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27743 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27744 menuentry without superuser rights.
27745 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27746 user isn't a superuser.
27747
70f1161d 277482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27749
27750 Save space by inlining misc.c functions.
27751
27752 * kern/misc.c (grub_iswordseparator): Made static.
27753 * kern/misc.c (grub_strcat): Moved from here ...
27754 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27755 * kern/misc.c (grub_strncat): Moved from here ...
27756 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27757 * kern/misc.c (grub_strcasecmp): Moved from here ...
27758 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27759 * kern/misc.c (grub_strncasecmp): Moved from here ...
27760 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27761 * kern/misc.c (grub_isalpha): Moved from here ...
27762 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27763 * kern/misc.c (grub_isdigit): Moved from here ...
27764 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27765 * kern/misc.c (grub_isgraph): Moved from here ...
27766 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27767 * kern/misc.c (grub_tolower): Moved from here ...
27768 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27769
48e40bff 277702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27771
27772 * script/sh/function.c (grub_script_function_find): Cut error message
27773 not to flood terminal.
27774 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27775 limit.
27776 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27777
c385bfc3 277782009-08-24 Colin Watson <cjwatson@ubuntu.com>
27779
27780 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27781 `report' grub_uint8_t *.
27782 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27783 Use a 50-millisecond timeout rather than just repeating
27784 grub_usb_keyboard_getreport 50 times.
27785 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27786
2d21e3e8 277872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27788
27789 Rename *_partition_map to part_*
27790
27791 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27792 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27793 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27794 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27795 All users updated.
27796 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27797 All users updated.
27798 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27799 * util/grub-probe.c (probe_partmap): Don't transform partition name
27800 to get module name.
27801
dd103c4e 278022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27803
27804 Fix OpenBSD and NetBSD support.
27805
27806 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27807 memory address conflict.
27808 (OPENBSD_MMAP_ACPI): New definition.
27809 (OPENBSD_MMAP_NVS): Likewise.
27810 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27811 and OPENBSD_MMAP_NVS.
27812 Add memory map terminator
27813 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27814 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27815
16c84d74 278162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27817
27818 Let user specify NetBSD root device.
27819
27820 * loader/i386/bsd.c (netbsd_root): New variable.
27821 (netbsd_opts): New option 'root'.
27822 (NETBSD_ROOT_ARG): New macro.
27823 (grub_netbsd_boot): Use 'netbsd_root'.
27824 (grub_bsd_unload): Free 'netbsd_root'.
27825 (grub_cmd_netbsd): Fill 'netbsd_root'.
27826
adb29902 278272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27828
27829 Support for 64-bit NetBSD.
27830
27831 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27832 point when booting non-FreeBSD.
27833
f5ae9f74 278342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27835
27836 Support --no-smp and --no-acpi for NetBSD.
27837
27838 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27839 (NETBSD_AB_NOACPI): Likewise.
27840 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27841 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27842
de74f136 278432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27844
27845 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27846 errors.
27847 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27848 errors. Call grub_error when needed.
27849
e9a925da 278502009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27851
27852 * commands/search.c (search_fs): Try searching without autoload first.
27853 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27854 filesystem module explicitly for faster booting.
27855
5174302b 278562009-08-23 Colin Watson <cjwatson@ubuntu.com>
27857
27858 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27859
c8c80635 278602009-08-23 Colin Watson <cjwatson@ubuntu.com>
27861
27862 * util/grub.d/30_os-prober.in: Disable os-prober if
27863 `GRUB_DISABLE_OS_PROBER' was set to true.
27864
71acf5e5 278652009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27866
27867 * partmap/pc.c: Rename to ...
27868 * partmap/msdos.c: ... this. Update all users.
27869 (grub_pc_partition_map): Rename to ...
27870 (grub_msdos_partition_map): ... this. Update all users.
27871
27872 * parttool/pcpart.c: Rename to ...
27873 * parttool/msdospart.c: ... this. Update all users.
27874
27875 * include/grub/pc_partition.h: Rename to ...
27876 * include/grub/msdos_partition.h: ... this. Update all users.
27877 (grub_pc_partition_bsd_entry): Rename to ...
27878 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27879 (grub_pc_partition_disk_label): Rename to ...
27880 (grub_msdos_partition_disk_label): ... this. Update all users.
27881 (grub_pc_partition_entry): Rename to ...
27882 (grub_msdos_partition_entry): ... this. Update all users.
27883 (grub_pc_partition_mbr): Rename to ...
27884 (grub_msdos_partition_mbr): ... this. Update all users.
27885 (grub_pc_partition): Rename to ...
27886 (grub_msdos_partition): ... this. Update all users.
27887 (grub_pc_partition_is_empty): Rename to ...
27888 (grub_msdos_partition_is_empty): ... this. Update all users.
27889 (grub_pc_partition_is_extended): Rename to ...
27890 (grub_msdos_partition_is_extended): ... this. Update all users.
27891 (grub_pc_partition_is_bsd): Rename to ...
27892 (grub_msdos_partition_is_bsd): ... this. Update all users.
27893
27894 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27895 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27896 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27897 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27898 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27899 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27900 (gpt_mod_LDFLAGS): Rename to ...
27901 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27902 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27903 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27904 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27905 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27906 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27907 (part_gpt_mod_LDFLAGS): ... this.
27908 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27909 `pcpart.mod' to `msdospart.mod'.
27910 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27911 to ...
27912 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27913 (msdospart_mod_LDFLAGS): ... this.
27914
c11fded5 279152009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27916
27917 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27918 (openbsd_opts): Likewise.
27919 (netbsd_opts): Likewise.
27920 (freebsd_flags): Added 0 terminator.
27921 (openbsd_flags): Likewise.
27922 (netbsd_flags): Likewise.
27923 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27924 (grub_cmd_freebsd): Transformed into extended command.
27925 (grub_cmd_openbsd): Likewise.
27926 (grub_cmd_netbsd): Likewise.
27927 (cmd_freebsd): Changed type to grub_extcmd_t.
27928 (cmd_openbsd): Likewise.
27929 (cmd_netbsd): Likewise.
27930 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27931 grub_cmd_openbsd as extended commands.
27932 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27933 cmd_netbsd and cmd_openbsd
27934
11d1c769 279352009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27936
27937 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27938
7a9094e5 279392009-08-21 Pavel Roskin <proski@gnu.org>
27940
5496c37e 27941 * Makefile.in (install-local): When checking if a file is in the
27942 build directory, use "test -e" to detect symlinks.
27943
7a9094e5 27944 * Makefile.in (install-local): Remove all files in
27945 $(DESTDIR)$(pkglibdir) before installing new files there.
27946
e53cea11 279472009-08-18 Felix Zielcke <fzielcke@z-51.de>
27948
27949 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27950 grub-mkelfimage.
27951
9aced544 279522009-08-18 Felix Zielcke <fzielcke@z-51.de>
27953
27954 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27955 explicitly specified by the user.
27956
b7da6bab 279572009-08-18 Pavel Roskin <proski@gnu.org>
27958
27959 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27960 grub_uint8_t pointer for data.
27961 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27962 Likewise.
27963 * video/fb/fbutil.c: Remove unnecessary casts.
27964
19f1b335 279652009-08-17 Michal Suchanek <hramrach@centrum.cz>
27966
27967 VBE cleanup.
27968
27969 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27970 (grub_vbe_set_video_mode): Save active mode info
27971 only after setting the mode.
27972 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27973 second argument.
27974
2f467aa9 279752009-08-17 Michal Suchanek <hramrach@centrum.cz>
27976
27977 Rename variables for clarity.
27978
27979 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27980 (active_vbe_mode_info): ... this. All users updated.
27981 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27982 All users updated.
27983 (initial_mode): Rename to ...
27984 (initial_vbe_mode): ... this. All users updated.
27985 (mode_in_use): Rename to ..
27986 (vbe_mode_in_use): ... this. All users updated.
27987 (mode_list): Rename to ..
27988 (vbe_mode_list): ... this. All users updated.
27989 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27990 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27991 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27992 'mode_list_size' to 'vbe_mode_list_size'.
27993 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27994 'best_mode_info' to 'best_vbe_mode_info' and
27995 'best_mode' to 'best_vbe_mode'
27996
6025fcd7 279972009-08-17 Michal Suchanek <hramrach@centrum.cz>
27998
27999 Remove duplicate grub_video_fb_get_video_ptr.
28000
28001 * include/grub/fbutil.h (get_data_ptr): Rename to ...
28002 (grub_video_fb_get_video_ptr): ... this.
28003 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
28004 * video/fb/fbutil.c: Add comment about addressing.
28005 (get_data_ptr): Rename to ...
28006 (grub_video_fb_get_video_ptr): ... this. All users updated.
28007 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
28008
cc8c6faf 280092009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28010
28011 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
28012 grub_dprintf() that was just added.
28013
08aa61f0 280142009-08-17 Robert Millan <rmh.grub@aybabtu.com>
28015
28016 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28017 (DEFAULT_VIDEO_MODE): Remove macros.
28018 (grub_linux_boot): Remove assumption that Linux has FB support,
28019 and use "text" as default video mode.
28020
7cef4f75 280212009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28022
28023 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28024 grub_dprintf.
28025 * fs/fat.c (grub_fat_read_data): Likewise.
28026
e1f39873 280272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28028
28029 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28030 payload.
28031 (grub_module): Likewise.
28032
c166d79e 280332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28034
28035 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28036 mbi->cmdline but free playground.
28037
c60cee8e 280382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28039
28040 Handle group offset on UFS1.
28041
28042 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28043 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28044
c0d8b5d4 280452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28046
28047 Split ufs.mod into ufs1.mod and ufs2.mod.
28048
28049 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28050 (grub_fstest_SOURCES): Likewise.
28051 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28052 (ufs_mod_SOURCES): Remove.
28053 (ufs_mod_CFLAGS): Likewise.
28054 (ufs_mod_LDFLAGS): Likewise.
28055 (ufs1_mod_SOURCES): New variable.
28056 (ufs1_mod_CFLAGS): Likewise.
28057 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 28058 (ufs2_mod_SOURCES): New variable.
28059 (ufs2_mod_CFLAGS): Likewise.
28060 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 28061 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28062 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28063 Likewise.
28064 (grub_emu_SOURCES): Likewise.
28065 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28066 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28067 (grub_setup_SOURCES): Likewise.
28068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28069 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28070 (grub_setup_SOURCES): Likewise.
28071 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28072 Likewise.
28073 * fs/ufs2.c: New file.
28074 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28075
d3539132 280762009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28077
28078 Framebuffer split.
28079
28080 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28081 subsystem at the end.
28082 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28083 (video_fb_mod_SOURCES): New variable.
28084 (video_fb_mod_CFLAGS): Likewise.
28085 (video_fb_mod_LDFLAGS): Likewise.
28086 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28087 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28088 * video/i386/pc/vbeblit.c: Moved from here ...
28089 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28090 * video/i386/pc/vbefill.c: Moved from here ...
28091 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28092 * video/i386/pc/vbeutil.c: Moved from here ...
28093 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28094 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28095 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28096 * include/grub/i386/pc/vbefill.h: Moved from here ...
28097 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28098 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28099 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28100 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28101 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28102 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28103 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28104 (grub_video_adapter): Added 'get_info_and_fini'.
28105 (grub_video_get_info_and_fini): New prototype.
28106 (grub_video_set_mode): make modestring const char *.
28107 * loader/i386/linux.c (grub_linux_setup_video): Use
28108 grub_video_get_info_and_fini.
28109 (grub_linux_boot): Move modesetting just before booting.
28110 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28111 grub_video_get_info_and_fini.
28112 * video/i386/pc/vbe.c: Moved framebuffer part ...
28113 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28114 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28115 grub_video_fbstd_colors and grub_video_fb_set_palette.
28116 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28117 grub_video_fb_init.
28118 (grub_video_vbe_fini): Use grub_video_fb_fini.
28119 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28120 render_target and use grub_video_fb_set_active_render_target and
28121 grub_video_fb_set_palette.
28122 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28123 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28124 (grub_video_vbe_adapter): Use framebuffer.
28125 * video/video.c (grub_video_get_info_and_fini): New function.
28126 (grub_video_set_mode): Make modestring const char *.
28127 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28128 values are already initialised.
28129
d404ee56 281302009-08-14 Pavel Roskin <proski@gnu.org>
28131
28132 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28133 ABS and APPLE_CC.
28134 * boot/i386/pc/diskboot.S: Likewise.
28135 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28136 sectors allow compilation on MacOSX.
28137 * conf/i386-pc.rmk: Enable unconditional compilation of
28138 lnxboot.img.
28139
9a10df16 281402009-08-13 Colin Watson <cjwatson@ubuntu.com>
28141
28142 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28143 * util/grub.d/00_header.in: Enter interruptible sleep if
28144 GRUB_HIDDEN_TIMEOUT is set.
28145
be3c9ca7 281462009-08-13 Yves Blusseau <blusseau@zetam.org>
28147
28148 * include/grub/symbol.h: Add the LOCAL macro.
28149 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28150 starting with "L_".
28151
1f9e557e 281522009-08-13 Pavel Roskin <proski@gnu.org>
28153
9ca62843 28154 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28155 any modern compilers we support.
28156
1f9e557e 28157 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28158 Use local labels starting with "L_" so that Apple assembler
28159 knows they are local.
28160
81623db6 281612009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28162
28163 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28164 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28165 (bsd_kernel_types): ... this enum.
28166
28167 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28168 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28169 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28170
28171 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28172 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28173 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28174 messages.
28175
f5d35e7a 281762009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28177
28178 * util/grub-dumpdevtree: Moved from here ...
28179 * util/i386/efi/grub-dumpdevtree: ... to here.
28180 (hexify): New function. Converts a string to its hex version.
28181 Generate hex versions of "efi" and "device-properties" by calling
28182 hexify() on the ASCII strings rather than by hardcoding numbers.
28183
d1e1d527 281842009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28185
28186 * fs/jfs.c: Update copyright year.
28187
1ebbe064 281882009-08-08 Felix Zielcke <fzielcke@z-51.de>
28189
28190 * util/grub.d/00_header.in: Fix a comment.
28191 * util/grub.d/10_linux.in: Likewise.
28192 * util/grub.d/10_windows.in: Likewise.
28193 * util/grub.d/10_hurd.in: Likewise.
28194
a78c8d24 281952009-08-08 Felix Zielcke <fzielcke@z-51.de>
28196
28197 * util/grub-mkconfig.in: Allow the user to specify the used font
28198 with GRUB_FONT.
28199
29a6b9e8 282002009-08-08 Pavel Roskin <proski@gnu.org>
28201
b5f16cc4 28202 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28203 available, xfs.mod needs it now.
28204
2f5cb827 28205 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28206 the "g" modifier in sed when the intention is to strip something
28207 once. This fixes comparison of kernels with multiple dashes.
28208
29a6b9e8 28209 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28210 on it. Add missing space before closing bracket. Fix
28211 misleading formatting.
28212
892a3d98 282132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28214
28215 * docs/grub.texi: Major overhaul. Remove all sections that are
28216 specific to GRUB Legacy, or mostly composed of Legacy-specific
28217 information.
28218
ed94253f 282192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28220
28221 * docs/version.texi: New file. Provides version information for
28222 grub.texi.
28223
126d6628 282242009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28225
28226 * docs/grub.texi: Update CVS information to SVN.
28227 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28228
998b5aa9 282292009-08-07 Felix Zielcke <fzielcke@z-51.de>
28230
28231 * util/grub-mkconfig.in: Remove a wrong `fi'.
28232
818e094a 282332009-08-07 Felix Zielcke <fzielcke@z-51.de>
28234
28235 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28236 (grub_jfs_uuid): New function.
28237 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28238
b969c52f 282392009-08-07 Felix Zielcke <fzielcke@z-51.de>
28240
28241 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28242 of it to ...
28243 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28244 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28245
7a4894cc 282462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28247
28248 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28249 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28250 Update all users.
28251
28252 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28253 not just "vmlinu[zx]".
28254 Moved from here ...
28255 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28256 all users.
28257
28258 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28259 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28260 all users.
28261
4e2171f8 282622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28263
28264 * util/grub.d/10_freebsd.in: Use an absolute device path for
28265 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28266
6dcfcb32 282672009-08-06 Felix Zielcke <fzielcke@z-51.de>
28268
28269 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28270 handling of multiple abstraction modules.
28271
f56a8756 282722009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28273
28274 Fix a bug resulting in black screen when loading Linux using a
28275 packed video mode.
28276
28277 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28278 function.
28279
28280 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28281 (grub_vbe_bios_getset_dac_palette_width): New function.
28282 (grub_vbe_bios_get_dac_palette_width)
28283 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28284 grub_vbe_bios_getset_dac_palette_width()).
28285
28286 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28287 check for return status.
28288 (grub_vbe_get_video_mode_info): When getting information for a packed
28289 mode (<= 8 bpp), obtain DAC palette width using
28290 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28291 {red,green,blue}_mark_size.
28292
222671b2 282932009-08-04 Felix Zielcke <fzielcke@z-51.de>
28294
ecb1a6d9 28295 * commands/search.c (options): Fix help output to match actual code.
222671b2 28296
f84114f5 282972009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28298
28299 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28300 of homegrown code.
28301
bd288a20 283022009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28303
28304 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28305 on XFS or ReiserFS.
28306
8aab5e25 283072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28308
28309 Support Apple partition map with sector size different from 512 bytes.
28310
28311 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28312 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28313 and 'apart.partmap_size'.
28314
6ad6258a 283152009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
283162009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28317
28318 Fix cpuid command.
28319
28320 * commands/i386/cpuid.c (options): New variable.
28321 (grub_cmd_cpuid): Return real error.
28322 (GRUB_MOD_INIT(cpuid)): Declare options.
28323
67459bc6 283242009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28325
28326 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28327 valid.
28328
fbc6ab54 283292009-07-31 Bean <bean123ch@gmail.com>
28330
28331 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28332 log2_inode.
28333 (grub_fshelp_node): Move inode field to the end.
28334 (grub_xfs_data): Remove inode field.
28335 (grub_xfs_inode_block): Calculate inode size using sblock.
28336 (grub_xfs_inode_offset): Likewise.
28337 (grub_xfs_read_inode): Calculate inode size using sblock.
28338 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28339 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28340 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28341 to match inode size.
28342 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28343 not accessible when data is null.
28344 (grub_xfs_open): Likewise.
28345
f45d6cfc 283462009-07-31 Bean <bean123ch@gmail.com>
28347
28348 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28349 Don't change pv->disk if it's already set.
28350
28351 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28352 (grub_raid_register): ... here.
28353 (grub_raid_rescan): Removed.
28354
28355 * include/grub/raid.h (grub_raid_rescan): Removed.
28356
28357 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28358 (fstest): Replace grub_raid_rescan with module fini function followed
28359 by init function.
28360
28361 * util/grub-probe.c: Add include file <grub/raid.h>.
28362 (probe_raid_level): New function.
28363 (probe): Detect abstraction by walking the disk device, support two
28364 level of abstraction (LVM on RAID) when detecting partition map.
28365
24443b5a 283662009-07-31 Pavel Roskin <proski@gnu.org>
28367
28368 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28369 to grub_zalloc(), it was erroneous.
28370 Reported by Bean <bean123ch@gmail.com>
28371
a275d9e7 283722009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28373
28374 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28375 embedding zone, not only the first one.
a275d9e7 28376
56c5a47f 283772009-07-29 Joe Auricchio <jauricchio@gmail.com>
28378
28379 * term/gfxterm.c (clear_char): New function.
28380 (grub_virtual_screen_setup): Use clear_char.
28381 (scroll_up): Likewise.
28382 (grub_virtual_screen_cls): Likewise.
28383
67bb323a 283842009-07-29 Felix Zielcke <fzielcke@z-51.de>
28385
28386 * util/deviceiter.c (get_acceleraid_disk_name): New static
28387 function.
28388 (grub_util_iterate_devices): Handle Accelraid devices.
28389 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28390
388a7c75 283912009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28392
28393 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28394 separator for the suggested gfxpayload string (';' collides with the
28395 parser and needs escaping).
28396
3bb7abcf 283972009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28398
28399 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28400 Clear direction flag before jumping to OS.
28401 (grub_multiboot2_real_boot): Likewise.
28402
2ddd36d7 284032009-07-28 Felix Zielcke <fzielcke@z-51.de>
28404
28405 * util/i386/pc/grub-install: Fix parsing of --disk-module
28406 option.
28407
c521b62b 284082009-07-28 Felix Zielcke <fzielcke@z-51.de>
28409
28410 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28411 when embedding.
28412
880e0a0c 284132009-07-26 Felix Zielcke <fzielcke@z-51.de>
28414
28415 * util/grub-mkconfig.in (package_version): New variable.
28416 Use it do display the version.
28417
2366e356 284182009-07-25 Felix Zielcke <fzielcke@z-51.de>
28419
28420 * kern/file.c (grub_file_open): Revert to previous check with
28421 grub_errno.
28422
7ad8c80e 284232009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28424
28425 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28426 from help line. It's out of sync with code.
28427
72b9658b 284282009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28429
28430 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28431 entries on failed boot.
28432
77435277 284332009-07-25 Felix Zielcke <fzielcke@z-51.de>
28434
28435 * kern/file.c (grub_file_open): Fix an error check.
28436
fcaa8b21 284372009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28438
35d16c74 28439 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28440 partition map couldn't be identified.
fcaa8b21 28441
48904cd1 284422009-07-23 Pavel Roskin <proski@gnu.org>
28443
ef3c317f 28444 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28445 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28446 case of little endian words becomes just an optimization.
28447 Respect const modifier.
ad8ea1f4 28448 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28449
48904cd1 28450 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28451 to avoid loss of upper bits if align is unsigned and shorter
28452 than addr.
28453
260c9a89 284542009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28455
28456 UUID support for UFS
28457
28458 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28459 (grub_ufs_uuid): New function.
28460 (grub_ufs_fs): add .uuid
28461
f76ce889 284622009-07-21 Pavel Roskin <proski@gnu.org>
28463
28464 * kern/dl.c (grub_dl_check_header): Make static.
28465
6a6cbcaf 284662009-07-21 Felix Zielcke <fzielcke@z-51.de>
28467
28468 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28469 add drivemap for Vista. It breaks Windows 7.
28470
cffcddb2 284712009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28474 128 bytes
28475
1ef44b80 284762009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28477
28478 Add BFS support
28479
28480 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28481 (grub_fstest_SOURCES): Likewise.
28482 (pkglib_MODULES): Add befs.mod.
28483 (befs_mod_SOURCES): New variable.
28484 (befs_mod_CFLAGS): Likewise.
28485 (befs_mod_LDFLAGS): Likewise.
28486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28487 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28488 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28489 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28490 (grub_setup_SOURCES): Likewise.
28491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28492 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28493 (grub_setup_SOURCES): Likewise.
28494 * fs/befs.c: New file.
28495 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28496 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28497 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28498 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28499 (B_KEY_INDEX_ALIGN): New declaration.
28500 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28501 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28502 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28503 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28504 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28505 (grub_afs_mount) [MODE_BFS]: Likewise.
28506 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28507 (grub_afs_fs): Use GRUB_AFS_FSNAME
28508 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28509 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28510 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28511 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28512
4f253044 285132009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28514
28515 * util/getroot.c (find_root_device): Add support for MacOSX.
28516 * util/hostdisk.c: Likewise.
28517
57a55913 285182009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28519
28520 * font/font.c (find_glyph): Check whether a font is present to avoid
28521 segmentation fault.
75421ca9 28522
285232009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28524
28525 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28526
e98cd0c2 285272009-07-20 Pavel Roskin <proski@gnu.org>
28528
28529 * configure.ac: Trim excessively wordy excuses.
28530
1d2d169a 285312009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28532
28533 Add symlink, mtime and label support to AtheFS.
28534
28535 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28536 (grub_afs_iterate_dir): Handle symlinks.
28537 (grub_afs_open): Use grub_afs_read_symlink.
28538 (grub_afs_dir): Likewise.
28539 Pass mtime.
28540 (grub_afs_label): New function.
28541 (grub_afs_fs): Add grub_afs_label.
28542 (grub_afs_read_symlink): New function.
28543
186f3189 285442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28545
28546 Fix AtheFS support.
28547
28548 * fs/afs.c: Fix comments style.
28549 (grub_afs_blockrun): Declare as packed.
28550 (grub_afs_datastream): Likewise.
28551 (grub_afs_bnode): Likewise.
28552 (grub_afs_btree): Likewise.
28553 (grub_afs_sblock): Likewise.
28554 Declare `name' as char.
28555 (grub_afs_inode): Declare as packed.
28556 Change void *vnode to grub_uint32_t unused.
28557 (grub_afs_iterate_dir): Check that key_size is positive.
28558 (grub_afs_mount): Don't read superblock twice.
75421ca9 28559 (grub_afs_dir): Don't free node in case of error,
186f3189 28560 grub_fshelp_find_file already handles this.
28561 (grub_afs_open): Likewise.
28562
5680109e 285632009-07-19 Pavel Roskin <proski@gnu.org>
28564
28565 * Makefile.in: Remove LIBLZO and enable_lzo.
28566 * conf/i386-pc.rmk: Remove lzo support.
28567 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28568 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28569 support.
28570 * kern/i386/pc/lzo1x.S: Remove.
28571 * kern/i386/pc/startup.S: Remove lzo support.
28572 * util/i386/pc/grub-mkimage.c: Likewise.
28573
ac70fa32 285742009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28575
28576 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28577 * fs/xfs.c (grub_xfs_dir): Likewise.
28578 * fs/afs.c (grub_afs_dir): Likewise.
28579 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28580 (grub_iso9660_open): Likewise.
28581 * fs/jfs.c (grub_jfs_open): Likewise.
28582 * fs/ext2.c (grub_ext2_dir): Likewise.
28583 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28584 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28585
eab58da2 285862009-07-16 Pavel Roskin <proski@gnu.org>
28587
d2838156 28588 * configure.ac: Never add "-c" to CFLAGS.
28589
55c70904 28590 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28591
43e6200c 28592 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28593 grub_cv_cc_efiemu should be used.
28594
ce7a733d 28595 * configure.ac: Typo fixes.
28596
eab58da2 28597 * kern/mm.c (grub_zalloc): New function.
28598 (grub_debug_zalloc): Likewise.
28599 * include/grub/mm.h: Declare grub_zalloc() and
28600 grub_debug_zalloc().
28601 * util/misc.c (grub_zalloc): New function.
28602 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28603 instead of grub_malloc(), remove unneeded initializations.
28604 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28605 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28606 * commands/parttool.c (grub_cmd_parttool): Likewise.
28607 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28608 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28609 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28610 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28611 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28612 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28613 (grub_cmd_efiemu_pnvram): Likewise.
28614 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28615 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28616 (grub_iso9660_iterate_dir): Likewise.
28617 * fs/jfs.c (grub_jfs_opendir): Likewise.
28618 * fs/ntfs.c (list_file): Likewise.
28619 (grub_ntfs_mount): Likewise.
28620 * kern/disk.c (grub_disk_open): Likewise.
28621 * kern/dl.c (grub_dl_load_core): Likewise.
28622 * kern/elf.c (grub_elf_file): Likewise.
28623 * kern/env.c (grub_env_context_open): Likewise.
28624 (grub_env_set): Likewise.
28625 (grub_env_set_data_slot): Likewise.
28626 * kern/file.c (grub_file_open): Likewise.
28627 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28628 * loader/i386/multiboot.c (grub_module): Likewise.
28629 * loader/xnu.c (grub_xnu_create_key): Likewise.
28630 (grub_xnu_create_value): Likewise.
28631 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28632 (read_config_file): Likewise.
28633 * normal/menu_entry.c (make_screen): Likewise.
28634 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28635 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28636 * script/sh/script.c (grub_script_parse): Likewise.
28637 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28638 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28639 * video/readers/png.c (grub_png_output_byte): Likewise.
28640 (grub_video_reader_png): Likewise.
28641
830afef7 286422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 28643
28644 Enable all targets that can be built by default
28645
830afef7 28646 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 28647 grub-mkfont and grub-fstest if they can be built
28648
ee293aee 286492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28650
28651 Fix hang and segmentation fault in grub-emu-usb
28652
28653 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28654 * util/usb.c (grub_libusb_devices): likewise
28655 (grub_libusb_init): rename to ...
28656 (GRUB_MOD_INIT (libusb)):...this
28657 (grub_libusb_fini): rename to ..
28658 (GRUB_MOD_FINI (libusb)):...this
28659 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28660 * include/grub/disk.h (grub_raid_init): removed, it's useless
28661 (grub_raid_fini): likewise
28662 (grub_lvm_init): likewise
28663 (grub_lvm_fini): likewise
28664 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28665 by grub_init_all
28666
94414221 286672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28668
28669 Fix libusb
28670
28671 * Makefile.in (LIBUSB): new macro
28672 * genmk.rb (Utility/print_tail): new method
28673 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28674 (top level): call util.print_tail at the end.
28675
59ade63d 286762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28677
28678 Make FreeBSD accept zpool.cache
28679
28680 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28681 type is /boot/zfs/zpool.cache
28682
a58da8c7 286832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28684
28685 Fix 64-bit efiemu
28686
28687 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28688 correct wrong typedef
28689 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28690
20591577 286912009-07-15 Pavel Roskin <proski@gnu.org>
28692
560ca572 28693 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28694 * kern/disk.c (struct grub_disk_cache): Likewise.
28695
e8e8e4fd 28696 * commands/probe.c (options): Typo fix.
28697
fde24e10 28698 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28699 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28700 accordingly.
28701 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28702
379c54c1 28703 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28704 the end of "Error" to make the message more readable.
28705
7bd8f5bf 28706 * boot/i386/pc/boot.S (kernel_segment): Remove.
28707 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28708 for destination.
28709
40b132c5 28710 * boot/i386/pc/boot.S (boot_version): Remove.
28711 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28712 Remove.
28713
20591577 28714 * include/grub/i386/pc/boot.h: Sort all offsets.
28715 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28716 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28717 * boot/i386/pc/boot.S: Assert location of every offset listed in
28718 include/grub/i386/pc/boot.h.
28719
2df32b2c 287202009-07-13 Pavel Roskin <proski@gnu.org>
28721
44b5d879 28722 * include/grub/i386/coreboot/machine.h: Rename
28723 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28724 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28725 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28726
17dc3751 28727 * kern/dl.c: Force native word size to suppress warnings when
28728 compiling grub-emu.
28729
2df32b2c 28730 * kern/device.c (grub_device_iterate): Change struct part_ent to
28731 hold the name, not a pointer to it. Use one grub_malloc() per
28732 partition, not two. Free partition_name if grub_malloc() fails.
28733 Set ents to NULL only before grub_partition_iterate() is called.
28734
75c59f59 287352009-07-11 Bean <bean123ch@gmail.com>
28736
28737 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28738 childname.
28739
0ae1bf88 287402009-07-10 Bean <bean123ch@gmail.com>
287412009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28742
28743 * kern/ieee1275/openfw.c (grub_children_iterate)
28744 (grub_devalias_iterate): Fix size evaluation for property or path
28745 strings, which was broken since r2132.
28746
8279cade 287472009-07-07 Pavel Roskin <proski@gnu.org>
28748
7d8a52d3 28749 * commands/search.c (search_file): Merge into ...
28750 (search_fs): ... this. Accept search type as argument.
28751 (grub_cmd_search): Pass search type to search_fs().
28752
25f9a05a 28753 * include/grub/util/console.h: New file.
28754 * util/console.c: Use it instead of grub/machine/console.h.
28755 * util/grub-emu.c: Likewise.
28756
8279cade 28757 * lib/arg.c (find_long_option): Remove.
28758 (find_long): Add `len' argument, make `s' const char *.
28759 (grub_arg_parse): Parse long options in place, not in a
28760 temporary buffer.
28761
4a11b60f 287622009-07-06 Pavel Roskin <proski@gnu.org>
28763
99f68041 28764 * commands/search.c (search_fs): Fix potential NULL pointer
28765 dereference.
28766
4a11b60f 28767 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28768 function pointer.
28769
e110f4de 287702009-07-06 Daniel Mierswa <impulze@impulze.org>
28771
28772 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28773 comparison.
28774
46eeb6a2 287752009-07-05 Pavel Roskin <proski@gnu.org>
28776
bab74958 28777 * include/grub/i386/linux.h (struct linux_kernel_params):
28778 Restore padding3, it's still needed.
28779
46eeb6a2 28780 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28781 FreeBSD.
28782 * util/osdetect.lua: Likewise.
28783
b4a1dc79 287842009-07-05 Bean <bean123ch@gmail.com>
28785
28786 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28787
28788 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28789 (grub_lua_getenv): Likewise.
28790 (grub_lua_setenv): Likewise.
28791 (save_errno): New function.
28792 (push_result): Likewise.
28793 (grub_lua_enum_device): Likewise.
28794 (grub_lua_enum_file): Likewise.
28795 (grub_lua_file_open): Likewise.
28796 (grub_lua_file_close): Likewise.
28797 (grub_lua_file_seek): Likewise.
28798 (grub_lua_file_read): Likewise.
28799 (grub_lua_file_getline): Likewise.
28800 (grub_lua_file_getsize): Likewise.
28801 (grub_lua_file_getpos): Likewise.
28802 (grub_lua_file_eof): Likewise.
28803 (grub_lua_file_exist): Likewise.
28804 (grub_lua_add_menu): Likewise.
28805
28806 * script/lua/grub_lua.h (isupper): New inline function.
28807 (islower): Likewise.
28808 (ispunct): Likewise.
28809 (isxdigit): Likewise.
28810 (strcspn): Change to normal function.
28811 (strpbkr): New function declaration.
28812 (memchr): Likewise.
28813
28814 * script/lua/grub_main.c (scan_str): New function.
28815 (strcspn): Likewise.
28816 (strpbrk): Likewise.
28817 (memchr): Likewise.
28818
28819 * script/lua/linit.c (lualibs): Enable the string library.
28820
28821 * util/osdetect.lua: New file.
28822
2da92295 288232009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28824
28825 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28826 `capabilities' member.
28827
b2582ec9 288282009-07-02 Pavel Roskin <proski@gnu.org>
28829
28830 * genparttoollist.sh: Add missing newline at the end.
28831
32622956 288322009-07-01 Pavel Roskin <proski@gnu.org>
28833
87a7339e 28834 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28835
d23af54e 28836 * util/hostdisk.c (open_device): Remove `const' from
28837 `sysctl_size', as sysctlbyname() can change it (in this case it
28838 doesn't actually happen).
28839
c94b18a9 28840 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28841 using signed long int constants.
28842
c6cd3ef0 28843 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28844 constant to avoid a warning on FreeBSD.
28845
0df63420 28846 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28847 where it's needed.
28848
999577f1 28849 * Makefile.in: Install include/grub/machine symlink.
28850
6f41557f 28851 * Makefile.in: When installing symlinks, use "cp -fR", which
28852 works on FreeBSD and MacOSX.
28853 From Yves Blusseau <cl7m42e02@sneakemail.com>
28854
c8d22988 28855 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28856 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28857
1b96e952 28858 * util/misc.c: Move grub_reboot() and grub_halt() ...
28859 * util/grub-emu.c: ... here. Make main_env static.
28860 * include/grub/util/misc.h: Remove main_env.
28861
2ef0084d 28862 * kern/mm.c: Use correct format to print size_t.
28863
32622956 28864 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28865 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28866 * kern/powerpc/dl.c: Likewise.
28867 * kern/sparc64/dl.c: Likewise.
28868 * kern/x86_64/dl.c: Likewise.
28869
3f7f0cd0 288702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28871
28872 Fix grub-emu build on sparc64-ieee1275.
28873
75421ca9 28874 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28876
211d06b5 288772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28878
28879 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28880 (grub_reboot, grub_halt): New functions.
28881
28882 * util/i386/pc/misc.c: Delete. Update all users.
28883 * util/sparc64/ieee1275/misc.c: Likewise.
28884 * util/powerpc/ieee1275/misc.c: Likewise.
28885
aaf53e3c 288862009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28887
28888 * conf/i386.rmk (setjmp_mod_SOURCES)
28889 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28890 * conf/common.rmk (setjmp_mod_SOURCES)
28891 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28892 to use $(target_cpu).
28893 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28894 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28895 * conf/powerpc-ieee1275.rmk: Likewise.
28896 * conf/sparc64-ieee1275.rmk: Likewise.
28897
28898 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28899 $(target_cpu) for kern/$(target_cpu)/dl.c.
28900 * conf/i386-efi.rmk: Likewise.
28901 * conf/i386-ieee1275.rmk: Likewise.
28902 * conf/x86_64-efi.rmk: Likewise.
28903 * conf/i386-coreboot.rmk: Likewise.
28904 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28905 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28906 kern/$(target_cpu)/cache.S.
28907 * conf/sparc64-ieee1275.rmk: Likewise.
28908
a337130b 289092009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28910
28911 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28912 type to `grub_uint8_t', and adjust `padding9' accordingly.
28913
c6fe4d53 289142009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28915
b09db61d 28916 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28917
c6fe4d53 28918 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28919 assembly in final jump, using register constraints.
28920
b09db61d 28921 (grub_linux_boot): For text mode, initialize `have_vga' using
28922 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28923
28924 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28925 right before the final jump.
28926
28927 Set `video_mode' to 0x3.
28928
28929 Document initialization of `video_page', `video_mode' and
28930 `video_ega_bx'.
28931
28333ad0 289322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28933
28934 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28935 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28936 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28937
02164e1b 289382009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28939
28940 Fix build on Debian / sparc.
28941
28942 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28943
18b6c557 289442009-06-28 Pavel Roskin <proski@gnu.org>
28945
85f2aab6 28946 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28947 fix a warning.
28948
18b6c557 28949 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28950
ad760f81 289512009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28952
28953 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28954 `err'.
28955
87a4623b 289562009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28957
28958 Revert r2338.
28959
28960 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28961 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28962 grub_errno / grub_errmsg appropriately.
87a4623b 28963 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28964
8231fb77 289652009-06-27 Pavel Roskin <proski@gnu.org>
289662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28967
28968 * include/grub/dl.h: Include grub/elf.h.
28969 (struct grub_dl): Add symtab field.
28970 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28971 GRUB_MODULES_MACHINE_READONLY.
28972 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28973 of the header for read-only modules.
28974 (grub_dl_unload): Free mod->symtab for read-only modules.
28975 * kern/i386/dl.c: Use mod->symtab.
28976 * kern/powerpc/dl.c: Likewise.
28977 * kern/sparc64/dl.c: Likewise.
28978 * kern/x86_64/dl.c: Likewise.
28979
28980 * conf/i386-qemu.rmk: New file.
28981 * kern/i386/qemu/startup.S: Likewise.
28982 * kern/i386/qemu/mmap.c: Likewise.
28983 * boot/i386/qemu/boot.S: Likewise.
28984 * include/grub/i386/qemu/time.h: Likewise.
28985 * include/grub/i386/qemu/serial.h: Likewise.
28986 * include/grub/i386/qemu/kernel.h: Likewise.
28987 * include/grub/i386/qemu/console.h: Likewise.
28988 * include/grub/i386/qemu/boot.h: Likewise.
28989 * include/grub/i386/qemu/init.h: Likewise.
28990 * include/grub/i386/qemu/machine.h: Likewise.
28991 * include/grub/i386/qemu/loader.h: Likewise.
28992 * include/grub/i386/qemu/memory.h: Likewise.
28993
28994 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28995 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28996 [qemu] (pkglib_IMAGES): Add `boot.img'.
28997 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28998 [qemu] (boot_img_FORMAT): New variables.
28999 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
29000 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
29001 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
29002 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29003 [qemu] (kernel_img_FORMAT): New variables.
29004
29005 * configure.ac: Recognise `i386-qemu'.
29006
29007 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
29008 (for no compression).
29009 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
29010 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
29011 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
29012 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
29013 ifdefs).
29014
97fe384e 290152009-06-27 Pavel Roskin <proski@gnu.org>
29016
29017 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29018 read.
29019 * efiemu/prepare32.c: Likewise.
29020 * efiemu/prepare64.c: Likewise.
29021
c402ab17 290222009-06-26 Pavel Roskin <proski@gnu.org>
29023
29024 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29025 * include/grub/elf.h: Define symbols without "32" or "64" based
29026 on GRUB_TARGET_WORDSIZE.
29027 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29028 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29029 ELF definitions.
29030 * efiemu/loadcore64.c: Likewise.
29031 * loader/i386/bsd32.c: Likewise.
29032 * loader/i386/bsd64.c: Likewise.
29033 * kern/dl.c: Remove own ELF definitions.
29034 * util/i386/efi/grub-mkimage.c: Likewise.
29035
9bbdfd4d 290362009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29037
29038 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29039 segment 0x0 unconditionally, because the reference generated by
29040 GAS is an absolute address.
29041
a42ce6e9 290422009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29043
29044 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29045 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29046
c952cf92 290472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29048
29049 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29050 indexes. Check for -f explicitly.
cc3752ad 29051 (search_file): Improve error message.
29052 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 29053
132a0a59 290542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29057 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29058
387a140c 290592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29060
29061 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29062 * conf/i386-ieee1275.rmk: Likewise.
29063 * conf/i386-coreboot.rmk: Likewise.
29064
29065 * kern/i386/pc/startup.S (grub_stop): Remove function.
29066 * kern/i386/ieee1275/startup.S: Likewise.
29067 * kern/i386/coreboot/startup.S: Likewise.
29068 * kern/i386/misc.S (grub_stop): New function.
29069
41da9665 290702009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29071
29072 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29073 * kern/i386/realmode.S (real_to_prot): ... to here.
29074
bf337234 290752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29076
29077 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29078 with `kernel.img'.
29079 (kernel_elf_SOURCES): Rename to ...
29080 (kernel_img_SOURCES): ... this.
29081 (kernel_elf_HEADERS): Rename to ...
29082 (kernel_img_HEADERS): ... this. Update all users.
29083 (kernel_elf_ASFLAGS): Rename to ...
29084 (kernel_img_ASFLAGS): ... this.
29085 (kernel_elf_CFLAGS): Rename to ...
29086 (kernel_img_CFLAGS): ... this.
29087 (kernel_elf_LDFLAGS): Rename to ...
29088 (kernel_img_LDFLAGS): ... this.
29089 * conf/i386-coreboot.rmk: Likewise.
29090 * conf/powerpc-ieee1275.rmk: Likewise.
29091
29092 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29093 with "kernel.img".
29094
f52196ff 290952009-06-21 Pavel Roskin <proski@gnu.org>
29096
c3cee413 29097 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29098 to match nested functions.
29099 * loader/sparc64/ieee1275/linux.c: Likewise.
29100
f52196ff 29101 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29102
58750afc 291032009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29104
29105 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29106 all i386 platforms.
29107
15355c7d 291082009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29109
29110 Fix asm file handling on ELF, and remove workarounds.
29111
29112 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29113 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29114 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29115 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29116
3f3ec72b 291172009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29118
29119 Load BSD ELF modules
29120
29121 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29122 and loader/i386/bsd64.c
29123 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29124 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29125 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29126 (grub_freebsd_load_elfmodule32): New declaration
29127 (grub_freebsd_load_elfmoduleobj64): Likewise
29128 (grub_freebsd_load_elf_meta32): Likewise
29129 (grub_freebsd_load_elf_meta64): Likewise
29130 (grub_freebsd_add_meta): Likewise
29131 (grub_freebsd_add_meta_module): Likewise
29132 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29133 (grub_freebsd_add_meta_module): Likewise and move module-specific
29134 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29135 (grub_cmd_freebsd): Add elf-kernel specific parts
29136 based on grub_freebsd_add_meta_module
29137 (grub_cmd_freebsd_module): Add type parsing moved from
29138 grub_freebsd_add_meta_module
29139 (grub_cmd_freebsd_module_elf): New function
29140 (cmd_freebsd_module_elf): New variable
29141 (GRUB_MOD_INIT): Register freebsd_module_elf
29142 * loader/i386/bsd32.c: New file
29143 * loader/i386/bsd64.c: Likewise
29144 * loader/i386/bsdXX.c: Likewise
29145 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29146 (grub_elf64_load): Likewise
29147 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29148 All users updated
29149 (grub_elf64_load_hook_t): Likewise
29150
0db15301 291512009-06-21 Colin Watson <cjwatson@ubuntu.com>
29152
29153 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29154 variable.
29155 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29156 don't write a menu entry for recovery mode.
29157
546796c1 291582009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29159
29160 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29161 after it's no longer needed.
29162
cd7310d5 291632009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29164
29165 * include/grub/i386/loader.h (grub_linux_prot_size)
29166 (grub_linux_tmp_addr, grub_linux_real_addr)
29167 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29168 GRUB_MACHINE_PCBIOS.
29169 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29170 common grub_util_info() call to ...
29171 (generate_image): ... here.
29172 Fix use of uninitialized memory, comparison of signed with
29173 unsigned integers and memory leak.
29174 Remove bogus module address message.
29175
ab32d3b5 291762009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29177
29178 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29179 grub_raid_register
29180 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29181
024ef597 291822009-06-19 Pavel Roskin <proski@gnu.org>
29183
29184 * configure.ac: Remove stray AC_MSG_CHECKING.
29185
3ac72b51 291862009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29187
29188 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29189
e14cd814 291902009-06-18 Pavel Roskin <proski@gnu.org>
29191
29192 * conf/common.rmk: Add fs_file.mod.
29193 * disk/fs_file.c: New file.
29194 * include/grub/disk.h (enum grub_disk_dev_id): Add
29195 GRUB_DISK_DEVICE_FILE_ID.
29196
26586d98 291972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 Fix build with Apple's toolchain. Part 2
29200
29201 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29202 a fake start
29203
26de2bcd 292042009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29205
29206 Fix build with Apple's toolchain. Part 1
29207
29208 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29209 for long calls
29210 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29211 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29212 Apple's toolchain
29213
09b3490b 292142009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29215
29216 Fix warnings
29217
29218 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29219 (decomp_block): initialize ch
29220 use grub_memcpy instead of memcpy
29221
c22a006a 292222009-06-17 Pavel Roskin <proski@gnu.org>
29223
d3638678 29224 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29225 version, use declarations needed to use vga_text as the startup
29226 console.
29227
c22a006a 29228 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29229 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29230 the kernel.
29231 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29232 and grub_at_keyboard_fini(), it's done on module load and
29233 unload.
29234
05b129e0 292352009-06-17 Felix Zielcke <fzielcke@z-51.de>
29236
29237 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29238 file can't be found.
29239 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29240
cf24ed9e 292412009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29242
29243 Fix newline handling
29244
29245 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29246 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29247 (grub_script_yylex): don't segfault on unterminated script
29248 newline terminates command and variable
29249
74aa8e4b 292502009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29251
29252 avoid double grub_adjust_range call. Bug reported by David Simner
29253
29254 * kern/disk.c (grub_disk_write): change to raw disk access before
29255 calling disk_read
29256
1bd265f3 292572009-06-17 Colin Watson <cjwatson@ubuntu.com>
29258
29259 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29260 spaces, for the benefit of help2man.
29261 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29262
a2d08c06 292632009-06-16 Pavel Roskin <proski@gnu.org>
29264
29265 * kern/i386/halt.c: Include grub/machine/init.h.
29266 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29267
b97bcb19 292682009-06-16 Felix Zielcke <fzielcke@z-51.de>
29269
29270 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29271 drivemap menuentry.
29272
0644f96c 292732009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29274
29275 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29276 `echo' command.
29277
3ef17a2e 292782009-06-16 Pavel Roskin <proski@gnu.org>
29279
29280 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29281 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29282 save %dx, we only need %dl and we never change it.
29283 * boot/i386/pc/cdboot.S: Don't set the root drive.
29284 * boot/i386/pc/pxeboot.S: Likewise.
29285 * include/grub/i386/pc/boot.h: Remove
29286 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29287 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29288 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29289 * kern/i386/pc/init.c (make_install_device): Remove references
29290 to grub_root_drive.
29291 * kern/i386/pc/startup.S: Likewise.
29292 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29293
693fe637 292942009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29295
29296 xnu_uuid command
29297
29298 * commands/xnu_uuid.c: new file
29299 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29300 (xnu_uuid_mod_SOURCES): new variable
29301 (xnu_uuid_mod_CFLAGS): likewise
29302 (xnu_uuid_mod_LDFLAGS): likewise
29303 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29304 * conf/i386-ieee1275.rmk: likewise
29305 * conf/i386-pc.rmk: likewise
29306 * conf/powerpc-ieee1275.rmk: likewise
29307 * conf/sparc64-ieee1275.rmk: likewise
29308 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29309
c9da87d0 293102009-06-16 Pavel Roskin <proski@gnu.org>
29311
29312 * configure.ac: Avoid '==' in test command, it's not portable.
29313
9c6f4596 293142009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29315
29316 Probe command
29317
29318 * commands/probe.c: new file
29319 * conf/common.rmk (pkglib_MODULES): add probe.mod
29320 (probe_mod_SOURCES): new variable
29321 (probe_mod_CFLAGS): likewise
29322 (probe_mod_LDFLAGS): likewise
29323 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29324 * conf/i386-ieee1275.rmk: likewise
29325 * conf/i386-pc.rmk: likewise
29326 * conf/powerpc-ieee1275.rmk: likewise
29327 * conf/sparc64-ieee1275.rmk: likewise
29328
70b7f9fd 293292009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29330
29331 Fix handling of string like \"hello\" and "a
29332 b"
29333
29334 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29335 (grub_script_yylex): fix parsing of quoting, escaping and newline
29336
71c79a6b 293372009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29338
dd74360c 29339 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29340 handling
dd74360c 29341
0644f96c 293422009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29343
29344 * util/grub-mkconfig.in: Fix parsing of --output option.
29345
e40893c3 293462009-06-12 Pavel Roskin <proski@gnu.org>
29347
29348 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29349 genmk.rb don't need to be generated or installed.
29350
3a1acfe2 293512009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29352
29353 * commands/i386/pc/drivemap_int13h.S: add more comments
29354
3a4575d4 293552009-06-11 Pavel Roskin <proski@gnu.org>
29356
0658e928 29357 * Makefile.in (uninstall): Uninstall manuals.
29358
ca0388f0 29359 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29360 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29361 and update-grub_lib in two places.
29362 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29363
e3b27c39 29364 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29365 a compiler warning.
29366
3a4575d4 29367 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29368 `entry_lo' to fix variable shadowing.
29369
af1f4f55 293702009-06-11 Christian Franke <franke@computer.org>
29371
29372 * kern/misc.c (__enable_execute_stack): Add missing return type
29373 to prevent gcc warning.
29374
5225e649 293752009-06-11 Felix Zielcke <fzielcke@z-51.de>
29376
29377 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29378
7d83bd47 293792009-06-11 Pavel Roskin <proski@gnu.org>
29380
c1cb63ba 29381 * Makefile.in: Don't rely on any scripts being executable.
29382 Always use $(SHELL) to run shell scripts.
29383
7d83bd47 29384 * configure.ac: Always define ___main if using -nostdlib. This
29385 fixes tests on Cygwin.
29386
948f48e7 293872009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29388
29389 UDF fix
29390
7d83bd47 29391 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29392 is in bytes and not in blocks
7d83bd47 29393
8ada9bc1 293942009-06-11 Pavel Roskin <proski@gnu.org>
29395
29396 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29397 warning.
29398
25ad2323 293992009-06-11 Felix Zielcke <fzielcke@z-51.de>
29400
29401 * util/grub.d/30_os-prober.in: Fix a comment. Source
29402 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29403 to set the root device. Place drivemap command in the generated
29404 chain entry.
29405
e65acb0c 294062009-06-11 Pavel Roskin <proski@gnu.org>
29407
29408 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29409 have long been resolved.
29410
f285fe2d 294112009-06-11 Colin Watson <cjwatson@ubuntu.com>
29412
bd47b0b5 29413 * util/grub.d/10_linux.in: Capitalise "Linux".
29414
f285fe2d 29415 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29416
a0c62e4e 294172009-06-11 Pavel Roskin <proski@gnu.org>
29418
b6783cb2 29419 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29420 fix a gcc warning and ensure that the function won't ever exit.
29421
dde032e8 29422 * kern/i386/ieee1275/init.c: Add missing prototype for
29423 grub_stop_floppy().
29424
22cd079d 29425 * loader/ieee1275/multiboot2.c [__i386__]: Include
29426 grub/cpu/multiboot.h.
29427
a0c62e4e 29428 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29429 casts to short - they are not portable and cause warnings. Fix
29430 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29431
63963d17 294322009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29433
29434 Drivemap fixes
29435
29436 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29437 new function
29438 (grub_get_root_biosnumber_saved): new variable
29439 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29440 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29441 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29442 %dx after the call if necessary
29443 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29444 (boot_mod_SOURCES): remove
29445 (boot_mod_CFLAGS): remove
29446 (boot_mod_LDFLAGS): remove
29447 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29448 (boot_mod_SOURCES): new variable
29449 (boot_mod_CFLAGS): likewise
29450 (boot_mod_LDFLAGS): likewise
29451 * conf/i386-efi.rmk: likewise
29452 * conf/i386-ieee1275.rmk: likewise
29453 * conf/i386-pc.rmk: likewise
29454 * conf/powerpc-ieee1275.rmk: likewise
29455 * conf/sparc64-ieee1275.rmk: likewise
29456 * conf/x86_64-efi.rmk: likewise
29457 * include/grub/i386/pc/biosnum.h: new file
29458 * lib/i386/pc/biosnum.c: likewise
29459 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29460 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29461 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29462
33abf7ae 294632009-06-10 Pavel Roskin <proski@gnu.org>
29464
5ac35b35 29465 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29466 Use separate variables. Read only the file size at the end, but
29467 not the checksum that we don't use.
29468
5c5215d5 29469 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29470 Adjust all callers.
29471
27d5fef7 29472 * kern/ieee1275/openfw.c: Remove libc includes.
29473 * kern/ieee1275/cmain.c: Likewise.
29474 * include/grub/ieee1275/ieee1275.h: Likewise.
29475
33abf7ae 29476 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29477 compiler warnings.
29478
19d50c2b 294792009-06-10 Felix Zielcke <fzielcke@z-51.de>
29480
29481 * Makefile.in: Remove all trailing whitespace.
29482 * conf/i386-pc.rmk: Likewise.
29483 * conf/powerpc-ieee1275.rmk: Likewise.
29484 * conf/sparc64-ieee1275.rmk: Likewise.
29485 * docs/grub.texi: Likewise.
29486 * docs/texinfo.tex: Likewise.
29487 * disk/fs_uuid.c: Likewise.
29488 * disk/lvm.c: Likewise.
29489 * disk/scsi.c: Likewise.
29490 * disk/ata.c: Likewise.
29491 * disk/ieee1275/ofdisk.c: Likewise.
29492 * disk/i386/pc/biosdisk.c: Likewise.
29493 * disk/host.c: Likewise.
29494 * disk/raid.c: Likewise.
29495 * disk/efi/efidisk.c: Likewise.
29496 * disk/usbms.c: Likewise.
29497 * disk/memdisk.c: Likewise.
29498 * disk/loopback.c: Likewise.
29499 * kern/powerpc/dl.c: Likewise.
29500 * kern/device.c: Likewise.
29501 * kern/dl.c: Likewise.
29502 * kern/sparc64/dl.c: Likewise.
29503 * kern/ieee1275/ieee1275.c: Likewise.
29504 * kern/term.c: Likewise.
29505 * kern/fs.c: Likewise.
29506 * kern/i386/dl.c: Likewise.
29507 * kern/i386/pc/startup.S: Likewise.
29508 * kern/i386/pc/init.c: Likewise.
29509 * kern/i386/pc/mmap.c: Likewise.
29510 * kern/i386/pc/lzo1x.S: Likewise.
29511 * kern/i386/ieee1275/init.c: Likewise.
29512 * kern/i386/realmode.S: Likewise.
29513 * kern/i386/tsc.c: Likewise.
29514 * kern/partition.c: Likewise.
29515 * kern/corecmd.c: Likewise.
29516 * kern/file.c: Likewise.
29517 * kern/efi/efi.c: Likewise.
29518 * kern/efi/init.c: Likewise.
29519 * kern/efi/mm.c: Likewise.
29520 * kern/main.c: Likewise.
29521 * kern/err.c: Likewise.
29522 * kern/env.c: Likewise.
29523 * kern/disk.c: Likewise.
29524 * kern/generic/millisleep.c: Likewise.
29525 * kern/generic/rtc_get_time_ms.c: Likewise.
29526 * kern/misc.c: Likewise.
29527 * kern/parser.c: Likewise.
29528 * genmk.rb: Likewise.
29529 * configure.ac: Likewise.
29530 * boot/i386/pc/diskboot.S: Likewise.
29531 * boot/i386/pc/pxeboot.S: Likewise.
29532 * boot/i386/pc/boot.S: Likewise.
29533 * boot/i386/pc/lnxboot.S: Likewise.
29534 * boot/i386/pc/cdboot.S: Likewise.
29535 * parttool/pcpart.c: Likewise.
29536 * video/readers/tga.c: Likewise.
29537 * video/video.c: Likewise.
29538 * video/bitmap.c: Likewise.
29539 * lib/envblk.c: Likewise.
29540 * lib/i386/setjmp.S: Likewise.
29541 * fs/xfs.c: Likewise.
29542 * fs/afs.c: Likewise.
29543 * fs/fat.c: Likewise.
29544 * fs/ntfs.c: Likewise.
29545 * fs/udf.c: Likewise.
29546 * fs/affs.c: Likewise.
29547 * fs/iso9660.c: Likewise.
29548 * fs/hfs.c: Likewise.
29549 * fs/fshelp.c: Likewise.
29550 * fs/ext2.c: Likewise.
29551 * fs/jfs.c: Likewise.
29552 * fs/reiserfs.c: Likewise.
29553 * fs/hfsplus.c: Likewise.
29554 * fs/minix.c: Likewise.
29555 * fs/cpio.c: Likewise.
29556 * fs/sfs.c: Likewise.
29557 * fs/ufs.c: Likewise.
29558 * efiemu/prepare.c: Likewise.
29559 * efiemu/loadcore_common.c: Likewise.
29560 * efiemu/runtime/efiemu.sh: Likewise.
29561 * efiemu/runtime/efiemu.S: Likewise.
29562 * efiemu/runtime/efiemu.c: Likewise.
29563 * efiemu/pnvram.c: Likewise.
29564 * efiemu/main.c: Likewise.
29565 * efiemu/i386/pc/cfgtables.c: Likewise.
29566 * efiemu/i386/loadcore64.c: Likewise.
29567 * efiemu/i386/loadcore32.c: Likewise.
29568 * efiemu/loadcore.c: Likewise.
29569 * efiemu/symbols.c: Likewise.
29570 * efiemu/mm.c: Likewise.
29571 * include/grub/autoefi.h: Likewise.
29572 * include/grub/datetime.h: Likewise.
29573 * include/grub/term.h: Likewise.
29574 * include/grub/hfs.h: Likewise.
29575 * include/grub/lvm.h: Likewise.
29576 * include/grub/i386/tsc.h: Likewise.
29577 * include/grub/i386/linux.h: Likewise.
29578 * include/grub/i386/xnu.h: Likewise.
29579 * include/grub/i386/efiemu.h: Likewise.
29580 * include/grub/i386/pc/biosdisk.h: Likewise.
29581 * include/grub/i386/pc/memory.h: Likewise.
29582 * include/grub/i386/pc/vbe.h: Likewise.
29583 * include/grub/parttool.h: Likewise.
29584 * include/grub/video.h: Likewise.
29585 * include/grub/memory.h: Likewise.
29586 * include/grub/fs.h: Likewise.
29587 * include/grub/partition.h: Likewise.
29588 * include/grub/xnu.h: Likewise.
29589 * include/grub/efi/api.h: Likewise.
29590 * include/grub/efi/pe32.h: Likewise.
29591 * include/grub/efi/memory.h: Likewise.
29592 * include/grub/multiboot.h: Likewise.
29593 * include/grub/usbdesc.h: Likewise.
29594 * include/grub/multiboot2.h: Likewise.
29595 * include/grub/acpi.h: Likewise.
29596 * include/grub/efiemu/efiemu.h: Likewise.
29597 * include/grub/disk.h: Likewise.
29598 * include/grub/ieee1275/ieee1275.h: Likewise.
29599 * include/grub/net.h: Likewise.
29600 * include/grub/machoload.h: Likewise.
29601 * include/grub/macho.h: Likewise.
29602 * include/multiboot.h: Likewise.
29603 * genmoddep.awk: Likewise.
29604 * normal/main.c: Likewise.
29605 * normal/menu_entry.c: Likewise.
29606 * normal/menu_viewer.c: Likewise.
29607 * normal/completion.c: Likewise.
29608 * normal/cmdline.c: Likewise.
29609 * normal/misc.c: Likewise.
29610 * normal/datetime.c: Likewise.
29611 * bus/usb/usbtrans.c: Likewise.
29612 * bus/usb/ohci.c: Likewise.
29613 * bus/usb/uhci.c: Likewise.
29614 * bus/usb/usb.c: Likewise.
29615 * mmap/efi/mmap.c: Likewise.
29616 * mmap/i386/pc/mmap_helper.S: Likewise.
29617 * mmap/i386/pc/mmap.c: Likewise.
29618 * mmap/i386/mmap.c: Likewise.
29619 * mmap/i386/uppermem.c: Likewise.
29620 * mmap/mmap.c: Likewise.
29621 * commands/acpi.c: Likewise.
29622 * commands/echo.c: Likewise.
29623 * commands/blocklist.c: Likewise.
29624 * commands/loadenv.c: Likewise.
29625 * commands/usbtest.c: Likewise.
29626 * commands/boot.c: Likewise.
29627 * commands/parttool.c: Likewise.
29628 * commands/search.c: Likewise.
29629 * commands/cat.c: Likewise.
29630 * commands/i386/pc/play.c: Likewise.
29631 * commands/i386/pc/drivemap.c: Likewise.
29632 * commands/i386/pc/vbeinfo.c: Likewise.
29633 * commands/i386/pc/acpi.c: Likewise.
29634 * commands/i386/pc/vbetest.c: Likewise.
29635 * commands/ls.c: Likewise.
29636 * commands/cmp.c: Likewise.
29637 * commands/test.c: Likewise.
29638 * commands/efi/acpi.c: Likewise.
29639 * commands/gptsync.c: Likewise.
29640 * commands/help.c: Likewise.
29641 * partmap/amiga.c: Likewise.
29642 * partmap/apple.c: Likewise.
29643 * partmap/acorn.c: Likewise.
29644 * partmap/pc.c: Likewise.
29645 * partmap/sun.c: Likewise.
29646 * partmap/gpt.c: Likewise.
29647 * script/sh/lexer.c: Likewise.
29648 * script/sh/function.c: Likewise.
29649 * font/font.c: Likewise.
29650 * font/font_cmd.c: Likewise.
29651 * loader/powerpc/ieee1275/linux.c: Likewise.
29652 * loader/efi/chainloader.c: Likewise.
29653 * loader/multiboot_loader.c: Likewise.
29654 * loader/macho.c: Likewise.
29655 * loader/i386/multiboot.c: Likewise.
29656 * loader/i386/linux.c: Likewise.
29657 * loader/i386/pc/linux.c: Likewise.
29658 * loader/i386/pc/multiboot2.c: Likewise.
29659 * loader/i386/pc/chainloader.c: Likewise.
29660 * loader/i386/pc/xnu.c: Likewise.
29661 * loader/i386/bsd_trampoline.S: Likewise.
29662 * loader/i386/efi/linux.c: Likewise.
29663 * loader/i386/multiboot_elfxx.c: Likewise.
29664 * loader/i386/bsd_helper.S: Likewise.
29665 * loader/i386/bsd.c: Likewise.
29666 * loader/i386/linux_trampoline.S: Likewise.
29667 * loader/i386/xnu_helper.S: Likewise.
29668 * loader/i386/xnu.c: Likewise.
29669 * loader/i386/bsd_pagetable.c: Likewise.
29670 * loader/i386/multiboot_helper.S: Likewise.
29671 * loader/xnu.c: Likewise.
29672 * loader/xnu_resume.c: Likewise.
29673 * io/gzio.c: Likewise.
29674 * term/efi/console.c: Likewise.
29675 * term/terminfo.c: Likewise.
29676 * term/ieee1275/ofconsole.c: Likewise.
29677 * term/i386/pc/serial.c: Likewise.
29678 * term/i386/pc/vesafb.c: Likewise.
29679 * term/i386/pc/vga.c: Likewise.
29680 * term/usb_keyboard.c: Likewise.
29681 * term/gfxterm.c: Likewise.
29682 * aclocal.m4: Likewise.
29683 * util/lvm.c: Likewise.
29684 * util/grub.d/30_os-prober.in: Likewise.
29685 * util/grub.d/10_hurd.in: Likewise.
29686 * util/console.c: Likewise.
29687 * util/grub-macho2img.c: Likewise.
29688 * util/grub-probe.c: Likewise.
29689 * util/hostfs.c: Likewise.
29690 * util/i386/pc/grub-mkimage.c: Likewise.
29691 * util/i386/pc/grub-setup.c: Likewise.
29692 * util/i386/efi/grub-mkimage.c: Likewise.
29693 * util/grub-mkconfig.in: Likewise.
29694 * util/raid.c: Likewise.
29695 * util/resolve.c: Likewise.
29696 * util/grub-mkdevicemap.c: Likewise.
29697 * util/grub-emu.c: Likewise.
29698 * util/getroot.c: Likewise.
29699 * util/hostdisk.c: Likewise.
29700 * util/usb.c: Likewise.
29701 * util/grub-editenv.c: Likewise.
29702 * util/misc.c: Likewise.
29703
d2d49665 297042009-06-10 Felix Zielcke <fzielcke@z-51.de>
29705
29706 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29707 `genparttoollist.sh'.
29708 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29709 Add `*.sh' to the list find searches for and change `mdate.sh'
29710 to `mdate-sh'.
29711
fe052e37 297122009-06-10 Pavel Roskin <proski@gnu.org>
29713
2763ac18 29714 * include/grub/multiboot2.h: Provide compatibility defines for
29715 multiboot2.h.
29716 * include/multiboot2.h: Include stdint.h only if needed, using
29717 angle brackets.
29718 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29719 grub/multiboot2.h.
29720 * loader/ieee1275/multiboot2.c: Likewise.
29721 * loader/multiboot2.c: Likewise.
29722 * loader/multiboot_loader.c: Likewise.
29723
437e6adc 29724 * configure.ac: Use -nostdlib when probing for the target. It
29725 should not be required to have libc for the target.
29726
06a6836c 29727 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29728 they fail without libc headers for the target.
29729 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29730 exports.
29731 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29732 preprocessor conditionals.
29733
fe052e37 29734 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29735 build system doesn't need to be aware of the tar.c internals.
29736
afd22553 297372009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29738
afd22553 29739 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29740
6b787c4f 297412009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29742
29743 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29744 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29745
297462009-06-09 Felix Zielcke <fzielcke@z-51.de>
29747
29748 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29749 aren't available if ata.mod gets used.
6b787c4f 29750
473d1e45 297512009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29752
473d1e45 29753 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29754 initialising controller.
473d1e45 29755 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29756
255a27d4 297572009-06-08 Felix Zielcke <fzielcke@z-51.de>
29758
29759 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29760 to choose between ata and biosdisk module on i386-pc.
29761
473d1e45 297622009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29763
d55842d8 29764 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29765 Subclass and Programming Interface fields in terms of the 3 byte
29766 Class Code register.
29767 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29768
fa5db0b1 29769 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29770 interface is OHCI. Add grub_dprintf for symmetry with
29771 bus/usb/uhci.c.
29772 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29773 interface is UHCI. Add interf variable for programming
29774 interface. Print interface with class/subclass.
29775
c0947beb 29776 * bus/usb/ohci.c: Set interf with correct field.
29777
69da8877 29778 * bus/usb/uhci.c: Remove unneeded doubled lines.
29779 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29780 Remove whitespace inside comment.
29781
9e172e30 297822009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29783
29784 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29785 as fallback an equivalent option without depth.
29786
de65ee2b 297872009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29788
29789 Not fail if unable to retrieve C/H/S on LBA disks
29790
473d1e45 29791 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29792 if unable to retrieve C/H/S on LBA disks
29793
b57ea2c9 297942009-06-08 Pavel Roskin <proski@gnu.org>
29795
29796 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29797 about aliasing.
29798
af361263 297992009-06-08 Felix Zielcke <fzielcke@z-51.de>
29800
29801 * Makefile.in (uninstall): Remove all $lib_DATA files.
29802
4c9ec6b3 298032009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29804
29805 Bugfix: install on partitionless device
29806
29807 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29808 is a whole disk
29809
e76fc924 298102009-06-08 Felix Zielcke <fzielcke@z-51.de>
29811
29812 * Makefile.in (uninstall): Remove all $include_DATA files.
29813
ba5a0d05 298142009-06-08 Felix Zielcke <fzielcke@z-51.de>
29815
29816 * commands/true.c: New file. Implement the true and false commands.
29817 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29818 (true_mod_SOURCES): New variable.
29819 (true_mod_CFLAGS): Likewise.
29820 (true_mod_LDFLAGS): Likewise.
29821
c8048e32 298222009-06-05 Colin D Bennett <colin@gibibit.com>
29823
29824 Optimized font character lookup using binary search instead of linear
29825 search. Fonts now are required to have the character index ordered by
29826 code point.
29827
29828 * font/font.c (load_font_index): Verify that fonts have ordered
29829 character indices.
29830 (find_glyph): Use binary search instead of linear search to find a
29831 character in a font.
29832
408305be 298332009-06-05 Michael Scherer <misc@mandriva.org>
29834
29835 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29836 uses case sensitive btree.
29837 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29838 only for case insensitive filesystems.
29839
8ee1e0d9 298402009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29841
29842 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29843 * conf/common.rmk (search_mod_CFLAGS): likewise
29844
a9966eb1 298452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29846
473d1e45 29847 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29848 compensate a compiler bug
29849
9e7100fb 298502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29851
473d1e45 29852 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29853 instead of '\b'
473d1e45 29854
ede21d71 298552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29856
29857 Definitions for creating asm symbols with Apple's CC
29858
29859 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29860 [APPLE_CC] (VARIABLE): likewise
29861
9dbf7653 298622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29863
29864 Disable lnxboot.img when compiled
29865 with Apple's CC
29866
29867 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29868 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29869 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29870 [! APPLE_CC] (CODE_LENG): skip
29871 [! APPLE_CC] (setup_sects): likewise
29872 [! APPLE_CC]: skip filling
473d1e45 29873
e93cdc3d 298742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29875
29876 Address in trampolines based on 32-bit registers when compiled
29877 with Apple's CC
29878
473d1e45 29879 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29880 for addresses
29881 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29882
6c688477 298832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29884
29885 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29886
29887 * kern/misc.c [APPLE_CC] (memcpy): new function
29888 [APPLE_CC] (memmove): likewise
29889 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29890 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29891 (memset): likewise
29892 (abort): likewise
29893 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29894 APPLE_CC are defined
29895 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29896 (grub_assert_fail): make prototype conditional
29897
e37ffc5c 298982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29899
29900 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29901
473d1e45 29902 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29903 grub-macho2img
e37ffc5c 29904 (CLEANFILES): add grub-macho2img
29905 (grub_macho2img_SOURCES): new variable
29906 * kern/i386/pc/startup.S (bss_start): new variable
29907 (bss_end): likewise
29908 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29909 * util/grub-macho2img.c: new file
29910
cf00df31 299112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29912
29913 Use objconv when compiling with Apple's CC
29914
29915 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29916 (efiemu64.o): likewise
29917 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29918 when compiling with Apple's CC
29919 (efiemu64_s.o): likewise
29920 * configure.ac: check for objconv when compiling with Apple's CC
29921 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29922
d119a20c 299232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29924
29925 Define segment as well as section when compiling with
29926 Apple's CC
29927
29928 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29929 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29930 (efiemu_convert_pointer): likewise
29931 (efiemu_set_virtual_address_map): likewise
29932 (efiemu_convert_pointer): likewise
29933 (efiemu_getcrc32): likewise
29934 (init_crc32_table): likewise
29935 (reflect): likewise
29936 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29937 (GRUB_MOD_DEP): likewise
473d1e45 29938
c8600122 299392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29940
29941 Allow a compilation without -mcmodel=large
29942
29943 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29944 when compiled without -mcmodel=large
473d1e45 29945 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29946 without -mcmodel=large
473d1e45 29947 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29948 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29949
e8df1d4e 299502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29951
29952 Remove nested functions in efiemu core
29953
29954 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29955
cc6c3ac1 299562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29957
29958 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29959
29960 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29961 temporary storage
473d1e45 29962 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29963 using Apple's CC
cc6c3ac1 29964 (grub_cpu_is_tsc_supported): likewise
29965 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29966
3e325901 299672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29968
29969 Absolute addressing through constant with Apple's cc
29970
29971 * kern/i386/pc/startup.S: Define necessary constants
29972 and address through it when using ABS with Apple's CC
29973 * boot/i386/pc/diskboot.S: likewise
29974 * boot/i386/pc/boot.S: likewise
29975 * boot/i386/pc/lnxboot.S: likewise
29976 * boot/i386/pc/cdboot.S: likewise
29977 * mmap/i386/pc/mmap_helper.S: likewise
29978 * commands/i386/pc/drivemap_int13h.S: likewise
29979
2b167a72 299802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29981
29982 Check if compiler is apple cc
29983
29984 * Makefile.in (ASFLAGS): new variable
29985 (TARGET_ASFLAGS): likewise
29986 (TARGET_MODULE_FORMAT): likewise
29987 (TARGET_APPLE_CC): likewise
29988 (OBJCONV): likewise
29989 (TARGET_IMG_CFLAGS): likewise
29990 (TARGET_CPPFLAGS): add includedir
29991 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29992 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29993 Check for linker script only if compiler isn't Apple's CC
29994 (TARGET_MODULE_FORMAT): set
29995 (TARGET_APPLE_CC): likewise
29996 (TARGET_ASFLAGS): likewise
29997 (ASFLAGS): likewise
29998 Check for objcopy only if compiler isn't Apple's CC
29999 Check for BSS symbol only if compiler isn't Apple's CC
30000 * genmk.rb: adapt nm options if we use Apple's utils
30001 * aclocal.m4 (grub_apple_cc): new test
30002 (grub_apple_target_cc): likewise
473d1e45 30003
fb14123e 300042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30005
30006 Simplify sed expressions and improve awk
30007
30008 * Makefile.in (install-local): simplify sed expression
30009 * gencmdlist.sh: likewise
30010 * genmoddep.awk: avoid adding module as a dependency of itself
30011
5b889789 300122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30013
30014 Add missing start symbols
30015
30016 * boot/i386/pc/boot.S: add start
fb14123e 30017 * boot/i386/pc/pxeboot.S: likewise
473d1e45 30018
fd2bf2e3 300192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30020
30021 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 30022
30023 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 30024 (relocate_addresses): consider both r_addend and value at offset
30025 (make_mods_section): zerofill modinfo and header
30026 (convert_elf): write prefix here
473d1e45 30027
5389763d 300282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30029
30030 Use .asciz instead of .string
30031
30032 * i386/pc/diskboot.S: use .asciz instead of .string
30033 * i386/pc/boot.S: likewise
30034 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30035 (GRUB_MOD_NAME): likewise
473d1e45 30036
3eb5ed4e 300372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30038
30039 gfxpayload support
30040
30041 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30042 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30043 (grub_video_setup): remove
30044 (grub_video_set_mode): new prototype
30045 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30046 (vid_mode): remove
30047 (linux_vesafb_res): compile only on PCBIOS
30048 (grub_linux_boot): support gfxpayload
30049 * loader/i386/pc/xnu.c (video_hook): new function
30050 (grub_xnu_set_video): support gfxpayload
30051 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30052 (DEFAULT_VIDEO_HEIGHT): likewise
30053 (DEFAULT_VIDEO_FLAGS): likewise
30054 (DEFAULT_VIDEO_MODE): new definition
30055 (video_hook): new function
30056 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 30057 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 30058 loading xnu
30059 * video/video.c (grub_video_setup): removed
473d1e45 30060 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 30061 grub_video_setup
30062
4b0e1143 300632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30064
30065 Avoid calling biosdisk in drivemap
30066
30067 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30068 (revparse_biosdisk): likewise
30069 (list_mappings): derive name from id directly
30070 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 30071
fda6cb98 300722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30073
30074 Script fixes
30075
30076 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30077 (grub_lexer_param): add tokenonhold
30078 (grub_script_create_cmdline): remove cmdline. All callers updated
30079 (grub_script_function_create): make functionname
30080 grub_script_arg. All callers updated
30081 (grub_script_execute_argument_to_string): new prototype
30082 * kern/parser.c (state_transitions): reorder
30083 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 30084 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30085 make global
30086 (grub_script_execute_cmdline): use new format
30087 * script/sh/function.c (grub_script_function_create): make functionname
30088 grub_script_arg. All callers updated
473d1e45 30089 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30090 (grub_script_yylex): remove
30091 (grub_script_yylex2): renamed to ...
30092 (grub_script_yylex): ...renamed
30093 parse the expressions like a${b}c
30094 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30095 (GRUB_PARSER_TOKEN_VAR): remove
30096 (GRUB_PARSER_TOKEN_NAME): likewise
30097 ("if"): declare as typeless
30098 ("while"): likewise
30099 ("function"): likewise
30100 ("else"): likewise
30101 ("then"): likewise
30102 ("fi"): likewise
30103 (text): remove
30104 (argument): likewise
30105 (script): accept empty scripts and make exit on error
30106 (arguments): use GRUB_PARSER_TOKEN_ARG
30107 (function): likewise
30108 (command): move error handling to script
30109 (menuentry): move grub_script_lexer_ref before
473d1e45 30110 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30111 argument. All callers updated
30112
f4448a07 301132009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30114
30115 Prevent GRUB from probing floppies during boot.
30116
30117 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30118 * commands/search.c (options): Add --no-floppy.
30119 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30121 --no-floppy when searching for UUIDs.
30122
2bf5885a 301232009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30124
30125 Simplify the code duplication in commands/search.c.
30126
30127 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30128 (search_fs): ... this. Update all users.
30129
f6fd460a 301302009-06-03 Felix Zielcke <fzielcke@z-51.de>
30131
30132 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30133
cbb3c83e 301342009-05-28 Pavel Roskin <proski@gnu.org>
30135
57788cfd 30136 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30137 Remove the original symlink explicitly.
30138
cbb3c83e 30139 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30140 just one slash. That's how grub_fshelp_find_file() does it.
30141
cd0d5e30 301422009-05-26 Pavel Roskin <proski@gnu.org>
30143
f0f8bbe2 30144 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30145 to `str'.
30146
cd0d5e30 30147 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30148 possibly unused.
30149
8c2cab51 301502009-05-25 Christian Franke <franke@computer.org>
30151
30152 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30153 register.
30154 (grub_atapi_identify): Add wait after drive select.
30155 (grub_ata_identify): Do more strict status register check before
30156 calling grub_atapi_identify (). Suppress error message if status
30157 register is 0x00 after command failure. Add status register
30158 check after PIO read to avoid bogus identify due to stuck DRQ.
30159 Thanks to Pavel Roskin for testing.
30160 (grub_device_initialize): Remove unsafe status register check.
30161 Thanks to 'phcoder' for problem report and patch.
30162 Prevent sign extension in debug message.
30163
230c0ad6 301642009-05-23 Colin D Bennett <colin@gibibit.com>
30165
30166 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30167 definition file, and functions defined in `normal/menu.c' have had
30168 their prototypes moved to `include/grub/menu.h' for consistency.
30169
30170 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30171 from normal.h.
30172 (grub_menu_get_entry): Likewise.
30173 (grub_menu_get_timeout): Likewise.
30174 (grub_menu_set_timeout): Likewise.
30175 (grub_menu_execute_entry): Likewise.
30176 (grub_menu_execute_with_fallback): Likewise.
30177 (grub_menu_entry_run): Likewise.
30178
30179 * include/grub/normal.h: Re-ordered and grouped function
30180 prototypes by file that the function is defined in.
30181 (grub_menu_execute_callback): Removed; moved to menu.h.
30182 (grub_menu_get_entry): Likewise.
30183 (grub_menu_get_timeout): Likewise.
30184 (grub_menu_set_timeout): Likewise.
30185 (grub_menu_execute_entry): Likewise.
30186 (grub_menu_execute_with_fallback): Likewise.
30187 (grub_menu_entry_run): Likewise.
30188 (grub_menu_addentry): Renamed from this ...
30189 (grub_normal_add_menu_entry): ... to this.
30190
30191 * normal/main.c (grub_menu_addentry): Renamed from this ...
30192 (grub_normal_add_menu_entry): ... to this.
30193
30194 * script/sh/execute.c (grub_script_execute_menuentry): Update
30195 reference to renamed grub_menu_addentry function.
30196
861f03a5 301972009-05-23 Felix Zielcke <fzielcke@z-51.de>
30198
30199 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30200
96b1619a 302012009-05-22 Pavel Roskin <proski@gnu.org>
30202
bf6a5fb2 30203 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30204 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30205 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30206 compiling for the i386 targets, but not for the utilities.
30207
96b1619a 30208 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30209 to grub_uint8_t.
30210 (grub_root_drive): Likewise.
30211 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30212 remove alignment.
30213 (grub_root_drive): Change size to byte.
30214 (grub_start_addr): Remove.
30215 (grub_end_addr): Likewise.
30216 (grub_apm_bios_info): Likewise.
30217
b729776b 302182009-05-21 Felix Zielcke <fzielcke@z-51.de>
30219
30220 * normal/i386: Remove.
30221 * normal/powerpc: Likewise.
30222 * normal/sparc64: Likewise.
30223 * normal/x86_64: Likewise.
30224
0a15ce80 302252009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30226
30227 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30228 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30229 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30230
33db9015 302312009-05-18 Colin D Bennett <colin@gibibit.com>
30232
d6da58e6 30233 Display error messages when parsing a Lua statement fails.
30234 Previously, executing a syntactically invalid statement like
30235 ")foo" or "bar;" would silently fail.
33db9015 30236
30237 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30238 (grub_lua_parse_line): Improved reporting of Lua parser and
30239 execution errors.
33db9015 30240
46422c89 302412009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30242
30243 Remove -Werror which causes build to fail on some systems
30244
30245 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30246 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30247 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30248
22f53a96 302492009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30250
30251 trampoline for linux on 64-bit platform
30252
18f547ad 30253 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30254 loader/i386/efi/linux_trampoline.S
30255 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30256 declaration
d6da58e6 30257 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30258 here
22f53a96 30259 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30260 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30261 trampoline
22f53a96 30262 (jumpvector): removed
30263 (grub_linux_trampoline_start): new declaration
30264 (grub_linux_trampoline_end): likewise
30265 (grub_linux_boot): use trampoline when on 64-bit platform
30266 * loader/i386/linux.c: likewise
30267
cb5a0f40 302682009-05-16 Pavel Roskin <proski@gnu.org>
30269
30270 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30271 const to avoid a warning.
30272 (grub_lua_setenv): Likewise.
30273 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30274 lmsg to fix a warning.
30275
334f2c28 302762009-05-16 Felix Zielcke <fzielcke@z-51.de>
30277
30278 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30279 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30280 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30281 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30282 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30283 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30284 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30285 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30286
59e5d3ec 302872009-05-16 Felix Zielcke <fzielcke@z-51.de>
30288
30289 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30290
9d87a1ba 302912009-05-16 Bean <bean123ch@gmail.com>
30292
30293 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30294 (lua_mod_SOURCES): New variable.
30295 (lua_mod_CFLAGS): Likewise.
30296 (lua_mod_LDFLAGS): Likewise.
30297
30298 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30299 (setjmp_mod_SOURCES): New variable.
30300 (setjmp_mod_CFLAGS): Likewise.
30301 (setjmp_LDFLAGS): Likewise.
30302
30303 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30304 (setjmp_mod_SOURCES): New variable.
30305 (setjmp_mod_CFLAGS): Likewise.
30306 (setjmp_LDFLAGS): Likewise.
30307
30308 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30309 (setjmp_mod_SOURCES): New variable.
30310 (setjmp_mod_CFLAGS): Likewise.
30311 (setjmp_LDFLAGS): Likewise.
30312
30313 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30314 (setjmp_mod_SOURCES): New variable.
30315 (setjmp_mod_CFLAGS): Likewise.
30316 (setjmp_LDFLAGS): Likewise.
30317
30318 * normal/i386/setjmp.S: Moved from here ...
30319 * lib/i386/setjmp.S: ... Moved here
30320 * normal/x86_64/setjmp.S: Moved from here ...
30321 * lib/x86_64/setjmp.S: ... Moved here
30322 * normal/powerpc/setjmp.S: Moved from here ...
30323 * lib/powerpc/setjmp.S: ... Moved here
30324 * normal/sparc64/setjmp.S: Moved from here ...
30325 * lib/sparc64/setjmp.S: ... Moved here
30326
30327 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30328 returns_twice in mingw.
30329
30330 * script/lua/grub_lib.c: New file.
30331 * script/lua/grub_lib.h: Likewise.
30332 * script/lua/grub_lua.h: Likewise.
30333 * script/lua/grub_main.c: Likewise.
30334 * script/lua/lapi.c: Likewise.
30335 * script/lua/lapi.h: Likewise.
30336 * script/lua/lauxlib.c: Likewise.
30337 * script/lua/lauxlib.h: Likewise.
30338 * script/lua/lbaselib.c: Likewise.
30339 * script/lua/lcode.c: Likewise.
30340 * script/lua/lcode.h: Likewise.
30341 * script/lua/ldblib.c: Likewise.
30342 * script/lua/ldebug.c: Likewise.
30343 * script/lua/ldebug.h: Likewise.
30344 * script/lua/ldo.c: Likewise.
30345 * script/lua/ldo.h: Likewise.
30346 * script/lua/ldump.c: Likewise.
30347 * script/lua/lfunc.c: Likewise.
30348 * script/lua/lfunc.h: Likewise.
30349 * script/lua/lgc.c: Likewise.
30350 * script/lua/lgc.h: Likewise.
30351 * script/lua/linit.c: Likewise.
30352 * script/lua/liolib.c: Likewise.
30353 * script/lua/llex.c: Likewise.
30354 * script/lua/llex.h: Likewise.
30355 * script/lua/llimits.h: Likewise.
30356 * script/lua/lmathlib.c: Likewise.
30357 * script/lua/lmem.c: Likewise.
30358 * script/lua/lmem.h: Likewise.
30359 * script/lua/loadlib.c: Likewise.
30360 * script/lua/lobject.c: Likewise.
30361 * script/lua/lobject.h: Likewise.
30362 * script/lua/lopcodes.c: Likewise.
30363 * script/lua/lopcodes.h: Likewise.
30364 * script/lua/loslib.c: Likewise.
30365 * script/lua/lparser.c: Likewise.
30366 * script/lua/lparser.h: Likewise.
30367 * script/lua/lstate.c: Likewise.
30368 * script/lua/lstate.h: Likewise.
30369 * script/lua/lstring.c: Likewise.
30370 * script/lua/lstring.h: Likewise.
30371 * script/lua/lstrlib.c: Likewise.
30372 * script/lua/ltable.c: Likewise.
30373 * script/lua/ltable.h: Likewise.
30374 * script/lua/ltablib.c: Likewise.
30375 * script/lua/ltm.c: Likewise.
30376 * script/lua/ltm.h: Likewise.
30377 * script/lua/lua.h: Likewise.
30378 * script/lua/luaconf.h: Likewise.
30379 * script/lua/lualib.h: Likewise.
30380 * script/lua/lundump.c: Likewise.
30381 * script/lua/lundump.h: Likewise.
30382 * script/lua/lvm.c: Likewise.
30383 * script/lua/lvm.h: Likewise.
30384 * script/lua/lzio.c: Likewise.
30385 * script/lua/lzio.h: Likewise.
30386
5e898c9d 303872009-05-16 Bean <bean123ch@gmail.com>
30388
30389 * include/grub/kernel.h (grub_module_header_types): Add type
30390 OBJ_TYPE_CONFIG.
30391
30392 * kern/main.c (grub_load_config): New function.
30393 (grub_main): Call grub_load_config to read boot config.
30394
30395 * grub-mkimage (generate_image): New parameter config_path.
30396 (options): New option --config.
30397 (main): Parse --config option, and pass it to generate_image.
30398
cf353a47 303992009-05-14 Christian Franke <franke@computer.org>
30400
30401 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30402 This fixes build on Cygwin.
30403
3834887f 304042009-05-14 Pavel Roskin <proski@gnu.org>
30405
30406 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30407 jump. This saves two bytes, so the typical case of 2 swapped
30408 drives would fit 32 bytes.
30409
8090fc01 304102009-05-13 Pavel Roskin <proski@gnu.org>
30411
ac963883 30412 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30413 grub_uint32_t to avoid a warning.
30414
8090fc01 30415 * loader/i386/linux.c (allocate_pages): When assigning
30416 real_mode_mem, cast through grub_size_t to fix a warning. The
30417 code already makes sure that the value would fit a pointer.
30418 (grub_linux_setup_video): Cast render_target->data to
30419 grub_size_t to fix a warning.
30420
18f547ad 304212009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30422
30423 * commands/i386/pc/drivemap.c: New file - implement drivemap
30424 command.
30425 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30426 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30427
6f6a8b28 304282009-05-13 Pavel Roskin <proski@gnu.org>
30429
30430 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30431 embedding_area_exists.
30432
15fbf4c4 304332009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30434
30435 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30436 it easier to understand / work with.
59978c8a 30437 Improve warning messages for cases where there's no embedding area,
30438 or when it is too small (or core.img too large).
15fbf4c4 30439
238e871f 304402009-05-13 Pavel Roskin <proski@gnu.org>
30441
0ab3a9a4 30442 * loader/i386/pc/multiboot2.c: Add necessary includes for
30443 grub_multiboot2_real_boot().
30444
a2c8c5f8 30445 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30446 PX record is always little-endian. We only need the lower 2
30447 bytes of the mode.
30448
faec96af 30449 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30450 facilitate code reuse.
30451 (grub_cpio_mount): Use "struct head", not a char buffer. This
30452 fixes a warning reported by gcc 4.4.
30453
238e871f 30454 * kernel/disk.c (grub_disk_read): Use void pointer for the
30455 buffer.
30456 (grub_disk_write): Use const void pointer for the buffer.
30457 Adjust all callers. Remove unnecessary casts.
30458
901d2f0c 304592009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30460
30461 * util/i386/pc/grub-install.in: Update copyright year.
30462
18f547ad 304632009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30464
30465 gptsync
30466
30467 * commands/gptsync.c: new file
30468 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30469 (gptsync_mod_SOURCES): new variable
30470 (gptsync_mod_CFLAGS): likewise
30471 (gptsync_mod_LDFLAGS): likewise
18f547ad 30472 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30473 new definition
30474 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30475 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30476 * conf/i386-ieee1275.rmk: likewise
30477 * conf/i386-pc.rmk: likewise
30478 * conf/powerpc-ieee1275.rmk: likewise
30479
b4ba690a 304802009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30481
30482 Fixed grub-emu
30483
30484 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30485 (grub_dl_ref): likewise
30486
317e1a44 304872009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30488
30489 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30490 split in two functions (one for msdos and one for gpt).
30491
041b8094 304922009-05-08 Pavel Roskin <proski@gnu.org>
30493
752473c2 30494 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30495 not modified.
30496
041b8094 30497 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30498 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30499 Initialize them with -1. Add sanity check for bad1. Eliminate
30500 nerr variable.
30501
172800ce 305022009-05-08 David S. Miller <davem@davemloft.net>
30503
30504 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30505
29aa5e81 305062009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30507
30508 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30509 existence.
29aa5e81 30510
96613b62 305112009-05-05 Felix Zielcke <fzielcke@z-51.de>
30512
30513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30514 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30515
eef73c8a 305162009-05-05 David S. Miller <davem@davemloft.net>
30517
30518 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30519
119494b5 305202009-05-05 Pavel Roskin <proski@gnu.org>
30521
30522 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30523 of grub_dl_ref() and grub_dl_unref().
30524 * commands/parttool.c: Remove preprocessor conditionals around
30525 grub_dl_ref() and grub_dl_unref().
30526 * fs/affs.c: Likewise.
30527 * fs/afs.c: Likewise.
30528 * fs/cpio.c: Likewise.
30529 * fs/ext2.c: Likewise.
30530 * fs/fat.c: Likewise.
30531 * fs/hfs.c: Likewise.
30532 * fs/hfsplus.c: Likewise.
30533 * fs/iso9660.c: Likewise.
30534 * fs/jfs.c: Likewise.
30535 * fs/minix.c: Likewise.
30536 * fs/ntfs.c: Likewise.
30537 * fs/reiserfs.c: Likewise.
30538 * fs/sfs.c: Likewise.
30539 * fs/udf.c: Likewise.
30540 * fs/ufs.c: Likewise.
30541 * fs/xfs.c: Likewise.
30542 * include/grub/dl.h: Likewise.
30543 * loader/xnu.c: Likewise.
30544
de5fd76e 305452009-05-04 Pavel Roskin <proski@gnu.org>
30546
30547 * commands/acpi.c: Remove unused variable my_mod.
30548 * partmap/amiga.c: Likewise.
30549 * partmap/apple.c: Likewise.
30550 * partmap/gpt.c: Likewise.
30551 * partmap/pc.c: Likewise.
30552 * partmap/sun.c: Likewise.
30553 * term/gfxterm.c: Likewise.
30554 * term/i386/pc/vesafb.c: Likewise.
30555 * term/i386/pc/vga.c: Likewise.
30556
983598ad 305572009-05-04 David S. Miller <davem@davemloft.net>
30558
30559 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30560 pointer args to grub_ieee1275_get_property().
30561
8aadec43 30562 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30563
9554b15e 30564 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30565 devices, and do not traverse down under controller nodes.
30566
67e23c90 30567 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30568 (grub_ofdisk_open): Use it to un-escape "," characters.
30569 * kern/disk.c (find_part_sep): New.
30570 (grub_disk_open): Use it to find the first non-escaped ','
30571 character in the disk name.
30572 * util/ieee1275/devicemap.c (escape_of_path): New.
30573 (grub_util_emit_devicemap_entry): Use it.
30574 * util/sparc64/ieee1275/grub-install.in: Update script to
30575 strip partition specifiers properly by not triggering on
30576 '\' escaped ',' characters.
30577
74bfdd2f 305782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30579
30580 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30581 to 0x300.
30582 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30583 resolutions.
30584 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30585 on documentation from Wikipedia).
30586
4241d2b1 305872009-05-04 Pavel Roskin <proski@gnu.org>
30588
30589 * disk/ata.c: Spelling fixes.
30590 * disk/raid.c: Likewise.
30591 * disk/usbms.c: Likewise.
30592 * disk/dmraid_nvidia.c: Likewise.
30593 * kern/ieee1275/openfw.c: Likewise.
30594 * kern/ieee1275/init.c: Likewise.
30595 * kern/ieee1275/cmain.c: Likewise.
30596 * boot/i386/pc/cdboot.S: Likewise.
30597 * video/readers/png.c: Likewise.
30598 * video/i386/pc/vbe.c: Likewise.
30599 * fs/udf.c: Likewise.
30600 * fs/hfs.c: Likewise.
30601 * fs/reiserfs.c: Likewise.
30602 * efiemu/runtime/efiemu.c: Likewise.
30603 * efiemu/main.c: Likewise.
30604 * efiemu/mm.c: Likewise.
30605 * include/grub/elf.h: Likewise.
30606 * include/grub/xnu.h: Likewise.
30607 * include/grub/usbdesc.h: Likewise.
30608 * include/grub/usb.h: Likewise.
30609 * include/grub/script_sh.h: Likewise.
30610 * include/grub/lib/LzmaEnc.h: Likewise.
30611 * include/grub/efiemu/efiemu.h: Likewise.
30612 * include/grub/command.h: Likewise.
30613 * normal/menu.c: Likewise.
30614 * normal/main.c: Likewise.
30615 * normal/datetime.c: Likewise.
30616 * bus/usb/uhci.c: Likewise.
30617 * mmap/i386/uppermem.c: Likewise.
30618 * mmap/mmap.c: Likewise.
30619 * commands/acpi.c: Likewise.
30620 * commands/test.c: Likewise.
30621 * partmap/apple.c: Likewise.
30622 * font/font.c: Likewise.
30623 * loader/sparc64/ieee1275/linux.c: Likewise.
30624 * loader/macho.c: Likewise.
30625 * loader/i386/bsd_trampoline.S: Likewise.
30626 * loader/i386/bsd.c: Likewise.
30627 * loader/xnu.c: Likewise.
30628 * term/i386/pc/vesafb.c: Likewise.
30629 * term/usb_keyboard.c: Likewise.
30630 * util/resolve.c: Likewise.
30631 * util/getroot.c: Likewise.
30632
0cfc0083 306332009-05-04 Felix Zielcke <fzielcke@z-51.de>
30634
30635 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30636
7c1d00cd 306372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30638
30639 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30640 build error.
30641
b01f0548 306422009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30643
30644 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30645 parameter only available on BIOS.
30646
ecc3eb22 306472009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30648
30649 Removed wrong semicolon in declaration
30650
30651 * grub/misc.h (grub_dprintf): remove semicolon
30652
112972a9 306532009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30654
30655 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30656 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30657 is done by grub_cmd_linux() now).
30658 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30659 restore video to text mode.
30660 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30661 indicates lack of "vga=" parameter. "vga=0" is mapped to
30662 `GRUB_LINUX_VID_MODE_NORMAL'.
30663
afd5c115 306642009-05-04 Felix Zielcke <fzielcke@z-51.de>
30665
30666 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30667 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30668 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30669 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30670 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30671 `grub_script.tab.c'.
30672
30673 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30674 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30677 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30678
faa517ce 30679 * Makefile.in: Remove duplicated 2008 in Copyright line.
30680
ae0c0bdc 306812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30682
473d1e45 30683 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30684 unconditionally.
30685 * include/grub/util/misc.h (grub_util_warn): New declaration.
30686
30687 * util/i386/pc/grub-install.in: Understand --force and pass it down
30688 to grub-setup.
30689
30690 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30691 down to setup().
30692 (setup): Improve error messages and add warnings when requested to
30693 install in odd layouts. Refuse to install using blocklists unless
30694 --force was set.
30695
18f547ad 306962009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30697
30698 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30699
6d260daa 307002009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30701
30702 Updated copyright year
30703
30704 * fs/hfsplus.c: updated copyright year
18f547ad 30705
69f853f8 307062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30707
30708 HFS+ UUID
30709
18f547ad 30710 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30711 in the space previously used by unused3
30712 (grub_hfsplus_uuid): new function
30713 (grub_hfsplus_fs): added uuid field
30714
4c402e73 307152009-05-03 Pavel Roskin <proski@gnu.org>
30716
30717 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30718 suppress warnings. It's no longer needed.
30719 * disk/host.c: Likewise.
30720 * disk/ata_pthru.c: Likewise.
30721 * disk/loopback.c: Likewise.
30722 * hook/datehook.c: Likewise.
30723 * parttool/pcpart.c: Likewise.
30724 * fs/i386/pc/pxe.c: Likewise.
30725 * fs/ntfscomp.c: Likewise.
30726 * efiemu/main.c: Likewise.
30727 * mmap/mmap.c: Likewise.
30728 * commands/crc.c: Likewise.
30729 * commands/hexdump.c: Likewise.
30730 * commands/hdparm.c: Likewise.
30731 * commands/acpi.c: Likewise.
30732 * commands/echo.c: Likewise.
30733 * commands/minicmd.c: Likewise.
30734 * commands/blocklist.c: Likewise.
30735 * commands/memrw.c: Likewise.
30736 * commands/loadenv.c: Likewise.
30737 * commands/usbtest.c: Likewise.
30738 * commands/lsmmap.c: Likewise.
30739 * commands/boot.c: Likewise.
30740 * commands/parttool.c: Likewise.
30741 * commands/configfile.c: Likewise.
30742 * commands/search.c: Likewise.
30743 * commands/ieee1275/suspend.c: Likewise.
30744 * commands/cat.c: Likewise.
30745 * commands/i386/pc/pxecmd.c: Likewise.
30746 * commands/i386/pc/play.c: Likewise.
30747 * commands/i386/pc/halt.c: Likewise.
30748 * commands/i386/pc/vbeinfo.c: Likewise.
30749 * commands/i386/pc/vbetest.c: Likewise.
30750 * commands/lspci.c: Likewise.
30751 * commands/date.c: Likewise.
30752 * commands/handler.c: Likewise.
30753 * commands/ls.c: Likewise.
30754 * commands/test.c: Likewise.
30755 * commands/cmp.c: Likewise.
30756 * commands/efi/loadbios.c: Likewise.
30757 * commands/efi/fixvideo.c: Likewise.
30758 * commands/halt.c: Likewise.
30759 * commands/help.c: Likewise.
30760 * commands/reboot.c: Likewise.
30761 * hello/hello.c: Likewise.
30762 * script/sh/main.c: Likewise.
30763 * loader/xnu.c: Likewise.
30764 * term/terminfo.c: Likewise.
30765 * term/i386/pc/serial.c: Likewise.
30766 * term/usb_keyboard.c: Likewise.
30767
515b5079 307682009-05-03 David S. Miller <davem@davemloft.net>
30769
30770 * normal/menu.c: Include grub/parser.h
30771
dfc31a22 307722009-05-03 Pavel Roskin <proski@gnu.org>
30773
2fee74f1 30774 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30775 not char*.
30776 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30777 Suggested by Javier Martín <lordhabbit@gmail.com>
30778
dfc31a22 30779 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30780 efiemu??.o doesn't exist.
30781 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30782 copying.
30783
18f547ad 307842009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30785
30786 FreeBSD 64-bit support
30787
18f547ad 30788 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30789 and loader/i386/bsd_trampoline.S
30790 (bsd_mod_ASFLAGS): new variable
30791 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30792 (FREEBSD_MODTYPE_KERNEL64): likewise
30793 (grub_bsd64_trampoline_start): likewise
30794 (grub_bsd64_trampoline_end): likewise
30795 (grub_bsd64_trampoline_selfjump): likewise
30796 (grub_bsd64_trampoline_gdt): likewise
30797 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30798 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30799 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30800 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30801 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30802 of "attrib" member
30803 * loader/i386/bsd_pagetable.c: new file
30804 * loader/i386/bsd_trampoline.S: likewise
30805 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30806 (ALIGN_VAR): likewise
30807 (entry_hi): new variable
30808 (kern_end_mdofs): likewise
30809 (is_64bit): likewise
30810 (grub_freebsd_add_meta): use ALIGN_VAR
30811 (grub_e820_mmap): new declaration
30812 (grub_freebsd_add_mmap): new function
30813 (grub_freebsd_add_meta_module): support 64 bit kernels
30814 (grub_freebsd_list_modules): use ALIGN_VAR
30815 (gdt_descriptor): new declaration
30816 (grub_freebsd_boot): support 64 bit kernels
30817 (grub_bsd_elf64_hook): new function
30818 (grub_bsd_load_elf): support elf64
30819
038c5720 308202009-05-03 Bean <bean123ch@gmail.com>
30821
30822 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30823 after we get the result of if statement.
30824
fc45fb58 308252009-05-03 Bean <bean123ch@gmail.com>
30826
30827 * Makefile.in (enable_efiemu): New variable.
30828
30829 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30830 set.
30831 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30832 path.
30833 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30834 path, add -mno-red-zone option.
30835 (efiemu64_s.o): Likewise.
30836 (efiemu64.o): Use macro $^ for source file.
30837
30838 * configure.ac (--enable-efiemu): New option.
30839
bbee0f2b 308402009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30841
30842 xnu support
30843
30844 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30845 (pkglib_MODULES): add xnu.mod
30846 (xnu_mod_SOURCES): new variable
30847 (xnu_mod_CFLAGS): likewise
30848 (xnu_mod_LDFLAGS): likewise
30849 (xnu_mod_ASFLAGS): likewise
30850 * conf/i386-pc.rmk: likewise
30851 * conf/x86_64-efi.rmk: likewise
7dd4a573 30852 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30853 new declaration
30854 * include/grub/i386/macho.h: new file
30855 * include/grub/i386/xnu.h: likewise
30856 * include/grub/macho.h: likewise
30857 * include/grub/machoload.h: likewise
30858 * include/grub/x86_64/macho.h: likewise
30859 * include/grub/x86_64/xnu.h: likewise
30860 * include/grub/xnu.h: likewise
30861 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30862 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30863 * loader/i386/efi/xnu.c: new file
30864 * loader/i386/pc/xnu.c: likewise
30865 * loader/i386/xnu.c: likewise
30866 * loader/i386/xnu_helper.S: likewise
30867 * loader/macho.c: likewise
30868 * loader/xnu.c: likewise
30869 * loader/xnu_resume.c: likewise
30870 * util/grub-dumpdevtree: likewise
30871 * include/grub/i386/pit.h: include grub/err.h
30872 (grub_pit_wait): export
30873 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30874
5caf964d 308752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30876
30877 Efiemu
7dd4a573 30878
5caf964d 30879 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30880 _linux_efi, linux_efi.
30881 new files in grub-emu
5caf964d 30882 new targets efiemu32.o and efiemu64.o
30883 * loader/linux_normal_efiemu.c: likewise
30884 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30885 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30886 files to copy
30887 * include/grub/autoefi.h: new file
7dd4a573 30888 * include/grub/i386/efiemu.h: likewise
5caf964d 30889 * include/grub/i386/pc/efiemu.h: likewise
30890 * include/grub/efi/api.h: add LL suffix when necessary
30891 new definitions relating to tables
30892 * include/grub/efiemu/efiemu.h: new file
30893 * include/grub/efiemu/runtime.h: likewise
30894 * efiemu/prepare.c: likewise
30895 * efiemu/loadcore_common.c: likewise
30896 * efiemu/loadcore64.c: likewise
30897 * efiemu/runtime/efiemu.sh: likewise
30898 * efiemu/runtime/efiemu.S: likewise
30899 * efiemu/runtime/efiemu.c: likewise
30900 * efiemu/runtime/config.h: likewise
30901 * efiemu/prepare32.c: likewise
30902 * efiemu/main.c: likewise
30903 * efiemu/modules/pnvram.c: likewise
30904 * efiemu/modules/i386: likewise
30905 * efiemu/modules/i386/pc: likewise
30906 * efiemu/modules/acpi.c: likewise
30907 * efiemu/i386/pc/cfgtables.c: likewise
30908 * efiemu/i386/loadcore64.c: likewise
30909 * efiemu/i386/loadcore32.c: likewise
30910 * efiemu/prepare64.c: likewise
30911 * efiemu/loadcore.c: likewise
30912 * efiemu/symbols.c: likewise
30913 * efiemu/mm.c: likewise
30914 * efiemu/loadcore32.c: likewise
7dd4a573 30915
309162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30917
30918 ACPI spoofing
30919
30920 * commands/acpi.c: new file
30921 * commands/i386/pc/acpi.c: likewise
30922 * commands/efi/acpi.c: likewise
30923 * include/grub/acpi.h: likewise
30924 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30925 (acpi_mod_SOURCES): new variable
30926 (acpi_mod_CFLAGS): likewise
30927 (acpi_mod_LDFLAGS): likewise
30928 * conf/i386-efi.rmk: likewise
30929 * conf/x86_64-efi.rmk: likewise
30930
7dd4a573 309312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30932
30933 Missing part from mmap patch
30934
30935 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30936 (grub_mmap_unregister)
30937 (grub_mmap_free_and_unregister): use grub_mmap_register
30938
7dd4a573 309392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30940
30941 Mmap services
30942
30943 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30944 * loader/i386/linux.c (find_mmap_size): likewise
30945 (allocate_pages): likewise
30946 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30947 (grub_fill_multiboot_mmap): likewise
30948 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30949 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30950 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30951 (OPENBSD_MMAP_RESERVED): likewise
30952 * include/grub/i386/pc/memory.h: include grub/memory.h
30953 (grub_lower_mem): removed
30954 (grub_upper_mem): likewise
30955 (GRUB_MACHINE_MEMORY_ACPI): new definition
30956 (GRUB_MACHINE_MEMORY_NVS): likewise
30957 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30958 (GRUB_MACHINE_MEMORY_HOLE): likewise
30959 (grub_machine_mmap_register): likewise
30960 (grub_machine_mmap_unregister): likewise
30961 (grub_machine_get_upper): likewise
30962 (grub_machine_get_lower): likewise
30963 (grub_machine_get_post64): likewise
30964 * include/grub/i386/efi/memory.h: new file
30965 * include/grub/x86_64/efi/memory.h: likewise
30966 * include/grub/efi/memory.h: likewise
30967 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30968 (mmap_mod_SOURCES): new variable
30969 (mmap_mod_LDFLAGS): likewise
30970 (mmap_mod_ASFLAGS): likewise
30971 * conf/i386-coreboot.rmk: likewise
30972 * conf/i386-ieee1275.rmk: likewise
30973 * conf/i386-efi.rmk: likewise
30974 * conf/x86_64-efi.rmk: likewise
30975 * include/grub/types.h (UINT_TO_PTR): new macro
30976 (PTR_TO_UINT32): likewise
30977 (PTR_TO_UINT64): likewise
30978 * include/grub/memory.h: new file
30979 * mmap/i386/pc/mmap.c: likewise
30980 * mmap/i386/pc/mmap_helper.S: likewise
30981 * mmap/i386/uppermem.c: likewise
30982 * mmap/mmap.c: likewise
30983 * mmap/efi/mmap.c: likewise
7dd4a573 30984 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30985 grub_upper_mem
30986 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30987 (grub_upper_mem): likewise
30988 (grub_machine_init): don't use grub_upper_mem,
30989 make grub_lower_mem local
30990 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30991 grub_mmap_iterate and grub_mmap_get_upper
30992 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30993
d558e6b5 309942009-05-02 Bean <bean123ch@gmail.com>
30995
30996 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30997 script/sh/parser.y.
30998 (pkglib_MODULES): Add normal.mod and sh.mod.
30999 (normal_SOURCES): New variable.
31000 (normal_mod_CFLAGS): Likewise.
31001 (normal_mod_LDFLAGS): Likewise.
31002 (sh_mod_SOURCES): Likewise.
31003 (sh_mod_CFLAGS): Likewise.
31004 (sh_mod_LDFLAGS): Likewise.
31005
31006 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
31007 script/sh/lexer.c_DEPENDENCIES.
31008 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
31009 kern/rescue_reader.c and kern/rescue_parser.c.
31010 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
31011 (grub_emu_SOURCES): Change source files.
31012 (pkglib_MODULES): Remove normal.mod.
31013 (normal_SOURCES): Removed.
31014 (normal_mod_CFLAGS): Likewise.
31015 (normal_mod_LDFLAGS): Likewise.
31016 * conf/i386-coreboot.rmk: Likewise.
31017 * conf/i386-efi.rmk: Likewise.
31018 * conf/i386-ieee1276.rmk: Likewise.
31019 * conf/powerpc-ieee1275.rmk: Likewise.
31020 * conf/sparc64-ieee1275.rmk: Likewise.
31021 * conf/x86_64-efi.rmk: Likewise.
31022
31023 * include/grub/command.h (grub_command_execute): New inline function.
31024
31025 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31026
31027 * include/grub/normal.h: Remove <grub/setjmp.h>.
31028 (grub_fs_module_list): Moved to normal/autofs.c.
31029 (grub_exit_env): Removed.
31030 (grub_command_execute): Likewise.
31031 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31032 parameter script.
31033 (read_command_list): New function declaration.
31034 (read_fs_list): Likewise.
31035
31036 * include/parser.h: Include <grub/reader.h>.
31037 (grub_parser_split_cmdline): Change type of getline parameter.
31038 (grub_parser): New structure.
31039 (grub_parser_class): New variable.
31040 (grub_parser_execute): New function declaration.
31041 (grub_register_rescue_parser): Likewise.
31042 (grub_parser_register): New inline function.
31043 (grub_parser_unregister): Likewise.
31044 (grub_parser_get_current): Likewise.
31045 (grub_parser_set_current): Likewise.
31046
31047 * include/grub/reader.h: New file.
31048 * kern/reader.c: Likewise.
31049 * kern/rescue_parser.c: Likewise.
31050 * kern/rescue_reader.c: Likewise.
31051 * normal/autofs.c: Likewise.
31052 * normal/dyncmd.c: Likewise.
31053
31054 * include/grub/rescue.h: Removed.
31055 * normal/command.h: Likewise.
31056
31057 * include/grub/script.h: Moved to ...
31058 * include/grub/script_sh.h: ... Moved here.
31059 * normal/execute.c: Moved to ...
31060 * script/sh/execute.c: ... Moved here.
31061 * normal/function.c: Moved to ...
31062 * script/sh/function.c: ... Moved here.
31063 * normal/lexer.c: Moved to ...
31064 * script/sh/lexer.c: ... Moved here.
31065 * normal/parser.y: Moved to ...
31066 * script/sh/parser.y: ... Moved here.
31067 * normal/script.c: Moved to ...
31068 * script/sh/script.c: ... Moved here.
31069
31070 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31071 <grub/reader.h>.
31072 (grub_exit_env): Removed.
31073 (fs_module_list): Moved to normal/autofs.c.
31074 (grub_file_getline): Don't handle comment here.
31075 (free_menu): Skip removed field entry->commands.
31076 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31077 script parameter.
31078 (read_config_file): Removed nested parameter, change getline function.
31079 (grub_enter_normal_mode): Removed.
31080 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31081 (read_command_list): Likewise.
31082 (autoload_fs_module): Moved to normal/autofs.c.
31083 (read_fs_list): Likewise.
31084 (reader_nested): New variable.
31085 (grub_normal_execute): Run parser.sh to switch to sh parser.
31086 (grub_cmd_rescue): Removed.
31087 (cmd_normal): Removed.
31088 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31089 rescue command.
31090 (grub_cmdline_run): New function.
31091 (grub_normal_reader_init): Likewise.
31092 (grub_normal_read_line): Likewise.
31093 (grub_env_write_pager): Likewise.
31094 (cmdline): New variable.
31095 (grub_normal_reader): Likewise.
31096 (GRUB_MOD_INIT): Register normal reader and set as current, register
31097 pager hook, register normal command with grub_register_command_prio,
31098 so that it won't show up in command.lst.
31099 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31100 grub_fs_autoload_hook.
31101
31102 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31103 (grub_menu_execute_entry): Replace grub_script_execute with
31104 grub_parser_execute, change parameter to grub_command_execute.
31105
31106 * normal/menu_text.c: Remove <grub/script.h>.
31107
31108 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31109 and <grub/parser.h>.
31110 (run): Change editor_getline to use new parser interface. Change
31111 parameter to grub_command_execute.
31112
31113 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31114 <grub/reader.h> and <grub/parser.h>.
31115 (grub_load_normal_mode): Execute normal command.
31116 (grub_main): Call grub_register_core_commands,
31117 grub_register_rescue_parser and grub_register_rescue_reader, use
31118 grub_reader_loop to enter input loop.
31119
7dd4a573 31120 * kern/parser.c (grub_parser_split_cmdline): Change type of
31121 getline parameter.
d558e6b5 31122 (grub_parser_class): New variable.
31123 (grub_parser_execute): New function.
31124
31125 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31126 * loader/multiboot2.c: Likewise.
31127 * loader/sparc64/ieee1275/linux.c: Likewise.
31128
31129 * util/grub-emu.c (read_command_list): New dummy function.
31130
18db813d 311312009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31132
31133 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31134 count to 16 for CCISS and IDA.
31135
6c67de15 311362009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31137
31138 * normal/menu_text.c (grub_wait_after_message): Print a newline
31139 after waiting for user input.
31140
31141 * loader/i386/linux.c: Include `<grub/normal.h>'.
31142 (grub_cmd_linux): Improve the error message about `ask' mode, by
31143 waiting for user input so it's not missed (we can do this, since
31144 user requested interaction).
31145
d9dc87b0 311462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31147
31148 Added missing lst to grub-mkrescue
31149
31150 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31151 and ${input_dir}/parttool.lst
31152
ac8a2baa 311532009-04-30 David S. Miller <davem@davemloft.net>
31154
ad22a610 31155 * util/hostdisk.c (device_is_wholedisk): New function.
31156 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31157 zero only if device_is_wholedisk() returns true.
31158
6966215d 31159 * util/hostdisk.c (convert_system_partition_to_system_disk):
31160 Handle virtual disk devices named /dev/vdiskX as found on sparc
31161 and powerpc.
31162
ac8a2baa 31163 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31164 lettered partition specifier is found, convert to numbered.
31165
979b4fb4 311662009-04-29 David S. Miller <davem@davemloft.net>
31167
e2bf39b2 31168 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31169 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31170
3c64e104 31171 * normal/command.c: Add missing newline at end of file.
31172
979b4fb4 31173 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31174 warnings.
31175 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31176 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31177 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31178 ihandles have a 32-bit type but need to be stored in a "void *".
31179
136d9f82 311802009-04-28 Pavel Roskin <proski@gnu.org>
31181
9459c306 31182 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31183 not disk. Adjust all dependencies.
2e08a26a 31184 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31185 grub_disk_close().
31186
136d9f82 31187 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31188 parent's partition, don't copy it by reference, as it gets freed
31189 on close.
31190
7dd4a573 311912009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31192
31193 Preboot hooks support
31194
31195 * commands/boot.c (struct grub_preboot_t): new declaration
31196 (preboots_head): new variable
31197 (preboots_tail): likewise
31198 (grub_loader_register_preboot_hook): new function
31199 (grub_loader_unregister_preboot_hook): likewise
31200 (grub_loader_set): launch preboot hooks
31201 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31202 (grub_loader_register_preboot_hook): new declaration
31203 (grub_loader_unregister_preboot_hook): likewise
31204
5af922b5 312052009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31206
31207 Warning fix
31208
7dd4a573 31209 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31210 calling grub_dprintf
31211
a5562c30 312122009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31213
31214 Bug and warning fixes
31215
7dd4a573 31216 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31217 declaration
31218 * commands/test.c (test_parse): fixed bug with file tests and corrected
31219 declaration of find_file
31220
4006f85c 312212009-04-26 Pavel Roskin <proski@gnu.org>
31222
31223 * Makefile.in: Don't install empty manual pages if help2man is
31224 missing. Use help2man option for output, not shell redirection.
31225
5c77c3de 312262009-04-26 David S. Miller <davem@davemloft.net>
31227
31228 * util/grub-mkdevicemap.c (make_device_map): Add missing
31229 NESTED_FUNC_ATTR to process_device().
31230
033b10a8 312312009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31232
31233 Test command
31234
31235 * commands/test.c: rewritten to use bash-like test
31236
e4343593 312372009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31238
31239 Parttool autoloading and improvements
31240
7dd4a573 31241 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31242 (parttool.lst): new target
31243 * genmk.rb: generate parttool-*
31244 (CLEANFILES): add #{parttool}
31245 (PARTTOOLFILES): new variable
31246 * genparttoollist.sh: new file
7dd4a573 31247 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31248 (grub_pcpart_type): likewise
31249 * commands/parttool.c (helpmsg): new variable
31250 (grub_cmd_parttool): output help if not enough arguments are supplied
31251 autoload modules
31252 (GRUB_MOD_INIT(parttool)): use helpmsg
31253
0d312500 312542009-04-24 David S. Miller <davem@davemloft.net>
31255
7dd4a573 31256 Avoiding opening same device multiple times in device iterator.
0d312500 31257
31258 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31259 and use it to build a list of partitions in iterate_disk() and
0d312500 31260 iterate_partition().
31261
ac20caff 31262 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31263 on disk->data.
31264
0dcf7495 31265 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31266 grub_devalias_iterate() result instead of unconditional 0.
31267 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31268 Also, capture hook return value, either directly or via
31269 grub_children_iterate(), and propagate to caller.
31270 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31271 grub_children_iterate): Return value is now 'int' instead of
31272 'grub_err_t'.
31273 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31274 like a proper iterator, stopping when hooks return non-zero.
31275 (grub_devalias_iterate): Likewise.
31276
c8c08833 312772009-04-23 David S. Miller <davem@davemloft.net>
31278
31279 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31280
f01005a8 312812009-04-22 David S. Miller <davem@davemloft.net>
31282
31283 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31284 is larger than address_cells, use that value for address_cells too.
31285
4e8269da 31286 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31287 IEEE1275_MAX_PATH_LEN): Define.
31288 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31289 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31290 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31291 'devtype'. Explicitly NULL terminate devalias expansion.
31292
a1447506 31293 * util/sparc64/ieee1275/misc.c: New file.
31294 * util/sparc64/ieee1275/grub-setup.c: New file.
31295 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31296 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31297 * util/sparc64/ieee1275/grub-install.in: New file.
31298 * util/ieee1275/ofpath.c: New file.
31299 * util/ieee1275/devicemap.c: New file.
31300 * util/devicemap.c: New file.
31301 * util/deviceiter.c: New file.
31302 * kern/sparc64/ieee1275/init.c: New file.
31303 * include/grub/util/ofpath.h: New file.
31304 * include/grub/util/deviceiter.h: New file.
31305 * util/grub-mkdevicemap.c: Include deviceiter.h.
31306 Implement using grub_util_emit_devicemap_entry and
31307 grub_util_iterate_devices.
31308 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31309 util/devicemap.c into grub-mkdevicemap
31310 * conf/i386-efi.rmk: Likewise.
31311 * conf/i386-ieee1275.rmk: Likewise.
31312 * conf/i386-pc.rmk: Likewise.
31313 * conf/powerpc-ieee1275.rmk: Likewise.
31314 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31315 images and installation utilities. Build kernel as image
31316 instead of as elf binary. Use common rules as much as possible.
31317
7dd4a573 313182009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31319
31320 Correct GPT definition
31321
7dd4a573 31322 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31323 of "attrib" member
31324
c6c5219f 313252009-04-19 Felix Zielcke <fzielcke@z-51.de>
31326
31327 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31328
0552ff9f 313292009-04-19 David S. Miller <davem@davemloft.net>
31330
31331 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31332 (grub_rescue_cmd_linux): Rename to...
31333 (grub_cmd_linux): and fix prototype.
31334 (grub_rescue_cmd_initrd): Rename to...
31335 (grub_cmd_initrd): and fix prototype.
31336 (cmd_linux, cmd_initrd): New.
31337 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31338 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31339
d1a282fc 313402009-04-17 Pavel Roskin <proski@gnu.org>
31341
07c5039f 31342 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31343 format.
31344 (grub_ohci_transfer): Likewise.
31345
b012002d 31346 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31347
1bc09c35 31348 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31349 return without a value. Fix inconsistent indentation.
31350
e0ff9126 31351 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31352 match struct grub_fs.
31353
d1a282fc 31354 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31355 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31356 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31357 * commands/lspci.c (grub_lspci_iter): Likewise.
31358
a96df3f2 313592009-04-16 Bean <bean123ch@gmail.com>
31360
31361 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31362 value.
31363
41bb0fe9 313642009-04-15 Pavel Roskin <proski@gnu.org>
31365
31366 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31367 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31368 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31369 definitions.
31370
596c6970 313712009-04-15 Felix Zielcke <fzielcke@z-51.de>
31372
31373 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31374 that no multiple data or metadata areas are supported and `Unknown
596c6970 31375 metadata header'.
31376
7dd4a573 313772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31378
31379 Move loader out of the kernel
31380
31381 * kern/loader.c: moved to ...
31382 * commands/boot.c: ... moved here
31383 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31384 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31385 * include/grub/kernel.h (grub_machine_fini): export
31386 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31387 (grub_loader_set): likewise
31388 (grub_loader_unset): likewise
31389 (grub_loader_boot): likewise
31390 * conf/common.rmk: new module boot.mod
31391 (pkglib_MODULES): add boot.mod
31392 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31393 (grub_emu_SOURCES): likewise
31394 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31395 (grub_emu_SOURCES): likewise
31396 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31397 (grub_emu_SOURCES): likewise
31398 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31399 (grub_emu_SOURCES): likewise
31400 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31401 (grub_emu_SOURCES): likewise
7dd4a573 31402 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31403 (grub_emu_SOURCES): likewise
0d5d5653 31404 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31405 (grub_emu_SOURCES): likewise
0d5d5653 31406
7dd4a573 314072009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31408
31409 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31410
5999d619 31411 * kern/misc.c (grub_itoa): Removed function
31412 (grub_ltoa): likewise
31413 (grub_vsprintf): use grub_lltoa
31414
7dd4a573 314152009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31416
31417 Restore grub-emu
31418
31419 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31420 * conf/i386-coreboot.rmk: likewise
31421 * conf/i386-ieee1275.rmk: likewise
31422 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31423
20318222 314242009-04-15 Felix Zielcke <fzielcke@z-51.de>
31425
31426 * INSTALL: Add that `./autogen.sh' needs to be run before
31427 `./configure.'.
31428
d05f0df3 314292009-04-14 Bean <bean123ch@gmail.com>
31430
31431 * Makefile.in (pkglib_DATA): Add handler.lst.
31432 (handler.lst): New rule.
31433
31434 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31435 * conf/i386-coreboot.rmk: Likewise.
31436 * conf/i386-ieee1275.rmk: Likewise.
31437 * conf/i386-efi.rmk: Likewise.
31438 * conf/x86_64-efi.rmk: Likewise.
31439 * conf/powerpc-ieee1275.rmk: Likewise.
31440 * conf/sparc64-ieee1275.rmk: Likewise.
31441
31442 * genhandlerlist.sh: New file.
31443
31444 * genmk.rb: Add rules to generate handler.lst.
31445
31446 * include/grub/normal.h (grub_file_getline): New function definition.
31447 (read_handler_list): Likewise.
31448 (free_handler_list): Likewise.
31449
31450 * include/grub/term.h (grub_term_register_input): Add name parameter
31451 for auto generation of handler.lst.
31452 (grub_term_register_output): Likewise.
31453
31454 * normal/handler.c: New file.
31455
31456 * normal/main.c (get_line): Renamed to grub_file_getline.
31457 (read_config_file): Use the newly renamed grub_file_getline.
31458 (read_command_list): Likewise.
31459 (read_fs_list): Likewise.
31460 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31461 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31462
31463 * term/efi/console.c (grub_console_init): Add name parameter for auto
31464 generation of handler.lst.
31465 * term/gfxterm.c: Likewise.
31466 * term/i386/pc/at_keyboard.c: Likewise.
31467 * term/i386/pc/console.c: Likewise.
31468 * term/i386/pc/serial.c: Likewise.
31469 * term/i386/pc/vesafb.c: Likewise.
31470 * term/i386/pc/vga.c: Likewise.
31471 * term/i386/pc/vga_text.c: Likewise.
31472 * term/ieee1275/ofconsole.c: Likewise.
31473 * term/usb_keyboard.c: Likewise.
31474
33c846be 314752009-04-14 Bean <bean123ch@gmail.com>
31476
31477 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31478 properly with null character.
31479
4484e01e 314802009-04-14 Felix Zielcke <fzielcke@z-51.de>
31481
31482 * configure: Remove.
31483 * config.h.in: Likewise.
f93d668e 31484 * stamp-h.in: Likewise.
4484e01e 31485 * DISTLIST: Likewise.
31486 * conf/common.mk: Likewise.
31487 * conf/i386-coreboot.mk: Likewise.
31488 * conf/i386-efi.mk: Likewise.
31489 * conf/i386-ieee1275.mk: Likewise.
31490 * conf/i386.mk: Likewise.
31491 * conf/i386-pc.mk: Likewise.
31492 * conf/powerpc-ieee1275.mk: Likewise.
31493 * conf/sparc64-ieee1275.mk: Likewise.
31494 * conf/x86_64-efi.mk: Likewise.
31495
31496 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31497 develop on GRUB.
31498
7dd4a573 314992009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31500 David S. Miller <davem@davemloft.net>
31501
31502 * util/hostdisk.c (make_device_name): Fix buffer length
31503 calculations.
31504
e25b5a8c 315052009-04-14 Felix Zielcke <fzielcke@z-51.de>
31506
31507 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31508 <sys/param.h> and <sys/sysctl.h>.
31509 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31510 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31511 opening the device and reset them afterwards.
31512
1f1f580c 315132009-04-13 Pavel Roskin <proski@gnu.org>
31514
31515 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31516 Reported by John Stanley <jpsinthemix@verizon.net>
31517
7ebc2d6b 315182009-04-13 Robert Millan <rmh@aybabtu.com>
31519
31520 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31521 that name for menuentries when appropriate.
7ebc2d6b 31522
d8ba3667 315232009-04-13 Felix Zielcke <fzielcke@z-51.de>
31524
31525 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31526
cba416eb 315272009-04-13 Robert Millan <rmh@aybabtu.com>
31528
31529 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31530 to Linux, simply abort telling the user it's no longer supported.
31531
a547a745 315322009-04-13 Felix Zielcke <fzielcke@z-51.de>
31533
31534 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31535 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31536 `freebsd_loadenv' only when devices.hints exist.
31537
232a769c 315382009-04-13 Pavel Roskin <proski@gnu.org>
31539
31540 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31541
c3012039 315422009-04-13 Felix Zielcke <fzielcke@z-51.de>
31543
31544 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31545 partition number.
31546 (grub_drive): Likewise.
31547
234022fe 315482009-04-13 David S. Miller <davem@davemloft.net>
31549
31550 * kern/sparc64/ieee1275/ieee1275.c: New file.
31551 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31552 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31553 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31554 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31555 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31556 grub_ieee1275_alloc_physmem): Declare new exported functions.
31557
d8e1836c 31558 * include/grub/sparc64/ieee1275/loader.h: New file.
31559 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31560 * include/grub/sparc64/kernel.h: Likewise.
31561 * loader/sparc64/ieee1275/linux.c: Likewise.
31562
96bd81ec 31563 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31564 (grub_fstest_SOURCES): Likewise.
31565
6a4737e5 31566 * util/hostdisk.c (make_device_name): Do not make any assumptions
31567 about the length of drive names.
31568
1d7a72fd 31569 * kern/dl.c (grub_dl_load_file): Close file immediately when
31570 we are done using it.
31571
56bc2471 315722009-04-12 David S. Miller <davem@davemloft.net>
31573
31574 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31575 values. Noticed by Pavel Roskin.
31576
df38d0bb 31577 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31578 target compiler.
7dd4a573 31579
e382e93a 31580 * genmk.rb: Add more flexible image type specification, also
31581 pass --strip-unneeded to objcopy.
31582 * conf/i386-pc.rmk: Use *_FORMAT.
31583 * conf/i386-pc.mk: Rebuilt.
31584
f5dbbca9 31585 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31586 (OFDISK_HASH_SZ): Define.
31587 (ofdisk_hash): New hash table.
31588 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31589 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31590 instead of device phandle which is not unique.
31591
91c88b12 31592 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31593 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31594 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31595 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31596 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31597 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31598 GRUB_KERNEL_MACHINE_DATA_END): Define.
31599 (grub_kernel_image_size, grub_total_module_size): Declare.
31600
5b5d4aa5 316012009-04-12 Pavel Roskin <proski@gnu.org>
31602
7dd4a573 31603 * configure.ac: Change the logic when we check for target tools.
31604 Do it when the target is specified and it's different from the
31605 specified value of the host.
5b5d4aa5 31606
c91e1793 316072009-04-11 Felix Zielcke <fzielcke@z-51.de>
31608
31609 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31610 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31611 GNU/kFreeBSD. Check if a device is a character device. Use
31612 DIOCGMEDIASIZE to get the size.
31613 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31614 support for GNU/kFreeBSD.
31615 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31616 is a character device instead of a block device. Add support for
31617 FreeBSD device names.
31618
31619 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31620 is a character device instead of a block device.
31621
31622 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31623 is a character device instead of a block device.
31624
b1ac8644 316252009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31626
31627 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31628 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31629 FreeBSD. Check if a device is a character device. Use
31630 DIOCGMEDIASIZE to get the size.
31631 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31632 support for FreeBSD.
31633 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31634 is a character device instead of a block device. Add support for
31635 FreeBSD device names.
31636
31637 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31638 a character device instead of a block device.
31639 (grub_util_check_char_device): New function.
31640
31641 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31642 a character device instead of a block device.
31643
31644 * include/grub/util/getroot.h (grub_util_check_char_device): New
31645 prototype.
31646
a3f7515a 316472009-04-11 David S. Miller <davem@davemloft.net>
31648
31649 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31650 static libgcc.
31651 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31652 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31653 function, if present.
31654 (__bswapdi2): Likewise.
31655
0d44993d 31656 * include/grub/sparc64/ieee1275/boot.h: New file.
31657 * boot/sparc64/ieee1275/boot.S: Likewise.
31658 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31659
ed3d2bc2 31660 * kern/misc.c (grub_ltoa): New function.
31661 (grub_vsprintf): Use it to format 'long' integers.
31662
d3bfb59c 316632009-04-10 David S. Miller <davem@davemloft.net>
31664
31665 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31666 slots are of type grub_ieee1275_cell_t.
31667 (grub_nand_read): Likewise.
31668 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31669 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31670 macros are used to compare values in arg/ret block of the call.
31671 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31672 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31673 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31674 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31675 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31676 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31677 grub_ieee1275_close, grub_ieee1275_set_property,
31678 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31679 grub_ieee1275_cell_t.
31680 * kern/ieee1275/openfw.c (grub_map): Likewise.
31681 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31682 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31683
450e2238 31684 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31685 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31686 (grub_devalias_iterate): Likewise.
31687
7dd4a573 316882009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31689
31690 UFS improvements
31691
31692 * fs/ufs.c (INODE_NBLOCKS): new definition
31693 (struct grub_ufs_dirent): added fields for non-BSD dirents
31694 (grub_ufs_get_file_block): fixed double indirect handling
31695 (grub_ufs_lookup_symlink): use more robust way to determine whether
31696 symlink is inline
31697 (grub_ufs_find_file): support for non-BSD dirents
31698 (grub_ufs_dir): support for non-BSD dirents
31699
e7e6862a 317002009-04-10 Bean <bean123ch@gnail.com>
31701
31702 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31703 attribute, otherwise the size would be wrong for i386 platform.
31704
31705 * include/grub/pci.h (grub_pci_read_word): New inline function.
31706 (grub_pci_read_byte): Likewise.
31707 (grub_pci_write): Likewise.
31708 (grub_pci_write_word): Likewise.
31709 (grub_pci_write_byte): Likewise.
31710
31711 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31712
31713 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31714 (find_framebuf): Scan pci to locate the frame buffer address.
31715
31716 * commands/efi/fixvideo.c: New file.
31717
31718 * commands/efi/loadbios.c: Likewise.
31719
31720 * commands/memrw.c: Likewise.
31721
31722 * util/grub-dumpbios.in: Likewise.
31723
31724 * conf/common.rmk (grub-dumpbios): New utility.
31725 (pkglib_MODULES): New module memrw.mod.
31726 (memrw_mod_SOURCE): New macro.
31727 (memrw_mod_CFLAGS): Likewise.
31728 (memrw_mod_LDFLAGS): Likewise.
31729
7dd4a573 31730 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31731 fixvideo.mod.
31732 (loadbios_mod_SOURCE): New macro.
31733 (loadbios_mod_CFLAGS): Likewise.
31734 (loadbios_mod_LDFLAGS): Likewise.
31735 (fixvideo_mod_SOURCE): Likewise.
31736 (fixvideo_mod_CFLAGS): Likewise.
31737 (fixvideo_mod_LDFLAGS): Likewise.
31738
7dd4a573 31739 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31740 fixvideo.mod.
31741 (loadbios_mod_SOURCE): New macro.
31742 (loadbios_mod_CFLAGS): Likewise.
31743 (loadbios_mod_LDFLAGS): Likewise.
31744 (fixvideo_mod_SOURCE): Likewise.
31745 (fixvideo_mod_CFLAGS): Likewise.
31746 (fixvideo_mod_LDFLAGS): Likewise.
31747
af63ada2 317482009-04-08 Felix Zielcke <fzielcke@z-51.de>
31749
31750 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31751
c2cdde70 317522009-04-07 David S. Miller <davem@davemloft.net>
31753
31754 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31755 support for R_SPARC_OLO10 relocations. Fix compile warning for
31756 R_SPARC_WDISP30 case.
ea3f72cf 31757 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31758
761319cf 317592009-04-06 Pavel Roskin <proski@gnu.org>
31760
1007d1f5 31761 * include/grub/misc.h (ARRAY_SIZE): New macro.
31762 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31763 New macro.
31764 * loader/i386/linux.c (allocate_pages): Use free_pages().
31765 (grub_linux_unload): Don't use free_pages().
31766 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31767 wrong index. Treat all other modes as text modes.
31768 (grub_cmd_linux): Initialize vid_mode unconditionally to
31769 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31770
761319cf 31771 * commands/help.c (print_command_help): Use cmd->prio, not
31772 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31773
ea761d40 317742009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31775
ea761d40 31776 Parttool
31777
31778 * parttool/pcpart.c: new file
31779 * commands/parttool.c: likewise
31780 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31781 (parttool_mod_SOURCES): new variable
31782 (parttool_mod_CFLAGS): likewise
31783 (parttool_mod_LDFLAGS): likewise
31784 (pcpart_mod_SOURCES): likewise
31785 (pcpart_mod_CFLAGS): likewise
31786 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31787 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31788 and parttool/pcpart.c
31789 * conf/i386-efi.rmk: likewise
31790 * conf/i386-ieee1275.rmk: likewise
31791 * conf/i386-pc.rmk: likewise
31792 * conf/powerpc-ieee1275.rmk: likewise
31793 * conf/sparc64-ieee1275.rmk: likewise
31794 * conf/x86_64-ieee1275.rmk: likewise
31795
05aaebfb 317962009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31797
31798 Support for mtime and further expandability of dir command
31799
31800 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31801 * include/grub/datetime.h: ... moved here and added
05aaebfb 31802 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31803 * include/grub/fs.h: new syntax for dir and mtime functions in
31804 struct grub_fs
05aaebfb 31805 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31806 and GRUB_FSHELP_FLAGS_MASK
31807 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31808 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31809 (grub_ext2_mtime): new function
31810 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31811 (grub_hfsplus_mtime): new function
31812 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31813 (GRUB_UFS_ATTR_FILE): likewise
31814 (GRUB_UFS_ATTR_LNK): likewise
31815 (struct grub_ufs_sblock): new fields mtime
31816 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31817 all users updated
31818 (grub_ufs_dir): mtime support
31819 (grub_ufs_mtime): new function
31820 * fs/affs.c (grub_affs_dir): use new dir syntax
31821 * fs/afs.c (grub_afs_dir): likewise
31822 * fs/cpio.c (grub_cpio_dir): likewise
31823 * fs/fat.c (grub_fat_find_dir): likewise
31824 * fs/hfs.c (grub_hfs_dir): likewise
31825 * fs/iso9660.c (grub_iso9660_dir): likewise
31826 * fs/jfs.c (grub_jfs_dir): likewise
31827 * fs/minix.c (grub_minix_dir): likewise
31828 * fs/ntfs.c (grub_ntfs_dir): likewise
31829 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31830 * fs/sfs.c (grub_sfs_dir): likewise
31831 * fs/xfs.c (grub_xfs_dir): likewise
31832 * util/hostfs.c (grub_hostfs_dir): likewise
31833 * lib/datetime.c: moved to ...
31834 * normal/datetime.c: ... moved here
31835 (grub_unixtime2datetime): new function
31836 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31837 * normal/completion.c (iterate_dir): use new dir syntax
31838 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31839 last modification time of a volume
7dd4a573 31840 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31841 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31842 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31843 (normal_mod_SOURCES): likewise
31844 (datetime_mod_SOURCES): Removed lib/datetime.c
31845 * conf/i386-efi.rmk: likewise
7dd4a573 31846 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31847 * conf/i386-pc.rmk: likewise
31848 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31849 * conf/sparc64-ieee1275.rmk: likewise
31850 * conf/x86_64-efi.rmk: likewise
05aaebfb 31851
8a7e1a14 318522009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31853
31854 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31855
31856 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31857 on grub_fat_find_dir
31858 (grub_fat_find_dir): use grub_fat_iterate_dir
31859 (grub_fat_label): likewise
31860
04186a9c 318612009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31862
7dd4a573 31863 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31864 and command.h
31865 remove extraneous kernel_elf_HEADERS
31866
da4c0bb6 318672009-04-04 Bean <bean123ch@gnail.com>
31868
31869 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31870
31871 * util/misc.c: Likewise.
31872
54ad9555 318732009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31874
31875 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31876 instead of grub_printf.
31877
7a6bf9f2 318782009-04-03 Robert Millan <rmh@aybabtu.com>
31879
31880 * loader/i386/linux.c (grub_linux_setup_video): Fill
31881 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31882 values from `mode info' structure instead of hardcoded
31883 values.
31884
3fcc2083 318852009-04-01 Pavel Roskin <proski@gnu.org>
31886
31887 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31888 unused now.
31889 * genmk.rb: Likewise.
31890 * configure.ac: Likewise.
31891
5ec9740b 318922009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31893
31894 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31895 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31896
5270cec8 318972009-04-01 David S. Miller <davem@davemloft.net>
31898
31899 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31900 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31901 (grub_setjmp): Mark with 'returns_twice' attribute.
31902 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31903 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31904 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31905
9c3dd854 319062009-04-01 Robert Millan <rmh@aybabtu.com>
31907
31908 Reapply fix from 2008-07-28 which was accidentally reverted; also
31909 perform the same fix to a similar check in same function.
31910
31911 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31912 with the same number are found, just use issue a warning with
31913 grub_dprintf(), as this error has been reported to be non-fatal.
31914
0d818b7e 319152009-03-31 Pavel Roskin <proski@gnu.org>
31916
31917 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31918 for cross-compilation.
31919
95646d92 319202009-03-30 Robert Millan <rmh@aybabtu.com>
31921
31922 Fix i386-ieee1275 build.
31923
31924 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31925 Remove declaration.
31926
6a003ed1 319272009-03-30 Pavel Roskin <proski@gnu.org>
31928
31929 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31930 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31931 zero-terminated, rely only on the strlen value. Fix comparison
31932 of strings differing in length.
31933
92f33540 319342009-03-30 Robert Millan <rmh@aybabtu.com>
31935
31936 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31937 checking for abi version. Improve error messages on BIOS to notify
31938 user about `linux16' command.
31939
a8c48fd5 319402009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31941
f968172e 31942 Leak fixes
a8c48fd5 31943
f968172e 31944 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31945 in case of collision
31946 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31947
9c323f09 319482009-03-29 Robert Millan <rmh@aybabtu.com>
31949
31950 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31951 set `vid_mode' accordingly.
31952 (grub_linux_boot): Process `vid_mode' and set video mode.
31953
ae68f423 319542009-03-29 Robert Millan <rmh@aybabtu.com>
31955
31956 * util/grub.d/10_linux.in (linux_entry): New function.
31957 Factorize generation of Linux boot entries.
31958
5709cfc4 319592009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31960
31961 Make the format of Environment Block plain text. The boot loader
31962 part is not tested well yet.
7dd4a573 31963
5709cfc4 31964 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31965 (buffer): Removed.
31966 (envblk): Likewise.
31967 (usage): Remove "info" and "clear". Add "unset". Update the
31968 description of "set", as this does not delete variables any
31969 longer.
31970 (create_envblk_file): Complete rewrite.
31971 (open_envblk_file): Likewise.
31972 (cmd_info): Removed.
31973 (cmd_list): Likewise.
31974 (cmd_set): Likewise.
31975 (cmd_clear): Likewise.
31976 (list_variables): New function.
31977 (write_envblk): Likewise.
31978 (set_variables): Likewise.
31979 (unset_variables): Likewise.
31980 (main): Complete rewrite.
31981
31982 * commands/loadenv.c (buffer): Removed.
31983 (envblk): Likewise.
31984 (open_envblk_file): New function.
31985 (read_envblk_file): Complete rewrite.
31986 (grub_cmd_load_env): Likewise.
31987 (grub_cmd_list_env): Likewise.
31988 (struct blocklist): New struct.
31989 (free_blocklists): New function.
31990 (check_blocklists): Likewise.
31991 (write_blocklists): Likewise.
31992 (grub_cmd_save_env): Complete rewrite.
31993
31994 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31995 a plain text signature.
31996 (GRUB_ENVBLK_MAXLEN): Removed.
31997 (struct grub_envblk): Complete rewrite.
31998 (grub_envblk_find): Removed.
31999 (grub_envblk_insert): Likewise.
32000 (grub_envblk_open): New prototype.
32001 (grub_envblk_set): Likewise.
32002 (grub_envblk_delete): Put const to VALUE.
32003 (grub_envblk_iterate): Put const to NAME and VALUE.
32004 (grub_envblk_close): New prototype.
32005 (grub_envblk_buffer): New inline function.
32006 (grub_envblk_size): Likewise.
32007
32008 * lib/envblk.c: Include grub/mm.h.
32009 (grub_env_find): Removed.
32010 (grub_envblk_open): New function.
32011 (grub_envblk_close): Likewise.
32012 (escaped_value_len): Likewise.
32013 (find_next_line): Likewise.
32014 (grub_envblk_insert): Removed.
32015 (grub_envblk_set): New function.
32016 (grub_envblk_delete): Complete rewrite.
32017 (grub_envblk_iterate): Likewise.
32018
a9368fd3 320192009-03-28 Robert Millan <rmh@aybabtu.com>
32020
32021 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32022 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32023 variables. Use 16-bit loader.
32024 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32025 loader.
32026 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32027 (grub_linux16_boot): ... this. Update all users.
32028 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32029 (grub_linux_boot): ... this. Update all users.
32030
32031 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32032 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32033 commands to `linux16' and `initrd16'.
32034 (GRUB_MOD_FINI(linux)): Rename to ...
32035 (GRUB_MOD_FINI(linux16)): ... this.
32036
e4dd5a7e 320372009-03-24 Pavel Roskin <proski@gnu.org>
32038
32039 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32040 not just for compilation.
32041
c04d6e05 320422009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32043
32044 Move multiboot helper out of kernel
32045
32046 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32047 `loader/i386/multiboot_helper.S'.
32048 * conf/i386-coreboot.rmk: Likewise
32049 * conf/i386-ieee1275.rmk: Likewise
32050
32051 * kern/i386/loader.S: Move multiboot helpers from here...
32052 * loader/i386/multiboot_helper.S: ...moved here
32053 * include/grub/i386/loader.h: Move declarations of multiboot
32054 helpers from here...
32055 * include/grub/i386/multiboot.h: ...moved here
32056 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32057
42a5b3fc 320582009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32059
32060 * kern/env.c (grub_env_context_open): Added an argument to specify
32061 whether a new context inherits exported variables from current
32062 one. This is useful when making a sandbox to interpret a config
32063 file.
32064 All callers updated.
32065
32066 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32067
b28bbc4e 320682009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32069
32070 * kern/env.c (grub_env_context_close): Fix memory leaks.
32071
f04f02e4 320722009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32073
32074 * normal/main.c (grub_normal_execute): Added an argument
32075 BATCH to specify if an interactive interface should be provided
32076 after reading a config file.
32077 All callers updated.
32078 (read_command_list): Prevent being executed twice.
32079 (read_fs_list): Likewise.
32080
42a5b3fc 32081 * include/grub/normal.h (grub_normal_execute): Updated the
32082 prototype.
f04f02e4 32083
41473ac2 320842009-03-22 Pavel Roskin <proski@gno.org>
32085
fbc00b0c 32086 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32087 _start.
32088 * kern/i386/pc/startup.S: Likewise.
32089 * kern/i386/efi/startup.S: Likewise.
32090 * kern/i386/ieee1275/startup.S: Likewise.
32091 * kern/i386/coreboot/startup.S: Likewise.
32092 * kern/x86_64/efi/startup.S: Likewise.
32093
41473ac2 32094 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32095 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32096 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32097
2274cc8f 320982009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32099
32100 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32101
32102 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32103 limit detection.
32104 Use vaddr of correct segment for entry_point.
32105
b1b797cb 321062009-03-21 Bean <bean123ch@gmail.com>
32107
32108 * commands/blocklist.c: Add include file <grub/command.h>, remove
32109 <grub/normal.h> and <grub/arg.h>.
32110 (grub_cmd_blocklist): Use the new command interface.
32111 (GRUB_MOD_INIT): Likewise.
32112 (GRUB_MOD_FINI): Likewise.
32113 * commands/boot.c: Likewise.
32114 * commands/cat.c: Likewise.
32115 * commands/cmp.c: Likewise.
32116 * commands/configfile.c: Likewise.
32117 * commands/crc.c: Likewise.
32118 * commands/echo.c: Likewise.
32119 * commands/halt.c: Likewise.
32120 * commands/handler.c: Likewise.
32121 * commands/hdparm.c: Likewise.
32122 * commands/help.c: Likewise.
32123 * commands/hexdump.c: Likewise.
32124 * commands/loadenv.c: Likewise.
32125 * commands/ls.c: Likewise.
32126 * commands/lsmmap.c: Likewise.
32127 * commands/lspci.c: Likewise.
32128 * commands/loadenv.c: Likewise.
32129 * commands/read.c: Likewise.
32130 * commands/reboot.c: Likewise.
32131 * commands/search.c: Likewise.
32132 * commands/sleep.c: Likewise.
32133 * commands/test.c: Likewise.
32134 * commands/usbtest.c: Likewise.
32135 * commands/videotest.c: Likewise.
32136 * commands/i386/cpuid.c: Likewise.
32137 * commands/i386/pc/halt.c: Likewise.
32138 * commands/i386/pc/play.c: Likewise.
32139 * commands/i386/pc/pxecmd.c: Likewise.
32140 * commands/i386/pc/vbeinfo.c: Likewise.
32141 * commands/i386/pc/vbetest.c: Likewise.
32142 * commands/ieee1275/suspend.c: Likewise.
32143 * disk/loopback.c: Likewise.
32144 * font/font_cmd.c: Likewise.
32145 * hello/hello.c: Likewise.
32146 * loader/efi/appleloader.c: Likewise.
32147 * loader/efi/chainloader.c: Likewise.
32148 * loader/i386/bsd.c: Likewise.
32149 * loader/i386/efi/linux.c: Likewise.
32150 * loader/i386/ieee1275/linux.c: Likewise.
32151 * loader/i386/linux.c: Likewise.
32152 * loader/i386/pc/chainloader.c: Likewise.
32153 * loader/i386/pc/linux.c: Likewise.
32154 * loader/powerpc/ieee1275/linux.c: Likewise.
32155 * loader/multiboot_loader.c: Likewise.
32156 * term/gfxterm.c: Likewise.
32157 * term/i386/pc/serial.c: Likewise.
32158 * term/terminfo.c: Likewise.
32159
32160 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32161 * term/i386/pc/vga.c: Likewise.
32162 * video/readers/jpeg.c: Likewise.
32163 * video/readers/png.c: Likewise.
32164 * video/readers/tga.c: Likewise.
32165
32166 * util/grub-fstest (cmd_loopback): Removed.
32167 (cmd_blocklist): Likewise.
32168 (cmd_ls): Likewise.
32169 (grub_register_command): Likewise.
32170 (grub_unregister_command): Likewise.
32171 (execute_command): Use grub_command_find to locate command and execute
32172 it.
32173
32174 * include/grub/efi/chainloader.h: Removed.
32175 * loader/efi/chainloader_normal.c: Likewise.
32176 * loader/i386/bsd_normal.c: Likewise.
32177 * loader/i386/pc/chainloader_normal.c: Likewise.
32178 * loader/i386/pc/multiboot_normal.c: Likewise.
32179 * loader/linux_normal.c: Likewise.
32180 * loader/multiboot_loader_normal.c: Likewise.
32181 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32182
32183 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32184 and grub_register_command_p1.
32185
32186 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32187 kern/command.c, lib/arg.c and commands/extcmd.c.
32188 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32189 (minicmd_mod_SOURCES): New variable.
32190 (minicmd_mod_CFLAGS): Likewise.
32191 (minicmd_mod_LDFLAGS): Likewise.
32192 (extcmd_mod_SOURCES): Likewise.
32193 (extcmd_mod_CFLAGS): Likewise.
32194 (extcmd_mod_LDFLAGS): Likewise.
32195 (boot_mod_SOURCES): Removed.
32196 (boot_mod_CFLAGS): Likewise.
32197 (boot_mod_LDFLAGS): Likewise.
32198
32199 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32200 kern/corecmd.c.
32201 (kernel_img_HEADERS): Add command.h.
32202 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32203 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32204 and lib/arg.c.
32205 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32206 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32207 remove the corresponding normal mode command.
32208 (normal_mod_SOURCES): Remove normal/arg.c.
32209 * conf/i386-coreboot.rmk: Likewise.
32210 * conf/i386-efi.rmk: Likewise.
32211 * conf/i386-ieee1275.rmk: Likewise.
32212 * conf/powerpc-ieee1275.rmk: Likewise.
32213 * conf/x86_64-efi.rmk: Likewise.
32214
32215 * include/grub/arg.h: Move from here ...
32216 * include/grub/lib/arg.h: ... to here.
32217
32218 * normal/arg.c: Move from here ...
32219 * lib/arg.c: ... to here.
32220
32221 * commands/extcmd.c: New file.
32222 * commands/minicmd.c: Likewise.
32223 * include/grub/command.h: Likewise.
32224 * include/grub/extcmd.h: Likewise.
32225 * kern/command.c: Likewise.
32226 * kern/corecmd.c: Likewise.
32227
32228 * kern/list.c (grub_list_iterate): Return int instead of void.
32229 (grub_list_insert): New function.
32230 (grub_prio_list_insert): Likewise.
32231
32232 * kern/rescue.c (grub_rescue_command): Removed.
32233 (grub_rescue_command_list): Likewise.
32234 (grub_rescue_register_command): Likewise.
32235 (grub_rescue_unregister_command): Likewise.
32236 (grub_rescue_cmd_boot): Move to minicmd.c
32237 (grub_rescue_cmd_help): Likewise.
32238 (grub_rescue_cmd_info): Likewise.
32239 (grub_rescue_cmd_boot): Likewise.
32240 (grub_rescue_cmd_testload): Likewise.
32241 (grub_rescue_cmd_dump): Likewise.
32242 (grub_rescue_cmd_rmmod): Likewise.
32243 (grub_rescue_cmd_lsmod): Likewise.
32244 (grub_rescue_cmd_exit): Likewise.
32245 (grub_rescue_print_devices): Moved to corecmd.c.
32246 (grub_rescue_print_files): Likewise.
32247 (grub_rescue_cmd_ls): Likewise.
32248 (grub_rescue_cmd_insmod): Likewise.
32249 (grub_rescue_cmd_set): Likewise.
32250 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32251 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32252 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32253 commands, remove grub_rescue_register_command calls.
b1b797cb 32254
7d074e3c 32255 * normal/command.c (grub_register_command): Removed.
b1b797cb 32256 (grub_unregister_command): Likewise.
32257 (grub_command_find): Likewise.
32258 (grub_iterate_commands): Likewise.
32259 (rescue_command): Likewise.
32260 (export_command): Moved to corecmd.c.
32261 (set_command): Removed.
32262 (unset_command): Likewise.
32263 (insmod_command): Likewise.
32264 (rmmod_command): Likewise.
32265 (lsmod_command): Likewise.
32266 (grub_command_init): Likewise.
32267
32268 * normal/completion.c (iterate_command): Use cmd->prio to check for
32269 active command.
32270 (complete_arguments): Use grub_extcmd_t structure to find options.
32271 (grub_normal_do_completion): Change function grub_iterate_commands to
32272 grub_command_iterate.
32273
32274 * normal/execute.c (grub_script_execute_cmd): No need to parse
32275 argument here.
32276
32277 * normal/main.c (grub_dyncmd_dispatcher): New function.
32278 (read_command_list): Register unload commands as dyncmd.
32279 (grub_cmd_normal): Use new command interface, register rescue,
32280 unregister normal at entry, register normal, unregister rescue at exit.
32281
32282 * include/grub/list.h (grub_list_test_t): New type.
32283 (grub_list_iterate): Return int instead of void.
32284 (grub_list_insert): New function.
32285 (GRUB_AS_NAMED_LIST_P): New macro.
32286 (GRUB_AS_PRIO_LIST): Likewise.
32287 (GRUB_AS_PRIO_LIST_P): Likewise.
32288 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32289 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32290 (grub_prio_list): New structure.
32291 (grub_prio_list_insert): New function.
32292 (grub_prio_list_remove): New inline function.
32293
32294 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32295 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32296 (GRUB_COMMAND_FLAG_MENU): Likewise.
32297 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32298 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32299 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32300 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32301 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32302 (grub_command): Likewise.
32303 (grub_register_command): Likewise.
32304 (grub_command_find): Likewise.
32305 (grub_iterate_commands): Likewise.
32306 (grub_command_init): Likewise.
32307 (grub_arg_parse): Likewise.
32308 (grub_arg_show_help): Likewise.
32309
32310 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32311 (grub_rescue_unregister_command): Likewise.
32312
32313 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32314 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32315 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32316
32317 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32318 grub_rescue_cmd_initrd.
32319 * include/grub/i386/loader.h: Likewise.
32320 * include/grub/x86_64/loader.h: Likewise.
32321
32322 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32323
1f4147aa 323242009-03-21 Bean <bean123ch@gmail.com>
32325
32326 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32327 instead of stat in mingw environment.
32328
32329 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32330
32331 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32332
32333 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32334 AC_CONFIG_LINKS.
32335
2156d5ba 323362009-03-21 Bean <bean123ch@gmail.com>
32337
32338 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32339 out of range error.
32340
177b82ca 323412009-03-18 Michel Dänzer <michel@daenzer.net>
32342
32343 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32344 checking inode flags for EXT4_EXTENTS_FLAG.
32345
14aad807 323462009-03-18 Robert Millan <rmh@aybabtu.com>
32347
32348 * loader/i386/linux.c: Include `<grub/video.h>' and
32349 `<grub/i386/pc/vbe.h>'..
32350 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32351 (grub_linux32_boot): Attempt to configure video settings with
32352 grub_linux_setup_video().
32353 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32354 to avoid grub_console_fini() which would step out of graphical mode
32355 unconditionally.
32356
8cf83a27 323572009-03-14 Robert Millan <rmh@aybabtu.com>
32358
32359 Fix build on powerpc.
32360 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32361
40164e75 323622009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32363
32364 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32365 background image command.
32366
c58bc32a 323672009-03-12 Colin D Bennett <colin@gibibit.com>
32368
32369 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32370 (grub_gfxterm_putchar): Extract pairs of identical calls to
32371 draw_cursor out of conditional blocks.
32372
5415144a 323732009-03-11 Pavel Roskin <proski@gnu.org>
32374
32375 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32376 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32377
6394042e 323782009-03-11 Robert Millan <rmh@aybabtu.com>
32379
32380 * loader/i386/multiboot_elfxx.c
32381 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32382
b7b50e5f 323832009-03-11 Felix Zielcke <fzielcke@z-51.de>
32384
32385 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32386 `kern/handler.c'.
32387
1ca7fc96 323882009-03-11 Robert Millan <rmh@aybabtu.com>
32389
32390 * loader/i386/multiboot.c (code_size): New variable.
32391 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32392 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32393 4-byte alignment to MBI and others by increasing
7d074e3c 32394 `boot_loader_name_length' appropriately.
1ca7fc96 32395
32396 * loader/i386/multiboot_elfxx.c
32397 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32398
a83ea1d2 323992009-03-09 Felix Zielcke <fzielcke@z-51.de>
32400
32401 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32402 `fs/ext2.c'.
32403
aa9f3bff 324042009-03-08 Robert Millan <rmh@aybabtu.com>
32405
32406 Make loader/i386/linux.c usable on i386-pc again.
32407
32408 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32409 memory to heap.
32410 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32411 `#error' stanza.
32412
d8b3b60e 324132009-03-07 Bean <bean123ch@gmail.com>
32414
32415 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32416 allocation.
32417
b362c9e9 324182009-03-06 Robert Millan <rmh@aybabtu.com>
32419
32420 Fix display issue on terminals with screen size other than 80x25
32421 (e.g. gfxterm with resolution higher than 640x480).
32422
32423 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32424 position relative to the center of the terminal instead of relying
b362c9e9 32425 on a hardcoded offset.
32426
9304eef1 324272009-03-04 Robert Millan <rmh@aybabtu.com>
32428
32429 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32430 installed.
32431
32432 * Makefile.in (host_kernel): New variable.
32433 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32434 scripts instead of just the windows one.
32435 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32436
eabc95fb 324372009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32438
32439 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32440 `kern/handler.c'.
32441 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32442 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32443 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32445 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32446 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32447
ceb1223c 324482009-03-04 Felix Zielcke <fzielcke@z-51.de>
32449
32450 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32451 or if there's no space for the disk label and print the partition number on a
32452 invalid magic.
32453
4910684a 324542009-03-04 Felix Zielcke <fzielcke@z-51.de>
32455
32456 * util/misc.c: Include <time.h>.
32457 (grub_millisleep): New function.
32458
7e9ca17a 324592009-03-04 Bean <bean123ch@gmail.com>
32460
32461 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32462 another option -mno-red-zone.
32463
32464 * commands/handler.c: Change module description.
32465
32466 * kern/handler.c: Add missing space at the end of description line.
32467
32468 * kern/list.c: Likewise.
32469
f501677c 324702009-03-03 Robert Millan <rmh@aybabtu.com>
32471
32472 Move more components to the relocation area, and fix mbi pointer
32473 handling to use the destination rather than the origin (thanks to
32474 Vladimir Serbinenko for spotting).
32475
32476 * loader/i386/multiboot.c (mbi_dest): New variable.
32477 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32478 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32479 relocation area.
32480
9902d047 324812009-03-01 Bean <bean123ch@gmail.com>
32482
50fb7002 32483 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32484 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32485 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32486 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32487
32488 * loader/i386/efi/linux.c (acpi_guid): New variable.
32489 (acpi_guid): Likewise.
32490 (EBDA_SEG_ADDR): New constant.
32491 (LOW_MEM_ADDR): Likewise.
32492 (FAKE_EBDA_SEG): Likewise.
32493 (fake_bios_data): New function.
32494 (grub_linux_boot): Call fake_bios_data.
32495
71b9f361 324962009-03-01 Bean <bean123ch@gmail.com>
32497
32498 * commands/terminal.c: Removed.
32499
32500 * commands/handler.c: New file.
32501
32502 * include/grub/list.h: Likewise.
32503
32504 * include/grub/handler.h: Likewise.
32505
32506 * kern/list.c: Likewise.
32507
32508 * kern/handler.c: Likewise.
32509
32510 * kern/term.h: Include header file <grub/handler.h>.
32511 (grub_term_input): Move next field to the beginning.
32512 (grub_term_output): Likewise.
32513 (grub_term_input_class): New variable.
32514 (grub_term_output_class): Likewise.
32515 (grub_term_register_input): Changed to inline function.
32516 (grub_term_register_output): Likewise.
32517 (grub_term_unregister_input): Likewise.
32518 (grub_term_unregister_output): Likewise.
32519 (grub_term_set_current_input): Likewise.
32520 (grub_term_set_current_output): Likewise.
32521 (grub_term_get_current_input): Likewise.
32522 (grub_term_get_current_output): Likewise.
32523 (grub_term_iterate_input): Removed.
32524 (grub_term_iterate_output): Likewise.
32525
32526 * kern/term.c (grub_term_list_input): Removed.
32527 (grub_term_list_output): Likewise.
32528 (grub_term_input_class): New variable.
32529 (grub_term_output_class): Likewise.
50fb7002 32530 (grub_cur_term_input): Change variable as macro.
71b9f361 32531 (grub_cur_term_output): Likewise.
32532 (grub_term_register_input): Removed.
32533 (grub_term_register_output): Likewise.
32534 (grub_term_unregister_input): Likewise.
32535 (grub_term_unregister_output): Likewise.
32536 (grub_term_set_current_input): Likewise.
32537 (grub_term_set_current_output): Likewise.
32538 (grub_term_iterate_input): Likewise.
32539 (grub_term_iterate_output): Likewise.
32540 (grub_term_get_current_input): Likewise.
32541 (grub_term_get_current_output): Likewise.
32542
32543 * util/grub-editenv.c: Include header file <grub/handler.h>.
32544 (grub_term_get_current_input): Removed.
32545 (grub_term_get_current_output): Likewise.
32546 (grub_term_input_class): New variable.
50fb7002 32547 (grub_term_output_class): Likewise.
71b9f361 32548
32549 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32550 (grub_term_get_current_output): Likewise.
32551 (grub_term_input_class): New variable.
50fb7002 32552 (grub_term_output_class): Likewise.
71b9f361 32553
32554 * util/grub-probe.c (grub_term_get_current_input): Removed.
32555 (grub_term_get_current_output): Likewise.
32556 (grub_term_input_class): New variable.
50fb7002 32557 (grub_term_output_class): Likewise.
71b9f361 32558
32559 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32560 (grub_term_get_current_output): Likewise.
32561 (grub_term_input_class): New variable.
50fb7002 32562 (grub_term_output_class): Likewise.
71b9f361 32563
32564 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32565 (terminal_mod_SOURCES): Likewise.
32566 (terminal_mod_CFLAGS): Likewise.
32567 (terminal_mod_LDFLAGS): Likewise.
32568
32569 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32570 handler.c.
32571 (kernel_img_SOURCES): Add list.c and handler.c.
32572 (kernel_img_HEADERS): Add list.h and handler.h.
32573
32574 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32575 handler.c.
32576 (kernel_mod_SOURCES): Add list.c and handler.c.
32577 (kernel_mod_HEADERS): Add list.h and handler.h.
32578
32579 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32580 handler.c.
32581 (kernel_elf_SOURCES): Add list.c and handler.c.
32582 (kernel_elf_HEADERS): Add list.h and handler.h.
32583
32584 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32585 handler.c.
32586 (kernel_elf_SOURCES): Add list.c and handler.c.
32587 (kernel_elf_HEADERS): Add list.h and handler.h.
32588
32589 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32590 handler.c.
32591 (kernel_mod_SOURCES): Add list.c and handler.c.
32592 (kernel_mod_HEADERS): Add list.h and handler.h.
32593
32594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32595 handler.c.
32596 (kernel_elf_SOURCES): Add list.c and handler.c.
32597 (kernel_elf_HEADERS): Add list.h and handler.h.
32598
8a31787f 325992009-02-27 Robert Millan <rmh@aybabtu.com>
32600
32601 Factorize elf32 / elf64 code in Multiboot loader. This will
32602 prevent it from getting out of sync again.
32603
32604 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32605 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32606 grub_multiboot_load_elf64): Move from here ...
32607 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32608 grub_multiboot_load_elf): ... to here (new file).
32609
51cd3dfc 326102009-02-27 Robert Millan <rmh@aybabtu.com>
32611
32612 * util/grub.d/10_linux.in: Rename "single-user mode" to
32613 "recovery mode".
32614
6e8c9c3a 326152009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32616
32617 Don't leak in SCSI code.
32618 * disk/scsi.c (grub_scsi_close): free `scsi'.
32619
4b6bf4f9 326202009-02-27 Robert Millan <rmh@aybabtu.com>
32621
32622 * loader/i386/pc/multiboot.c: Move from here ...
32623 * loader/i386/multiboot.c: ... to here. Update all users.
32624
b9413424 326252009-02-27 Robert Millan <rmh@aybabtu.com>
32626
32627 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32628 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32629
50fb7002 326302009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32631
32632 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32633 b-tree.
32634
8cc50345 326352009-02-27 Robert Millan <rmh@aybabtu.com>
32636
32637 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32638 `0x' qualifier as 0 when base is specified as parameter).
32639
6e09b8b7 326402009-02-24 Bean <bean123ch@gmail.com>
32641
32642 * configure.ac: Check for -mcmodel=large in x86_64 target.
32643
32644 * include/grub/efi/api.h (efi_call_10): New macro.
32645 (efi_wrap_10): New function.
32646
32647 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32648 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32649 (GRUB_PE32_REL_BASED_LOW): Likewise.
32650 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32651 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32652 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32653 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32654 (GRUB_PE32_REL_BASED_REL): Likewise.
32655 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32656 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32657 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32658
32659 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32660 issue.
32661
32662 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32663 (efi_wrap_10): New function.
32664
32665 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32666
32667 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32668 MB/MBP model (NV chipset).
32669 (devdata_devs): Add devpath_5 to the list.
32670
32671 * load/i386/efi/linux.c (video_base): Remove variable.
32672 (RGB_MASK): New macro.
32673 (RGB_MAGIC): Likewise.
32674 (LINE_MIN): Likewise.
32675 (LINE_MAX): Likewise.
32676 (FBTEST_STEP): Likewise.
32677 (FBTEST_COUNT): Likewise.
32678 (fb_list): New variable.
32679 (grub_find_video_card): Remove function.
32680 (find_framebuf): New function.
32681 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32682 line length.
32683
32684 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32685 problem for x86_64.
32686
74b21bee 326872009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32688
32689 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32690
32691 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32692 coding tool name.
32693
a455f472 326942009-02-22 Robert Millan <rmh@aybabtu.com>
32695
32696 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32697 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32698 in our relocation, instead of using it directly from heap. Also
32699 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32700
6374daf3 327012009-02-21 Robert Millan <rmh@aybabtu.com>
32702
32703 Implement USB keyboard support (based on patch by Marco Gerards)
32704
32705 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32706 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32707 (usb_keyboard_mod_LDFLAGS): New variables.
32708
32709 * term/usb_keyboard.c: New file.
32710
8fa4ea70 327112009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32712
32713 Corrected wrong declaration
32714
32715 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32716
353976ac 327172009-02-14 Christian Franke <franke@computer.org>
32718
32719 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32720 (grub_lspci_iter): Print class code and programming interface byte.
32721
6aa1169b 327222009-02-14 Christian Franke <franke@computer.org>
32723
32724 * gendistlist.sh: Ignore `.svn' directories.
32725
265372ca 327262009-02-14 Felix Zielcke <fzielcke@z-51.de>
32727
32728 * fs/fat.c: Add 2009 to Copyright line.
32729
9ff516f3 327302009-02-14 Christian Franke <franke@computer.org>
32731
32732 * commands/hdparm.c: New file. Provides `hdparm' command
32733 which sends ATA commands via grub_disk_ata_pass_through ().
32734
32735 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32736
32737 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32738 and <grub/cpu/io.h> to include/grub/ata.h.
32739 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32740 (GRUB_CDROM_SECTOR_SIZE): Remove.
32741 (GRUB_ATA_*): Move to include/grub/ata.h.
32742 (GRUB_ATAPI_*): Likewise.
32743 (enum grub_ata_commands): Likewise.
32744 (enum grub_ata_timeout_milliseconds): Likewise.
32745 (struct grub_ata_device): Likewise.
32746 (grub_ata_regset): Likewise.
32747 (grub_ata_regget): Likewise.
32748 (grub_ata_regset2): Likewise.
32749 (grub_ata_regget2): Likewise.
32750 (grub_ata_check_ready): Likewise.
32751 (grub_ata_wait_not_busy): Remove static, exported in
32752 include/grub/ata.h.
32753 (grub_ata_wait_drq): Likewise.
32754 (grub_ata_pio_read): Likewise.
32755
32756 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32757 function for hdparm.mod.
32758
32759 * include/grub/ata.h: New file, contains declarations from
32760 disk/ata.c.
32761 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32762
32763 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32764 (grub_disk_ata_pass_through): New exported variable.
32765
32766 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32767
772e23da 327682009-02-13 Colin D Bennett <colin@gibibit.com>
32769
32770 Support multiple fallback entries, and provide an API to support
32771 executing default+fallback menu entries. Renamed the `terminal' menu
32772 viewer to `text'.
32773
32774 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32775 variable declaration.
32776 (grub_menu_execute_callback): New structure declaration.
32777 (grub_menu_execute_callback_t): New typedef.
32778 (grub_menu_execute_with_fallback): New function declaration.
32779 (grub_menu_get_entry): Likewise.
32780 (grub_menu_get_timeout): Likewise.
32781 (grub_menu_set_timeout): Likewise.
32782
32783 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32784
32785 * normal/menu.c (grub_wait_after_message): Moved to
32786 `normal/menu_text.c'.
32787 (draw_border): Likewise.
32788 (print_message): Likewise.
32789 (print_entry): Likewise.
32790 (print_entries): Likewise.
32791 (grub_menu_init_page): Likewise.
32792 (get_entry_number): Likewise.
32793 (print_timeout): Likewise.
32794 (run_menu): Likewise.
32795 (grub_menu_execute_entry): Likewise.
32796 (show_text_menu): Likewise.
32797 (get_and_remove_first_entry_number): New function.
32798 (grub_menu_execute_with_fallback): Likewise.
32799 (get_entry): Renamed to ...
32800 (grub_menu_get_entry): .. this and made it global.
32801 (get_timeout): Renamed to ...
32802 (grub_menu_get_timeout): ... this and made it global.
32803 (set_timeout): Renamed to ...
32804 (grub_menu_set_timeout): ... this and made it global.
32805 (grub_normal_terminal_menu_viewer): Renamed to ...
32806 (grub_normal_text_menu_viewer): ... this.
32807
32808 * normal/menu_text.c: New file. Extracted text-menu-specific code
32809 from normal/menu.c.
32810
32811 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32812 (normal_mod_SOURCES): Likewise.
32813
32814 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32815 (normal_mod_SOURCES): Likewise.
32816
32817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32818 (normal_mod_SOURCES): Likewise.
32819
32820 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32821 (normal_mod_SOURCES): Likewise.
32822
32823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32824 (normal_mod_SOURCES): Likewise.
32825
32826 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32827 (normal_mod_SOURCES): Likewise.
32828
32829 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32830 (normal_mod_SOURCES): Likewise.
32831
16ac430e 328322009-02-11 Robert Millan <rmh@aybabtu.com>
32833
32834 * util/grub.d/00_header.in: Update old reference to `font' command.
32835
06ff20fc 328362009-02-10 Felix Zielcke <fzielcke@z-51.de>
32837
32838 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32839
32840 Based on patch from Javier Martín.
32841
96da9407 328422009-02-09 Felix Zielcke <fzielcke@z-51.de>
32843
32844 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32845 to avoid false positives with FAT.
96da9407 32846 (grub_fstest_SOURCES): Likewise.
32847 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32850 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32851 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32852 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32853
6dca6fe4 328542009-02-09 Felix Zielcke <fzielcke@z-51.de>
32855
06ff20fc 32856 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32857 bpb.version_specific.fat12_or_fat16.fstype and
32858 bpb.version_specific.fat32.fstype.
32859
2550c62f 328602009-02-08 Robert Millan <rmh@aybabtu.com>
32861
be110b30 32862 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32863
56978920 328642009-02-08 Robert Millan <rmh@aybabtu.com>
32865
32866 * Makefile.in (host_os, host_cpu): New variables.
32867 (target_os): Remove. Update all users.
32868
d64399b5 328692009-02-08 Marco Gerards <marco@gnu.org>
32870
32871 * Makefile.in (enable_grub_emu_usb): New variable.
32872 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32873 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32874 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32875 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32876 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32877 `usbtest.mod' and `usbms.mod'.
32878 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32879 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32880 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32881 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32882 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32883 variables.
32884
32885 * disk/usbms.c: New file.
32886
32887 * include/grub/usb.h: Likewise.
32888
32889 * include/grub/usbtrans.h: Likewise.
32890
32891 * include/grub/usbdesc.h: Likewise.
32892
32893 * bus/usb/usbtrans.c: Likewise.
32894
32895 * bus/usb/ohci.c: Likewise.
32896
32897 * bus/usb/uhci.c: Likewise.
32898
32899 * bus/usb/usbhub.c: Likewise.
32900
32901 * bus/usb/usb.c: Likewise.
32902
32903 * commands/usbtest.c: Likewise.
32904
32905 * util/usb.c: Likewise.
50fb7002 32906
d64399b5 32907 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32908
32909 * configure.ac: Test for libusb presence.
50fb7002 32910
d64399b5 32911 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32912
2b40d6bb 329132009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32914
32915 * kern/mm.c: Add more comments.
32916
73a4ce81 329172009-02-08 Robert Millan <rmh@aybabtu.com>
32918
32919 Patch from Javier Martín.
32920 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32921 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32922
f821ce59 329232009-02-08 Robert Millan <rmh@aybabtu.com>
32924
32925 * fs/cpio.c: Split tar functionality to ...
32926 * fs/tar.c: ... here (new file). Update all users.
32927
aebfc4b0 329282009-02-07 Robert Millan <rmh@aybabtu.com>
32929
32930 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32931 backward-incompatible features.
32932
32933 Based on patch from Javier Martín, with some adjustments.
32934
50fb7002 329352009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32936
32937 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32938
0bb5115e 329392009-02-07 Robert Millan <rmh@aybabtu.com>
32940
32941 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32942 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32943 after the RAID stuff.
32944
38a0f8e7 329452009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32946
50fb7002 32947 Fixes problem when running vbetest command as reported by
38a0f8e7 32948 Vladimir Serbinenko <phcoder@gmail.com>.
32949
32950 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32951
3143cc1c 329522009-02-04 Felix Zielcke <fzielcke@z-51.de>
32953
32954 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32955 /dev/md/NpN style mdraid devices.
32956
9cba6fce 329572009-02-03 Felix Zielcke <fzielcke@z-51.de>
32958
32959 * util/unifont2pff.rb: Remove.
32960
e507a2c1 329612009-02-03 Felix Zielcke <fzielcke@z-51.de>
32962
32963 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32964 `#'.
32965
d2c2b4cd 329662009-02-03 Felix Zielcke <fzielcke@z-51.de>
32967
32968 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32969 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32970 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32971 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32973 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32974 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32975
b4315fb0 329762009-02-02 Christian Franke <franke@computer.org>
32977
32978 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32979
de3aa260 329802009-02-01 Felix Zielcke <fzielcke@z-51.de>
32981
7c3ff286 32982 * INSTALL: Note that we now require at least autoconf 2.59 and
32983 that LZO is optional.
de3aa260 32984
825a182b 329852009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32986
32987 Base on patch on bug #24154 created by Tomas Tintera
32988 <trosos@seznam.cz>.
32989
32990 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32991
a69ef770 329922009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32993
7c3ff286 32994 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32995 <bero@arklinux.org>.
32996
32997 * normal/parser.y (script_init): Add missing semicolon.
32998
6fa42fa6 329992009-01-31 Colin D Bennett <colin@gibibit.com>
33000
7c3ff286 33001 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 33002 (free_menu_entry_classes): Added.
33003 (grub_normal_menu_addentry): Added class property handling.
33004 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
33005 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
33006
33007 * normal/menu_viewer.c: New file.
33008
33009 * normal/menu.c (run_menu_entry): Renamed to ...
33010 (grub_menu_execute_entry): ... this and made it as global.
33011 (grub_menu_run): Renamed to ...
33012 (show_text_menu): ... this and made it local.
33013 (show_text_menu): Adapt to new function names.
33014 (grub_normal_terminal_menu_viewer): New global variable.
33015
33016 * include/grub/menu.h: New file.
33017
33018 * include/grub/menu_viewer.h: New file.
33019
33020 * include/grub/normal.h: Added include to grub/menu.h.
33021 (grub_menu_entry): Moved to include/grub/menu.h.
33022 (grub_menu_entry_t): Likewise.
33023 (grub_menu): Likewise.
33024 (grub_menu_t): Likewise.
33025 (grub_normal_terminal_menu_viewer): Added.
33026 (grub_menu_execute_entry): Likewise.
33027 (grub_menu_run): Removed.
33028
33029 * DISTLIST: Added include/grub/menu.h.
33030 Added include/grub/menu_viewer.h.
33031 Added normal/menu_viewer.c.
33032
330332009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33034
33035 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33036 arglist for menutitle arguments.
33037
33038 * normal/main.c (grub_normal_menu_addentry): Likewise.
33039
33040 * normal/parser.y (menuentry): Likewise.
33041
33042 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33043
33044 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33045 (grub_script_create_cmdmenu): Likewise.
33046
33047 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33048
33049 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33050 changes.
33051
33052 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33053
33054 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33055
33056 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33057
33058 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33059
33060 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33061
33062 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33063
56192c23 330642009-01-30 Christian Franke <franke@computer.org>
33065
33066 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33067 in option help text.
33068
d72521b3 330692009-01-27 Pavel Roskin <proski@gnu.org>
33070
33071 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33072
994b5e84 330732009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33074
33075 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33076
33077 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33078
33079 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33080 unregister function.
33081
6a7eab2c 330822009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33083
33084 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33085
33086 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33087
33088 * util/grub-mkfont.c (usage): Fix typo.
33089
33090 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33091
1806b56e 330922009-01-26 Daniel Mierswa <impulze@impulze.org>
33093
3fb18f09 33094 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33095
336e1fb9 33096 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33097
1806b56e 33098 * kern/misc.c (grub_strcasecmp): New function.
33099 (grub_strcasecmp): Use grub_size_t instead of int for length.
33100 Fix return value.
33101 * include/grub/misc.h: Update function prototypes.
33102
580b2a0f 331032009-01-26 Robert Millan <rmh@aybabtu.com>
33104
33105 * configure.ac: Fix cross-compilation check.
ef257b36 33106
d31c24f1 331072009-01-22 Christian Franke <franke@computer.org>
33108
33109 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33110 (precision) digit string. Allow `.format2' without `format1' (width).
33111 Limit input chars for `%s' output to `format2' if specified. This is
33112 compatible with standard printf ().
33113
3138b44c 331142009-01-22 Christian Franke <franke@computer.org>
33115
33116 * disk/ata.c (grub_ata_wait_status): Replace by ...
33117 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33118 other status bits may be invalid while BSY is asserted.
33119 (grub_ata_check_ready): New function.
33120 (grub_ata_cmd): Removed.
33121 (grub_ata_wait_drq): New function.
33122 (grub_ata_strncpy): Remove inline.
33123 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33124 and error check now done by grub_ata_wait_drq ().
33125 (grub_ata_pio_write): Likewise.
33126 (grub_atapi_identify): Set DEV before check for !BSY. Use
33127 grub_ata_wait_drq () to wait for data.
33128 (grub_ata_device_initialize): Add status register check to
33129 detect missing SATA slave devices. Add debug messages.
33130 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33131 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33132 transfer loop by grub_ata_pio_write ().
33133 (grub_ata_identify): Set DEV before check for !BSY. Use
33134 grub_ata_wait_drq () to wait for data.
ef257b36 33135 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33136 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33137 read/write in one loop. Fix invalid command on write. Fix incomplete
33138 command on (size % batch) == 0. Add missing error check after write of
33139 last block. Add debug messages.
33140 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33141
59a64ef6 331422009-01-19 Christian Franke <franke@computer.org>
33143
33144 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33145 (GRUB_ATAPI_IREASON_*): Likewise.
33146 (grub_ata_pio_write): Fix timeout error return.
33147 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33148 (grub_atapi_wait_drq): New function.
33149 (grub_atapi_packet): New parameter `size'.
33150 Use grub_atapi_wait_drq () and direct write instead of
33151 grub_ata_pio_write ().
33152 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33153 reads the number of bytes requested by the device for each DRQ
33154 assertion.
33155 (grub_atapi_write): Remove old implementation, return not
33156 implemented instead.
33157
1cfe20b3 331582009-01-19 Christian Franke <franke@computer.org>
33159
33160 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33161 of 512 to calculate data size.
33162 (grub_scsi_read12): Likewise.
33163 (grub_scsi_write10): Likewise.
33164 (grub_scsi_write12): Likewise.
33165 (grub_scsi_read): Adjust size according to blocksize.
33166 Add checks for invalid blocksize and unaligned transfer.
33167
bee5fe5d 331682009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33169
33170 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33171
ef257b36 33172 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33173 width glyphs.
33174
3e643f8c 331752009-01-19 Robert Millan <rmh@aybabtu.com>
33176
33177 * config.guess: Update to latest version from config git.
33178 * config.sub: Likewise.
33179
4fa80998 331802009-01-17 Felix Zielcke <fzielcke@z-51.de>
33181
33182 * Makefile.in: Change font compilation to use new grub-mkfont instead
33183 of java version.
33184
33185 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33186 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33187 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33188 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33189 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33190 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33191 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33192 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33193 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33194
7086085b 331952009-01-16 Christian Franke <franke@computer.org>
33196
33197 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33198 (enum grub_ata_timeout_milliseconds): New enum.
33199 (grub_ata_wait_status): Add parameter milliseconds.
33200 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33201 recovery from timed-out commands.
33202 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33203 return grub_errno instead of REG_ERROR.
33204 (grub_ata_pio_write): Add parameter milliseconds.
33205 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33206 Pass milliseconds to grub_ata_wait_status () and
33207 grub_ata_pio_read ().
33208 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33209 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33210 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33211 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33212 It is not suitable for device detection, because DEV bit is ignored,
33213 the command may run too long, and not all devices set the signature
33214 properly.
33215 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33216 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33217 Fix device selection, DEV bit must be set first to address the registers
33218 of the correct device.
33219 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33220 grub_ata_pio_read/write ().
33221 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33222 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33223
4a412913 332242009-01-13 Carles Pina i Estany <carles@pina.cat>
33225
33226 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33227
7795c55e 332282009-01-13 Bean <bean123ch@gmail.com>
d913988c 33229
33230 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33231
7795c55e 332322009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33233
33234 * Makefile.in: (enable_grub_mkfont): New variable.
33235 (freetype_cflags): Likewise.
33236 (freetype_libs): Likewise.
33237
33238 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33239 (grub_mkfont_SOURCES): New variable.
33240 (grub_mkfont_CFLAGS): Likewise.
33241 (grub_mkfont_LDFLAGS): Likewise.
33242
33243 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33244 library if `--enable-grub-mkfont' is requested.
33245 (enable_grub_mkfont): New variable.
33246 (freetype_cflags): Likewise.
33247 (freetype_libs): Likewise.
33248
33249 * util/grub-mkfont.c: New file.
33250
093af1fe 332512009-01-12 Christian Franke <franke@computer.org>
33252
33253 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33254 mode check. Fix setting of compat_use[].
33255
f36cc108 332562009-01-10 Robert Millan <rmh@aybabtu.com>
33257
33258 Update a few copyright years which we forgot to do in 2008 (only for
33259 files whose changes made in 2008 were copyright-significant)
33260
33261 * Makefile.in: Add 2008 to Copyright line.
33262 * disk/ieee1275/ofdisk.c: Likewise.
33263 * disk/efi/efidisk.c: Likewise.
33264 * kern/dl.c: Likewise.
33265 * kern/sparc64/ieee1275/init.c: Likewise.
33266 * kern/mm.c: Likewise.
33267 * kern/efi/mm.c: Likewise.
33268 * boot/i386/pc/boot.S: Likewise.
33269 * genfslist.sh: Likewise.
33270 * fs/iso9660.c: Likewise.
33271 * fs/hfs.c: Likewise.
33272 * fs/jfs.c: Likewise.
33273 * fs/minix.c: Likewise.
33274 * fs/ufs.c: Likewise.
33275 * gensymlist.sh.in: Likewise.
33276 * genkernsyms.sh.in: Likewise.
33277 * include/grub/misc.h: Likewise.
33278 * include/grub/types.h: Likewise.
33279 * include/grub/symbol.h: Likewise.
33280 * include/grub/elf.h: Likewise.
33281 * include/grub/kernel.h: Likewise.
33282 * include/grub/disk.h: Likewise.
33283 * include/grub/dl.h: Likewise.
33284 * include/grub/i386/linux.h: Likewise.
33285 * include/grub/i386/pc/biosdisk.h: Likewise.
33286 * include/grub/efi/api.h: Likewise.
33287 * include/grub/efi/pe32.h: Likewise.
33288 * include/grub/util/misc.h: Likewise.
33289 * normal/execute.c: Likewise.
33290 * normal/arg.c: Likewise.
33291 * normal/completion.c: Likewise.
33292 * normal/lexer.c: Likewise.
33293 * normal/parser.y: Likewise.
33294 * normal/misc.c: Likewise.
33295 * commands/i386/pc/vbeinfo.c: Likewise.
33296 * commands/hexdump.c: Likewise.
33297 * commands/terminal.c: Likewise.
33298 * commands/ls.c: Likewise.
33299 * commands/help.c: Likewise.
33300 * partmap/pc.c: Likewise.
33301 * loader/efi/chainloader.c: Likewise.
33302 * loader/multiboot_loader.c: Likewise.
33303 * loader/i386/pc/multiboot2.c: Likewise.
33304 * term/efi/console.c: Likewise.
33305 * term/i386/pc/serial.c: Likewise.
33306 * util/lvm.c: Likewise.
33307 * util/console.c: Likewise.
33308 * util/i386/efi/grub-mkimage.c: Likewise.
33309 * util/raid.c: Likewise.
33310
7f02114b 333112009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33312
33313 * commands/videotest.c: Removed include to grub/machine/memory.h.
33314
33315 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33316 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33317 (video_mod_SOURCES): Removed.
33318 (video_mod_CFLAGS): Likewise.
33319 (video_mod_LDFLAGS): Likewise.
33320 (gfxterm_mod_SOURCES): Likewise.
33321 (gfxterm_mod_CFLAGS): Likewise.
33322 (gfxterm_mod_LDFLAGS): Likewise.
33323 (videotest_mod_SOURCES): Likewise.
33324 (videotest_mod_CFLAGS): Likewise.
33325 (videotest_mod_LDFLAGS): Likewise.
33326 (bitmap_mod_SOURCES): Likewise.
33327 (bitmap_mod_CFLAGS): Likewise.
33328 (bitmap_mod_LDFLAGS): Likewise.
33329 (tga_mod_SOURCES): Likewise.
33330 (tga_mod_CFLAGS): Likewise.
33331 (tga_mod_LDFLAGS): Likewise.
33332 (jpeg_mod_SOURCES): Likewise.
33333 (jpeg_mod_CFLAGS): Likewise.
33334 (jpeg_mod_LDFLAGS): Likewise.
33335 (png_mod_SOURCES): Likewise.
33336 (png_mod_CFLAGS): Likewise.
33337 (png_mod_LDFLAGS): Likewise.
33338
33339 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33340 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33341 (video_mod_SOURCES): Added.
33342 (video_mod_CFLAGS): Likewise.
33343 (video_mod_LDFLAGS): Likewise.
33344 (videotest_mod_SOURCES): Likewise.
33345 (videotest_mod_CFLAGS): Likewise.
33346 (videotest_mod_LDFLAGS): Likewise.
33347 (bitmap_mod_SOURCES): Likewise.
33348 (bitmap_mod_CFLAGS): Likewise.
33349 (bitmap_mod_LDFLAGS): Likewise.
33350 (tga_mod_SOURCES): Likewise.
33351 (tga_mod_CFLAGS): Likewise.
33352 (tga_mod_LDFLAGS): Likewise.
33353 (jpeg_mod_SOURCES): Likewise.
33354 (jpeg_mod_CFLAGS): Likewise.
33355 (jpeg_mod_LDFLAGS): Likewise.
33356 (png_mod_SOURCES): Likewise.
33357 (png_mod_CFLAGS): Likewise.
33358 (png_mod_LDFLAGS): Likewise.
33359 (gfxterm_mod_SOURCES): Likewise.
33360 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33361 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33362
33363 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33364 grub/machine/console.h.
33365
644fff97 333662009-01-04 Jerone Young <jerone@gmail.com>
33367
33368 Make on screen instructions clearer
33369
33370 Based on patch created by Jidanni <jidanni@jidanni.org>
33371
33372 * normal/menu.c: print clearer instructions on the screen
33373
1e901a75 333742009-01-02 Colin D Bennett <colin@gibibit.com>
33375
33376 New font engine.
34c44600 33377
1e901a75 33378 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33379 build system and fixed gfxterm.c to work with different sized fonts.
33380
33381 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33382
1e901a75 33383 * configure: Re-generated.
34c44600 33384
1e901a75 33385 * DISTLIST: Removed font/manager.c.
33386 Added font/font.c.
33387 Added font/font_cmd.c.
34c44600 33388
1e901a75 33389 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33390 compilation.
34c44600 33391
1e901a75 33392 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33393
33394 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33395
33396 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33397
1e901a75 33398 * normal/menu.c: Likewise.
34c44600 33399
1e901a75 33400 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33401 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33402
1e901a75 33403 * include/grub/font.h: Replaced with new file.
34c44600 33404
1e901a75 33405 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33406 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33407 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33408 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33409 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33410 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33411 fg_red, fg_green, fg_blue, fg_alpha.
33412 (grub_video_adapter): Removed blit_glyph.
34c44600 33413 (grub_video_blit_glyph): Removed.
33414
1e901a75 33415 * font/manager.c: Removed file.
34c44600 33416
33417 * font/font.c: New file.
33418
1e901a75 33419 * font/font_cmd.c: Likewise.
34c44600 33420
1e901a75 33421 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33422
1e901a75 33423 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33424 (grub_video_vbe_map_rgba): Likewise.
33425 (grub_video_vbe_unmap_color_int): Likewise.
33426 (grub_video_vbe_blit_glyph): Removed.
33427 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33428
1e901a75 33429 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33430 (get_pixel): Likewise.
34c44600 33431 (set_pixel): Likewise.
33432
1e901a75 33433 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33434
1e901a75 33435 * term/gfxterm.c: Adapted to new font engine.
34c44600 33436
1e901a75 33437 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33438
1e901a75 33439 * term/i386/pc/vga.c: Likewise.
34c44600 33440
1e901a75 33441 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33442
1e901a75 33443 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33444
1e901a75 33445 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33446
1e901a75 33447 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33448
1e901a75 33449 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33450
1e901a75 33451 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33452
1e901a75 33453 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33454
1e901a75 33455 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33456
1e901a75 33457 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33458
33459 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33460
1e901a75 33461 * util/grub-mkconfig_lib.in: Changed font extension.
33462
278922e8 334632008-12-28 Felix Zielcke <fzielcke@z-51.de>
33464
33465 * util/getroot.c (grub_util_get_grub_dev): Add support for
33466 /dev/md/dNNpNN style partitionable mdraid devices.
33467
3ced05cf 334682008-12-12 Alex Smith <alex@alex-smith.me.uk>
33469
33470 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33471 at a time limit of the PXE TFTP API correctly.
33472 (grub_pxefs_close): Likewise.
33473
7fd0ee30 334742008-11-29 Robert Millan <rmh@aybabtu.com>
33475
34c44600 33476 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33477 grub_ata_device_initialize() calls.
33478
34c44600 334792008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33480
33481 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33482 iteration failed.
33483 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33484
89313780 334852008-11-28 Robert Millan <rmh@aybabtu.com>
33486
33487 Fix build on powerpc-ieee1275. Based on patch created by
33488 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33489 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33490 `kern/ieee1275/mmap.c'.
33491 * include/grub/powerpc/ieee1275/memory.h: New file.
33492
15257703 33493 Provide grub-install on coreboot.
33494 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33495 (grub_install_SOURCES): New variable.
33496 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33497 usable on coreboot.
33498
9fc5388a 334992008-11-25 Felix Zielcke <fzielcke@z-51.de>
33500
33501 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33502 to `grub_term_input_t'.
33503 (grub_term_get_current_output): Change return type to
33504 `grub_term_output_t'.
33505
bc3a2f31 335062008-11-22 Robert Millan <rmh@aybabtu.com>
33507
34c44600 33508 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33509 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33510 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33511 grub_vga_text_cls().
33512
80fc88f2 33513 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33514 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33515
cbf36fd3 33516 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33517 to 0x200000 (avoids trouble with some OFW implementations, and matches
33518 with the one in Yaboot).
33519 Reported by Manoel Abranches
33520
73e8e268 335212008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33522
33523 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33524 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33525
73e8e268 33526 * util/grub-mkconfig_lib.in (grub_warn): New function.
33527 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33528 warnings, to obtain consistent formatting.
33529 * util/grub.d/00_header.in: Likewise.
33530 * util/update-grub_lib.in: Likewise.
33531
e94045a1 33532 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33533 Move comment text to `#error' stanza.
e94045a1 33534
79d29fd7 33535 Harmonize ieee1275's grub_available_iterate() with the generic
33536 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33537 build problem on i386-ieee1275):
33538 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33539 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33540 parameter `type'. Update all users of this function.
33541 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33542 `kern/ieee1275/mmap.c'.
33543 * kern/ieee1275/init.c
33544 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33545 with ...
33546 (grub_machine_mmap_iterate): ... this.
33547 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33548 return type to `grub_err_t'. Update all implementations of this
33549 function prototype.
33550 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33551 Likewise.
33552
60d6b16e 33553 Add `lsmmap' command (lists firmware-provided memory map):
33554 * commands/lsmmap.c: New file.
33555 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33556 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33557 variables.
33558 * conf/powerpc-ieee1275.rmk: Likewise.
33559 * conf/i386-coreboot.rmk: Likewise.
33560 * conf/i386-ieee1275.rmk: Likewise.
33561
ebaaf49b 335622008-11-19 Robert Millan <rmh@aybabtu.com>
33563
33564 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33565 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33566 constraints to initrd allocation (based on code from
33567 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33568 for Linux to find it.
ebaaf49b 33569
dfab719f 335702008-11-14 Robert Millan <rmh@aybabtu.com>
33571
33572 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33573 order to cope with duplicate slashes.
33574
10fc3eb9 335752008-11-14 Robert Millan <rmh@aybabtu.com>
33576
33577 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33578 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33579 don't want to mess with lower memory, because it is used in the Linux
33580 loader.
33581
33582 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33583 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33584 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33585 is in our heap (probably as a result of it being corrupted during
2f2a3442 33586 decompression). Add #error instance with comment to explain why this
33587 loader isn't currently usable on PC/BIOS.
10fc3eb9 33588
e2e07847 335892008-11-14 Robert Millan <rmh@aybabtu.com>
33590
33591 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33592 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33593
fe8e8d69 335942008-11-12 Robert Millan <rmh@aybabtu.com>
33595
33596 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33597
33598 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33599 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33600 from here ...
33601 * include/grub/i386/pc/memory.h: ... to here.
33602
976b07d0 336032008-11-12 Robert Millan <rmh@aybabtu.com>
33604
33605 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33606 split).
33607
33608 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33609 (grub_console_cur_color, grub_console_real_putchar)
33610 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33611 (grub_console_setcolorstate, grub_console_setcolor)
33612 (grub_console_getcolor): Move from here ...
33613 * include/grub/i386/vga_common.h: ... to here (new file).
33614
33615 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33616 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33617 `<grub/i386/io.h>'.
33618 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33619 `<grub/i386/vga_common.h>'.
33620
76679cd3 336212008-11-12 Robert Millan <rmh@aybabtu.com>
33622
33623 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33624 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33625 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33626 variables.
33627 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33628 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33629
33630 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33631 grub_console_init() with call to grub_vga_text_init().
33632 (grub_machine_fini): Replace call to
33633 grub_console_fini() with call to grub_vga_text_fini() and
33634 grub_at_keyboard_fini().
33635
33636 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33637 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33638 (grub_console_setcolorstate, grub_console_setcolor)
33639 (grub_console_getcolor): New function prototypes.
33640
33641 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33642 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33643 (grub_vga_text_setcursor): Static-ize.
33644 (grub_vga_text_term): New structure.
33645 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33646
33647 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33648 (grub_console_cur_color, grub_console_standard_color)
33649 (grub_console_normal_color, grub_console_highlight_color)
33650 (map_char, grub_console_putchar, grub_console_getcharwidth)
33651 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33652 (grub_console_getcolor): Move from here ...
33653 * term/i386/vga_common.c: ... to here (same function names).
33654
95b841d3 336552008-11-12 Robert Millan <rmh@aybabtu.com>
33656
33657 Use newly-added Multiboot support in coreboot.
33658
33659 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33660 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33661
33662 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33663 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33664 (codestart): Store the MBI in `startup_multiboot_info' when we're
33665 being loaded using Multiboot.
33666
33667 * kern/i386/coreboot/init.c (grub_machine_init): Move
33668 grub_at_keyboard_init() call to beginning of function (useful for
33669 debugging). Call grub_machine_mmap_init() before attempting to use
33670 grub_machine_mmap_iterate().
33671 (grub_lower_mem, grub_upper_mem): Move from here ...
33672 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33673 here (new file).
33674
33675 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33676 function prototype.
33677
761ca975 336782008-11-12 Robert Millan <rmh@aybabtu.com>
33679
33680 Fix a regression introduced by the at_keyboard.mod split. Because
33681 some terminals are default on some platforms and non-default on
33682 others, the first terminal being registered determines which is
33683 going to be default.
33684
33685 * kern/term.c (grub_term_register_input): If this is the first
33686 terminal being registered, set it as the current one.
33687 (grub_term_register_output): Likewise.
33688
33689 * term/efi/console.c (grub_console_init): Do not call
33690 grub_term_set_current_output() or grub_term_set_current_input().
33691 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33692 * term/i386/pc/console.c (grub_console_init): Likewise.
33693 (grub_console_fini): Do not call grub_term_set_current_input()
33694 (but leave grub_term_set_current_output() to restore text mode).
33695
6c529df7 336962008-11-10 Robert Millan <rmh@aybabtu.com>
33697
33698 * util/grub.d/00_header.in: Add backward compatibility check for
33699 versions of terminal.mod that don't understand `terminal_input' or
33700 `terminal_output'.
33701
132e4113 337022008-11-09 Robert Millan <rmh@aybabtu.com>
33703
33704 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33705 `terminal_input' / `terminal_output', not `terminal'.
33706
ac293d50 337072008-11-08 Robert Millan <rmh@aybabtu.com>
33708
33709 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33710 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33711
0025933a 337122008-11-08 Robert Millan <rmh@aybabtu.com>
33713
33714 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33715 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33716 members. Update all users.
33717 * util/console.c (grub_ncurses_term): Split in ...
33718 (grub_ncurses_term_input): ... this, and ...
33719 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33720 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33721
37c86336 337222008-11-08 Robert Millan <rmh@aybabtu.com>
33723
33724 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33725 (PKGDATA): Add $(pkgdata_SRCDIR).
33726 (pkglib_BUILDDIR): New variable.
33727 (pkgdata_SRCDIR): New variable.
33728 (build_env.mk): New target.
33729 (include_DATA): New variable.
33730 (install-local): Install $(include_DATA) files in $(includedir).
33731
b6c15a2d 337322008-11-07 Pavel Roskin <proski@gnu.org>
33733
d99d46f1 33734 * gendistlist.sh: Use C locale for sorting to ensure consistent
33735 output on all systems.
33736
b6c15a2d 33737 * util/grub.d/00_header.in: Remove incorrect space before
33738 "serial".
33739
c32ee8c9 337402008-11-07 Robert Millan <rmh@aybabtu.com>
33741
33742 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33743 per specification.
33744 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33745 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33746 (based on find_multi_boot1_header).
33747 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33748 using find_multi_boot2_header(), and abort if neither Multiboot or
33749 Multiboot headers were found.
33750
651c29b7 337512008-11-07 Robert Millan <rmh@aybabtu.com>
33752
33753 Modularize at_keyboard.mod:
33754
33755 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33756 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33757 (at_keyboard_mod_LDFLAGS): New variables.
33758
33759 Actual terminal split:
33760
33761 * include/grub/term.h (struct grub_term): Split in ...
33762 (struct grub_term_input): ... this, and ...
33763 (struct grub_term_output): ... this. Update all users.
33764 (grub_term_set_current): Split in ...
33765 (grub_term_set_current_input): ... this, and ...
33766 (grub_term_set_current_output): ... this.
33767 (grub_term_get_current): Split in ...
33768 (grub_term_get_current_input): ... this, and ...
33769 (grub_term_get_current_output): ... this.
33770 (grub_term_register): Split in ...
33771 (grub_term_register_input): ... this, and ...
33772 (grub_term_register_output): ... this.
33773 (grub_term_unregister): Split in ...
33774 (grub_term_unregister_input): ... this, and ...
33775 (grub_term_unregister_output): ... this.
33776 (grub_term_iterate): Split in ...
33777 (grub_term_iterate_input): ... this, and ...
33778 (grub_term_iterate_output): ... this.
33779
33780 * kern/term.c (grub_term_list): Split in ...
33781 (grub_term_list_input): ... this, and ...
33782 (grub_term_list_output): ... this. Update all users.
33783 (grub_cur_term): Split in ...
33784 (grub_cur_term_input): ... this, and ...
33785 (grub_cur_term_output): ... this. Update all users.
33786 (grub_term_set_current): Split in ...
33787 (grub_term_set_current_input): ... this, and ...
33788 (grub_term_set_current_output): ... this.
33789 (grub_term_get_current): Split in ...
33790 (grub_term_get_current_input): ... this, and ...
33791 (grub_term_get_current_output): ... this.
33792 (grub_term_register): Split in ...
33793 (grub_term_register_input): ... this, and ...
33794 (grub_term_register_output): ... this.
33795 (grub_term_unregister): Split in ...
33796 (grub_term_unregister_input): ... this, and ...
33797 (grub_term_unregister_output): ... this.
33798 (grub_term_iterate): Split in ...
33799 (grub_term_iterate_input): ... this, and ...
33800 (grub_term_iterate_output): ... this.
33801
33802 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33803 a check for input and one for output (and only attempt to get keys
33804 from user when input works).
33805
33806 * util/grub-probe.c (grub_term_get_current): Split in ...
33807 (grub_term_get_current_input): ... this, and ...
33808 (grub_term_get_current_output): ... this.
33809 * util/grub-fstest.c: Likewise.
33810 * util/i386/pc/grub-setup.c: Likewise.
33811 * util/grub-editenv.c: Likewise.
33812
33813 Portability adjustments:
33814
33815 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33816 `term/i386/pc/at_keyboard.c'.
33817 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33818 grub_keyboard_controller_init() (now handled by terminal .init).
33819 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33820 grub_at_keyboard_init().
33821 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33822 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33823 at_keyboard.mod via input terminal interface).
33824 * include/grub/i386/coreboot/console.h: Convert into a stub for
33825 `<grub/i386/pc/console.h>'.
33826
33827 Migrate full terminals to new API:
33828
33829 * term/efi/console.c (grub_console_term): Split into ...
33830 (grub_console_term_input): ... this, and ...
33831 (grub_console_term_output): ... this. Update all users.
33832 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33833 (grub_ofconsole_init): Split into ...
33834 (grub_ofconsole_init_input): ... this, and ...
33835 (grub_ofconsole_init_output): ... this.
33836 (grub_ofconsole_term): Split into ...
33837 (grub_ofconsole_term_input): ... this, and ...
33838 (grub_ofconsole_term_output): ... this. Update all users.
33839 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33840 (grub_serial_term_input): ... this, and ...
33841 (grub_serial_term_output): ... this. Update all users.
33842 * term/i386/pc/console.c (grub_console_term): Split into ...
33843 (grub_console_term_input): ... this, and ...
33844 (grub_console_term_output): ... this. Update all users.
33845 (grub_console_term_input): Only enable it on PC/BIOS platform.
33846 (grub_console_init): Remove grub_keyboard_controller_init() call.
33847
33848 Migrate input terminals to new API:
33849
33850 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33851 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33852 i386-specific anyway).
33853 (grub_console_checkkey): Rename to ...
33854 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33855 users.
33856 (grub_keyboard_controller_orig): New variable.
33857 (grub_console_getkey): Rename to ...
33858 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33859 users.
33860 (grub_keyboard_controller_init): Static-ize. Save original
33861 controller value so that it can be restored ...
33862 (grub_keyboard_controller_fini): ... here (new function).
33863 (grub_at_keyboard_term): New structure.
33864 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33865 functions.
33866
33867 Migrate output terminals to new API:
33868
33869 * term/i386/pc/vga.c (grub_vga_term): Change type to
33870 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33871 members. Update all users.
33872 * term/gfxterm.c (grub_video_term): Change type to
33873 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33874 members. Update all users.
33875 * include/grub/i386/pc/console.h (grub_console_checkkey)
33876 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33877 etc).
33878
33879 Migrate `terminal' command and userland tools to new API:
33880
33881 * commands/terminal.c (grub_cmd_terminal): Split into ...
33882 (grub_cmd_terminal_input): ... this, and ...
33883 (grub_cmd_terminal_output): ... this.
33884 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33885 `terminal_input' and `terminal_output'.
33886 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33887 `terminal_input' / `terminal_output' API.
33888 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33889 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33890 provided ${GRUB_TERMINAL}, convert it).
33891
96e5d876 338922008-11-04 Robert Millan <rmh@aybabtu.com>
33893
33894 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33895 for FreeBSD.
33896 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33897
556f3775 338982008-11-03 Bean <bean123ch@gmail.com>
33899
33900 * kern/elf.c (grub_elf32_load): Revert to previous code.
33901 (grub_elf64_load): Likewise.
33902
33903 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33904
926b9823 339052008-11-01 Robert Millan <rmh@aybabtu.com>
33906
33907 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33908 (TARGET_CPPFLAGS): Likewise.
33909 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33910
1432e958 339112008-11-01 Carles Pina i Estany <carles@pina.cat>
33912
33913 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33914
dba3f844 339152008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33916
33917 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33918 addition of objects until the code is not going to be able to fail.
33919
dba3f844 339202008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33921
33922 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33923 (add a missing NULL check, and correct them by moving the pointer
33924 operations after the actual check).
33925
7ab28c21 339262008-10-29 Robert Millan <rmh@aybabtu.com>
33927
33928 * util/i386/pc/grub-install.in: Handle empty string as output from
33929 make_system_path_relative_to_its_root().
33930
1b7748eb 339312008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33932
33933 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33934 circular metadata worst case scenario. If the metadata is circular
33935 then copy the wrap in place.
33936 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33937 project lib/format_text/layout.h
33938 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33939
c9618ab2 339402008-10-03 Felix Zielcke <fzielcke@z-51.de>
33941
7a36edca 33942 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33943
bf981c62 339442008-10-03 Felix Zielcke <fzielcke@z-51.de>
33945
33946 * util/update-grub_lib.in: Mention filename in warning message.
33947
6d994591 339482008-09-29 Felix Zielcke <fzielcke@z-51.de>
33949
33950 * NEWS: Update for rename of update-grub to grub-mkconfig.
33951
18ade780 339522008-09-29 Felix Zielcke <fzielcke@z-51.de>
33953
33954 * util/update-grub_lib.in: Copy to ...
33955 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33956 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33957 * util/update-grub.in: Rename to ...
33958 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33959 option. Add `--output' option to allow users to specify the generated
33960 configuration file. Default to stdout.
33961 (update_grub_dir): Rename to ...
33962 (grub_mkconfig_dir): ... this.
33963 (grub_cfg): Default to an empty string.
33964 * conf/common.rmk (update-grub): Rename to ...
33965 (grub-mkconfig): ... this.
33966 (update-grub_lib): Copy to ...
33967 (grub-mkconfig_lib): ... this.
33968 (update-grub_SCRIPTS): Copy to ...
33969 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33970 (update-grub_DATA): Rename to ...
33971 (grub-mkconfig_DATA): ... this.
33972
556ce6ac 339732008-09-28 Robert Millan <rmh@aybabtu.com>
33974
33975 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33976 to `modified'. Add the real `created' field.
33977 (grub_iso9660_uuid): Use `modified' rather than `created' for
33978 constructing the UUID.
33979
339802008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33981
33982 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33983 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33984
92274e85 339852008-09-28 Bean <bean123ch@gmail.com>
33986
33987 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33988 Thanks to Christian Franke for finding this bug.
33989
add6f17a 339902008-09-25 Robert Millan <rmh@aybabtu.com>
33991
33992 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33993 instances of grub_util_get_disk_name() (see previous commit).
33994
d2a367b8 339952008-09-25 Robert Millan <rmh@aybabtu.com>
33996
33997 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33998 `util/i386/get_disk_name.c'.
33999 * conf/i386-efi.rmk: Likewise.
34000 * conf/x86_64-efi.rmk: Likewise.
34001 * conf/i386-coreboot.rmk: Likewise.
34002 * conf/i386-ieee1275.rmk: Likewise.
34003 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
34004 `util/ieee1275/get_disk_name.c'.
34005 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
34006 * util/ieee1275/get_disk_name.c: Remove file.
34007 * util/i386/get_disk_name.c: Remove file.
34008 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
34009 "hd%d" for device.map entries, rather than using
34010 grub_util_get_disk_name().
34011
81a06771 340122008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 34013
34014 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
34015 warning.
34016 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34017
5a004279 340182008-09-24 Carles Pina i Estany <carles@pina.cat>
34019
34020 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34021 Changed to 0x5100.
34022 (GRUB_TERM_PPAGE): Changed to 0x4900.
34023
397093d3 340242008-09-24 Robert Millan <rmh@aybabtu.com>
34025
34026 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34027 macros (they were i386-pc specific).
34028 * include/grub/sparc64/ieee1275/console.h: Likewise.
34029 * include/grub/efi/console.h: Likewise.
34030
a91b6c7c 340312008-09-22 Bean <bean123ch@gmail.com>
34032
34033 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34034 resident and in attribute list.
34035
34036 * include/grub/ntfs.h (BMP_LEN): Removed.
34037
c40fd116 340382008-09-22 Bean <bean123ch@gmail.com>
34039
81a06771 34040 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 34041 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34042
34043 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34044 error occurs, as grub_disk_open will call grub_disk_close, which will
34045 call p->close (scsi).
34046
81a06771 340472008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 34048
34049 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34050 (AC_PREREQ): Bumped to 2.59.
34051 (AC_TRY_COMPILE): Replace obsolete macro with ...
34052 (AC_COMPILE_IFELSE): ... this.
34053 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34054 (AC_LINK_IFELSE): ... this.
34055
5dc43410 340562008-09-21 Felix Zielcke <fzielcke@z-51.de>
34057
34058 * autogen.sh: Add a call to `gendistlist.sh'.
34059
9035dce4 340602008-09-19 Christian Franke <franke@computer.org>
34061
34062 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34063 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34064 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34065 Export __enable_execute_stack() to modules.
34066 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34067 New function.
34068
7fd75377 340692008-09-09 Felix Zielcke <fzielcke@z-51.de>
34070
040030b3 34071 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34072 Sort the list.
34073
340742008-09-09 Felix Zielcke <fzielcke@z-51.de>
34075
34076 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 34077 #include <grub/util/hostdisk.h>.
34078
89d5ffcf 340792008-09-08 Robert Millan <rmh@aybabtu.com>
34080
34081 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34082 segments when their filesz is zero (grub_file_read() interprets
81a06771 34083 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 34084 Use `lowest_segment' rather than 0 for calculating the current
34085 segment load address.
34086
40da438f 340872008-09-08 Robert Millan <rmh@aybabtu.com>
34088
34089 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34090 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34091 clobbered useful information.
34092
ddbf5556 340932008-09-08 Robert Millan <rmh@aybabtu.com>
34094
34095 * include/grub/util/biosdisk.h: Move to ...
34096 * include/grub/util/hostdisk.h: ... here. Update all users.
34097 * util/biosdisk.c: Move to ...
34098 * util/hostdisk.c: ... here. Update all users.
34099
783d0f48 341002008-09-07 Robert Millan <rmh@aybabtu.com>
34101
34102 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34103 variables.
34104 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34105 and length can be stored directly in the `mbi->mmap_addr' and
34106 `mbi->mmap_length' struct fields.
34107
548e2ea5 341082008-09-07 Robert Millan <rmh@aybabtu.com>
34109
34110 * conf/i386.rmk: New file. Provides declaration for building
34111 `cpuid.mod'.
34112 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34113 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34114 variables.
34115 Include `conf/i386.mk'.
34116 * conf/i386-efi.rmk: Likewise.
34117 * conf/x86_64-efi.rmk: Likewise.
34118 * conf/i386-coreboot.rmk: Likewise.
34119 * conf/i386-ieee1275.rmk: Likewise.
34120
0ea85a37 341212008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34122
34123 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34124 Adds optimization support for BGR based modes.
34125
34126 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34127 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34128 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34129 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34130 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34131 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34132 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34133 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34134 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34135 (grub_video_i386_vbeblit_index_index): Likewise.
34136 (grub_video_i386_vbeblit_replace_directN): Added.
34137 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34138 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34139 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34140 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34141 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34142 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34143 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34144 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34145 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34146 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34147 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34148 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34149 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34150
34151 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34152 (grub_video_i386_vbefill_R8G8B8): Likewise.
34153 (grub_video_i386_vbefill_index): Likewise.
34154 (grub_video_i386_vbefill_direct32): Added.
34155 (grub_video_i386_vbefill_direct24): Likewise.
34156 (grub_video_i386_vbefill_direct16): Likewise.
34157 (grub_video_i386_vbefill_direct8): Likewise.
34158
81a06771 34159 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34160 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34161 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34162 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34163 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34164 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34165
0ea85a37 34166 * video/video.c (grub_video_get_blit_format): Updated to use new
34167 blit formats. Added handling for 16 bit color modes.
81a06771 34168
34169 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34170 fillers.
34171 (common_blitter): Updated to use new blitters.
34172
34173 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34174 Removed.
34175 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34176 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34177 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34178 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34179 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34180 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34181 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34182 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34183 (grub_video_i386_vbeblit_index_index): Likewise.
34184 (grub_video_i386_vbeblit_replace_directN): Added.
34185 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34186 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34187 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34188 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34189 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34190 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34191 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34192 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34193 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34194 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34195 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34196 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34197 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34198
0ea85a37 34199 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34200 (grub_video_i386_vbefill_R8G8B8): Likewise.
34201 (grub_video_i386_vbefill_index): Likewise.
34202 (grub_video_i386_vbefill_direct32): Added.
34203 (grub_video_i386_vbefill_direct24): Likewise.
34204 (grub_video_i386_vbefill_direct16): Likewise.
34205 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34206
0ea85a37 34207 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34208 types.
81a06771 34209
0ea85a37 34210 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34211 types.
81a06771 34212
0ea85a37 34213 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34214 blitter types.
81a06771 34215
0ea85a37 34216 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34217 types.
34218
e8a83df6 342192008-09-06 Felix Zielcke <fzielcke@z-51.de>
34220
34221 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34222 RAID level 1.
34223
6bcd8ee5 342242008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34225
6bcd8ee5 34226 * fs/iso9660.c (grub_iso9660_date): New structure.
34227 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34228 (grub_iso9660_uuid): New function.
c375ae58 34229
59261157 342302008-09-05 Bean <bean123ch@gmail.com>
34231
34232 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34233
34234 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34235 insensitive bit for names in Win32 and Win32 & DOS namespace.
34236
34237 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34238
34239 * include/grub/types.h (LONG_MAX): Likewise.
34240
58b6645a 342412008-09-04 Felix Zielcke <fzielcke@z-51.de>
34242
4ee55921 34243 * util/getroot.c: Include <config.h>.
34244 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34245 add support for /dev/md/N devices and handle LVM double dash escaping.
34246
342472008-09-04 Felix Zielcke <fzielcke@z-51.de>
34248
34249 * config.guess: Update to latest version from config git.
34250 * config.sub: Likewise.
58b6645a 34251
9124f65d 342522008-09-03 Robert Millan <rmh@aybabtu.com>
34253
34254 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34255 `disk->total_sectors'.
34256
81a06771 342572008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34258
34259 * include/grub/normal.h: Fixed incorrect comment for
34260 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34261
81a06771 342622008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34263
34264 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34265 values with defines.
34266
34267 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34268 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34269 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34270 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34271 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34272 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34273 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34274 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34275 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34276 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34277 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34278 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34279 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34280 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34281 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34282 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34283 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34284 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34285 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34286
93d5cbf8 342872008-08-31 Robert Millan <rmh@aybabtu.com>
34288
34289 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34290 declaration.
34291 (grub_multiboot): Fix a few warnings.
34292
21751d50 342932008-08-31 Robert Millan <rmh@aybabtu.com>
34294
34295 * loader/i386/pc/multiboot.c: Update comment not to say that
34296 boot_device support is unimplemented.
34297
e27a75c5 342982008-08-31 Robert Millan <rmh@aybabtu.com>
34299
34300 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34301 or memory map support are unimplemented.
34302
81a06771 343032008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34304
34305 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34306
81a06771 343072008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34308
34309 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34310 total video memory in 'vbeinfo' output; show color format details for
34311 each video mode.
34312
7c5d8d95 343132008-08-30 Pavel Roskin <proski@gnu.org>
34314
34315 * util/genmoddep.c: Remove for real this time.
34316 * DISTLIST: Remove util/genmoddep.c.
34317
4cebd25a 343182008-08-30 Robert Millan <rmh@aybabtu.com>
34319
34320 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34321 as required by Multiboot spec (it was already 4-byte aligned, but
34322 only by chance).
34323
b497a269 343242008-08-29 Pavel Roskin <proski@gnu.org>
34325
e3925185 34326 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34327 * kern/powerpc/ieee1275/startup.S: ... this.
34328 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34329 * DISTLIST: Likewise.
34330
b497a269 34331 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34332 grub/cpu/kernel.h. Add start label for consistency with other
34333 platforms. Add grub_prefix immediately after start. Add jump
34334 to the code after grub_prefix.
34335 * include/grub/powerpc/kernel.h: Provide valid values for
34336 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34337
6e5a42fe 343382008-08-29 Bean <bean123ch@gmail.com>
34339
34340 * configure.ac: Change host_os to cygwin for mingw.
34341 (asprintf): New check for function.
34342
34343 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34344 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34345
34346 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34347 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34348 sync, sleep and grub_util_get_disk_size for mingw.
34349
34350 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34351 to get size in mingw.
34352 (open_device): Use flag O_BINARY if it's defined.
34353 (find_root_device): Add dummy code for mingw.
34354
34355 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34356 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34357 (get_scsi_disk_name): Return 0 for mingw.
34358
34359 * util/hostfs.c: #include <grub/util/misc.h>.
34360 (grub_hostfs_open): Use "rb" flag to open file, use
34361 grub_util_get_disk_size to get disk size for mingw.
34362
34363 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34364 (asprintf): New function if HAVE_ASPRINTF is not set.
34365 (sync): New function for mingw.
34366 (sleep): Likewise.
34367 (grub_util_get_disk_size): Likewise.
34368
ab3f2673 343692008-08-28 Pavel Roskin <proski@gnu.org>
34370
34371 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34372 kern/time.c.
34373
1c282483 343742008-08-28 Robert Millan <rmh@aybabtu.com>
34375
34376 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34377
678e849c 343782008-08-28 Robert Millan <rmh@aybabtu.com>
34379
34380 Change find_grub_drive() syntax so it doesn't prevent it from
34381 detecting NULL names as errors.
34382
34383 * util/biosdisk.c (find_grub_drive): Move free slot search code
34384 from here ...
34385 (find_free_slot): ... to here.
34386 (read_device_map): Use find_free_slot() to search for free slots.
34387
965c75ca 343882008-08-27 Marco Gerards <marco@gnu.org>
34389
34390 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34391 (scsi_mod_SOURCES): New variable.
34392 (scsi_mod_CFLAGS): Likewise
34393 (scsi_mod_LDFLAGS): Likewise.
34394
34395 * disk/scsi.c: New file.
34396
34397 * include/grub/scsi.h: Likewise.
34398
34399 * include/grub/scsicmd.h: Likewise.
34400
34401 * disk/ata.c: Include <grub/scsi.h>.
34402 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34403 instead.
34404 (grub_ata_iterate): Skip ATAPI devices.
34405 (grub_ata_open): Only handle ATAPI devices.
34406 (struct grub_atapi_read): Removed.
34407 (grub_atapi_readsector): Likewise.
34408 (grub_ata_read): No longer handle ATAPI devices.
34409 (grub_ata_write): Likewise.
34410 (grub_atapi_iterate): New function.
34411 (grub_atapi_read): Likewise.
34412 (grub_atapi_write): Likewise.
34413 (grub_atapi_open): Likewise.
34414 (grub_atapi_close): Likewise.
34415 (grub_atapi_dev): New variable.
34416 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34417 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34418
34419 * include/grub/disk.h (enum grub_disk_dev_id): Add
34420 `GRUB_DISK_DEVICE_SCSI_ID'.
34421
c07ae501 344222008-08-26 Robert Millan <rmh@aybabtu.com>
34423
34424 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34425 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34426 descriptive.
34427
5ed20adc 344282008-08-23 Bean <bean123ch@gmail.com>
34429
34430 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34431 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34432 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34433 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34434 dm_nv.mod.
34435 (raid5rec_mod_SOURCES): New macro.
34436 (raid5rec_mod_CFLAGS): Likewise.
34437 (raid5rec_mod_LDFLAGS): Likewise.
34438 (raid6rec_mod_SOURCES): Likewise.
34439 (raid6rec_mod_CFLAGS): Likewise.
34440 (raid6rec_mod_LDFLAGS): Likewise.
34441 (mdraid_mod_SOURCES): Likewise.
34442 (mdraid_mod_CFLAGS): Likewise.
34443 (mdraid_mod_LDFLAGS): Likewise.
34444 (dm_nv_mod_SOURCES): Likewise.
34445 (dm_nv_mod_CFLAGS): Likewise.
34446 (dm_nv_mod_LDFLAGS): Likewise.
34447
34448 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34449 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34450 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34451
34452 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34453 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34454
34455 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34456
34457 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34458
34459 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34460
34461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34462
34463 * disk/raid5_recover.c: New file.
34464
34465 * disk/raid6_recover.c: Likewise.
34466
34467 * disk/mdraid_linux.c: Likewise.
34468
34469 * disk/dmraid_nvidia.c: Likewise.
34470
34471 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34472 ULONG_MAX.
34473
34474 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34475 calculate the size of raid device.
34476 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34477 different layout of raid5.
34478 (grub_raid_scan_device): Remove code specific to mdraid.
34479 (grub_raid_list): New variable.
34480 (free_array): New function.
34481 (grub_raid_register): Likewise.
34482 (grub_raid_unregister): Likewise.
34483 (grub_raid_rescan): Likewise.
34484 (GRUB_MOD_INIT): Don't iterate device here.
34485 (GRUB_MOD_FINI): Use free_array to release resource.
34486
34487 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34488 (grub_raid5_recover_func_t): New function variable type.
34489 (grub_raid6_recover_func_t): Likewise.
34490 (grub_raid5_recover_func): New variable.
34491 (grub_raid6_recover_func): Likewise.
34492 (grub_raid_register): New function.
34493 (grub_raid_unregister): Likewise.
34494 (grub_raid_rescan): Likewise.
34495 (grub_raid_block_xor): Likewise.
34496
34497 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34498 (CMD_CRC): New macro.
34499 (part): Removed.
34500 (read_file): Handle device as well as file.
34501 (cmd_crc): New function.
34502 (fstest): Handle multiple disks.
34503 (options): Remove part, raw and long, add root and diskcount.
34504 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34505 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34506 add handling for the new options, support multiple disks.
34507
34508 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34509
29c18915 345102008-08-23 Bean <bean123ch@gmail.com>
34511
34512 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34513
34514 * genfslist.sh: Ignore kernel.mod.
34515
34516 * genpartmaplist.sh: Likewise.
34517
8415f261 345182008-08-23 Robert Millan <rmh@aybabtu.com>
34519
34520 * util/getroot.c (find_root_device): Skip anything that starts with
34521 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34522
d5a7dc5b 345232008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34524
d5a7dc5b 34525 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34526 * util/grub.d/00_header.in: Allow the administrator to change default
34527 gfxmode via ${GRUB_GFXMODE}.
34528
380cfbb4 345292008-08-21 Felix Zielcke <fzielcke@z-51.de>
34530
34531 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34532
c9baafe7 345332008-08-21 Robert Millan <rmh@aybabtu.com>
34534
34535 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34536 loader.
34537 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34538 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34539
e290bef2 345402008-08-20 Carles Pina i Estany <carles@pina.cat>
34541
34542 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34543 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34544
f9dbfc96 345452008-08-19 Robert Millan <rmh@aybabtu.com>
34546
34547 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34548 (struct grub_virtual_screen): Remove `cursor_color'.
34549 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34550 initialization.
34551 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34552
dd6bd6ab 345532008-08-18 Robert Millan <rmh@aybabtu.com>
34554
34555 Unify (identical) linux_normal.c files.
34556 * loader/i386/efi/linux_normal.c: Move from here ...
34557 * loader/linux_normal.c: ... to here. Update all users.
34558 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34559 * loader/i386/ieee1275/linux_normal.c: Likewise.
34560
7f42f83e 345612008-08-18 Robert Millan <rmh@aybabtu.com>
34562
34563 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34564 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34565 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34566 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34567 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34568 New macros.
34569 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34570 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34571 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34572 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34573 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34574 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34575 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34576 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34577 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34578 portably using grub_getxy().
34579 Replace `-EFI' with `-bzImage' in boot message.
34580
38487ddb 345812008-08-17 Robert Millan <rmh@aybabtu.com>
34582
34583 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34584
deceb3ec 345852008-08-17 Robert Millan <rmh@aybabtu.com>
34586
34587 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34588
34589 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34590 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34591 (grub_machine_mmap_iterate): New function declaration.
34592 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34593 structure.
34594 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34595 macros.
34596
34597 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34598 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34599 Move e820 parsing from here ...
34600 * kern/i386/pc/mmap.c: New file.
34601 (grub_machine_mmap_iterate): ... to here.
34602
34603 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34604 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34605 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34606 (grub_available_iterate): Redeclare to return `void', and redeclare
34607 its hook to use grub_uint64_t as addr and size parameters, and rename
34608 to ...
34609 (grub_machine_mmap_iterate): ... this. Update all users.
34610
34611 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34612 to make it more readable. Rename to ...
34613 (grub_machine_mmap_iterate): ... this.
34614
34615 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34616 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34617 (grub_multiboot): Allocate an extra region after the payload, and fill
34618 it with a Multiboot memory map. Adjust a.out loader to calculate size
34619 with the extra space.
34620 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34621 with the extra space.
34622
f8aa0f43 346232008-08-17 Carles Pina i Estany <carles@pina.cat>
34624
9807deb9 34625 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34626
605f5bb6 346272008-08-17 Felix Zielcke <fzielcke@z-51.de>
34628
34629 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34630 mdate-sh to the list `find' searches for.
34631 * DISTLIST: Regenerated.
34632
210db6c6 346332008-08-16 Felix Zielcke <fzielcke@z-51.de>
34634
34635 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34636 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34637 genmoddep.awk, gensymlist.sh.in.
34638 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 34639 * DISTLIST: Regenerated.
48cdbfd4 34640 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 34641
1082b929 346422008-08-16 Robert Millan <rmh@aybabtu.com>
34643
34644 * disk/raid.c (grub_raid_init): Handle/report errors set by
34645 grub_device_iterate().
34646 * disk/lvm.c (grub_lvm_init): Likewise.
34647
42ce5170 346482008-08-15 Bean <bean123ch@gmail.com>
34649
34650 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34651 and datehook.mod.
34652 (datetime_mod_SOURCES): New macro.
34653 (datetime_mod_CFLAGS): Likewise.
34654 (datetime_mod_LDFLAGS): Likewise.
34655 (date_mod_SOURCES): Likewise.
34656 (date_mod_CFLAGS): Likewise.
34657 (date_mod_LDFLAGS): Likewise.
34658 (datehook_mod_SOURCES): Likewise.
34659 (datehook_mod_CFLAGS): Likewise.
34660 (datehook_mod_LDFLAGS): Likewise.
34661
34662 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34663 and datehook.mod.
34664 (datetime_mod_SOURCES): New macro.
34665 (datetime_mod_CFLAGS): Likewise.
34666 (datetime_mod_LDFLAGS): Likewise.
34667 (date_mod_SOURCES): Likewise.
34668 (date_mod_CFLAGS): Likewise.
34669 (date_mod_LDFLAGS): Likewise.
34670 (datehook_mod_SOURCES): Likewise.
34671 (datehook_mod_CFLAGS): Likewise.
34672 (datehook_mod_LDFLAGS): Likewise.
34673
34674 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34675 and datehook.mod.
34676 (datetime_mod_SOURCES): New macro.
34677 (datetime_mod_CFLAGS): Likewise.
34678 (datetime_mod_LDFLAGS): Likewise.
34679 (date_mod_SOURCES): Likewise.
34680 (date_mod_CFLAGS): Likewise.
34681 (date_mod_LDFLAGS): Likewise.
34682 (datehook_mod_SOURCES): Likewise.
34683 (datehook_mod_CFLAGS): Likewise.
34684 (datehook_mod_LDFLAGS): Likewise.
34685
34686 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34687 and datehook.mod.
34688 (datetime_mod_SOURCES): New macro.
34689 (datetime_mod_CFLAGS): Likewise.
34690 (datetime_mod_LDFLAGS): Likewise.
34691 (date_mod_SOURCES): Likewise.
34692 (date_mod_CFLAGS): Likewise.
34693 (date_mod_LDFLAGS): Likewise.
34694 (datehook_mod_SOURCES): Likewise.
34695 (datehook_mod_CFLAGS): Likewise.
34696 (datehook_mod_LDFLAGS): Likewise.
34697
34698 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34699 and datehook.mod.
34700 (datetime_mod_SOURCES): New macro.
34701 (datetime_mod_CFLAGS): Likewise.
34702 (datetime_mod_LDFLAGS): Likewise.
34703 (date_mod_SOURCES): Likewise.
34704 (date_mod_CFLAGS): Likewise.
34705 (date_mod_LDFLAGS): Likewise.
34706 (datehook_mod_SOURCES): Likewise.
34707 (datehook_mod_CFLAGS): Likewise.
34708 (datehook_mod_LDFLAGS): Likewise.
34709
34710 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34711
34712 * commands/date.c: New file.
34713
34714 * hook/datehook.c: Likewise.
34715
34716 * include/grub/lib/datetime.h: Likewise.
34717
34718 * include/grub/i386/cmos.h: Likewise.
34719
34720 * lib/datetime.c: Likewise.
34721
34722 * lib/i386/datetime.c: Likewise.
34723
34724 * lib/efi/datetime.c: Likewise.
34725
0e9242da 347262008-08-14 Robert Millan <rmh@aybabtu.com>
34727
34728 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34729 (grub_mkelfimage_SOURCES): New variable.
34730 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34731
34732 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34733 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34734 * conf/powerpc-ieee1275.rmk: Likewise.
34735 * conf/i386-ieee1275.rmk: Likewise.
34736
34737 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34738 * kern/i386/coreboot/init.c: Likewise.
34739
34740 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34741 with `<grub/cpu/kernel.h>'.
34742 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34743 to ...
34744 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34745 * kern/i386/coreboot/startup.S: Likewise.
34746
34747 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34748 (GRUB_MOD_GAP): Remove.
34749 * include/grub/powerpc/kernel.h: New file.
34750 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34751 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34752 * include/grub/i386/kernel.h: New file.
34753 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34754 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34755 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34756
34757 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34758 `grub-mkelfimage'.
34759 Use --directory when invoking grub_mkimage.
34760
34761 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34762 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34763 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34764 and GRUB_KERNEL_CPU_PREFIX.
34765
b86408f8 347662008-08-14 Felix Zielcke <fzielcke@z-51.de>
34767
d5e619ca 34768 * include/grub/err.h (grub_err_printf): New function prototype.
34769 * util/misc.c (grub_err_printf): New function.
34770 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34771 grub_printf.
34772 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34773
7161f0e0 347742008-08-13 Robert Millan <rmh@aybabtu.com>
34775
34776 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34777
a1967522 347782008-08-13 Robert Millan <rmh@aybabtu.com>
34779
34780 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34781 boot entry.
34782
371458b5 347832008-08-12 Robert Millan <rmh@aybabtu.com>
34784
34785 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34786 of the relocation code from here ...
34787 (grub_multiboot): ... to here.
34788 (forward_relocator, backward_relocator): Move from here ...
34789 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34790 (grub_multiboot_backward_relocator): ... to here.
34791 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34792 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34793 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34794 (grub_multiboot_forward_relocator_end)
34795 (grub_multiboot_backward_relocator)
34796 (grub_multiboot_backward_relocator_end): New variables.
34797
05f9452b 347982008-08-12 Bean <bean123ch@gmail.com>
34799
34800 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34801
20024ab0 348022008-08-11 Robert Millan <rmh@aybabtu.com>
34803
34804 * kern/i386/linuxbios/startup.S: Move from here ...
34805 * kern/i386/coreboot/startup.S: ... to here.
34806
34807 * kern/i386/linuxbios/init.c: Move from here ...
34808 * kern/i386/coreboot/init.c: ... to here.
34809
34810 * kern/i386/linuxbios/table.c: Move from here ...
34811 * kern/i386/coreboot/mmap.c: ... to here.
34812
34813 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34814
e352e9cd 348152008-08-11 Robert Millan <rmh@aybabtu.com>
34816
34817 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34818 errors. Leave it to the upper layer to handle them.
34819
2d05bc6a 348202008-08-09 Christian Franke <franke@computer.org>
34821
34822 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34823 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34824 Install `grub.d/10_windows' only on Cygwin.
34825 * configure.ac: Add subst of `target_os'.
34826 Check `target_os' also before setting TARGET_OBJ2ELF.
34827 Add `--enable-grub-pe2elf'.
34828
042bd419 348292008-08-08 Robert Millan <rmh@aybabtu.com>
34830
34831 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34832 (grub_last_time): Change type to grub_uint64_t.
34833 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34834 (grub_disk_close): Likewise.
34835
34836 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34837 (run_menu): Migrate code from to using grub_get_time_ms().
34838
34839 * util/misc.c (grub_get_time_ms): New function.
34840
7f280db5 348412008-08-08 Marco Gerards <marco@gnu.org>
34842
34843 * disk/ata.c (grub_ata_regget): Change return type to
34844 `grub_uint8_t'.
34845 (grub_ata_regget2): Likewise.
34846 (grub_ata_wait_status): New function.
34847 (grub_ata_wait_busy): Removed function, updated all users to use
34848 `grub_ata_wait_status'.
34849 (grub_ata_wait_drq): Likewise.
34850 (grub_ata_cmd): New function.
34851 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34852 error handling.
34853 (grub_ata_pio_write): Add error handling.
34854 (grub_atapi_identify): Likewise.
34855 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34856 handling.
34857 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34858 handling. Actually use the detected registers. Reorder the
34859 detection logic such that it is easier to read.
34860 (grub_ata_pciinit): Do not assign the same ID to each controller.
34861 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34862 handling.
34863 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34864
34865 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34866
1fbc5e66 348672008-08-08 Marco Gerards <marco@gnu.org>
34868
34869 * NEWS: Update.
34870
819ce6c0 348712008-08-07 Bean <bean123ch@gmail.com>
34872
34873 * include/grub/x86_64/pci.h: New file.
34874
5c41d44d 348752008-08-07 Christian Franke <franke@computer.org>
34876
34877 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34878 (TIMER2_GATE): Likewise.
34879 (grub_pit_wait): Add enable/disable of the timer2 gate
34880 bit of port 0x61. This fixes a possible infinite loop.
34881
5ebc275d 348822008-08-07 Bean <bean123ch@gmail.com>
34883
34884 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34885 kern/i386/tsc.c and kern/i386/pit.c.
34886
34887 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34888 x86_64 platform.
34889
34890 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34891 <grub/i386/tsc.h>.
34892
34893 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34894
e383b3d0 348952008-08-07 Bean <bean123ch@gmail.com>
34896
34897 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34898
34899 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34900
34901 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34902 multiple inclusion. Add #include <grub/types.h>.
34903
1cbb58ac 349042008-08-06 Christian Franke <franke@computer.org>
34905
34906 * conf/common.rmk: Build and install `10_windows'.
34907 * util/grub.d/10_windows.in: New script.
34908
337f5a1e 349092008-08-06 Pavel Roskin <proski@gnu.org>
34910
34911 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34912
057bc4ac 349132008-08-06 Robert Millan <rmh@aybabtu.com>
34914
34915 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34916 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34917
2b99f123 349182008-08-06 Bean <bean123ch@gmail.com>
34919
34920 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34921 (grub_pxefs_fs_int): Remove dummy definition.
34922 (grub_pxefs_open): Use data->block_size to store the current block
34923 size setting.
34924 (grub_pxefs_read): Use block size stored in data->block_size. As the
34925 value of grub_pxe_blksize can be changed after the file is opened.
34926
9f0234cb 349272008-08-06 Bean <bean123ch@gmail.com>
34928
34929 * fs/i386/pc/pxe.c (curr_file): new variable.
34930 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34931 require the dummy internal file system anymore.
34932 (grub_pxefs_read): Removed.
34933 (grub_pxefs_close): Likewise.
34934 (grub_pxefs_fs_int): Likewise.
34935 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34936 connection when we switch file.
34937 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34938
a55d42e0 349392008-08-06 Robert Millan <rmh@aybabtu.com>
34940
34941 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34942 `halt.mod'.
34943 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34944 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34945
34946 * kern/i386/halt.c: New file.
34947 * kern/i386/reboot.c: Likewise.
34948 * include/grub/i386/reboot.h: Likewise.
34949 * include/grub/i386/halt.h: Likewise.
34950
34951 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34952 Include `<grub/cpu/halt.h>'.
34953 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34954 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34955
34956 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34957 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34958 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34959 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34960 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34961 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34962 from here ...
34963 * include/grub/i386/at_keyboard.h: ... to here.
34964
24371d26 349652008-08-05 Robert Millan <rmh@aybabtu.com>
34966
34967 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34968 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34969 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34970 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34971 `kern/generic/millisleep.c'.
34972
34973 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34974 instead of grub_get_rtc().
34975 (grub_tsc_init): Initialize `tsc_boot_time'.
34976
34977 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34978 (grub_machine_init): Use grub_tsc_init() rather than
34979 installing an RTC-based handler via grub_install_get_time_ms().
34980
34981 * kern/i386/pit.c: New file.
34982 * include/grub/i386/pit.h: Likewise.
34983
9e7007b3 349842008-08-05 Bean <bean123ch@gmail.com>
34985
34986 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34987
34988 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34989 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34990 (pxe_mod_SOURCES): New macro.
34991 (pxe_mod_CFLAGS): Likewise.
34992 (pxe_mod_LDFLAGS): Likewise.
34993 (pxecmd_mod_SOURCES): Likewise.
34994 (pxecmd_mod_CFLAGS): Likewise.
34995 (pxecmd_mod_LDFLAGS): Likewise.
34996
34997 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34998 (grub_pxe_call): Likewise.
34999
35000 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
35001
35002 * commands/i386/pc/pxecmd.c: New file.
35003
9f0234cb 35004 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 35005
35006 * include/grub/i386/pc/pxe.h: Likewise.
35007
6977d49f 350082008-08-05 Bean <bean123ch@gmail.com>
35009
35010 * util/console.c (grub_console_cur_color): New variable.
35011 (grub_console_standard_color): Likewise.
35012 (grub_console_normal_color): Likewise.
35013 (grub_console_highlight_color): Likewise.
35014 (color_map): Likewise.
35015 (use_color): Likewise.
35016 (NUM_COLORS): New macro.
35017 (grub_ncurses_setcolorstate): Handle color properly.
35018 (grub_ncurses_setcolor): Don't change color here, just remember the
35019 settings, color will be set in grub_ncurses_setcolorstate.
35020 (grub_ncurses_getcolor): New function.
35021 (grub_ncurses_init): Initialize color pairs.
35022 (grub_ncurses_term): New member grub_ncurses_getcolor.
35023
9c2ff3ee 350242008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 35025
9c2ff3ee 35026 High resolution timer support. Implemented for x86 CPUs using TSC.
35027 Extracted generic grub_millisleep() so it's linked in only as needed.
35028 This requires a Pentium compatible CPU; if the RDTSC instruction is
35029 not supported, then it falls back on the generic grub_get_time_ms()
35030 implementation that uses the machine's RTC.
35031
35032 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35033 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35034 `kern/generic/millisleep.c'.
35035
35036 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35037 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35038
35039 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35040 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35041
35042 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35043
35044 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35045 `kern/generic/millisleep.c'.
35046
35047 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35048
35049 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35050
35051 * kern/generic/rtc_get_time_ms.c: New file.
35052
35053 * kern/generic/millisleep.c: New file.
337f5a1e 35054
9c2ff3ee 35055 * kern/misc.c: Don't include
35056 <kern/time.h> anymore.
35057 (grub_millisleep_generic): Removed.
35058
35059 * commands/sleep.c (grub_interruptible_millisleep): Uses
35060 grub_get_time_ms() instead of grub_get_rtc().
35061
35062 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35063 function.
35064 (grub_cpu_is_cpuid_supported): New inline function.
35065 (grub_cpu_is_tsc_supported): New inline function.
35066 (grub_tsc_init): New function prototype.
35067 (grub_tsc_get_time_ms): New function prototype.
35068
35069 * kern/i386/tsc.c (grub_get_time_ms): New file.
35070
35071 * include/grub/time.h: Include <grub/types.h.
35072 (grub_millisleep_generic): Removed.
35073 (grub_get_time_ms): New prototype.
35074 (grub_install_get_time_ms): New prototype.
35075 (grub_rtc_get_time_ms): New prototype.
35076
35077 * kern/time.c (grub_get_time_ms): New function.
35078 (grub_install_get_time_ms): New function.
35079
35080 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35081 <grub/time.h> anymore.
35082 (grub_millisleep): Removed.
35083 (grub_machine_init): Call grub_tsc_init.
35084
35085 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35086 get_time_ms() implementation.
35087
35088 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35089 (ieee1275_get_time_ms): New function.
35090 (grub_machine_init): Install get_time_ms() implementation.
35091
35092 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35093 (grub_machine_init): Call grub_tsc_init().
35094 (grub_millisleep): Removed.
bf06a93f 35095
9c2ff3ee 35096 * kern/ieee1275/init.c (grub_millisleep): Removed.
35097 (grub_machine_init): Install ieee1275_get_time_ms()
35098 implementation.
35099 (ieee1275_get_time_ms): New function.
35100 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35101 real work.
35102
9ec92aaf 351032008-08-05 Marco Gerards <marco@gnu.org>
35104
35105 * disk/ata.c: Include <grub/pci.h>.
35106 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35107 (grub_ata_initialize): Rewritten.
35108 (grub_ata_device_initialize): New function.
35109
8d23f507 351102008-08-04 Pavel Roskin <proski@gnu.org>
35111
35112 * kern/main.c: Include grub/mm.h.
35113
5e15ee3d 351142008-08-04 Robert Millan <rmh@aybabtu.com>
35115
35116 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35117 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35118 corruption problem).
35119
a9053f8f 351202008-08-04 Robert Millan <rmh@aybabtu.com>
35121
35122 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35123 warnings introduced in my last commit.
35124
dd19c7d7 351252008-08-03 Robert Millan <rmh@aybabtu.com>
35126
35127 Make PCI available on all i386 architectures.
35128
35129 * include/grub/i386/pc/pci.h: Move from here ...
35130 * include/grub/i386/pci.h: ... to here.
35131
35132 * include/grub/i386/pc/pci.h: Remove.
35133 * include/grub/i386/efi/pci.h: Remove.
35134 * include/grub/x86_64/efi/pci.h: Remove.
35135
35136 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35137 `<grub/cpu/pci.h>'.
35138
35139 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35140 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35141 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35142
35143 * conf/i386-ieee1275.rmk: Likewise.
35144
e14a6184 351452008-08-03 Robert Millan <rmh@aybabtu.com>
35146
35147 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35148 (grub_console_setcursor): Make it possible to set cursor off.
35149
52768e37 351502008-08-03 Robert Millan <rmh@aybabtu.com>
35151
35152 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35153 of modules instead of assuming which platform provides what.
35154 * util/update-grub.in: Likewise.
35155
2d52f57f 351562008-08-03 Robert Millan <rmh@aybabtu.com>
35157
35158 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35159 instead of `grub_install_dos_part' to determine whether a drive needs
35160 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35161 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35162
2a5cd121 351632008-08-02 Robert Millan <rmh@aybabtu.com>
35164
35165 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35166
93808428 351672008-08-02 Robert Millan <rmh@aybabtu.com>
35168
35169 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35170 of informational grub_dprintf() calls.
35171
3bd0a12a 351722008-08-02 Robert Millan <rmh@aybabtu.com>
35173
35174 * disk/memdisk.c (memdisk_size): Don't initialize.
35175 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35176
35177 * include/grub/i386/pc/kernel.h
35178 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35179 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35180 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35181 (grub_arch_memdisk_size): Remove.
35182
35183 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35184 field (was only used to transfer a constant). Add `type' field to
35185 support multiple module types.
35186 (grub_module_iterate): New function.
35187
35188 * kern/device.c (grub_device_open): Do not hide error messages
35189 when grub_disk_open() fails. Use grub_print_error() instead.
35190
35191 * kern/i386/pc/init.c (grub_arch_modules_addr)
35192 (grub_arch_memdisk_size): Remove functions.
35193 (grub_arch_modules_addr): Return the module address in high memory
35194 (now that it isn't copied anymore).
35195
35196 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35197 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35198 decompression routine (grub_total_module_size already includes that
35199 now). Don't copy modules back to low memory.
35200
35201 * kern/main.c: Include `<grub/mm.h>'.
35202 (grub_load_modules): Split out (and use) ...
35203 (grub_module_iterate): ... this function, which iterates through
35204 module objects and runs a hook.
35205 Comment out grub_mm_init_region() call, as it would cause non-ELF
35206 modules to be overwritten.
35207
35208 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35209 the memdisk image in its own region, make it part of the module list.
35210 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35211 (main): Parse --memdisk|-m option, and pass user-provided path as
35212 parameter to generate_image().
35213 (add_segments): Pass `memdisk_path' down to load_modules().
35214 (load_modules): Embed memdisk image in module section when requested.
35215 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35216 `header.type' instead of `header.offset'.
35217
35218 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35219 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35220 (memdisk_mod_LDFLAGS): New variables.
35221 * conf/i386-coreboot.rmk: Likewise.
35222 * conf/i386-ieee1275.rmk: Likewise.
35223
a927cc73 352242008-08-02 Robert Millan <rmh@aybabtu.com>
35225
35226 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35227 (backward_relocator): New variables. Used to allocate and relocate
35228 the payload, respectively.
35229 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35230 address, install the appropriate relocator code in each bound of
a927cc73 35231 the payload, and set the entry point such that
35232 grub_multiboot_real_boot() will jump to one of them.
35233
35234 * kern/i386/loader.S (grub_multiboot_payload_size)
35235 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35236 (grub_multiboot_payload_entry_offset): New variables.
35237 (grub_multiboot_real_boot): Set cpu context to what the relocator
35238 expects, and jump to the relocator instead of the payload.
35239
35240 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35241 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35242 (grub_multiboot_payload_entry_offset): Export.
35243
b15d8a0c 352442008-08-01 Bean <bean123ch@gmail.com>
35245
35246 * normal/menu_entry.c (editor_getline): Don't return the original
35247 string as result, as it will be released by lexer once it has done
35248 using it.
35249
cdfb3d22 352502008-08-01 Robert Millan <rmh@aybabtu.com>
35251
35252 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35253 within menuentries, not before them.
35254 util/grub.d/10_hurd.in: Likewise.
35255
9175e93d 352562008-08-01 Bean <bean123ch@gmail.com>
35257
35258 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35259 (bufio_mod_SOURCES): New macro.
35260 (bufio_mod_CFLAGS): Likewise.
35261 (bufio_mod_LDFLAGS): Likewise.
35262
35263 * include/grub/bufio.h: New file.
35264
35265 * io/bufio.c: Likewise.
35266
35267 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35268 (grub_video_reader_png): Use grub_buffile_open to open file.
35269
35270 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35271 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35272
35273 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35274 (grub_video_reader_tga): Use grub_buffile_open to open file.
35275
35276 * font/manager.c: Include <grub/bufio.h>.
35277 (add_font): Use grub_buffile_open to open file.
35278
3d8383e7 352792008-07-31 Robert Millan <rmh@aybabtu.com>
35280
35281 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35282 ELF segments, use a macro for arbitrarily accessing any of them instead
35283 of preparing a pointer that allows access to one at a time.
35284 (grub_multiboot_load_elf64): Likewise.
35285
16e641b6 352862008-07-31 Bean <bean123ch@gmail.com>
35287
35288 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35289 GRUB_KERNEL_MACHINE_DATA_END.
35290
59198b72 352912008-07-30 Robert Millan <rmh@aybabtu.com>
35292
35293 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35294 Increase from 0x50 to 0x60.
35295 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35296 use UUIDs to identify the root drive for them. If that's not
35297 possible, abort.
35298 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35299 check, for cross-disk installs.
35300
ae88bca3 353012008-07-30 Robert Millan <rmh@aybabtu.com>
35302
35303 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35304 is non-empty, use it to set the `prefix' environment variable instead
35305 of the usual approach.
35306 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35307 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35308 environment variable instead of dummy make_install_device().
35309
35310 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35311 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35312 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35313
35314 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35315 New variable reference.
35316 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35317 New macro. Defines offset of `grub_prefix' within startup.S (relative
35318 to `start').
35319 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35320 section within startup.S (relative to `start').
35321 * include/grub/i386/coreboot/kernel.h: Likewise.
35322
35323 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35324 Overwrite grub_prefix with its contents, at the beginning of the
35325 first segment.
35326 (main): Understand -p|--prefix.
35327
14f41dd1 353282008-07-30 Robert Millan <rmh@aybabtu.com>
35329
35330 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35331
4ca049a3 353322008-07-30 Robert Millan <rmh@aybabtu.com>
35333
35334 * term/i386/pc/vga_text.c (grub_console_cls): Use
35335 grub_console_gotoxy() to go back to beginning of the screen.
35336 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35337
2921d337 353382008-07-29 Christian Franke <franke@computer.org>
35339
35340 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35341 Add conversion of emulated mount points on Cygwin.
35342
b609876d 353432008-07-29 Christian Franke <franke@computer.org>
35344
35345 * util/update-grub.in: Add a check for admin
35346 group on Cygwin.
35347 Remove old `grub.cfg.new' before creation.
35348 Add `-f' to `mv' to handle the different filesystem
35349 semantics of Windows.
35350
e93e4679 353512008-07-29 Bean <bean123ch@gmail.com>
35352
35353 * normal/main.c (get_line): Fix buffer overflow bug.
35354
41694fd0 353552008-07-28 Robert Millan <rmh@aybabtu.com>
35356
35357 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35358 (struct grub_apple_header): New struct. Describes the layout of
35359 the partmap header.
35360 (apple_partition_map_iterate): Check the header magic as well as the
35361 partition magic (which was already being checked).
35362
cfd0b4e6 353632008-07-28 Pavel Roskin <proski@gnu.org>
35364
35365 * genmk.rb: Add a warning to the beginning of the output that
35366 it's a generated file and should not be edited.
35367
93cce016 353682008-07-28 Robert Millan <rmh@aybabtu.com>
35369
35370 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35371 with the same number are found, just use issue a warning with
35372 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35373
cd1df915 353742008-07-27 Robert Millan <rmh@aybabtu.com>
35375
35376 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35377 information.
35378
b70a8427 353792008-07-27 Bean <bean123ch@gmail.com>
35380
35381 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35382 (grub_fat_find_dir): Ignore case when comparing filename.
35383
8f5e379f 353842008-07-27 Bean <bean123ch@gmail.com>
35385
35386 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35387 smallino, as it's more descriptive, and i8count can be confused with
35388 the other field count.
35389 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35390 inode type.
35391
a85cd5a0 353922008-07-27 Bean <bean123ch@gmail.com>
35393
35394 * commands/crc.c: New file.
35395
35396 * lib/crc.c: Likewise.
35397
35398 * include/grub/lib/crc.h: Likewise.
35399
35400 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35401
35402 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35403 (hexdump): Move this function to ...
35404
35405 * lib/hexdump.c: ... here.
35406
35407 * include/grub/hexdump.h: Renamed to ...
35408
35409 * include/grub/lib/hexdump.h: ... this.
35410
35411 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35412
35413 * util/grub-editenv.c: Likewise.
35414
35415 * include/envblk.h: Renamed to ...
35416
35417 * include/lib/envblk.h: ... this.
35418
35419 * util/envblk.c: Renamed to ...
35420
35421 * lib/envblk.c: ... this.
35422
35423 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35424 lib/hexdump.c.
35425 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35426 (pkglib_MODULES): Add crc.mod.
35427 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35428 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35429 (crc_mod_SOURCES): New macro.
35430 (crc_mod_CFLAGS): Likewise.
35431 (crc_mod_LDFLAGS): Likewise.
35432
35433 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35434
35435 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35436
35437 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35438
35439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35440
35441 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35442
c298def0 354432008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35444
35445 * commands/help.c: Include <grub/term.h>.
35446 (TERM_WIDTH): Removed. Updated all users.
35447
cc349fb3 354482008-07-27 Pavel Roskin <proski@gnu.org>
35449
35450 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35451 spurious warnings about a comment within a comment.
35452
9051607e 354532008-07-25 Robert Millan <rmh@aybabtu.com>
35454
35455 * util/getroot.c (find_root_device): Skip devices that match
35456 /dev/dm-[0-9]. This lets the real device be found for any type of
35457 abstraction (LVM, EVMS, RAID..).
35458 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35459 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35460 device is found first, find_root_device() will now skip it.
35461
01453bfc 354622008-07-24 Pavel Roskin <proski@gnu.org>
35463
35464 * include/grub/types.h: Use __builtin_bswap32() and
35465 __builtin_bswap64() with gcc 4.3 and newer.
35466
6af9849f 354672008-07-24 Christian Franke <franke@computer.org>
35468
3a0fa256 35469 * util/i386/pc/grub-install.in: If `--debug' is specified,
35470 pass `--verbose' to grub-setup.
35471 Abort script if make_system_path_relative_to_its_root() fails.
35472
7810e747 354732008-07-24 Bean <bean123ch@gmail.com>
35474
35475 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35476 variable `target_platform' should be `platform'.
35477
42290e17 354782008-07-24 Bean <bean123ch@gmail.com>
35479
51cc5193 35480 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35481 (grub_png_init_fixed_block): New function.
35482 (grub_png_decode_image_data): Handle fixed huffman code compression.
35483
2a8a80e4 354842008-07-24 Bean <bean123ch@gmail.com>
35485
35486 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35487 (grub_pe2elf_SOURCES): New macro.
35488 (CLEANFILES): Add grub-pe2elf.
35489
35490 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35491 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35492 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35493 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35494 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35495 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35496 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35497 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35498 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35499 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35500 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35501 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35502 (GRUB_PE32_DT_FUNCTION): Likewise.
35503 (GRUB_PE32_REL_I386_DIR32): Likewise.
35504 (GRUB_PE32_REL_I386_REL32): Likewise.
35505 (grub_pe32_symbol): New structure.
35506 (grub_pe32_reloc): Likewise.
35507
35508 * util/grub-pe2elf.c: New file.
35509
35510 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35511 start symbol in non pc platform.
35512
35513 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35514
35515 The following patches are from Christian Franke.
35516
35517 * include/grub/dl.h: Remove .previous, gas supports this only
35518 for ELF format.
35519
35520 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35521 Remove .type, gas supports this only for ELF format.
35522
35523 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35524 nullbytes in symbol table. This fixes an infinite loop if table is
35525 zero filled.
35526
35527 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35528 TARGET_IMG_LDFLAGS and EXEEXT.
35529
35530 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35531 TARGET_IMG_LDFLAGS_AC.
35532 (grub_CHECK_STACK_ARG_PROBE): New function.
35533
35534 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35535
35536 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35537
35538 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35539 to set TARGET_IMG_LD* accordingly.
35540 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35541 Add call to grub_CHECK_STACK_ARG_PROBE.
35542 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35543
35544 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35545
35546 * genmk.rb: Add EXEEXT to CLEANFILES.
35547
12ccdb75 355482008-07-23 Robert Millan <rmh@aybabtu.com>
35549
35550 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35551 define the codes for arrows and lines used for the menu).
35552 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35553 as well.
35554
35555 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35556 fonts, because the latter are too slow.
35557
18eeaf04 355582008-07-21 Bean <bean123ch@gmail.com>
35559
35560 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35561 a20. Run keyboard test last, as it will cause macbook to halt.
35562
b095e2ad 355632008-07-18 Pavel Roskin <proski@gnu.org>
35564
35565 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35566 load foreign architecture modules correctly anyway. Keep
35567 support for loading host architecture modules, whether we
35568 compile them or not.
35569
737feb35 355702008-07-17 Pavel Roskin <proski@gnu.org>
35571
3f4ce737 35572 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35573 change target_cpu. The compiler default can mismatch target_cpu
35574 in any case.
35575
4ad2d049 35576 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35577 * kern/efi/efi.c: Likewise.
35578
f6130a12 35579 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35580 target compiler is functional.
35581 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35582 are set up.
35583
58393a2d 35584 * configure.ac: Default to efi platform for x86_64-apple. Allow
35585 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35586 adjustments from the rest, only do them if target is not
35587 explicitly given. Merge other adjustments with the final sanity
35588 check. Remove an extraneous check for supported CPU. Be
35589 specific which CPU and which platform is not supported.
35590
737feb35 35591 * configure.ac: Default to pc platform for x86_64.
35592
546f966a 355932008-07-17 Robert Millan <rmh@aybabtu.com>
35594
35595 Partial LinuxBIOS -> Coreboot rename.
35596
35597 * conf/i386-linuxbios.rmk: Renamed to ...
35598 * conf/i386-coreboot.rmk: ... this.
35599 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35600 * configure.ac: Accept "coreboot" as input platform (but maintain
35601 compatibility with "linuxbios").
35602 * include/grub/i386/linuxbios: Renamed to ...
35603 * include/grub/i386/coreboot: ... this.
35604
20011694 356052008-07-17 Bean <bean123ch@gmail.com>
35606
35607 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35608 (appleldr_mod_SOURCE): New variable.
20011694 35609 (appleldr_mod_CFLAGS): Likewise.
35610 (appleldr_mod_LDFLAGS): Likewise.
35611 (pci_mod_SOURCES): Likewise.
35612 (pci_mod_CFLAGS): Likewise.
35613 (pci_mod_LDFLAGS): Likewise.
35614 (lspci_mod_SOURCES): Likewise.
35615 (lspci_mod_CFLAGS): Likewise.
35616 (lspci_mod_LDFLAGS): Likewise.
35617
35618 * conf/x86_64-efi.rmk: New file.
35619
35620 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35621 macro.
35622 (grub_efidisk_write): Likewise.
35623
35624 * include/efi/api.h (efi_call_0): New macro.
35625 (efi_call_1): Likewise.
35626 (efi_call_2): Likewise.
35627 (efi_call_3): Likewise.
35628 (efi_call_4): Likewise.
35629 (efi_call_5): Likewise.
35630 (efi_call_6): Likewise.
35631
35632 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35633 grub_rescue_cmd_chainloader.
35634
35635 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35636 (grub_pe32_optional_header): Change some fields based on i386 or
35637 x86_64 platform.
35638 (GRUB_PE32_PE32_MAGIC): Likewise.
35639
35640 * include/grub/efi/uga_draw.h: New file.
35641
35642 * include/grub/elf.h (STN_ABS): New constant.
35643 (R_X86_64_NONE): Relocation constant for x86_64.
35644 (R_X86_64_64): Likewise.
35645 (R_X86_64_PC32): Likewise.
35646 (R_X86_64_GOT32): Likewise.
35647 (R_X86_64_PLT32): Likewise.
35648 (R_X86_64_COPY): Likewise.
35649 (R_X86_64_GLOB_DAT): Likewise.
35650 (R_X86_64_JUMP_SLOT): Likewise.
35651 (R_X86_64_RELATIVE): Likewise.
35652 (R_X86_64_GOTPCREL): Likewise.
35653 (R_X86_64_32): Likewise.
35654 (R_X86_64_32S): Likewise.
35655 (R_X86_64_16): Likewise.
35656 (R_X86_64_PC16): Likewise.
35657 (R_X86_64_8): Likewise.
35658 (R_X86_64_PC8): Likewise.
35659
35660 * include/grub/i386/efi/pci.h: New file.
35661
35662 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35663 Change it value based on platform.
35664 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35665 (GRUB_E820_RAM): Likewise.
35666 (GRUB_E820_RESERVED): Likewise.
35667 (GRUB_E820_ACPI): Likewise.
35668 (GRUB_E820_NVS): Likewise.
35669 (GRUB_E820_EXEC_CODE): Likewise.
35670 (GRUB_E820_MAX_ENTRY): Likewise.
35671 (grub_e820_mmap): New structure.
35672 (linux_kernel_header): Change the efi field according to different
35673 kernel version, also field from linux_kernel_header.
35674
35675 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35676
35677 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35678 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35679 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35680 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35681 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35682 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35683 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35684 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35685 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35686 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35687
35688 * include/grub/x86_64/efi/kernel.h: New file.
35689
35690 * include/grub/x86_64/efi/loader.h: Likewise.
35691
35692 * include/grub/x86_64/efi/machine.h: Likewise.
35693
35694 * include/grub/x86_64/efi/pci.h: Likewise.
35695
35696 * include/grub/x86_64/efi/time.h: Likewise.
35697
35698 * include/grub/x86_64/linux.h: Likewise.
35699
35700 * include/grub/x86_64/setjmp.h: Likewise.
35701
35702 * include/grub/x86_64/time.h: Likewise.
35703
35704 * include/grub/x86_64/types.h: Likewise.
35705
35706 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35707 GRUB_TARGET_SIZEOF_VOID_P.
35708
35709 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35710 (grub_efi_locate_handle): Likewise.
35711 (grub_efi_open_protocol): Likewise.
35712 (grub_efi_set_text_mode): Likewise.
35713 (grub_efi_stall): Likewise.
35714 (grub_exit): Likewise.
35715 (grub_reboot): Likewise.
35716 (grub_halt): Likewise.
35717 (grub_efi_exit_boot_services): Likewise.
35718 (grub_get_rtc): Likewise.
35719
35720 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35721 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35722 (grub_efi_allocate_pages): Wrap efi calls.
35723 (grub_efi_free_pages): Wrap efi calls.
35724 (grub_efi_get_memory_map): Wrap efi calls.
35725
35726 * kern/x86_64/dl.c: New file.
35727
35728 * kern/x86_64/efi/callwrap.S: Likewise.
35729
35730 * kern/x86_64/efi/startup.S: Likewise.
35731
35732 * loader/efi/appleloader.c: Likewise.
35733
35734 * loader/efi/chainloader.c (cmdline): New variable.
35735 (grub_chainloader_unload): Wrap efi calls.
35736 (grub_chainloader_boot): Likewise.
35737 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35738 command line.
35739
35740 * loader/efi/chainloader_normal.c (chainloader_command):
35741 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35742 command line.
35743
35744 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35745 method.
35746 (grub_e820_add_region): New function.
35747 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35748 booting.
35749 (grub_find_video_card): New function.
35750 (grub_linux_setup_video): New function.
35751 (grub_rescue_cmd_linux): Probe for video information.
35752
35753 * normal/x86_64/setjmp.S: New file.
35754
35755 * term/efi/console.c (map_char): New function.
35756 (grub_console_putchar): Map unicode char.
35757 (grub_console_checkkey): Wrap efi calls.
35758 (grub_console_getkey): Likewise.
35759 (grub_console_getwh): Likewise.
35760 (grub_console_gotoxy): Likewise.
35761 (grub_console_cls): Likewise.
35762 (grub_console_setcolorstate): Likewise.
35763 (grub_console_setcursor): Likewise.
35764
35765 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35766
59652a20 357672008-07-16 Pavel Roskin <proski@gnu.org>
35768
ef294055 35769 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35770 format strings.
35771
59652a20 35772 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35773 pointer, not an integer. This fixes a warning and prevents
35774 precision loss on 64-bit systems.
35775 (relocate_addresses): Remove unneeded cast.
35776
afc3b5d7 357772008-07-15 Pavel Roskin <proski@gnu.org>
35778
506b2b3e 35779 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35780
62ead89c 35781 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35782
c4cd51d7 35783 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35784 Fix comparison between signed and unsigned.
35785
0d3d8f28 35786 * include/grub/i386/ieee1275/console.h: Declare
35787 grub_console_init() and grub_console_fini().
35788
8804b286 35789 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35790 It's empty and unused.
35791
ee01cf35 35792 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35793 beginning to avoid warnings with some compilers.
35794
afc3b5d7 35795 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35796 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35797
e4e8eaa5 357982008-07-14 Pavel Roskin <proski@gnu.org>
35799
407aceb4 35800 * kern/env.c (grub_register_variable_hook): Don't copy empty
35801 string, it leaks memory. Pass "" to grub_env_set(), it should
35802 handle constant strings.
35803
e4e8eaa5 35804 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35805 * commands/cmp.c (grub_cmd_cmp): Likewise.
35806 * kern/dl.c (grub_dl_flush_cache): Likewise.
35807 (grub_dl_load_core): Likewise.
35808 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35809 (grub_elf64_load_phdrs): Likewise.
35810
d4e2dad3 358112008-07-13 Pavel Roskin <proski@gnu.org>
35812
35813 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35814 between signed and unsigned.
35815 (LzmaEnc_Finish): Fix warning about an unused parameter.
35816
aa24b516 358172008-07-13 Bean <bean123ch@gmail.com>
35818
35819 * Makefile.in (enable_lzo): New rule.
35820
35821 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35822
35823 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35824
35825 * boot/i386/pc/lnxboot.S: #include <config.h>.
35826
35827 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35828 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35829
35830 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35831 compression algorithm according to configure macro.
35832
35833 * kern/i386/pc/startup.S (codestart): Likewise.
35834
35835 * kern/i386/pc/lzma_decode.S: New file.
35836
35837 * include/grub/lib/LzFind.h: Likewise.
35838
35839 * include/grub/lib/LzHash.h: Likewise.
35840
35841 * include/grub/lib/LzmaDec.h: Likewise.
35842
35843 * include/grub/lib/LzmaEnc.h: Likewise.
35844
35845 * include/grub/lib/LzmaTypes.h: Likewise.
35846
35847 * lib/LzFind.c: Likewise.
35848
35849 * lib/LzmaDec.c: Likewise.
35850
35851 * lib/LzmaEnc.c: Likewise.
35852
4ae821ac 358532008-07-13 Bean <bean123ch@gmail.com>
35854
35855 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35856 (grub_ext4_extent_header): New structure.
35857 (grub_ext4_extent): Likewise.
35858 (grub_ext4_extent_idx): Likewise.
35859 (grub_ext4_find_leaf): New function.
35860 (grub_ext2_read_block): Handle extents.
35861
9a745147 358622008-07-12 Robert Millan <rmh@aybabtu.com>
35863
35864 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35865
d49a4cf6 358662008-07-11 Robert Millan <rmh@aybabtu.com>
35867
35868 * util/grub.d/40_custom.in: New file. Example on how to add custom
35869 entries to /etc/grub.d.
35870 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35871 40_custom (implicitly, by merging all the grub.d rules).
35872
947414b4 358732008-07-11 Pavel Roskin <proski@gnu.org>
35874
0059cf6f 35875 * commands/read.c (grub_getline): Fix invalid memory access.
35876 Don't add newline to the variable value.
35877
947414b4 35878 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35879 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35880 (serial_hw_get_port): Check validity of the port number.
35881 (grub_cmd_serial): Check return value of serial_hw_get_port().
35882
62a02d00 358832008-07-07 Pavel Roskin <proski@gnu.org>
35884
35885 * boot/i386/pc/diskboot.S (notification_string): Replace
35886 "Loading kernel" with just "loading". This is shorter, less
35887 confusing and saves a few bytes for possible future changes.
35888
3e5581b0 358892008-07-05 Pavel Roskin <proski@gnu.org>
35890
ea387a48 35891 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35892 size for ATAPI devices, they are undefined. Output sector
35893 number in decimal form.
35894
3e5581b0 35895 * disk/ata.c: Use named constants for status bits.
35896
fdecb8fd 358972008-07-04 Pavel Roskin <proski@gnu.org>
35898
bcd35b90 35899 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35900 grub_addr_t before casting it to the void pointer to fix a
35901 warning. Non-addressable regions are discarded earlier.
35902 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35903 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35904 (check_signature): Don't shadow table_header.
35905 (grub_linuxbios_table_iterate): Cast numeric constants to
35906 grub_linuxbios_table_header_t.
35907 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35908 grub_stop().
35909
af58ab3d 35910 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35911 prevent warnings.
35912
1759aa57 35913 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35914 pointer, which can cause warnings. Support 64-bit addresses.
35915
fdecb8fd 35916 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35917 of sizeof(long). This fixes PowerPC image generation on x86_64.
35918
8516d2a8 359192008-07-04 Robert Millan <rmh@aybabtu.com>
35920
35921 This fixes a performance issue when pc & gpt partmap iterators
35922 didn't abort iteration even after our hook found what it was
fe987087 35923 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35924
35925 Some callers relied on previous buggy behaviour, since they would
34c44600 35926 raise an error when their own hooks caused early abortion of its
8516d2a8 35927 iteration.
35928
35929 * kern/device.c (grub_device_open): Improve error message.
35930 * disk/lvm.c (grub_lvm_open): Likewise.
35931 * disk/raid.c (grub_raid_open): Likewise.
35932
35933 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35934 when hook requests it, independently of grub_errno.
35935 (pc_partition_map_probe): Do not fail when find_func() caused
35936 early abortion of pc_partition_map_iterate().
35937
35938 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35939 when hook requests it, independently of grub_errno.
35940 (gpt_partition_map_probe): Do not fail when find_func() caused
35941 early abortion of gpt_partition_map_iterate().
35942
35943 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35944 when hook requests it, independently of grub_errno. Do not fail when
35945 part_map_iterate_hook() caused early abortion of p->iterate().
35946
35947 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35948 when grub_partition_iterate() returned with non-zero.
35949
277d0de9 359502008-07-03 Pavel Roskin <proski@gnu.org>
35951
35952 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35953 like we do in grub_ata_pio_read().
35954 (grub_ata_readwrite): Always write individual sectors. Fix the
35955 sector count for the remainder.
35956 (grub_ata_write): Enable writing to ATA devices. Correctly
35957 report error for ATAPI devices.
35958
d4c9b428 359592008-07-02 Pavel Roskin <proski@gnu.org>
35960
e43fc690 35961 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35962 warning.
35963
f707af42 35964 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35965 for every read sector, we already increment it for the whole
35966 batch. This fixes reading more than 256 sectors at once.
35967
11e16b15 35968 * util/grub-editenv.c (cmd_info): Cast argument to long
35969 explicitly. ptrdiff_t reduces to int on i386.
35970
cbabfdd4 35971 * util/grub-editenv.c (main): Be specific which parameter is
35972 missing.
35973
b8fbce0a 35974 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35975 (memdisk): Make memdisk_orig_addr a pointer.
35976
c9c8e606 35977 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35978 for file offsets, use grub_off_t instead. Fix printf format
35979 warnings.
35980
ca62e598 35981 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35982 there. Real unexpected warnings should not drown in the noise
35983 about known problems.
35984
ce8d1766 35985 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35986 grub_disk_addr_t for memory addresses.
35987
00c7a56a 35988 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35989 explicitly to fix a warning.
35990
08d3ef09 35991 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35992
cb71ba20 35993 * Makefile.in (MODULE_LDFLAGS): New variable.
35994 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35995 the linker accepts --build-id=none.
35996 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35997 MODULE_LDFLAGS.
35998 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35999
d4c9b428 36000 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
36001 those in Linux XFS code. Provide a way to access 64-bit parent
36002 inode.
36003 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
36004 the end of struct grub_xfs_dir_header.
36005
d4156eee 360062008-07-02 Bean <bean123ch@gmail.com>
36007
36008 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
36009 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36010 and GRUB_IEEE1275_FLAG_NO_ANSI.
36011
36012 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
36013 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
36014 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
36015
36016 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36017 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36018
36019 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36020 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36021
36022 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36023 esc sequence on non ANSI terminal.
36024 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36025
36026 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36027 beginning of file.
36028
2270f77b 360292008-07-02 Bean <bean123ch@gmail.com>
36030
36031 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36032 (grub_editenv_SOURCES): New variable.
36033 (pkglib_MODULES): Add loadenv.mod.
36034 (loadenv_mod_SOURCES): New variable.
36035 (loadenv_mod_CFLAGS): Likewise.
36036 (loadenv_mod_LDFLAGS): Likewise.
36037
36038 * include/grub/envblk.h: New file.
36039
36040 * util/envblk.c: New file.
36041
36042 * util/grub-editenv.c: New file.
36043
36044 * commands/loadenv.c: New file.
36045
0e9e51ec 360462008-07-01 Pavel Roskin <proski@gnu.org>
36047
d89b7634 36048 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36049 not unsigned char. This fixes warnings and is consistent with
36050 other tags.
36051
bf1835b1 36052 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36053
8222a04b 36054 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36055
6a42d99d 36056 * term/tparm.c (analyze): Always set *popcount.
36057
10b159d1 36058 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36059 cast to fix a warning.
36060
b8789f6c 36061 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36062 cast to suppress a warning.
36063
29d7e38a 36064 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36065 grub_fshelp_read_file() expects.
36066
f341f669 36067 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36068 write uuid as a 32-bit value in CPU byte order, so declare and
36069 use it as such.
36070
0e9e51ec 36071 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36072 long if the format specifier expects it.
36073 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36074 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36075 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36076 long to fix a warning.
36077 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36078 grub_dprintf() arguments to fix warnings.
36079
3aefa857 360802008-06-30 Pavel Roskin <proski@gnu.org>
36081
56c7668b 36082 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36083 install_bsd_part immediately before core.img is embedded or
36084 modified on disk. This fixes core.img verification if core.img
36085 cannot be embedded.
36086
3aefa857 36087 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36088 core_path to calculate the blocklist.
36089 Patch from Javier Martín <lordhabbit@gmail.com>
36090
5444088d 360912008-06-29 Robert Millan <rmh@aybabtu.com>
36092
36093 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36094 block to disk block.
36095 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36096 Patch from Niels Böhm <bitbucket@arcor.de>
36097
674835c8 360982008-06-29 Robert Millan <rmh@aybabtu.com>
36099
36100 * util/update-grub_lib.in (font_path): Search for fonts in
36101 /boot/grub first, which is more likely to be readable (we aren't
36102 deciding where fonts live, just looking for them).
36103
f527dbc8 361042008-06-26 Pavel Roskin <proski@gnu.org>
36105
6c2d8df6 36106 * util/biosdisk.c (read_device_map): Don't leave dead map
36107 entries for devices failing stat() check.
36108
f527dbc8 36109 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36110 core_path_dev for the core.img path on the target device.
36111
aebe3d13 361122008-06-26 Robert Millan <rmh@aybabtu.com>
36113
36114 * disk/fs_uuid.c: New file.
36115 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36116 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36117 (fs_uuid_mod_LDFLAGS): New variables.
36118 * include/grub/disk.h (grub_disk_dev_id): Add
36119 `GRUB_DISK_DEVICE_UUID_ID'.
36120 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36121 implement iterate().
36122
37aaf354 361232008-06-26 Robert Millan <rmh@aybabtu.com>
36124
36125 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36126 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36127 Linux image includes no initrd.
36128
25ff262a 361292008-06-21 Javier Martín <lordhabbit@gmail.com>
36130
36131 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36132 call to resolve the core image location that effectively appended the
36133 name twice.
36134
76a2bd44 361352008-06-21 Robert Millan <rmh@aybabtu.com>
36136
36137 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36138 call from here ...
36139
36140 * util/grub.d/10_hurd.in: ... to here ...
36141 * util/grub.d/10_linux.in: ... and here.
36142
650e1c79 361432008-06-19 Robert Millan <rmh@aybabtu.com>
36144
fe987087 36145 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36146 after it has been set by grub_machine_set_prefix().
36147
6ce63911 361482008-06-19 Robert Millan <rmh@aybabtu.com>
36149
36150 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36151 search result when not saving to variable, not the other way around.
36152 When saving to variable, abort iteration as soon as a match is found.
36153
73940cec 361542008-06-19 Robert Millan <rmh@aybabtu.com>
36155
36156 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36157 check for partition that provides /boot/grub. Its logic is flawed,
36158 as it prevents prepare_grub_to_access_device() from being called
36159 multiple times.
36160
3c62a39d 361612008-06-19 Robert Millan <rmh@aybabtu.com>
36162
36163 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36164 "insmod" command directly when abstraction modules are needed,
fe987087 36165 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36166 since it had already been processed).
36167
47395a42 361682008-06-19 Pavel Roskin <proski@gnu.org>
36169
36170 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36171 changed. This is needed in case GRUB_LIBDIR changes.
36172 * conf/i386-ieee1275.rmk: Likewise.
36173 * conf/i386-linuxbios.rmk: Likewise.
36174 * conf/i386-pc.rmk: Likewise.
36175 * conf/powerpc-ieee1275.rmk: Likewise.
36176
a145ac2d 361772008-06-18 Pavel Roskin <proski@gnu.org>
36178
36179 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36180 kernel_elf_symlist.c to symlist.c for consistency with other
36181 architectures. Update all users.
36182 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36183
7847c51e 361842008-06-18 Robert Millan <rmh@aybabtu.com>
36185
36186 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36187 it in prefix.
36188
36189 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36190 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36191 a RAID device, run setup() for all members independently on whether
36192 LVM abstraction is being used.
36193 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36194 If grub-mkimage has set `*install_dos_part == -2', don't override this
36195 value.
36196 Perform *install_dos_part adjustments independently on whether
36197 we're embedding or not.
36198 Clarify error message when image is too big for embedding.
36199 Remove duplicate *install_dos_part stanza.
36200
b23e5644 362012008-06-17 Robert Millan <rmh@aybabtu.com>
36202
36203 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36204 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36205 variables.
36206 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36207 values in grub_ofconsole_normal_color and
36208 grub_ofconsole_highlight_color (they're not directly related to
36209 background and foreground).
36210 (grub_ofconsole_setcolorstate): Extract background and foreground
36211 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36212
0aac2f79 362132008-06-17 Robert Millan <rmh@aybabtu.com>
36214
36215 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36216 /boot/grub for the check in last commit, not /boot (they could be
36217 different partitions).
36218
3cca7ef3 362192008-06-16 Robert Millan <rmh@aybabtu.com>
36220
36221 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36222 asked to setup access for the same partition that provides /boot,
36223 don't bother using UUIDs since our root already has the value we
36224 want.
36225
347396d8 362262008-06-16 Robert Millan <rmh@aybabtu.com>
36227
36228 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36229 I2O devices.
36230 Patch from Sven Mueller <sven@debian.org>.
36231
991477f8 362322008-06-16 Robert Millan <rmh@aybabtu.com>
36233
36234 * util/update-grub.in: Check for $EUID instead of $UID.
36235 Reported by Vincent Zweije.
36236
d31a32a1 362372008-06-16 Bean <bean123ch@gmail.com>
36238
fe987087 36239 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36240 (grub_ext2_read_block): Likewise.
36241 (grub_ext2_read_inode): Likewise.
36242 (grub_ext2_mount): Likewise.
36243 (grub_ext2_close): Likewise.
36244 (grub_ext3_get_journal): Removed.
36245
fe987087 36246 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36247 (grub_reiserfs_read_symlink): Likewise.
36248 (grub_reiserfs_mount): Likewise.
36249 (grub_reiserfs_open): Likewise.
36250 (grub_reiserfs_read): Likewise.
36251 (grub_reiserfs_close): Likewise.
36252 (grub_reiserfs_get_journal): Removed.
36253
36254 * fs/fshelp.c (grub_fshelp_read): Removed.
36255 (grub_fshelp_map_block): Likewise.
36256
36257 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36258 (grub_fshelp_journal): Likewise.
36259 (grub_fshelp_read): Likewise.
36260 (grub_fshelp_map_block): Likewise.
36261
3540a760 362622008-06-16 Pavel Roskin <proski@gnu.org>
36263
36264 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36265 floating point anymore.
36266 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36267
95614c84 362682008-06-15 Pavel Roskin <proski@gnu.org>
36269
36270 * commands/ls.c (grub_ls_list_files): Use integer calculations
36271 for human readable format, avoid floating point use.
36272 * kern/misc.c (grub_ftoa): Remove.
36273 (grub_vsprintf): Remove floating point support.
36274
50465dd6 362752008-06-15 Robert Millan <rmh@aybabtu.com>
36276
fe6b695a 36277 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36278 devices.
36279 Reported by Max Vozeler.
36280
a9207284 362812008-06-15 Robert Millan <rmh@aybabtu.com>
36282
36283 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36284 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36285 skipped later.
36286 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36287 the beginning of the prefix.
36288
36289 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36290 It is assumed that if we have a memdisk, grub-mkimage has set
36291 grub_prefix to include the "(memdisk)" drive in it.
36292
a7cbd45a 362932008-06-15 Robert Millan <rmh@aybabtu.com>
36294
36295 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36296 Initialize keyboard controller after registering the terminal, so that
36297 grub_printf() can be called from grub_keyboard_controller_init().
36298
21cf716a 362992008-06-15 Robert Millan <rmh@aybabtu.com>
36300
36301 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36302 extent-btree which is written as big endian on disk.
36303 Reported by Alain Greppin <al@chilibi.org>.
36304
23a64d8e 363052008-06-14 Robert Millan <rmh@aybabtu.com>
36306
36307 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36308 * util/i386/pc/grub-install.in (modules): Likewise.
36309
d687651c 363102008-06-13 Pavel Roskin <proski@gnu.org>
36311
36312 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36313
dfe9ddd4 363142008-06-13 Bean <bean123ch@gmail.com>
36315
36316 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36317
36318 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36319
36320 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36321 to indicate sparse block.
36322
16ae7781 363232008-06-12 Pavel Roskin <proski@gnu.org>
36324
e6d1a308 36325 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36326 number, grub_fshelp_read() does it for us.
36327
16ae7781 36328 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36329 linear disk read with journal translation.
36330 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36331 * include/grub/fshelp.h: Declare grub_fshelp_read().
36332
40fd3a2b 363332008-06-09 Pavel Roskin <proski@gnu.org>
36334
36335 * fs/minix.c (grub_minix_mount): Handle error reading
36336 superblock.
36337
f5679726 363382008-06-08 Robert Millan <rmh@aybabtu.com>
36339
36340 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36341 don't append the RAID prefix afterwards.
36342 Reported by Clint Adams.
36343
ce525529 363442008-06-08 Robert Millan <rmh@aybabtu.com>
36345
36346 Based on description from Pavel:
36347 * kern/disk.c (grub_disk_check_range): Rename to ...
36348 (grub_disk_adjust_range): ... this. Add a comment explaining the
36349 tasks performed by this function.
36350
ad4936a0 363512008-06-08 Robert Millan <rmh@aybabtu.com>
36352
36353 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36354 `num_serial' (for consistency with other variables).
36355 (struct grub_ntfs_data): Add `uuid' member.
36356 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36357 (grub_ntfs_uuid): New function.
36358 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36359
dc20b0f9 363602008-06-07 Pavel Roskin <proski@gnu.org>
36361
36362 * util/biosdisk.c (open_device): Revert last change to the
36363 function, it broke installation. The sector needs to be
36364 different dependent on which device is opened.
36365
c5e3cfba 363662008-06-06 Robert Millan <rmh@aybabtu.com>
36367
36368 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36369 rest of GRUB, and breakage doesn't happen if its value were modified.
36370
36371 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36372 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36373 a constant (same value).
36374 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36375 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36376
26a1f8c4 363772008-06-06 Robert Millan <rmh@aybabtu.com>
36378
36379 * util/biosdisk.c (open_device): Do not modify sector offset when
36380 accessing a partition. kern/disk.c already handles this for us.
36381
25d6b327 363822008-06-06 Robert Millan <rmh@aybabtu.com>
36383
36384 * util/grub-emu.c (grub_machine_init): Move code in this function from
36385 here ...
36386 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36387 segfault in case grub_printf() is called).
36388
36389 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36390 grub_probe. Update all users not to explicitly add it again.
36391 (grub_device): New variable; contains corresponding device for grubdir.
36392 (fs_module, partmap_module, devabstraction_module): Pass
36393 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36394 every time.
36395
9ece62fb 363962008-06-05 Robert Millan <rmh@aybabtu.com>
36397
36398 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36399 is found, print it (same layout as with labels).
36400
1ad36d37 364012008-06-04 Robert Millan <rmh@aybabtu.com>
36402
36403 * util/biosdisk.c (get_drive): Rename to ...
36404 (find_grub_drive): ... this. Update all users.
36405
36406 (get_os_disk): Rename to ...
36407 (convert_system_partition_to_system_disk): ... this. Update all users.
36408
36409 (find_drive): Rename to ...
36410 (find_system_device): ... this. Update all users.
36411
e6a30859 364122008-06-04 Robert Millan <rmh@aybabtu.com>
36413
36414 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36415 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36416 (make_device_map): Likewise.
36417
00c108a4 364182008-06-01 Robert Millan <rmh@aybabtu.com>
36419
36420 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36421 before dereferencing it.
36422
36423 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36424 union with fat12/fat16-specific ones. Add some new fields, including
36425 `num_serial' for both versions.
36426 (struct grub_fat_data): Add `uuid' member.
36427 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36428 names. Initialize `data->uuid' using `num_serial'.
36429 (grub_fat_uuid): New function.
36430 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36431
36432 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36433 (grub_reiserfs_uuid): New function.
36434 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36435 member.
36436
36437 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36438 (grub_xfs_uuid): New function.
36439 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36440
1385c5bb 364412008-06-01 Robert Millan <rmh@aybabtu.com>
36442
36443 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36444 code that is backward compatible with pre-uuid search command.
36445
c682dfd7 364462008-05-31 Robert Millan <rmh@aybabtu.com>
36447
36448 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36449 floppies after everything else, to ensure floppy drive isn't accessed
36450 unnecessarily (patch from Bean).
36451
b7db5d47 364522008-05-31 Robert Millan <rmh@aybabtu.com>
36453
36454 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36455 not print device names when we were asked to set a variable.
36456
6e037aa9 364572008-05-31 Robert Millan <rmh@aybabtu.com>
36458
36459 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36460 using "cursor-on" and "cursor-off" commands (understood at least by
36461 the Open Firmware flavour on OLPC).
36462
41305bc8 364632008-05-31 Michael Gorven <michael@gorven.za.net>
36464
36465 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36466 on and off sequences.
36467
69ba137e 364682008-05-31 Robert Millan <rmh@aybabtu.com>
36469
36470 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36471 * util/update-grub.in: Likewise.
36472
520ae21b 364732008-05-30 Pavel Roskin <proski@gnu.org>
36474
36475 * util/biosdisk.c (linux_find_partition): Simplify logic and
36476 make the code more universal. Keep special processing for
36477 devfs, but use a simple rule for all other devices. If the
36478 device ends with a number, append 'p' and the partition number.
36479 Otherwise, append only the partition number.
36480
5786569b 364812008-05-30 Robert Millan <rmh@aybabtu.com>
36482
36483 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36484 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36485 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36486 the `root' parameter to Linux.
36487
51500452 364882008-05-30 Robert Millan <rmh@aybabtu.com>
36489
36490 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36491 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36492 --fs_uuid with --fs-uuid.
36493 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36494 all filesystems support them).
36495
811d3878 364962008-05-30 Robert Millan <rmh@aybabtu.com>
36497
36498 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36499 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36500
cab63c95 365012008-05-30 Robert Millan <rmh@aybabtu.com>
36502
36503 * util/grub.d/00_header.in: Remove obsolete comment referencing
36504 convert_system_path_to_grub_path().
36505 * util/update-grub.in: Likewise.
36506 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36507 (convert_system_path_to_grub_path): Add a warning message explaining
36508 that this function is deprecated. Rely on is_path_readable_by_grub()
36509 for the readability checks.
36510 (font_path): Use is_path_readable_by_grub() for the readability
36511 check rather than convert_system_path_to_grub_path().
36512
972e2f7a 365132008-05-30 Robert Millan <rmh@aybabtu.com>
36514
36515 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36516 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36517 converting it first.
36518 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36519 grub.cfg for access to font file, and afterwards call it again to set
36520 the root device.
36521
62191274 365222008-05-30 Robert Millan <rmh@aybabtu.com>
36523
36524 * commands/search.c (options): Add --fs_uuid option.
36525 (search_fs_uuid): New function.
36526 (grub_cmd_search): Fix --set argument passing.
36527 Use search_fs_uuid() when requested via --fs_uuid.
36528 (grub_search_init): Update help message.
36529 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36530 and redeclare it as an array of 16-bit words.
36531 (grub_ext2_uuid): New function.
36532 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36533 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36534 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36535 (GRUB_DEVICE_BOOT_UUID): New variables.
36536 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36537 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36538 whenever possible.
36539 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36540 just assume `root' variable has the right value.
36541 * util/grub.d/10_linux.in: Likewise.
36542 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36543 via PRINT_FS_UUID.
36544 (main): Recognise `-t fs_uuid' argument.
36545
01b73ec8 365462008-05-30 Robert Millan <rmh@aybabtu.com>
36547
36548 * util/biosdisk.c (map): Redefine structure to hold information
36549 about GRUB drive name.
fe6b695a 36550 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36551 drive names.
36552 (call_hook): Remove.
36553 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36554 member. Assume drive has partitions.
36555 (grub_util_biosdisk_open): Access device names via `.device' struct
36556 member.
36557 (open_device): Likewise.
36558 (find_drive): Likewise.
36559 (read_device_map): Adjust map[] usage to match the new struct
36560 definition. Don't check for duplicates (still possible, but not cheap
36561 anymore).
36562 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36563 (make_device_name): Remove assumption of BIOS-like drive names.
36564
22f16596 365652008-05-30 Pavel Roskin <proski@gnu.org>
36566
36567 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36568 compiling execute.c doesn't need grub_script.tab.h anymore.
36569 (normal/command.c_DEPENDENCIES): Likewise.
36570 (normal/function.c_DEPENDENCIES): Likewise.
36571 * conf/i386-ieee1275.rmk: Likewise.
36572 * conf/i386-linuxbios.rmk: Likewise.
36573 * conf/i386-pc.rmk: Likewise.
36574 * conf/powerpc-ieee1275.rmk: Likewise.
36575 * conf/sparc64-ieee1275.rmk: Likewise.
36576
528ad8f2 365772008-05-29 Pavel Roskin <proski@gnu.org>
36578
d1dff95d 36579 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36580 when scanning metadata for volume group name.
36581
528ad8f2 36582 * include/grub/script.h: Don't include grub_script.tab.h. It's
36583 a generated file, which may only be included from the files with
36584 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36585 use union YYSTYPE, as the later allows forward declaration.
36586 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36587
47248e08 365882008-05-29 Robert Millan <rmh@aybabtu.com>
36589
36590 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36591 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36592 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36593 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36594 scan codes.
36595
ee632529 365962008-05-29 Robert Millan <rmh@aybabtu.com>
36597
36598 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36599 control key combinations.
36600
eee96e08 366012008-05-29 Robert Millan <rmh@aybabtu.com>
36602
36603 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36604 * util/ieee1275/grub-install.in: ... to here.
36605 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36606 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36607 (grub_install_SOURCES): Likewise.
36608
da9a6a94 366092008-05-29 Robert Millan <rmh@aybabtu.com>
36610
36611 * fs/affs.c: Update copyright year.
36612 * fs/ext2.c: Likewise.
36613 * fs/fshelp.c: Likewise.
36614 * fs/hfsplus.c: Likewise.
36615 * fs/ntfs.c: Likewise.
36616 * fs/xfs.c: Likewise.
36617 * include/grub/fshelp.h: Likewise.
36618 * util/grub-mkdevicemap.c: Likewise.
36619
12e65f3a 366202008-05-28 Robert Millan <rmh@aybabtu.com>
36621
36622 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36623 might need to be fatfs to support some firmware implementations
36624 (e.g. OFW or EFI).
36625
23023641 366262008-05-28 Robert Millan <rmh@aybabtu.com>
36627
36628 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36629 devices.
36630 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36631 (make_device_map): Likewise.
36632
887d2619 366332008-05-20 Bean <bean123ch@gmail.com>
36634
36635 * fs/fshelp.c (grub_fshelp_map_block): New function.
36636 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36637 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36638
36639 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36640 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36641 (grub_fshelp_journal): New structure.
36642 (grub_fshelp_map_block): New function prototype.
36643 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36644 (grub_fshelp_map_block): Likewise.
36645
36646 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36647 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36648 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36649 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36650 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36651 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36652 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36653 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36654 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36655 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36656 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36657 (grub_ext2_sblock): New members for journal support.
36658 (grub_ext3_journal_header): New structure.
36659 (grub_ext3_journal_revoke_header): Likewise.
36660 (grub_ext3_journal_block_tag): Likewise.
36661 (grub_ext3_journal_sblock): Likewise.
36662 (grub_fshelp_node): New members logfile and journal.
36663 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36664 grub_fshelp_map_block to get real block number.
36665 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36666 number.
36667 (grub_ext2_read_inode): Likewise.
36668 (grub_ext3_get_journal): New function.
36669 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36670 (grub_ext2_close): Release memory used by journal.
36671
36672 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36673 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36674 (grub_reiserfs_transaction_header): Renamed to
36675 grub_reiserfs_description_block, replace field data with real_blocks.
36676 (grub_reiserfs_commit_block): New structure.
36677 (grub_reiserfs_data): New member journal.
36678 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36679 number.
36680 (grub_reiserfs_read_symlink): Likewise.
36681 (grub_reiserfs_iterate_dir): Likewise.
36682 (grub_reiserfs_open): Likewise.
36683 (grub_reiserfs_read): Likewise.
36684 (grub_reiserfs_get_journal): New function.
36685 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36686 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36687 using grub_reiserfs_get_journal.
36688 (grub_reiserfs_close): Release memory used by journal.
36689
36690 * fs/affs.c (grub_affs_read_block): Change block type to
36691 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36692
36693 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36694
36695 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36696
36697 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36698
36699 * fs/udf.c (grub_udf_read_block): Change block type to
36700 grub_disk_addr_t. Use type cast to avoid warning.
36701
36702 * fs/xfs.c (grub_xfs_read_block): Likewise.
36703
b7c6bed5 367042008-05-16 Christian Franke <franke@computer.org>
36705
36706 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36707 to ensure that break with ESC will always work.
36708 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36709 Remove ESC from keyboard queue.
36710
eedf167f 367112008-05-16 Christian Franke <franke@computer.org>
36712
36713 * util/biosdisk.c: [__CYGWIN__] Add includes.
36714 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36715 (get_os_disk): Move variable declarations to OS specific
36716 parts to avoid warning.
36717 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36718 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36719 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36720 Cygwin.
36721 * util/getroot.c: [__CYGWIN__] Add includes.
36722 (strip_extra_slashes): Fix "/" case.
36723 [__CYGWIN__] (get_win32_path): New function.
36724 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36725 [__CYGWIN__] (find_root_device): Disable.
36726 [__CYGWIN__] (get_bootsec_serial): New function.
36727 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36728 [__linux__] (grub_guess_root_device): Add early returns to simplify
36729 structure.
36730 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36731 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36732 check for Linux only.
36733
a079699e 367342008-05-15 Bean <bean123ch@gmail.com>
36735
36736 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36737 keyboard hang problem in apple's intel mac.
36738
1cf4059a 367392008-05-09 Robert Millan <rmh@aybabtu.com>
36740
36741 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36742 devices.
36743 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36744 (make_device_map): Likewise.
36745 Reported by Aurelien Jarno <aurel32@debian.org>
36746
ed759390 367472008-05-07 Ian Campbell <ijc@hellion.org.uk>
36748
36749 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36750 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36751 (make_device_map): Output entries for xvd type disks.
36752
b56c4eaa 367532008-05-07 Robert Millan <rmh@aybabtu.com>
36754
36755 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36756 devices.
36757 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36758 (make_device_map): Likewise.
36759 Reported by Roland Dreier <rdreier@cisco.com>
36760
7f8866ed 367612008-05-07 Robert Millan <rmh@aybabtu.com>
36762
36763 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36764 grub_strstr() call. Correct a few mistakes in failure path handling.
36765
b0346e0f 367662008-05-06 Robert Millan <rmh@aybabtu.com>
36767
36768 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36769 Do not print a trailing slash (therefore, the root directory is an
36770 empty string).
36771 (convert_system_path_to_grub_path): Do not remove trailing slash
36772 from make_system_path_relative_to_its_root() output.
36773
36774 * util/i386/pc/grub-install.in: Add trailing slash to output from
36775 make_system_path_relative_to_its_root().
36776
6cf12cbd 367772008-05-06 Robert Millan <rmh@aybabtu.com>
36778
36779 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36780 ensures that output lines aren't intermangled with those sent to
36781 stderr (via grub_util_info()).
36782 * util/grub-probe.c (grub_refresh): Likewise.
36783 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36784
0fbb3117 367852008-05-05 Christian Franke <franke@computer.org>
36786
36787 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36788 Add Cygwin device names.
36789 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36790 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36791 (check_device): Return error instead of success on empty name.
36792 (make_device_map): Move label inside linux specific code to
36793 prevent compiler warning.
36794
8124cdb7 367952008-04-30 Robert Millan <rmh@aybabtu.com>
36796
36797 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36798 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36799 first boot option.
36800 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36801
094c01d0 368022008-04-29 Robert Millan <rmh@aybabtu.com>
36803
36804 * docs/grub.cfg: New file (example GRUB configuration).
36805
f4b1fc02 368062008-04-26 Robert Millan <rmh@aybabtu.com>
36807
329ce2a5 36808 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36809 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36810 and `disk/ieee1275/nand.c'.
f4b1fc02 36811
25f16ec1 368122008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36813
25f16ec1 36814 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36815 i386-linuxbios.
36816
36817 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36818 change the buffer size to 4096 for cdrom device.
36819
36820 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36821 and nand.mod.
36822 (_linux_mod_SOURCES): New variable.
36823 (_linux_mod_CFLAGS): Likewise.
36824 (_linux_mod_LDFLAGS): Likewise.
36825 (linux_mod_SOURCES): Likewise.
36826 (linux_mod_CFLAGS): Likewise.
36827 (linux_mod_LDFLAGS): Likewise.
36828 (nand_mod_SOURCES): Likewise.
36829 (nand_mod_CFLAGS): Likewise.
36830 (nand_mod_LDFLAGS): Likewise.
36831
36832 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36833 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36834 type property. (nand device in olpc don't have this property)
36835
36836 * include/grub/disk.h (grub_disk_dev_id): New macro
36837 GRUB_DISK_DEVICE_NAND_ID.
36838
36839 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36840 function prototype.
36841 (grub_rescue_cmd_initrd): Likewise.
36842
36843 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36844 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36845 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36846
25f16ec1 36847 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36848 GRUB_MACHINE_IEEE1275 is defined.
36849
36850 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36851 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36852
36853 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36854 on nested function heap_init.
36855 (grub_upper_mem): New variable for i386-ieee1275.
36856 (grub_get_extended_memory): New function for i386-ieee1275.
36857 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36858
36859 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36860 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36861 property.
f19dbdb7 36862
25f16ec1 36863 * loader/i386/ieee1275/linux.c: New file.
36864
36865 * loader/i386/ieee1275/linux_normal.c: New file.
36866
36867 * disk/ieee1275/nand.c: New file.
36868
e89d61e9 368692008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36870
36871 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36872 value.
36873 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36874
602566f6 368752008-04-18 Robert Millan <rmh@aybabtu.com>
36876
36877 Restructures early code path on ieee1275 to unify grub_main() as
36878 the first C function that is executed in every platform.
36879
36880 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36881 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36882 cmain().
36883 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36884 * kern/ieee1275/cmain.c (cmain): Rename to ...
36885 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36886 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36887 at the beginning.
36888
57490c2b 368892008-04-18 Robert Millan <rmh@aybabtu.com>
36890
36891 * util/update-grub.in: Fix syntax error when setting
36892 `GRUB_PRELOAD_MODULES'.
36893 Reported by Stephane Chazelas <stephane@artesyncp.com>
36894
1977517d 368952008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36896
36897 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36898 section into account, newer toolchains generate unique build ids
36899 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36900 we want build ids to be preserved
1977517d 36901 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36902 far from other sections don't cause the raw binary images grow
36903 size
36904
bfb1f1a2 369052008-04-15 Robert Millan <rmh@aybabtu.com>
36906
36907 * disk/lvm.c: Update copyright year.
36908 * kern/misc.c: Likewise.
36909
01979850 369102008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36911
36912 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36913 there is no memory left for physical volume name.
01979850 36914
0a1150e2 369152008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36916
36917 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36918 volume name mapping to support bigger than 9 character names properly.
36919
82ead3fe 369202008-04-13 Robert Millan <rmh@aybabtu.com>
36921
36922 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36923 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36924
e54a72f5 369252008-04-13 Christian Franke <franke@computer.org>
36926
36927 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36928 to create a floppy emulation boot CD when non emulation mode
36929 does not work.
36930 Enable Joliet CD filesystem extension.
36931
9fe86034 369322008-04-13 Robert Millan <rmh@aybabtu.com>
36933
36934 * kern/misc.c (grub_strncat): Fix off-by-one error.
36935 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36936
36937 * kern/env.c (grub_env_context_close): Clear current context, not
36938 previous one.
36939 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36940
36941 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36942
7ceeee39 369432008-04-13 Robert Millan <rmh@aybabtu.com>
36944
36945 Improve robustness when handling LVM.
36946
36947 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36948 (and leave `*p' unmodified).
7ceeee39 36949 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36950 through it.
36951 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36952 iterating through it.
36953 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36954 through it.
fe6b695a 36955 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36956 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36957 Don't assume `vg->pvs != NULL' when iterating through it.
36958
58cd3d85 369592008-04-13 Robert Millan <rmh@aybabtu.com>
36960
36961 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36962 * genmk.rb (partmap): New variable.
36963 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36964 (#{partmap}): New target rule.
36965 * genpartmaplist.sh: New file.
36966 * Makefile.in (pkglib_DATA): Add partmap.lst.
36967 (partmap.lst): New target rule.
36968 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36969 modules (including all partition maps), instead of preloading them.
36970
78b51059 369712007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36972
36973 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36974 `linux-boot-prober' (if installed) to detect other operating
36975 systems which are installed on the computer and add them to
36976 the boot menu.
36977 * conf/common.rmk: Build and install 30_os-prober.
36978
a91627b4 369792008-04-12 Robert Millan <rmh@aybabtu.com>
36980
36981 * kern/powerpc/ieee1275/init.c: Move from here ...
36982 * kern/ieee1275/init.c: ... to here. Update all users.
36983
36984 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36985 * kern/ieee1275/cmain.c: ... to here. Update all users.
36986
36987 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36988 * kern/ieee1275/openfw.c: ... to here. Update all users.
36989
36990 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36991 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36992
322562ea 369932008-04-10 Pavel Roskin <proski@gnu.org>
36994
36995 * configure.ac: Always use "_cv_" in cache variables for
36996 compatibility with Autoconf 2.62.
36997
a02a73c5 369982008-04-07 Robert Millan <rmh@aybabtu.com>
36999
37000 Revert grub/machine/init.h addition by Pavel (since it breaks on
37001 i386-ieee1275 and others):
37002 * util/i386/pc/misc.c: Remove grub/machine/init.h.
37003 * util/powerpc/ieee1275/misc.c: Likewise.
37004
25c024b1 370052008-04-07 Robert Millan <rmh@aybabtu.com>
37006
37007 * util/grub-probe.c (probe): Improve error message.
37008
3cbd2f98 370092008-04-07 Robert Millan <rmh@aybabtu.com>
37010
37011 * util/biosdisk.c (read_device_map): Skip devices that don't exist
37012 (this prevents the presence of a bogus entry from ruining the whole
37013 thing).
37014
87a297bf 370152008-04-06 Pavel Roskin <proski@gnu.org>
37016
36747a62 37017 * util/biosdisk.c: Include grub/util/biosdisk.h.
37018 * util/grub-fstest.c (execute_command): Make static.
37019 * util/grub-mkdevicemap.c (check_device): Likewise.
37020 * util/i386/pc/misc.c: Include grub/machine/init.h.
37021 * util/powerpc/ieee1275/misc.c: Likewise.
37022 * util/lvm.c: Include grub/util/lvm.h.
37023 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37024 grub/cache.h.
37025 * util/raid.c: Include grub/util/raid.h.
37026 (grub_util_getdiskname): Make static.
37027
87a297bf 37028 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37029 grub_hostfs_fini(), as they are called from grub_init_all() and
37030 grub_fini_all() respectively. This fixes an infinite loop in
37031 grub-fstest due to double registration of hostfs.
37032 Reported by Christian Franke <Christian.Franke@t-online.de>
37033
f6ce7629 370342008-04-05 Pavel Roskin <proski@gnu.org>
37035
37036 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37037 all 8 functions. Otherwise, probe function 0 only.
37038
070e49e4 370392008-04-04 Pavel Roskin <proski@gnu.org>
37040
8b088a4c 37041 * commands/lspci.c (grub_lspci_iter): Print the bus number
37042 correctly.
37043
4f657021 37044 * commands/lspci.c (grub_pci_classes): Fix typos.
37045 (grub_lspci_iter): Don't print func twice. Print vendor ID
37046 before device ID, as it's normally done.
37047
070e49e4 37048 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37049 Fix signedness warnings.
37050 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37051 Likewise.
37052 * util/ieee1275/get_disk_name.c: Include config.h so that
37053 _GNU_SOURCE is defined and getline() is declared. Mark an
37054 unused argument as such. Fix a signedness warning.
37055
ba7328dc 370562008-04-02 Pavel Roskin <proski@gnu.org>
37057
26887f22 37058 * genkernsyms.sh.in: Use more robust assignments for CC and
37059 srcdir. Quote srcdir.
37060 * gensymlist.sh.in: Likewise. Assert at the compile time that
37061 the symbol table is not empty.
37062
ba7328dc 37063 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37064 * fs/cpio.c (grub_cpio_read): Likewise.
37065
0f582c6b 370662008-04-01 Pavel Roskin <proski@gnu.org>
37067
4b6e1995 37068 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37069 * disk/host.c (grub_host_open): Likewise.
37070 * disk/loopback.c (grub_loopback_open): Likewise.
37071 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37072 disk->id as in disk/host.c, not a multi-character constant.
37073
828a2768 37074 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37075 later is obsolete, potentially dangerous and sets a bad example.
37076 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37077 * util/misc.c (grub_util_get_image_size): Likewise.
37078
2bb4fb47 37079 * disk/loopback.c (options): Improve help for "--partitions".
37080
0f582c6b 37081 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37082 options to align them with the short options, e.g. "echo -e".
37083
a33224e0 370842008-03-31 Bean <bean123ch@gmail.com>
37085
37086 * video/reader/png.c (grub_png_data): New member is_16bit and
37087 image_data.
37088 (grub_png_decode_image_header): Detect 16 bit png image.
37089 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37090 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37091 (grub_video_reader_png): Release memory occupied by image_data.
37092
37093 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37094 4096 bytes.
37095 (grub_nfs_mount): Skip the test for sector per cluster.
37096
37097 * include/grub/ntfs.h (MAX_SPC): Removed.
37098
86cb4f54 370992008-03-31 Bean <bean123ch@gmail.com>
37100
37101 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37102 (grub_probe_SOURCES): Add fs/afs.c.
37103 (grub_fstest_SOURCES): Likewise.
37104 (afs_mod_SOURCES): New variable.
37105 (afs_mod_CFLAGS): Likewise.
37106 (afs_mod_LDFLAGS): Likewise.
37107
37108 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37109 (grub_emu_SOURCES): Likewise.
37110
37111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37112
37113 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37114
37115 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37116
37117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37118
37119 * fs/afs.c: New file.
37120
17c74c21 371212008-03-30 Pavel Roskin <proski@gnu.org>
37122
4cb68e89 37123 * disk/host.c: Include grub/misc.h to fix a warning.
37124 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37125 warnings about implicit declarations.
37126
8790bb04 37127 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37128 variable.
37129 * include/grub/i386/loader.h: Change declaration of
37130 grub_linux_boot() to match what grub_loader_set() expects.
37131 * util/getroot.c (grub_guess_root_device): Return const char* to
37132 fix a warning.
37133 * util/grub-probe.c (probe): Fix a warning about uninitialized
37134 abstraction_name variable.
37135 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37136 second argument as unused to fix a warning.
37137
9a3f3296 37138 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37139 missing grub_error() call.
37140
0ecef90d 37141 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37142 2.60 and newer uses it to define datadir.
37143
0bf6d401 37144 * commands/sleep.c: Fix warning about implicit declaration.
37145 * disk/memdisk.c: Likewise.
37146 * loader/aout.c: Likewise.
37147 * loader/i386/bsd_normal.c: Likewise.
37148 * util/grub-probe.c: Likewise.
37149
7cdacf97 37150 * commands/i386/cpuid.c (has_longmode): Make static.
37151 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37152 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37153
17c74c21 37154 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37155 GDT. This is more robust, as %ds can change.
37156 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37157 calling real_to_prot().
37158 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37159
80a3e68b 371602008-03-28 Pavel Roskin <proski@gnu.org>
37161
37162 * kern/i386/pc/startup.S: Assert that uncompressed functions
37163 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37164 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37165 code, as they push parts of the code (error handlers) beyond
37166 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37167 code as correctness and size.
37168
77bcd272 371692008-03-28 Pavel Roskin <proski@gnu.org>
37170
37171 * kern/i386/pc/startup.S
37172 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37173 data block address to the real mode, keep offset minimal. This
37174 works around a bug in AWARD BIOS on old Athlon systems, which
37175 makes CD detection hang.
37176
c5dfd43b 371772008-03-26 Pavel Roskin <proski@gnu.org>
37178
37179 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37180 const.
37181 * include/grub/normal.h: Add grub_parse_color_name_pair()
37182 declaration.
37183
bf962df2 371842008-03-24 Bean <bean123ch@gmail.com>
37185
37186 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37187 (cd_count): Removed.
37188 (cd_drive): New variable.
37189 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37190 (grub_biosdisk_call_hook): Likewise.
37191 (grub_biosdisk_iterate): Change cdrom detection method.
37192 (grub_biosdisk_open): Replace cd_start with cd_drive.
37193 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37194 detect cdrom device.
37195
37196 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37197 Removed.
37198 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37199 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37200 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37201 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37202 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37203 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37204 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37205 (grub_biosdisk_cdrp): New structure.
37206 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37207
37208 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37209
37210 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37211 device.
37212
37213 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37214 New function.
37215
68e7fc7a 372162008-03-20 Robert Millan <rmh@aybabtu.com>
37217
37218 Remove 2 TiB limit in ata.mod.
37219 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37220 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37221 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37222 grub_uint64_t instead of grub_uint32_t.
37223
38ad2cf5 372242008-03-05 Bean <bean123ch@gmail.com>
37225
37226 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37227 (grub_multiboot): Set boot device.
37228
37229 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37230
2b89344e 372312008-03-02 Bean <bean123ch@gmail.com>
37232
37233 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37234 symlink_buffer.
37235
87a95d1f 372362008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37237
37238 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37239 texinfo.tex.
37240
37241 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37242 modified.
37243
37244 * docs/fdl.texi: New file.
f19dbdb7 37245
87a95d1f 37246 * docs/mdate-sh: New file. Copied from gnulib.
37247 * docs/texinfo.tex: Likewise.
37248
37249 * config.guess: Updated from gnulib.
37250 * install-sh: Likewise.
37251
7dc15d8e 372522008-02-28 Robert Millan <rmh@aybabtu.com>
37253
37254 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37255 (aout_mod_SOURCES): New variable.
37256 (aout_mod_CFLAGS): Likewise.
37257 (aout_mod_LDFLAGS): Likewise.
37258
37259 * conf/i386-ieee1275.rmk: Likewise.
37260
b00ab696 372612008-02-28 Robert Millan <rmh@aybabtu.com>
37262
37263 * util/update-grub.in: Reorganise terminal validity check. Accept
37264 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37265 Based on suggestion by Franklin PIAT.
37266
79ca2d78 372672008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37268
37269 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37270 function.
37271 * util/getroot.c (grub_util_check_block_device): New function that
37272 returns the given argument if it is a block device and returns NULL else.
37273 * util/grub-probe.c (argument_is_device): New variable.
37274 (probe): Promote device_name from a variable to an argument. Receive
37275 device_name from grub_util_check_block_device() if path is NULL and from
37276 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37277 (options): Introduce new parameter '-d, --device'.
79ca2d78 37278 (main): Add description of the new parameter to the help screen.
37279 Rename path variable to argument. Set argument_is_device if the '-d'
37280 option is given. Pass argument to probe() depending on
37281 argument_is_device.
37282
0d16e571 372832008-02-24 Bean <bean123ch@gmail.com>
37284
37285 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37286 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37287 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37288 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37289 (GRUB_ISO9660_VOLDESC_END): Likewise.
37290 (grub_iso9660_primary_voldesc): New member escape.
37291 (grub_iso9660_data): New member joliet.
37292 (grub_iso9660_convert_string): New function.
37293 (grub_iso9660_mount): Detect joliet extension.
37294 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37295 (grub_iso9660_iso9660_label): Likewise.
37296
37297 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37298 (grub_setup_SOURCES): Add fs/udf.c.
37299 (grub_fstest_SOURCES): Likewise.
37300 (udf_mod_SOURCES): New variable.
37301 (udf_mod_CFLAGS): Likewise.
37302 (udf_mod_LDFLAGS): Likewise.
37303
37304 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37305 (grub_emu_SOURCES): Likewise.
37306
37307 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37308
37309 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37310
37311 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37312
37313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37314
37315 * fs/udf.c: New file.
37316
8a594a17 373172008-02-24 Robert Millan <rmh@aybabtu.com>
37318
37319 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37320 (normal/lexer.c_DEPENDENCIES): New variables.
37321 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37322 (normal/lexer.c_DEPENDENCIES): Likewise.
37323 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37324 (normal/lexer.c_DEPENDENCIES): Likewise.
37325 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37326 (normal/lexer.c_DEPENDENCIES): Likewise.
37327 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37328 (normal/lexer.c_DEPENDENCIES): Likewise.
37329 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37330 (normal/lexer.c_DEPENDENCIES): Likewise.
37331
2dc33c03 373322008-02-23 Robert Millan <rmh@aybabtu.com>
37333
37334 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37335 since they were intended to be in hex. This didn't break previously
37336 because of a bug in gpt_partition_map_iterate() (see below).
37337
37338 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37339 when checking the validity of GPT header.
37340 Remove `partno', since it always provides the same information as `i'.
37341
f6f4cfb0 373422008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37343
37344 * include/grub/efi/time.h: Fix a wrong comment.
37345
79ff665f 373462008-02-19 Pavel Roskin <proski@gnu.org>
37347
37348 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37349 message.
37350
d38e24c2 373512008-02-19 Bean <bean123ch@gmail.com>
37352
37353 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37354 (aout_mod_SOURCES): New variable.
37355 (aout_mod_CFLAGS): Likewise.
37356 (aout_mod_LDFLAGS): Likewise.
37357 (_bsd_mod_SOURCES): New variable.
37358 (_bsd_mod_CFLAGS): Likewise.
37359 (_bsd_mod_LDFLAGS): Likewise.
37360 (bsd_mod_SOURCES): New variable.
37361 (bsd_mod_CFLAGS): Likewise.
37362 (bsd_mod_LDFLAGS): Likewise.
37363
37364 * include/grub/aout.h: New file.
37365
37366 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37367
37368 * include/grub/i386/bsd.h: New file.
37369
37370 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37371 to make it public.
37372
37373 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37374 function is called, so that it's possible to change it inside the hook.
37375 (grub_elf64_load): Likewise.
37376 (grub_elf_file): Don't close the file if elf header is not found.
37377 (grub_elf_close): Close the file if grub_elf_file fails (The new
37378 grub_elf_file won't close it).
37379 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37380 (grub_elf64_size): Likewise.
37381
37382 * kern/i386/loader.S (grub_unix_real_boot): New function.
37383
37384 * loader/aout.c: New file.
37385
37386 * loader/i386/bsd.c: New file.
37387
37388 * loader/i386/bsd_normal.c: New file.
37389
37390 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37391
37392 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37393 can test other formats.
d38e24c2 37394
b93bdb0f 373952008-02-19 Robert Millan <rmh@aybabtu.com>
37396
37397 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37398 (grub_gpt_partition_type_empty): Redefine with macro from
37399 `<grub/gpt_partition.h>'.
37400 (gpt_partition_map_iterate): Adjust partition type comparison.
37401
37402 Export `entry' as partmap-specific `part.data' struct.
37403 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37404
37405 * include/grub/gpt_partition.h (grub_gpt_header)
37406 (grub_gpt_partentry): ... to here (new file).
37407
37408 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37409
37410 (grub_gpt_partition_type_bios_boot): New const variable, defined
37411 with macro from `<grub/gpt_partition.h>'.
37412
37413 (setup): Replace `first_start' with `embed_region', which keeps
37414 track of the embed region (and is partmap-agnostic).
37415
37416 Replace find_first_partition_start() with find_usable_region(),
37417 which finds a usable region for embedding using partmap-specific
37418 knowledge (supports PC/MSDOS and GPT).
37419
37420 Fix all assumptions that the embed region start at sector 1, using
37421 `embed_region.start' from now on. Similarly, use `embed_region.end'
37422 rather than `first_start' to calculate available size.
37423
37424 In grub_util_info() message, replace "into after the MBR" with an
37425 indication of the specific sector our embed region starts at.
37426
66cb40f6 374272008-02-19 Robert Millan <rmh@aybabtu.com>
37428
37429 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37430 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37431 `commands/reboot.c'.
37432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37433 (halt_mod_SOURCES): Likewise.
37434 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37435 (halt_mod_SOURCES): Likewise.
37436
b7202015 374372008-02-17 Christian Franke <franke@computer.org>
37438
37439 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37440
32b0fc49 374412008-02-17 Robert Millan <rmh@aybabtu.com>
37442
37443 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37444 set `first_start' to 0 for non-PC/MSDOS partition maps.
37445
aca63502 374462008-02-16 Robert Millan <rmh@aybabtu.com>
37447
37448 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37449 do not assume partition map is PC/MSDOS before performing checks that
37450 are specific to that layout.
37451
0de8be86 374522008-02-13 Robert Millan <rmh@aybabtu.com>
37453
37454 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37455 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37456 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37457
c3db8364 374582008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37459
37460 * configure.ac: Only a cosmetic change on the handling of
37461 -fno-stack-protector.
37462
f714229e 374632008-02-12 Alexandre Boeglin <alex@boeglin.org>
37464
c3db8364 37465 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37466 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37467 reboot.c.
f714229e 37468 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37469 (halt_mod_SOURCES): New variable.
37470 (halt_mod_CFLAGS): Likewise.
37471 (halt_mod_LDFLAGS): Likewise.
37472 (reboot_mod_SOURCES): Likewise.
37473 (reboot_mod_CFLAGS): Likewise.
37474 (reboot_mod_LDFLAGS): Likewise.
37475
c3db8364 37476 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37477 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37478 reboot.c.
f714229e 37479 (halt_mod_SOURCES): Likewise.
37480 (reboot_mod_SOURCES): Likewise.
37481
c3db8364 37482 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37483 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37484 (reboot_mod_SOURCES): Likewise.
37485
37486 * commands/i386/pc/reboot.c: merge this file ...
37487
37488 * commands/ieee1275/reboot.c: ... and this file ...
37489
37490 * commands/reboot.c: ... to this file.
c3db8364 37491 Add some precompiler directive to include the correct header for
37492 each machine.
f714229e 37493
37494 * commands/ieee1275/halt.c: move this file ...
37495
37496 * commands/halt.c: ... to here.
c3db8364 37497 Add some precompiler directive to include the correct header for
37498 each machine.
f714229e 37499
37500 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37501 (grub_halt): Likewise.
37502
37503 * kern/efi/efi.c (grub_reboot): New function.
37504 (grub_halt): Likewise.
37505
c74493e0 375062008-02-12 Robert Millan <rmh@aybabtu.com>
37507
37508 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37509 /dev (like it is done for /dev/mapper). This doesn't provide support
37510 for EVMS, but at least it is now easy to identify the problem when it
37511 arises.
37512
d0db4b04 375132008-02-11 Robert Millan <rmh@aybabtu.com>
37514
37515 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37516 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37517 comparing it with -1, not 0.
37518
bf748642 375192008-02-10 Robert Millan <rmh@aybabtu.com>
37520
37521 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37522 `disk/lvm.c'.
37523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37524 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37525
37526 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37527 `disk/lvm.c' to the end of the list.
37528 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37529 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37530
b5db202a 375312008-02-10 Robert Millan <rmh@aybabtu.com>
37532
37533 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37534 grub_print_error() instead. This will let user know why we're entering
37535 rescue mode.
37536 Based on suggestions from Sam Morris.
37537
83abee31 375382008-02-10 Alexandre Boeglin <alex@boeglin.org>
37539
37540 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37541 on remaining N args, instead of "--" arg N times.
37542
78d5a08b 375432008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37544
37545 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37546 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37547 pattern for unknown glyphs.
37548
68807e5f 375492008-02-09 Robert Millan <rmh@aybabtu.com>
37550
37551 * configure.ac: Probe for `help2man'.
37552 * Makefile.in (builddir): New variable.
37553 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37554 or otherwise add a few flags/options to it.
37555 (install-local): For every executable utility or script that is
37556 installed, invoke $(HELP2MAN) to install a manpage based on --help
37557 output.
37558
37559 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37560 that it doesn't prevent --help from working in build tree.
37561
37562 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37563 with `bug-grub@gnu.org'.
37564 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37565 * util/update-grub.in (usage): New function.
37566 Implement proper argument check, with support for --help and --version
37567 (as well as existing -y).
37568
375692008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37570
37571 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37572 avoid overwriting previous output.
37573 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37574
c1962162 375752008-02-09 Robert Millan <rmh@aybabtu.com>
37576
37577 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37578 drawing the menu.
37579
3dac2e3f 375802008-02-09 Robert Millan <rmh@aybabtu.com>
37581
37582 * commands/sleep.c: New file.
37583 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37584 (sleep_mod_SOURCES): New variable.
37585 (sleep_mod_CFLAGS): Likewise.
37586 (sleep_mod_LDFLAGS): Likewise.
37587
7a634e08 375882008-02-09 Robert Millan <rmh@aybabtu.com>
37589
37590 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37591 situations in which we can deduce the RAID size and the superblock
37592 doesn't match it.
37593
b92f0c18 375942008-02-09 Robert Millan <rmh@aybabtu.com>
37595
37596 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37597 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37598 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37599
37600 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37601 and return a grub_diskmemberlist_t composed of physical array members.
37602 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37603
37604 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37605 prototype.
37606 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37607 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37608 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37609
37610 * util/grub-probe.c (probe): Move partmap probing code from here ...
37611 (probe_partmap): ... to here.
37612 (probe): Use probe_partmap() once for the disk we're probing, and
37613 additionally, when such disk contains a memberlist() struct member,
37614 once for each disk that is contained in the structure returned by
37615 memberlist().
37616
91a4bf68 376172008-02-09 Robert Millan <rmh@aybabtu.com>
37618
37619 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37620 environment variable to 'all' in order to obtain debug output from
37621 non-util/ code.
37622 * util/i386/pc/grub-setup.c (main): Likewise.
37623
a96f9caa 376242008-02-08 Robert Millan <rmh@aybabtu.com>
37625
37626 * disk/raid.c (grub_raid_scan_device): Check for
37627 `array->device[sb.this_disk.number]' rather than for
37628 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37629 guaranteed to be accessible.
a96f9caa 37630
b37a9222 376312008-02-08 Robert Millan <rmh@aybabtu.com>
37632
37633 * disk/raid.c: Update copyright.
37634 * fs/cpio.c: Likewise.
37635 * include/grub/raid.h: Likewise.
37636 * loader/i386/pc/multiboot.c: Likewise.
37637 * util/hostfs.c: Likewise.
37638
5626aee1 376392008-02-08 Robert Millan <rmh@aybabtu.com>
37640
37641 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37642 to a grub_disk_t array.
37643 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37644 `device[x]'.
37645 (grub_raid_scan_device): Replace `device[x].name' accesses with
37646 `device[x]->name'. Simplify initialization of `array->device[x]'.
37647
554f0187 376482008-02-08 Robert Millan <rmh@aybabtu.com>
37649
37650 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37651 grub_dprintf() calls.
37652 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37653 error message.
37654
1ec8425d 376552008-02-07 Christian Franke <franke@computer.org>
37656
37657 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37658 instead of fseek and ftell to support large files.
37659 (grub_hostfs_read): Likewise.
37660
f2156fda 376612008-02-07 Robert Millan <rmh@aybabtu.com>
37662
37663 Patch from Jeroen Dekkers.
37664 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37665 failure, since successfully reading all array members might not be
f2156fda 37666 required.
37667
9216e0e7 376682008-02-06 Robert Millan <rmh@aybabtu.com>
37669
37670 * util/grub-probe.c (probe): Simplify partmap probing (with the
37671 assumption that the first word up to the underscore equals to
37672 the module name).
37673
b0dfd29a 376742008-02-06 Christian Franke <franke@computer.org>
37675
37676 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37677 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37678 last block of a cpio or tar stream.
37679 Check for "TRAILER!!!" instead of any empty data
37680 block to detect last block of a cpio stream.
37681 (grub_cpio_dir): Fix constness of variable np.
37682 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37683 cpio or tar trailer is detected. This fixes a crash
37684 on open of a non existing file.
37685
c32865bf 376862008-02-05 Bean <bean123ch@gmail.com>
37687
37688 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37689 address of entry.
37690 (grub_multiboot_load_elf64): Likewise.
37691 (grub_multiboot): Initialize mbi structure.
37692
37693 * util/grub-fstest.c: Don't include unused header file script.h.
37694
fe6b695a 37695 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37696 of file.
37697 (grub_fstest_SOURCES): Likewise.
37698
409480b7 376992008-02-05 Robert Millan <rmh@aybabtu.com>
37700
37701 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37702 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37703 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37704 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37705
37706 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37707 (translation_table): Replace hardcoded values with macros
37708 provided by `<grub/term.h>'.
37709
37710 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37711 (keyboard_map): Correct/add a few values, with macros provided
37712 by `<grub/term.h>'.
37713 (keyboard_map_shift): Zero values that don't differ from their
37714 `keyboard_map' equivalents.
37715 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37716 Discard the second scan code that is always sent by Caps lock.
37717 Only use `keyboard_map_shift' when it provides a non-zero value,
37718 otherwise fallback to `keyboard_map'.
37719
99fadbaa 377202008-02-04 Bean <bean123ch@gmail.com>
37721
37722 * Makefile.in (enable_grub_fstest): New variable.
37723
37724 * conf/common.rmk (grub_fstest_init.lst): New rule.
37725 (grub_fstest_init.h): Likewise.
37726 (grub_fstest_init.c): Likewise.
37727 (util/grub-fstest.c_DEPENDENCIES): New variable.
37728 (grub_fstest_SOURCES): Likewise.
37729
37730 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37731
37732 * util/grub-fstest.c: New file.
37733
bf567c50 377342008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37735
37736 Make grub-setup handle a separate root device.
f19dbdb7 37737
bf567c50 37738 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37739 so that the root device can be compared with the destination
37740 device.
37741 When embedding the core image, if the root and destination devices
37742 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37743 0xFF.
37744 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37745
9be6b98b 377462008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37747
37748 Add support for having a grub directory in a different drive. This
37749 is still only the data handling part.
f19dbdb7 37750
9be6b98b 37751 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37752 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37753 (grub_root_drive): New variable.
37754
37755 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37756 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37757 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37758 as it was.
37759
37760 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37761
37762 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37763 macro.
37764 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37765
37766 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37767 is bogus, because PXE booting does not specify any drive
37768 correctly.
37769
37770 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37771 am not sure if this is really correct.
37772
37773 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37774 is always identical to the boot drive when booting from a CD.
37775
37776 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37777 longer.
37778 (root_drive): New variable.
37779 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37780 (setup_sectors): Push %dx right after popping it, because %dh will
37781 be modified later.
37782 (copy_buffer): Restore %dx.
37783
e0ca0677 377842008-02-03 Robert Millan <rmh@aybabtu.com>
37785
37786 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37787 use `cdboot.img' for cdrom images.
37788
3b3f6629 377892008-02-03 Robert Millan <rmh@aybabtu.com>
37790
37791 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37792 only setup gfxterm when `font' command has succeeded.
37793
d42b3672 377942008-02-03 Robert Millan <rmh@aybabtu.com>
37795
37796 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37797 (grub_rescue_cmd_multiboot_loader)
37798 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37799
fa370ea6 378002008-02-03 Pavel Roskin <proski@gnu.org>
37801
e0c5dacb 37802 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37803 %edx and %esi from stack only after grub_gate_a20() is called.
37804 grub_gate_a20() clobbers %edx.
37805
f2a76e1d 378062008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37807
37808 * configure.ac (AC_INIT): Bumped to 1.96.
37809
37810 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37811 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37812 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37813 video/readers/png.c.
37814
90fd32d1 378152008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37816
37817 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37818 (cdboot_img_SOURCES): New variable.
37819 (cdboot_img_ASFLAGS): New variable.
37820 (cdboot_img_LDFLAGS): New variable.
37821
37822 * boot/i386/pc/cdboot.S: New file.
37823
37824 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37825 (cd_count): Likewise.
37826 (grub_biosdisk_get_drive): Add support for cd device.
37827 (grub_biosdisk_call_hook): Likewise.
37828 (grub_biosdisk_iterate): Likewise.
37829 (grub_biosdisk_open): Likewise.
37830 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37831 (grub_biosdisk_rw): Support reading from cd device.
37832 (GRUB_MOD_INIT): Iterate cd devices.
37833
37834 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37835 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37836 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37837
37838 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37839
4020aa53 378402008-02-02 Robert Millan <rmh@aybabtu.com>
37841
37842 * commands/read.c: New file.
37843 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37844 (read_mod_SOURCES): New variable.
37845 (read_mod_CFLAGS): Likewise.
37846 (read_mod_LDFLAGS): Likewise.
37847
e03a1132 378482008-02-02 Robert Millan <rmh@aybabtu.com>
37849
37850 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37851 determining whether menu has to be displayed.
37852
58c69220 378532008-02-02 Marco Gerards <marco@gnu.org>
37854
37855 * bus/pci.c: New file.
37856
37857 * include/grub/pci.h: Likewise.
37858
37859 * include/grub/i386/pc/pci.h: Likewise.
37860
37861 * commands/lspci.c: Likewise.
37862
37863 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37864 `lspci.mod'.
37865 (pci_mod_SOURCES): New variable.
37866 (pci_mod_CFLAGS): Likewise.
37867 (pci_mod_LDFLAGS): Likewise.
37868 (lspci_mod_SOURCES): Likewise.
37869 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37870 (lspci_mod_LDFLAGS): Likewise.
58c69220 37871
c004e1b4 378722008-02-02 Bean <bean123ch@gmail.com>
37873
37874 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37875 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37876
37877 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37878 (grub_xfs_btree_node): New structure.
37879 (grub_xfs_btree_root): New structure.
37880 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37881 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37882 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37883 (GRUB_XFS_EXTENT_SIZE): Likewise.
37884 (grub_xfs_read_block): Support btree format type.
37885 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37886 Use directory block as basic unit.
37887
37888 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37889
37890 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37891 __attribute__ ((__regparm__ (1))).
37892
f95562bf 378932008-02-01 Robert Millan <rmh@aybabtu.com>
37894
37895 Correct a mistake in previous commit.
37896
37897 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37898 top.
37899 (normal/command.c_DEPENDENCIES): New variable.
37900
7d31f41f 379012008-02-01 Robert Millan <rmh@aybabtu.com>
37902
37903 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37904 top.
37905 (normal/command.c_DEPENDENCIES): New variable.
37906 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37907 * conf/i386-ieee1275.rmk: Likewise.
37908 * conf/i386-linuxbios.rmk: Likewise.
37909 * conf/i386-pc.rmk: Likewise.
37910 * conf/sparc64-ieee1275.rmk: Likewise.
37911 * conf/powerpc-ieee1275.rmk: Likewise.
37912 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37913
37914 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37915
60b6be74 379162008-02-01 Robert Millan <rmh@aybabtu.com>
37917
37918 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37919 call at beginning of function.
37920
078522ab 379212008-01-31 Pavel Roskin <proski@gnu.org>
37922
37923 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37924 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37925 (grub_mkrescue_SOURCES): Likewise.
078522ab 37926 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37927
ccaa8a5f 379282008-01-30 Robert Millan <rmh@aybabtu.com>
37929
37930 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37931 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37932 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37933 (grub_probe_SOURCES): ... to here.
37934
37935 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37936 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37937 * conf/i386-ieee1275.rmk: Likewise.
37938 * conf/i386-linuxbios.rmk: Likewise.
37939 * conf/powerpc-ieee1275.rmk: Likewise.
37940
ae5a9cd7 379412008-01-30 Tristan Gingold <gingold@free.fr>
37942
37943 * kern/rescue.c: Silently accept empty lines.
37944
70bc2ef2 379452008-01-29 Bean <bean123ch@gmail.com>
37946
37947 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37948 (real_code_2): Code cleanup and change comment style.
37949 (move_memory): Avoid using 32-bit address mode.
37950
6a4d50ea 379512008-01-29 Bean <bean123ch@gmail.com>
37952
37953 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37954 (png_mod_SOURCES): New variable.
37955 (png_mod_CFLAGS): Likewise.
37956 (png_mod_LDFLAGS): Likewise.
37957
37958 * video/readers/png.c: New file.
37959
11cc30ac 379602008-01-28 Robert Millan <rmh@aybabtu.com>
37961
37962 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37963 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37964 `ifndef GRUB_MOD_GAP' hack.
37965 * util/elf/grub-mkimage.c (add_segments): Likewise.
37966
3abc589f 379672008-01-27 Robert Millan <rmh@aybabtu.com>
37968
37969 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37970 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37971 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37972
e1907778 379732008-01-27 Robert Millan <rmh@aybabtu.com>
37974
37975 Get grub-emu to build again (including parallel builds).
37976
37977 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37978 Split into ...
37979 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37980 (normal/execute.c_DEPENDENCIES): ... this, ...
37981 (grub-emu_DEPENDENCIES): ... and this.
37982
37983 * conf/i386-efi.rmk: Likewise.
37984 * conf/i386-linuxbios.rmk: Likewise.
37985 * conf/i386-ieee1275.rmk: Likewise.
37986 * conf/powerpc-ieee1275.rmk: Likewise.
37987 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37988
2216b101 379892008-01-27 Robert Millan <rmh@aybabtu.com>
37990
37991 * NEWS: Add a few items.
37992
f75172d9 379932008-01-27 Robert Millan <rmh@aybabtu.com>
37994
37995 Fix parallel builds with grub-emu. Based on earlier commit for
37996 grub-probe and grub-setup.
37997
37998 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37999 (util/grub-emu.c_DEPENDENCIES): ... this.
38000 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38001 (util/grub-emu.c_DEPENDENCIES): ... this.
38002 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38003 (util/grub-emu.c_DEPENDENCIES): ... this.
38004 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38005 (util/grub-emu.c_DEPENDENCIES): ... this.
38006 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
38007 (util/grub-emu.c_DEPENDENCIES): ... this.
38008
3f51de77 380092008-01-27 Pavel Roskin <proski@gnu.org>
38010
38011 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
38012 to create a gap between _end and the modules added to the image
38013 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
38014 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
38015 * util/elf/grub-mkimage.c (add_segments): Likewise.
38016
2033f53e 380172008-01-26 Pavel Roskin <proski@gnu.org>
38018
38019 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38020 just return an error.
38021
22da1f6f 380222008-01-26 Bean <bean123ch@gmail.com>
38023
38024 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38025 (grub_reiserfs_get_item): Save offset of the next item.
38026 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38027
2a9525e6 380282008-01-25 Robert Millan <rmh@aybabtu.com>
38029
38030 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38031 make all filesystem sources appear together (possibly fixing omissions
38032 while at it).
38033 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38034 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38035 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38037
38038 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38039 add `kern/file.c'.
38040 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38041 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38042 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38043 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38044
38045 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38046 (probe): Add a sanity check to make sure of our ability to read
38047 requested files when probing for filesystem type.
38048
38049 * genmk.rb: Update copyright year (2007).
38050
38051 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38052 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38053 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38054 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38055 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38056 : Remove function prototypes.
38057
b95f71b5 380582008-01-25 Robert Millan <rmh@aybabtu.com>
38059
38060 Revert my previous commits (based on wrong assumption of how grub_errno
38061 works).
38062
fe6b695a 38063 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 38064 * kern/file.c (grub_file_open): Likewise.
38065
d08bbb49 380662008-01-24 Pavel Roskin <proski@gnu.org>
38067
38068 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38069 that hang if GRUB tries to setup colors.
38070 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38071 colors for firmwares that don't support it.
38072 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38073 Recognize Open Hack'Ware, set flags to work around its
38074 limitations.
38075
605e36ed 380762008-01-24 Robert Millan <rmh@aybabtu.com>
38077
38078 * kern/file.c (grub_file_open): Do not account previous failures of
38079 unrelated functions when grub_errno is checked for.
38080 Reported by Oleg Strikov.
38081
bac332a1 380822008-01-24 Bean <bean123ch@gmail.com>
38083
38084 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38085 (grub_ufs_sblock): New member volume name.
38086 (grub_ufs_find_file): Fix string copy bug.
38087 (grub_ufs_label): Implement this function properly.
38088
38089 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38090 (grub_hfs_iterate_records): Use the correct file number for extents
38091 and catalog file. Fix problem in next index calculation.
38092 (grub_hfs_find_node): Replace recursive function call with loop.
38093 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38094
15c80c09 380952008-01-23 Robert Millan <rmh@aybabtu.com>
38096
38097 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38098 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38099 (grub_multiboot2_real_boot): New function prototype.
38100
38101 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38102 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38103
38104 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38105 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38106
305338fd 381072008-01-23 Robert Millan <rmh@aybabtu.com>
38108
38109 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38110 #ifdef'ed out grub_printf().
38111
3ea52685 381122008-01-23 Robert Millan <rmh@aybabtu.com>
38113
38114 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38115 grub_dprintf calls, since they make "debug=all" mode unusable.
38116 (grub_console_checkkey): Likewise.
38117
5882ae4b 381182008-01-23 Robert Millan <rmh@aybabtu.com>
38119
38120 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38121 `term/i386/pc/at_keyboard.c'.
38122 (pkglib_MODULES): Add `serial.mod'.
38123 (serial_mod_SOURCES): New variable.
38124 (serial_mod_CFLAGS): Likewise.
38125 (serial_mod_LDFLAGS): Likewise.
38126
38127 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38128 `<grub/powerpc/ieee1275/console.h>'.
38129 (grub_keyboard_controller_init): New function prototype.
38130 (grub_console_checkkey): Likewise.
38131 (grub_console_getkey): Likewise.
38132
38133 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38134 keyboard on i386.
38135
38136 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38137 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38138
06ab5303 381392008-01-23 Robert Millan <rmh@aybabtu.com>
38140
38141 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38142 present, "(memdisk)/boot/grub" becomes the default prefix.
38143
38144 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38145 a memdisk tarball with all the modules. Add --overlay=DIR option that
38146 allows users to overlay additional files into the image.
38147
dbb475a4 381482008-01-23 Robert Millan <rmh@aybabtu.com>
38149
38150 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38151 and `machine/memory.h'.
38152 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38153 (_multiboot_mod_SOURCES): New variable.
38154 (_multiboot_mod_CFLAGS): Likewise.
38155 (_multiboot_mod_LDFLAGS): Likewise.
38156 (multiboot_mod_SOURCES): Likewise.
38157 (multiboot_mod_CFLAGS): Likewise.
38158 (multiboot_mod_LDFLAGS): Likewise.
38159
38160 * include/grub/i386/ieee1275/loader.h: New file.
38161
38162 * include/grub/i386/ieee1275/machine.h: Likewise.
38163
38164 * include/grub/i386/ieee1275/memory.h: Likewise.
38165
38166 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38167 variable declaration.
38168 (grub_os_area_size): Likewise.
38169
38170 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38171 (grub_lower_mem, grub_upper_mem): New variables.
38172 (grub_stop_floppy): New function (just to make
38173 grub_multiboot2_real_boot() happy).
38174
38175 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38176 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38177 (grub_stop): New function.
38178 Include `"../realmode.S"' and `"../loader.S"'.
38179
38180 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38181 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38182
38183 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38184 rely on grub_multiboot2_real_boot() for final boot.
38185
25638629 381862008-01-22 Robert Millan <rmh@aybabtu.com>
38187
38188 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38189 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38190 device that doesn't look like an SD card.
38191 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38192 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38193 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38194 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38195 found.
38196
9dad816d 381972008-01-22 Robert Millan <rmh@aybabtu.com>
38198
38199 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38200 avoid claiming over our own code.
38201
34842f2d 382022008-01-22 Bean <bean123ch@gmail.com>
38203
38204 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38205 (jpeg_mod_SOURCES): New variable.
38206 (jpeg_mod_CFLAGS): Likewise.
38207 (jpeg_mod_LDFLAGS): Likewise.
38208
38209 * video/readers/jpeg.c : New file.
38210
44023a28 382112008-01-22 Bean <bean123ch@gmail.com>
38212
38213 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38214 there are no more items.
38215
bc2d8ac6 382162008-01-21 Robert Millan <rmh@aybabtu.com>
38217
38218 * kern/mm.c (grub_mm_init_region): Improve debug message.
38219
261bd4bc 382202008-01-21 Robert Millan <rmh@aybabtu.com>
38221
38222 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38223 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38224 address.
38225 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38226 a C macro.
38227 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38228 Indicates start of upper memory.
38229 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38230 (generate_image): Abort when image size is big enough to corrupt
38231 upper memory.
38232
38233 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38234 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38235 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38236 instead of hardcoding 0xA0000.
38237 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38238 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38239 instead of hardcoding 0xA0000.
38240
f970b55e 382412008-01-21 Robert Millan <rmh@aybabtu.com>
38242
38243 * disk/memdisk.c (memdisk_size): New variable.
38244 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38245 `memdisk_size'.
38246 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38247 image to dynamic memory.
38248 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38249 `memdisk_size'. Free memdisk block.
38250
1a8b0526 382512008-01-21 Robert Millan <rmh@aybabtu.com>
38252
38253 Fix detection of very small filesystems (like tar).
38254
38255 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38256 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38257 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38258 a problem with this disk).
38259
6e9b4aab 382602008-01-21 Robert Millan <rmh@aybabtu.com>
38261
38262 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38263 on grub_biosdisk_rw_standard() error.
38264
0d8837b2 382652008-01-21 Robert Millan <rmh@aybabtu.com>
38266
38267 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38268 recent changes.
38269 * kern/elf.c: Likewise.
38270 * kern/ieee1275/ieee1275.c: Likewise.
38271 * kern/powerpc/ieee1275/openfw.c: Likewise.
38272 * term/ieee1275/ofconsole.c: Likewise.
38273
ffd36e34 382742008-01-21 Robert Millan <rmh@aybabtu.com>
38275
38276 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38277
3f0093d0 38278 * include/grub/kernel.h (grub_arch_memdisk_addr)
38279 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38280
3f0093d0 38281 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38282 (grub_arch_memdisk_size): ... to here.
ffd36e34 38283
6c391b21 382842008-01-21 Robert Millan <rmh@aybabtu.com>
38285
38286 Mostly based on bugfix from Bean.
38287
38288 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38289 attribute with hook() parameter.
38290 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38291 declaration.
38292 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38293 attribute with hook() parameter.
38294 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38295 declaration.
38296
55a581dc 382972008-01-21 Robert Millan <rmh@aybabtu.com>
38298
38299 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38300 (pkglib_MODULES): Add `memdisk.mod'.
38301 (memdisk_mod_SOURCES): New variable.
38302 (memdisk_mod_CFLAGS): Likewise.
38303 (memdisk_mod_LDFLAGS): Likewise.
38304
38305 * disk/memdisk.c: New file.
38306
38307 * include/grub/disk.h (grub_disk_dev_id): Add
38308 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38309
38310 * include/grub/i386/pc/kernel.h
38311 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38312 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38313 (grub_kernel_image_size): New variable declaration.
38314 (grub_total_module_size): Likewise.
38315 (grub_memdisk_image_size): Likewise.
38316
38317 * include/grub/i386/pc/memory.h
38318 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38319
38320 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38321 (grub_arch_memdisk_addr): New variable declaration.
38322 (grub_arch_memdisk_size): Likewise.
38323
38324 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38325 (grub_arch_memdisk_size): Likewise.
38326
38327 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38328 (codestart): Replace hardcoded `0x100000' with
38329 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38330
38331 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38332 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38333 not NULL, append the contents of the file it refers to, at the end of
38334 the compressed kernel image. Initialize `grub_memdisk_image_size'
38335 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38336 (options): Add "memdisk"|'m' option.
38337 (main): Parse --memdisk|-m option, and pass user-provided path as
38338 parameter to generate_image().
38339
3d7f54c9 383402008-01-20 Robert Millan <rmh@aybabtu.com>
38341
38342 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38343 grub_dprintf() calls from here ...
38344 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38345
0bf74728 383462008-01-20 Robert Millan <rmh@aybabtu.com>
38347
38348 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38349
38350 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38351 declaration.
38352 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38353 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38354 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38355 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38356 property).
38357 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38358 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38359
33bf70a7 383602008-01-19 Robert Millan <rmh@aybabtu.com>
38361
fe6b695a 38362 Get rid of confusing function (superseded by
33bf70a7 38363 `grub_ieee1275_get_integer_property')
38364 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38365 prototype.
38366 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38367 function.
38368 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38369 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38370 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38371
e2da7d26 383722008-01-19 Robert Millan <rmh@aybabtu.com>
38373
38374 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38375 command after "shut-down", since implementations differ on which
38376 the command for halt is.
38377
59f1fd8d 383782008-01-19 Robert Millan <rmh@aybabtu.com>
38379
38380 * include/grub/i386/linuxbios/console.h: Add header protection.
38381 (grub_keyboard_controller_init): New function prototype.
38382 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38383 (KEYBOARD_COMMAND_READ): Likewise.
38384 (KEYBOARD_COMMAND_WRITE): Likewise.
38385 (KEYBOARD_SCANCODE_SET1): Likewise.
38386 (grub_keyboard_controller_write): New function.
38387 (grub_keyboard_controller_read): Likewise.
38388 (grub_keyboard_controller_init): Likewise.
38389
38390 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38391 (grub_console_init): On coreboot/LinuxBIOS, call
38392 grub_keyboard_controller_init().
38393
5f5a7c15 383942008-01-19 Robert Millan <rmh@aybabtu.com>
38395
38396 PowerPC changes provided by Pavel Roskin.
38397
38398 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38399 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38400 don't rely on cmain() doing it.
38401 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38402 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38403
1210e168 384042008-01-16 Robert Millan <rmh@aybabtu.com>
38405
38406 * include/grub/i386/linuxbios/memory.h
38407 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38408 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38409 receive `table_header' as argument. Instead, probe for it in the
38410 known memory ranges where it can be present.
38411 (grub_available_iterate): Do not pass a fixed `table_header' address
38412 to grub_linuxbios_table_iterate().
38413
3d04eab8 384142008-01-15 Robert Millan <rmh@aybabtu.com>
38415
38416 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38417 * conf/i386-ieee1275.rmk: New file.
38418 * include/grub/i386/ieee1275/console.h: Likewise.
38419 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38420 * include/grub/i386/ieee1275/kernel.h: Likewise.
38421 * include/grub/i386/ieee1275/time.h: Likewise.
38422 * kern/i386/ieee1275/init.c: Likewise.
38423 * kern/i386/ieee1275/startup.S: Likewise.
38424
d1bc1b73 384252008-01-15 Robert Millan <rmh@aybabtu.com>
38426
38427 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38428 when pointers are 32-bit (but still do set it to one when they are
38429 64-bit).
38430
66a65807 384312008-01-15 Robert Millan <rmh@aybabtu.com>
38432
38433 * include/grub/ieee1275/ieee1275.h
38434 (grub_ieee1275_get_integer_property): New function prototype.
38435
38436 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38437 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38438 grub_ieee1275_get_property() to handle endianness.
66a65807 38439
38440 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38441 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38442 where appropriate.
66a65807 38443 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38444 (grub_map): Likewise.
38445 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38446
a83ccafd 384472008-01-15 Bean <bean123ch@gmail.com>
38448
38449 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38450 (grub_script_execute_cmdline): Reset grub_errno.
38451
38452 * normal/main.c (read_config_file): Reset grub_errno.
38453
38454 * normal/parse.y (script_init): New.
38455 (script): Move function and menuentry here.
38456 (delimiter): New.
38457 (command): Add delimiter at the end of command.
38458 (commands): Adjust to match the new command.
38459 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38460 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38461 (if): Use the new commands.
38462
38463 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38464
df6ecfc6 384652008-01-15 Robert Millan <rmh@aybabtu.com>
38466
38467 * normal/menu.c (run_menu): Move timeout message from here ...
38468 (print_timeout): ... to here.
38469 (run_menu): Use print_timeout() once during initial draw to print
38470 the whole message, and again in every clock tick to update only
38471 the number of seconds.
38472
87ae25eb 384732008-01-15 Robert Millan <rmh@aybabtu.com>
38474
38475 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38476 actual size of `available' from grub_ieee1275_get_property(), and
38477 restrict parsing to that bound.
38478
47bf09a4 384792008-01-15 Christian Franke <franke@computer.org>
38480
38481 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38482 (argp_program_version): Remove variable.
38483 (argp_program_bug_address): Likewise.
38484 (options): Convert from struct argp_option to struct option.
38485 (struct arguments): Remove.
38486 (parse_opt): Remove.
38487 (usage): New function.
38488 (main): Replace struct args members by simple variables.
38489 Replace argp_parse() by getopt_long().
38490 Add switch to evaluate options.
38491 Add missing "(...)" around root_dev in prefix string.
38492
c86f1469 384932008-01-14 Robert Millan <rmh@aybabtu.com>
38494
38495 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38496 for grub_ieee1275_exit(), in order to improve portability.
38497
e622c559 384982008-01-14 Robert Millan <rmh@aybabtu.com>
38499
38500 * util/grub.d/10_linux.in (prefix): Define.
38501 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38502
44cb1ec8 385032008-01-13 Pavel Roskin <proski@gnu.org>
38504
38505 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38506 grub_errno if no errors have been detected.
38507
1eb8c802 385082008-01-12 Robert Millan <rmh@aybabtu.com>
38509
38510 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38511 (grub_util_get_dev_abstraction): New function prototype.
38512
38513 * util/getroot.c: Include `<grub/util/getroot.h>'
38514 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38515 (grub_util_get_dev_abstraction): ... here (new function).
38516
38517 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38518 `PRINT_ABSTRACTION'.
38519 (probe): Probe for abstraction type when requested.
38520 (main): Understand `--target=abstraction'.
38521
38522 * util/i386/efi/grub-install.in: Add abstraction module to core
38523 image when it is found to be necessary.
38524 * util/i386/pc/grub-install.in: Likewise.
38525 * util/powerpc/ieee1275/grub-install.in: Likewise.
38526
38527 * util/update-grub_lib.in (font_path): Return system path without
38528 converting to GRUB path.
38529 * util/update-grub.in: Convert system path returned by font_path()
38530 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38531 abstraction module is needed for loading fonts (if any). Export
38532 that as `GRUB_PRELOAD_MODULES'.
38533 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38534 insmod commands).
38535
52bd3de9 385362008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38537
38538 Remove some unused code from reiserfs.
f19dbdb7 38539
52bd3de9 38540 * fs/reiserfs.c (struct grub_reiserfs_key)
38541 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38542 (struct grub_reiserfs_node_body): Removed.
38543 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38544 Likewise.
38545 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38546 Likewise.
38547 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38548 Likewise.
38549 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38550 Likewise.
38551 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38552 Likewise.
38553 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38554 Likewise.
38555 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38556 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38557 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38558
2f80039d 385592008-01-10 Robert Millan <rmh@aybabtu.com>
38560
38561 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38562 Determines if a file is garbage left by packaging systems, etc.
38563 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38564 for processing /etc/grub.d scripts.
38565 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38566 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38567 as a condition for processing Linux images.
38568
87888032 385692008-01-10 Pavel Roskin <proski@gnu.org>
38570
38571 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38572 to compile reiserfs.c on PowerPC.
38573
7e54fced 385742008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38575
38576 * kern/device.c (grub_device_iterate): Do not abort device iteration
38577 when one of the devices cannot be opened.
38578 * kern/disk.c (grub_disk_open): Do not account previous failures of
38579 unrelated functions when grub_errno is checked for.
38580
5aa541e6 385812008-01-08 Robert Millan <rmh@aybabtu.com>
38582
38583 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38584 `! grub_linux_is_bzimage', change order of address comparison to make
38585 it more intuitive, and improve "too big zImage" error message.
38586
7076340d 385872008-01-08 Robert Millan <rmh@aybabtu.com>
38588
38589 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38590 `$(update-grub_DATA)'.
38591 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38592 targets.
38593
9ca70333 385942008-01-07 Robert Millan <rmh@aybabtu.com>
38595
38596 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38597 which instruction is modified by grub-setup during installation
38598 (since it wasn't obvious by only looking at this file).
38599
38ccf575 386002008-01-07 Robert Millan <rmh@aybabtu.com>
38601
38602 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38603 listing actual TODO items.
38604
f5db4291 386052008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38606
868967cf 38607 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38608 correctly.
38609 (grub_reiserfs_get_key_offset): Likewise.
38610 (grub_reiserfs_set_key_offset): Likewise.
38611 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38612 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38613
38614 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38615 better to remove the bitfield version completely.
f19dbdb7 38616
868967cf 386172008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38618
f5db4291 38619 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38620 allocated from the heap, due to the fshelp implementation.
38621 (grub_reiserfs_dir): Free NODE, due to the same reason.
38622
492e6d9d 386232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38624
38625 Mostly from Vincent Pelletier:
f19dbdb7 38626
492e6d9d 38627 * fs/reiserfs.c: New file.
f19dbdb7 38628
492e6d9d 38629 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38630 (reiserfs_mod_SOURCES): New variable.
38631 (reiserfs_mod_CFLAGS): Likewise.
38632 (reiserfs_mod_LDFLAGS): Likewise.
38633
38634 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38635 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38636 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38637 normal/color.c.
38638
9ce3e7c1 386392008-01-06 Robert Millan <rmh@aybabtu.com>
38640
38641 * normal/color.c: Remove `<grub/env.h>'.
38642
f3b58148 386432008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38644
38645 * include/grub/normal.h: Include <grub/env.h>.
38646
7ac3bcfa 386472008-01-05 Robert Millan <rmh@aybabtu.com>
38648
38649 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38650 usage example with `(hd0,1)'.
fb358190 38651 Reported by Samuel Thibault.
7ac3bcfa 38652
c8ee99d7 386532008-01-05 Robert Millan <rmh@aybabtu.com>
38654
38655 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38656 (grub_linux_boot_zimage): Rename to ...
38657 (grub_linux_boot): ... this.
38658 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38659 (grub_linux_boot_zimage): Conditionalize zImage copy.
38660
38661 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38662 (grub_linux_boot_bzimage): Remove prototype.
38663 (grub_linux_boot_zimage): Rename to ...
38664 (grub_linux_boot): ... this.
38665
38666 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38667 (grub_linux_boot): Remove function.
38668
0ece25b1 386692008-01-05 Robert Millan <rmh@aybabtu.com>
38670
38671 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38672 (grub_env_write_color_highlight): Likewise.
38673 (grub_wait_after_message): Likewise.
38674
38675 * normal/color.c: New file.
38676
38677 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38678 (normal_mod_DEPENDENCIES): Likewise.
38679
38680 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38681 (normal_mod_DEPENDENCIES): Likewise.
38682
38683 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38684 (normal_mod_DEPENDENCIES): Likewise.
38685
38686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38687 (normal_mod_DEPENDENCIES): Likewise.
38688
38689 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38690 for waiting after a message is printed.
38691 * normal/main.c (read_config_file): Likewise.
38692 (grub_normal_init): Register grub_env_write_color_normal() and
38693 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38694 `color_highlight' variables as global.
38695
38696 * normal/menu.c (grub_wait_after_message): New function.
38697 (grub_color_menu_normal): New variable. Replaces ...
38698 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38699 (grub_color_menu_highlight): New variable. Replaces ...
38700 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38701 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38702 `GRUB_TERM_COLOR_STANDARD'.
38703 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38704 `normal_code' and `highlight_code' to `old_color_normal' and
38705 `old_color_highlight', respectively.
38706 (grub_menu_init_page): Update colors when drawing the menu, based on
38707 `menu_color_normal' and `menu_color_highlight' variables.
38708 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38709 a message is printed.
38710
182dd4e5 387112008-01-05 Robert Millan <rmh@aybabtu.com>
38712
38713 * kern/env.c (grub_env_context_open): Propagate hooks for global
38714 variables to new context.
38715
38716 * kern/main.c (grub_set_root_dev): Export `root' variable.
38717
ddf8f6ad 387182008-01-05 Robert Millan <rmh@aybabtu.com>
38719
38720 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38721 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38722 them.
38723
d8b43d9b 387242008-01-05 Robert Millan <rmh@aybabtu.com>
38725
38726 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38727
2bff2de3 387282008-01-04 Christian Franke <franke@computer.org>
38729
38730 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38731 of eisa_mmap.
38732
97eab917 387332008-01-03 Pavel Roskin <proski@gnu.org>
38734
38735 * kern/i386/linuxbios/init.c: Put "void" to all function
38736 declarations with no arguments.
38737 * kern/powerpc/ieee1275/init.c: Likewise.
38738 * term/i386/pc/at_keyboard.c: Likewise.
38739 * term/i386/pc/vga_text.c: Likewise.
38740 * util/grub-mkdevicemap.c: Likewise.
38741
b9416d00 387422008-01-02 Robert Millan <rmh@aybabtu.com>
38743
38744 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38745 message when loaded image is out of bounds.
38746 (grub_multiboot_load_elf64): Likewise.
38747
92695df9 387482008-01-02 Pavel Roskin <proski@gnu.org>
38749
38750 * util/grub.d/10_linux.in: Try version without ".old" when
38751 looking for initrd. It's better to use initrd from the newer
38752 kernel of the same version than no initrd at all.
38753
d98d9cad 387542008-01-01 Robert Millan <rmh@aybabtu.com>
38755
38756 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38757
dbfdce36 387582008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38759
f19dbdb7 38760 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38761 grub_video_get_active_render_target.
38762 (grub_video_adapter): Added unmap_color and get_active_render_target.
38763
f19dbdb7 38764 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38765 grub_video_get_active_render_target.
38766 (grub_video_get_info): Changed method to accept NULL pointer as an
38767 argument to allow detection of active video adapter.
38768
38769 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38770 grub_video_vbe_unmap_color_int.
38771 Added grub_video_vbe_unmap_color and
38772 grub_video_vbe_get_active_render_target.
38773 (grub_video_vbe_adapter): Added unmap_color and
38774 get_active_render_target.
38775
f19dbdb7 38776 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38777 with grub_video_vbe_unmap_color_int.
38778
38779 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38780 (DEFAULT_NORMAL_COLOR): Likewise.
38781 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38782 (DEFAULT_FG_COLOR): Removed.
38783 (DEFAULT_BG_COLOR): Likewise.
38784 (DEFAULT_CURSOR_COLOR): Changed value.
38785 (grub_virtual_screen): Added standard_color_setting,
38786 normal_color_setting, highlight_color_setting and term_color.
38787 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38788 (bitmap_width): Added.
38789 (bitmap_height): Likewise.
38790 (bitmap): Likewise.
38791 (set_term_color): Likewise.
38792 (grub_virtual_screen_setup): Changed to use new terminal coloring
38793 settings.
38794 (grub_gfxterm_init): Added init for bitmap.
38795 (grub_gfxterm_fini): Added destroy for bitmap.
38796 (redraw_screen_rect): Updated to use background bitmap and new
38797 terminal coloring.
38798 (scroll_up): Added optimization for case when there is no bitmap.
38799 (grub_gfxterm_cls): Fixed to use correct background color.
38800 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38801 coloring.
38802 (grub_virtual_screen_setcolor): Likewise.
38803 (grub_virtual_screen_getcolor): Added.
38804 (grub_gfxterm_background_image_cmd): Likewise.
38805 (grub_video_term): Added setcolor and getcolor.
38806 (MOD_INIT): Added registration of background_image command.
38807 (MOD_TERM): Added unregistration for background_image command.
38808
c3c20931 388092007-12-30 Pavel Roskin <proski@gnu.org>
38810
38811 * loader/multiboot_loader.c: Fix multiboot command
38812 unregistration. Fix all typos in the word "multiboot".
38813
df266716 388142007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38815
38816 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38817 support for initrd names used in Fedora.
38818
fc6e896c 388192007-12-26 Bean <bean123ch@gmail.com>
38820
38821 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38822 (cpio_mod_SOURCES): New variable.
38823 (cpio_mod_CFLAGS): Likewise.
38824 (cpio_mod_LDFLAGS): Likewise.
38825
38826 * fs/cpio.c: New file.
38827
38828 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38829
38830 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38831
38832 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38833
38834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38835
533110ad 388362007-12-25 Robert Millan <rmh@aybabtu.com>
38837
38838 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38839 (grub_getcolor): New function.
38840
38841 * kern/term.c (grub_getcolor): New function.
38842 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38843 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38844 (print_entry): Set normal and highlight colors to
38845 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38846 respectively, before printing and restore them to old
38847 values afterwards.
38848 (grub_menu_init_page): Likewise. Fill an additional colored space
38849 that would otherwise be left blank.
38850
38851 * term/efi/console.c (grub_console_getcolor): New function.
38852 (struct grub_console_term.getcolor): New variable.
38853 * term/i386/pc/console.c (grub_console_getcolor): New function.
38854 (struct grub_console_term.getcolor): New variable.
38855 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38856 (struct grub_console_term.getcolor): New variable.
38857
38858 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38859 (struct grub_console_term.setcolor): Remove variable.
38860 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38861 (struct grub_console_term.setcolor): Remove variable.
38862 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38863 (struct grub_console_term.setcolor): Remove variable.
38864 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38865 (struct grub_console_term.setcolor): Remove variable.
38866
4931827f 388672007-12-25 Robert Millan <rmh@aybabtu.com>
38868
38869 * configure.ac: Search for possible unifont.hex locations, and
38870 define UNIFONT_HEX if found.
38871
38872 * Makefile.in (UNIFONT_HEX): Define variable.
38873 (DATA): Rename to ...
38874 (PKGLIB): ... this. Update all users.
38875 (PKGDATA): New variable.
38876 (pkgdata_IMAGES): Rename to ...
38877 (pkglib_IMAGES): ... this. Update all users.
38878 (pkgdata_MODULES): Rename to ...
38879 (pkglib_MODULES): ... this. Update all users.
38880 (pkgdata_PROGRAMS): Rename to ...
38881 (pkglib_PROGRAMS): ... this. Update all users.
38882 (pkgdata_DATA): Rename to ...
38883 (pkglib_DATA): ... this. Update all users.
38884 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38885 (unicode.pff, ascii.pff): New rules.
38886 (all-local): Add `$(PKGDATA)' dependency.
38887 (install-local): Process `$(PKGDATA)'.
38888
38889 * util/update-grub_lib.in (font_path): Search for *.pff files in
38890 a few more locations, including `${pkgdata}'.
38891
57e57e31 388922007-12-23 Robert Millan <rmh@aybabtu.com>
38893
38894 Patch from Bean <bean123ch@gmail.com>:
38895 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38896 `size'.
38897
4bc72aa9 388982007-12-21 Bean <bean123ch@gmail.com>
38899
38900 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38901 (ntfscomp_mod_SOURCES): New variable.
38902 (ntfscomp_mod_CFLAGS): Likewise.
38903 (ntfscomp_mod_LDFLAGS): Likewise.
38904
38905 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38906 (grub_probe_SOURCES): Likewise.
38907 (grub_emu_SOURCES): Likewise.
38908
38909 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38910 (grub_emu_SOURCES): Likewise.
38911
38912 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38913 (grub_emu_SOURCES): Likewise.
38914
38915 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38916 (grub_emu_SOURCES): Likewise.
38917
38918 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38919 (read_run_list): Renamed to grub_ntfs_read_run_list.
38920 (decomp_nextvcn): Moved to ntfscomp.c.
38921 (decomp_getch): Likewise.
38922 (decomp_get16): Likewise.
38923 (decomp_block): Likewise.
38924 (read_block): Likewise.
38925 (read_data): Partially moved to ntfscomp.c.
38926 (fixup): Change unsigned to grub_uint16_t.
38927 (read_mft): Change unsigned long to grub_uint32_t.
38928 (read_attr): Likewise.
38929 (read_data): Likewise.
38930 (read_run_data): Likewise.
38931 (read_run_list): Likewise.
38932 (read_mft): Likewise.
38933
38934 * fs/ntfscomp.c: New file.
38935
38936 * include/grub/ntfs.h: New file.
38937
af680a87 389382007-12-16 Robert Millan <rmh@aybabtu.com>
38939
38940 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38941 IDE disk check, since Linux is known to support 20 IDE disks.
38942 Reported by Colin Watson.
38943
84be7599 389442007-12-15 Bean <bean123ch@gmail.com>
38945
38946 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38947 (lnxboot_img_SOURCES): New variable.
38948 (lnxboot_img_ASFLAGS): Likewise.
38949 (lnxboot_img_LDFLAGS): Likewise.
38950
38951 * boot/i386/pc/lnxboot.S: New file.
38952
6af9db01 389532007-11-24 Pavel Roskin <proski@gnu.org>
38954
38955 * configure.ac: Test if '--build-id=none' is supported by the
38956 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38957 objcopy to generate incorrect binary files (binutils
38958 2.17.50.0.18-1 as shipped by Fedora 8).
38959 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38960 linking, so that build ID doesn't break the test.
38961
7361cfe6 389622007-11-24 Pavel Roskin <proski@gnu.org>
38963
38964 * include/grub/i386/time.h: use "void" in the argument list
38965 of grub_cpu_idle().
38966 * include/grub/powerpc/time.h: Likewise.
38967 * include/grub/sparc64/time.h: Likewise.
38968
1593e10c 389692007-11-18 Christian Franke <franke@computer.org>
38970
38971 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38972 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38973 This fixes the problem that function keys did not work in grub-emu.
38974
3b8db1a8 389752007-11-18 Christian Franke <franke@computer.org>
38976
38977 * disk/host.c (grub_host_open): Remove attribute unused from
38978 name parameter. Add check for "host". This fixes the problem
38979 that grub-emu does not find partitions.
38980
2e29408d 389812007-11-18 Christian Franke <franke@computer.org>
38982
38983 * util/hostfs.c (is_dir): New function.
38984 (grub_hostfs_dir): Handle missing dirent.d_type case.
38985 (grub_hostfs_read): Add missing fseek().
38986 (grub_hostfs_label): Clear label pointer. This fixes a crash
38987 of grub-emu on "ls (host)".
38988
398cd047 389892007-11-18 Christian Franke <franke@computer.org>
38990
38991 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38992 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38993 to 64 bit boundary by default.
38994
c405c391 389952007-11-18 Bean <bean123ch@gmail.com>
38996
38997 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38998 (hexdump_mod_SOURCES): New variable.
38999 (hexdump_mod_CFLAGS): Likewise.
39000 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 39001
c405c391 39002 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39003
39004 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39005
39006 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39007
39008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
39009
39010 * include/grub/hexdump.h: New file.
39011
39012 * commands/hexdump.c: New file.
39013
5cced7fd 390142007-11-10 Robert Millan <rmh@aybabtu.com>
39015
39016 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39017 in grub_outb() calls.
39018 (beep_on): Likewise.
39019
8b714eb0 390202007-11-10 Christian Franke <franke@computer.org>
39021
39022 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39023 (grub_menu_run): Likewise.
39024
ce0f1839 390252007-11-10 Robert Millan <rmh@aybabtu.com>
39026
39027 * include/grub/i386/efi/machine.h: New file.
39028 * include/grub/i386/linuxbios/machine.h: Likewise.
39029 * include/grub/i386/pc/machine.h: Likewise.
39030 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39031 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39032
39033 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39034 (serial_hw_io_addr): New variable.
39035 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39036 instead of `(unsigned short *) 0x400'.
39037
270c237d 390382007-11-10 Bean <bean123ch@gmail.com>
39039
39040 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39041
a87783bf 390422007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39043
39044 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39045 (vga_mod_SOURCES): Added.
39046 (vga_mod_CFLAGS): Likewise.
39047 (vga_mod_LDFLAGS): Likewise.
39048
39049 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39050 grub_outb() calls.
39051 (set_map_mask): Likewise.
39052 (set_read_map): Likewise.
39053 (set_read_address): Likewise.
39054 (vga_font): Removed variable.
39055 (get_vga_glyph): Removed function.
39056 (invalidate_char): Likewise.
39057 (write_char): Changed to use grub_font_get_glyph() for font
39058 information.
39059 (grub_vga_putchar): Likewise.
39060 (grub_vga_getcharwidth): Likewise.
39061
6433b448 390622007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39063
39064 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39065 flags.
39066 (pxeboot_img_LDFLAGS): Likewise.
39067 (diskboot_img_LDFLAGS): Likewise.
39068 (kernel_img_LDFLAGS): Likewise.
39069
49178511 390702007-11-06 Robert Millan <rmh@aybabtu.com>
39071
39072 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39073 in grub_outb() calls.
39074 (serial_hw_init): Likewise.
39075
53b052de 390762007-11-05 Robert Millan <rmh@aybabtu.com>
39077
39078 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39079 spaces. Skip non-regular files.
39080
5ab33bba 390812007-11-05 Robert Millan <rmh@aybabtu.com>
39082
39083 * kern/disk.c (grub_disk_firmware_fini)
39084 (grub_disk_firmware_is_tainted): New variables.
39085
39086 * include/grub/disk.h (grub_disk_firmware_fini)
39087 (grub_disk_firmware_is_tainted): Likewise.
39088
39089 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39090 (grub_disk_biosdisk_fini): ... to here.
39091 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39092 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39093 is set. Register grub_disk_biosdisk_fini() in
39094 `grub_disk_firmware_fini'.
39095
39096 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39097 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39098 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39099 to finish existing firmware disk interface.
39100
39101 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39102 (ata_mod_SOURCES): New variable.
39103 (ata_mod_CFLAGS): Likewise.
39104 (ata_mod_LDFLAGS): Likewise.
39105
0149ab7c 391062007-11-05 Robert Millan <rmh@aybabtu.com>
39107
39108 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39109 (grub_ata_wait): Reimplement using grub_millisleep().
39110
39111 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39112 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39113
be7ac41e 391142007-11-03 Marco Gerards <marco@gnu.org>
39115
39116 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39117 (CRTC_ADDR_PORT): New macro.
39118 (CRTC_DATA_PORT): Likewise.
39119 (CRTC_CURSOR): Likewise.
39120 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39121 (CRTC_CURSOR_ADDR_LOW): Likewise.
39122 (update_cursor): New function.
39123 (grub_console_real_putchar): Call `update_cursor'.
39124 (grub_console_gotoxy): Likewise.
39125 (grub_console_cls): Set the default color when clearing the
39126 screen.
39127 (grub_console_setcursor): Implemented.
39128
bb06ab2e 391292007-11-03 Marco Gerards <marco@gnu.org>
39130
39131 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39132 become activate.
39133 (grub_ata_pio_write): Likewise.
39134
39135 (grub_atapi_identify): Wait after issuing an ATA command.
39136 (grub_atapi_packet): Likewise.
39137 (grub_ata_identify): Likewise.
39138 (grub_ata_readwrite): Likewise.
39139
cf8f780b 391402007-11-03 Marco Gerards <marco@gnu.org>
39141
39142 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39143 (grub_ata_pio_write): Likewise.
39144 (grub_ata_readwrite): Use `grub_error', instead of
39145 returning `grub_errno'.
39146
ed649e54 391472007-11-03 Marco Gerards <marco@gnu.org>
39148
39149 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39150 grub_ata_pio_write once for every single sector, instead of for
39151 multiple sectors.
39152
ca25d8f0 391532007-10-31 Robert Millan <rmh@aybabtu.com>
39154
39155 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39156
39157 * conf/i386-linuxbios.rmk: New file.
39158
39159 * kern/i386/pc/hardware.c: Likewise.
39160 * term/i386/pc/at_keyboard.c: Likewise.
39161 * term/i386/pc/vga_text.c: Likewise.
39162
39163 * include/grub/i386/linuxbios/boot.h: Likewise.
39164 * include/grub/i386/linuxbios/console.h: Likewise.
39165 * include/grub/i386/linuxbios/init.h: Likewise.
39166 * include/grub/i386/linuxbios/kernel.h: Likewise.
39167 * include/grub/i386/linuxbios/loader.h: Likewise.
39168 * include/grub/i386/linuxbios/memory.h: Likewise.
39169 * include/grub/i386/linuxbios/serial.h: Likewise.
39170 * include/grub/i386/linuxbios/time.h: Likewise.
39171
39172 * kern/i386/linuxbios/init.c: Likewise.
39173 * kern/i386/linuxbios/startup.S: Likewise.
39174 * kern/i386/linuxbios/table.c: Likewise.
39175
e911ecc1 391762007-10-31 Marco Gerards <marco@gnu.org>
39177
39178 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39179 (ata_mod_SOURCES): New variable.
39180 (ata_mod_CFLAGS): Likewise.
39181 (ata_mod_LDFLAGS): Likewise.
39182
39183 * disk/ata.c: New file.
39184
39185 * include/grub/disk.h (grub_disk_dev_id): Add
39186 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39187
7f66d0e0 391882007-10-31 Robert Millan <rmh@aybabtu.com>
39189
39190 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39191 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39192
39193 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39194 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39195
39196 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39197 `<grub/types.h>'.
39198
39199 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39200
5cd7dd46 392012007-10-27 Robert Millan <rmh@aybabtu.com>
39202
3236ca65 39203 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39204
2ebfc90f 392052007-10-22 Robert Millan <rmh@aybabtu.com>
39206
39207 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39208 `"../realmode.S"'.
39209 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39210
73fcb0f3 392112007-10-22 Robert Millan <rmh@aybabtu.com>
39212
39213 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39214 (pkgdata_MODULES): Add `biosdisk.mod'.
39215 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39216 variables.
39217
39218 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39219 (grub_biosdisk_init): Replace with ...
39220 (GRUB_MOD_INIT(biosdisk)): ... this.
39221 (grub_biosdisk_fini): Replace with ...
39222 (GRUB_MOD_FINI(biosdisk)): ... this.
39223
39224 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39225 (grub_machine_init): Remove call to grub_biosdisk_init().
39226 (grub_machine_fini): Remove call to grub_machine_fini().
39227
39228 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39229
3381d274 392302007-10-22 Robert Millan <rmh@aybabtu.com>
39231
39232 * include/grub/time.h: New file.
39233 * include/grub/i386/time.h: Likewise.
39234 * include/grub/powerpc/time.h: Likewise.
39235 * include/grub/sparc64/time.h: Likewise.
39236
39237 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39238 instances to ...
39239 (KERNEL_MACHINE_TIME_HEADER): ... this.
39240 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39241 instances to ...
39242 (KERNEL_MACHINE_TIME_HEADER): ... this.
39243 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39244 instances to ...
39245 (KERNEL_MACHINE_TIME_HEADER): ... this.
39246
39247 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39248 (grub_millisleep): New function.
39249 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39250 (grub_millisleep): New function.
39251 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39252 Remove `grub/machine/time.h' include.
39253 (grub_millisleep): New function.
39254 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39255 Remove `grub/machine/time.h' include.
39256 (grub_millisleep): New function.
39257
39258 * include/grub/misc.h (grub_div_roundup): New function.
39259
39260 * kern/misc.c: Include `<grub/time.h>'.
39261 (grub_millisleep_generic): New function.
39262
39263 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39264 Add `time.h'.
39265 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39266 Add `time.h'.
39267 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39268 `machine/time.h'. Add `time.h'.
39269 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39270
a39a0312 392712007-10-21 Robert Millan <rmh@aybabtu.com>
39272
39273 * include/grub/misc.h (grub_max): New function.
39274
2aad70e2 392752007-10-21 Robert Millan <rmh@aybabtu.com>
39276
39277 * util/misc.c (grub_util_info): Call fflush() before returning.
39278
54b71c4b 392792007-10-20 Robert Millan <rmh@aybabtu.com>
39280
39281 * genmk.rb (Image): Copy `extra_flags' from here ...
39282 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39283
39284 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39285 to `argc' and `args' arguments.
39286
a979f513 392872007-10-17 Robert Millan <rmh@aybabtu.com>
39288
39289 * kern/i386/loader.S: New file.
39290
39291 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39292 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39293 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39294 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39295 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39296 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39297 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39298 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39299 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39300 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39301 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39302 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39303 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39304 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39305
39306 * kern/i386/realmode.S: New file.
39307
39308 * kern/i386/pc/startup.S (protstack): Moved from here ...
39309 * kern/i386/realmode.S (protstack)... to here.
39310 * kern/i386/pc/startup.S (gdt): Moved from here ...
39311 * kern/i386/realmode.S (gdt)... to here.
39312 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39313 * kern/i386/realmode.S (prot_to_real)... to here.
39314
39315 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39316 `kern/i386/realmode.S'.
39317
825fc8fd 393182007-10-17 Robert Millan <rmh@aybabtu.com>
39319
39320 * include/grub/i386/loader.h: New file.
39321
39322 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39323 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39324 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39325 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39326 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39327 * include/grub/i386/loader.h (grub_linux_prot_size)
39328 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39329 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39330 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39331 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39332
39333 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39334
e179b2f4 393352007-10-15 Robert Millan <rmh@aybabtu.com>
39336
39337 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39338 filesystem when dev->disk is unset.
39339 Do probe for filesystem even when dev->disk->has_partitions is set.
39340 In case a filesystem is found, always report it.
39341 In case it isn't, if dev->disk->has_partitions is set, report that
39342 a partition table was found instead of reporting that no filesystem
39343 could be identified.
39344
5db82af6 393452007-10-12 Robert Millan <rmh@aybabtu.com>
39346
39347 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39348 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39349
68f6ac74 39350 * include/grub/types.h (grub_host_to_target16): New macro.
39351 (grub_host_to_target32): Likewise.
39352 (grub_host_to_target64): Likewise.
39353 (grub_target_to_host16): Likewise.
39354 (grub_target_to_host32): Likewise.
39355 (grub_target_to_host64): Likewise.
5db82af6 39356
39357 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39358 Renamed from to ...
39359 (GRUB_MOD_ALIGN): ...this. Update all users.
39360
68f6ac74 39361 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39362 grub_host_to_target32.
39363 Replace grub_be_to_cpu32 with grub_target_to_host32.
39364 (load_modules): Likewise.
39365 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39366 Replace grub_be_to_cpu32 with grub_target_to_host32.
39367 Replace grub_cpu_to_be16 with grub_host_to_target16.
39368 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39369
3cf497cc 393702007-10-12 Robert Millan <rmh@aybabtu.com>
39371
39372 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39373 * util/elf/grub-mkimage.c: ... here.
39374
39375 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39376 `util/powerpc/ieee1275/grub-mkimage.c'.
39377
c8cc3692 393782007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39379
c8cc3692 39380 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39381 and make it easier to figure out.
39382 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39383 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39384 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39385 leave us with less than HEAP_MIN_SIZE total heap.
39386 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39387
5c58b791 393882007-10-03 Robert Millan <rmh@aybabtu.com>
39389
39390 * include/grub/i386/io.h: New file.
39391 * commands/i386/pc/play.c (inb): Removed.
39392 (outb): Removed.
39393 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39394 with grub_outb().
afcd2ef8 39395 * term/i386/pc/serial.c (inb): Removed.
39396 (outb): Removed.
39397 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39398 with grub_outb().
39399 * term/i386/pc/vga.c (inb): Removed.
39400 (outb): Removed.
39401 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39402 with grub_outb().
5c58b791 39403
1a477ed6 394042007-10-02 Robert Millan <rmh@aybabtu.com>
39405
39406 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39408 Reported by Marcin Kurek.
39409
6b5d80fa 394102007-09-07 Robert Millan <rmh@aybabtu.com>
39411
39412 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39413 SmartFirmware version updates (as released by Sven Luther), and avoid
39414 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39415 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39416 known broken.
39417
5618afbf 394182007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39419
39420 From Hitoshi Ozeki:
39421 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39422 when merging two regions.
39423
6139dcd9 394242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39425
508e39ee 39426 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39427 * normal/completion.c (grub_normal_do_completion): Likewise.
39428 Reported by Hitoshi Ozeki.
39429
394302007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39431
6139dcd9 39432 Do not use devices at boot in chainloading.
f19dbdb7 39433
6139dcd9 39434 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39435 (boot_part_addr): Likewise.
39436 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39437 with BOOT_DRIVE and BOOT_PART_ADDR.
39438 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39439 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39440
38da6516 394412007-08-29 Robert Millan <rmh@aybabtu.com>
39442
39443 Patch from Simon Peter <dn.tlp@gmx.net>:
39444 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39445 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39446 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39447 util/i386/pc/grub-setup.c_DEPENDENCIES.
39448 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39449 util/grub-probe.c_DEPENDENCIES.
39450 * conf/powerpc-ieee1275.rmk: Likewise.
39451
29d0928c 394522007-08-28 Robert Millan <rmh@aybabtu.com>
39453
39454 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39455 to tell grub-mkdevicemap how to name devices.
39456 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39457 feature).
39458
39459 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39460 util/i386/get_disk_name.c.
39461 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39462 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39463 util/ieee1275/get_disk_name.c.
39464
39465 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39466
39467 * DISTLIST: Add util/i386/get_disk_name.c and
39468 util/ieee1275/get_disk_name.c.
39469
39470 * util/grub-mkdevicemap.c: Replace device naming logic with
39471 grub_util_get_disk_name() calls.
39472
5a0d3cca 394732007-08-20 Robert Millan <rmh@aybabtu.com>
39474
39475 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39476 (so that it works for both plural and singular quantities).
39477
8b72db2f 394782007-08-05 Robert Millan <rmh@aybabtu.com>
39479
39480 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39481 so that [xz] isn't taken into account when determining order.
39482
352466bf 394832007-08-02 Marco Gerards <marco@gnu.org>
39484
39485 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39486 `include/multiboot2.h', `include/grub/elfload.h',
39487 `include/multiboot.h', `include/grub/multiboot.h',
39488 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39489 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39490 `kern/elf.c', `loader/multiboot_loader.c',
39491 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39492 `loader/i386/pc/multiboot2.c',
39493 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39494 `util/i386/pc/grub-mkrescue.in'. Remove
39495 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39496 `include/grub/i386/pc/util/biosdisk.h' and
39497 `include/grub/powerpc/ieee1275/multiboot.h'.
39498
8f096014 394992007-08-02 Bean <bean123ch@gmail.com>
39500
39501 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39502 (ntfs_mod_SOURCES): New variable.
39503 (ntfs_mod_CFLAGS): Likewise.
39504 (ntfs_mod_LDFLAGS): Likewise.
39505
39506 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39507 (grub_probe_SOURCES): Likewise.
39508 (grub_emu_SOURCES): Likewise.
39509
39510 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39511 (grub_emu_SOURCES): Likewise.
39512
39513 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39514 (grub_emu_SOURCES): Likewise.
f19dbdb7 39515
8f096014 39516 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39517
39518 * fs/ntfs.c: New file.
39519
9959f7db 395202007-08-02 Bean <bean123ch@gmail.com>
39521
39522 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39523
39524 * file.h (grub_file): Likewise.
39525
39526 * fshelp.h (grub_fshelp_read_file): Likewise.
39527
39528 * util/i386/pc/grub-setup.c (setup): Likewise.
39529 (save_first_sector): Likewise.
39530 (save_blocklists): Likewise.
f19dbdb7 39531
9959f7db 39532 * fs/affs.c (grub_affs_read_file): Likewise.
39533
39534 * fs/ext2.c (grub_ext2_read_file): Likewise.
39535
39536 * fs/fat.c (grub_fat_read_data): Likewise.
39537
39538 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39539
39540 * fs/hfs.c (grub_hfs_read_file): Likewise.
39541
39542 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39543
39544 * fs/jfs.c (grub_jfs_read_file): Likewise.
39545
39546 * fs/minix.c (grub_minix_read_file): Likewise.
39547
39548 * fs/sfs.c (grub_sfs_read_file): Likewise.
39549
39550 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39551
9959f7db 39552 * fs/xfs.c (grub_xfs_read_file): Likewise.
39553
39554 * command/blocklist.c (read_blocklist): Likewise.
39555 (print_blocklist): Likewise.
39556
0a203f83 395572007-08-02 Marco Gerards <marco@gnu.org>
39558
39559 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39560 `util/hostfs.c'.
39561
39562 * disk/host.c: New file.
39563
39564 * util/hostfs.c: Likewise.
39565
39566 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39567 return `GRUB_ERR_BAD_FS'.
39568 * fs/sfs.c (grub_sfs_mount): Likewise.
39569 * fs/xfs.c (grub_xfs_mount): Likewise.
39570
39571 * include/grub/disk.h (enum grub_disk_dev_id): Add
39572 `GRUB_DISK_DEVICE_HOST_ID'.
39573
39574 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39575
e5dfe777 395762007-07-24 Jerone Young <jerone@gmail.com>
39577
f19dbdb7 39578 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39579 modules for compilation.
39580 * conf/powerpc-ieee1275.rmk: Likewise.
39581
39582 * include/multiboot.h: Move multiboot definitions to one file. Rename
39583 many definitions to not get grub specific.
39584 * include/multiboot2.h: Create header with multiboot 2 definitions.
39585 * include/grub/multiboot.h: Header for grub specific function
39586 prototypes and definitions.
39587 * include/grub/multiboot2.h: Likewise.
39588 * include/grub/multiboot_loader.h: Likewise.
39589 * include/grub/i386/pc/multiboot.h: Removed.
39590 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39591
39592 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39593 and 2 to allow for one multiboot and module commands.
39594 * loader/multiboot2.c: Add multiboot2 functionality.
39595 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39596 and definition names.
39597 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39598 2 functions.
39599 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39600 ieee1275 specific multiboot2 code.
39601
39602 * kern/i386/pc/startup.S: Change headers and definition names for
39603 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39604
daf0f0ba 396052007-07-22 Robert Millan <rmh@aybabtu.com>
39606
39607 * geninitheader.sh: Process file specified in first parameter rather
39608 than hardcoding grub_modules_init.lst.
fe6b695a 39609 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39610 than hardcoding grub_modules_init.h.
39611
39612 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39613 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39614 grub_probe_init.[ch] and grub_setup_init.[ch].
39615
39616 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39617 grub_modules_init.h with grub_emu_init.h.
39618 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39619 grub_probe_init.[ch] files.
39620 * conf/i386-efi.rmk: Likewise.
39621 * conf/i386-pc.rmk: Likewise.
39622 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39623 grub_setup_init.[ch] files.
39624
39625 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39626 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39627 to initialize modules rather than a list of hardcoded functions.
39628 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39629 grub_init_all() to initialize modules rather than a list of hardcoded
39630 functions.
39631
54cdc1cc 396322007-07-22 Robert Millan <rmh@aybabtu.com>
39633
39634 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39635 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39636
ad0686cc 396372007-07-22 Robert Millan <rmh@aybabtu.com>
39638
39639 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39640 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39641 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39642 flag when running on SmartFirmware.
39643 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39644 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39645 was set.
39646
39647 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39648 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39649 rather than decreasing it.
39650
39651 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39652 there's not enough space to do it, fail in the same way as when it
39653 can't be done because there are no partitions.
39654
39655 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39656 when nvsetenv failed.
39657
969c02ec 396582007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39659
39660 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39661 because this rule is automatically generated.
39662 (grub-mkrescue): Removed for the same reason as above.
39663
5a79f472 396642007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39665
39666 Migrate to GNU General Public License Version 3.
f19dbdb7 39667
5a79f472 39668 * COPYING: Replaced with the plain text version of GPLv3.
39669
39670 * config.guess: Updated from gnulib.
39671 * config.sub: Likewise.
39672
39673 * geninit.sh: Output a GPLv3 copyright notice.
39674 * geninitheader.sh: Likewise.
39675 * genmodsrc.sh: Likewise.
39676 * gensymlist.sh.in: Likewise.
39677
39678 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39679 * boot/i386/pc/diskboot.S: Likewise.
39680 * boot/i386/pc/pxeboot.S: Likewise.
39681 * commands/blocklist.c: Likewise.
39682 * commands/boot.c: Likewise.
39683 * commands/cat.c: Likewise.
39684 * commands/cmp.c: Likewise.
39685 * commands/configfile.c: Likewise.
39686 * commands/echo.c: Likewise.
39687 * commands/help.c: Likewise.
39688 * commands/ls.c: Likewise.
39689 * commands/search.c: Likewise.
39690 * commands/terminal.c: Likewise.
39691 * commands/test.c: Likewise.
39692 * commands/videotest.c: Likewise.
39693 * commands/i386/cpuid.c: Likewise.
39694 * commands/i386/pc/halt.c: Likewise.
39695 * commands/i386/pc/play.c: Likewise.
39696 * commands/i386/pc/reboot.c: Likewise.
39697 * commands/i386/pc/vbeinfo.c: Likewise.
39698 * commands/i386/pc/vbetest.c: Likewise.
39699 * commands/ieee1275/halt.c: Likewise.
39700 * commands/ieee1275/reboot.c: Likewise.
39701 * commands/ieee1275/suspend.c: Likewise.
39702 * disk/loopback.c: Likewise.
39703 * disk/lvm.c: Likewise.
39704 * disk/raid.c: Likewise.
39705 * disk/efi/efidisk.c: Likewise.
39706 * disk/i386/pc/biosdisk.c: Likewise.
39707 * disk/ieee1275/ofdisk.c: Likewise.
39708 * font/manager.c: Likewise.
39709 * fs/affs.c: Likewise.
39710 * fs/ext2.c: Likewise.
39711 * fs/fat.c: Likewise.
39712 * fs/fshelp.c: Likewise.
39713 * fs/hfs.c: Likewise.
39714 * fs/hfsplus.c: Likewise.
39715 * fs/iso9660.c: Likewise.
39716 * fs/jfs.c: Likewise.
39717 * fs/minix.c: Likewise.
39718 * fs/sfs.c: Likewise.
39719 * fs/ufs.c: Likewise.
39720 * fs/xfs.c: Likewise.
39721 * hello/hello.c: Likewise.
39722 * include/grub/acorn_filecore.h: Likewise.
39723 * include/grub/arg.h: Likewise.
39724 * include/grub/bitmap.h: Likewise.
39725 * include/grub/boot.h: Likewise.
39726 * include/grub/cache.h: Likewise.
39727 * include/grub/device.h: Likewise.
39728 * include/grub/disk.h: Likewise.
39729 * include/grub/dl.h: Likewise.
39730 * include/grub/elfload.h: Likewise.
39731 * include/grub/env.h: Likewise.
39732 * include/grub/err.h: Likewise.
39733 * include/grub/file.h: Likewise.
39734 * include/grub/font.h: Likewise.
39735 * include/grub/fs.h: Likewise.
39736 * include/grub/fshelp.h: Likewise.
39737 * include/grub/gzio.h: Likewise.
39738 * include/grub/hfs.h: Likewise.
39739 * include/grub/kernel.h: Likewise.
39740 * include/grub/loader.h: Likewise.
39741 * include/grub/lvm.h: Likewise.
39742 * include/grub/misc.h: Likewise.
39743 * include/grub/mm.h: Likewise.
39744 * include/grub/net.h: Likewise.
39745 * include/grub/normal.h: Likewise.
39746 * include/grub/parser.h: Likewise.
39747 * include/grub/partition.h: Likewise.
39748 * include/grub/pc_partition.h: Likewise.
39749 * include/grub/raid.h: Likewise.
39750 * include/grub/rescue.h: Likewise.
39751 * include/grub/script.h: Likewise.
39752 * include/grub/setjmp.h: Likewise.
39753 * include/grub/symbol.h: Likewise.
39754 * include/grub/term.h: Likewise.
39755 * include/grub/terminfo.h: Likewise.
39756 * include/grub/tparm.h: Likewise.
39757 * include/grub/types.h: Likewise.
39758 * include/grub/video.h: Likewise.
39759 * include/grub/efi/api.h: Likewise.
39760 * include/grub/efi/chainloader.h: Likewise.
39761 * include/grub/efi/console.h: Likewise.
39762 * include/grub/efi/console_control.h: Likewise.
39763 * include/grub/efi/disk.h: Likewise.
39764 * include/grub/efi/efi.h: Likewise.
39765 * include/grub/efi/pe32.h: Likewise.
39766 * include/grub/efi/time.h: Likewise.
39767 * include/grub/i386/linux.h: Likewise.
39768 * include/grub/i386/setjmp.h: Likewise.
39769 * include/grub/i386/types.h: Likewise.
39770 * include/grub/i386/efi/kernel.h: Likewise.
39771 * include/grub/i386/efi/loader.h: Likewise.
39772 * include/grub/i386/efi/time.h: Likewise.
39773 * include/grub/i386/pc/biosdisk.h: Likewise.
39774 * include/grub/i386/pc/boot.h: Likewise.
39775 * include/grub/i386/pc/chainloader.h: Likewise.
39776 * include/grub/i386/pc/console.h: Likewise.
39777 * include/grub/i386/pc/init.h: Likewise.
39778 * include/grub/i386/pc/kernel.h: Likewise.
39779 * include/grub/i386/pc/loader.h: Likewise.
39780 * include/grub/i386/pc/memory.h: Likewise.
39781 * include/grub/i386/pc/multiboot.h: Likewise.
39782 * include/grub/i386/pc/serial.h: Likewise.
39783 * include/grub/i386/pc/time.h: Likewise.
39784 * include/grub/i386/pc/vbe.h: Likewise.
39785 * include/grub/i386/pc/vbeblit.h: Likewise.
39786 * include/grub/i386/pc/vbefill.h: Likewise.
39787 * include/grub/i386/pc/vbeutil.h: Likewise.
39788 * include/grub/i386/pc/vga.h: Likewise.
39789 * include/grub/ieee1275/ieee1275.h: Likewise.
39790 * include/grub/ieee1275/ofdisk.h: Likewise.
39791 * include/grub/powerpc/libgcc.h: Likewise.
39792 * include/grub/powerpc/setjmp.h: Likewise.
39793 * include/grub/powerpc/types.h: Likewise.
39794 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39795 * include/grub/powerpc/ieee1275/console.h: Likewise.
39796 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39797 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39798 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39799 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39800 * include/grub/powerpc/ieee1275/time.h: Likewise.
39801 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39802 * include/grub/sparc64/libgcc.h: Likewise.
39803 * include/grub/sparc64/setjmp.h: Likewise.
39804 * include/grub/sparc64/types.h: Likewise.
39805 * include/grub/sparc64/ieee1275/console.h: Likewise.
39806 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39807 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39808 * include/grub/sparc64/ieee1275/time.h: Likewise.
39809 * include/grub/util/biosdisk.h: Likewise.
39810 * include/grub/util/getroot.h: Likewise.
39811 * include/grub/util/lvm.h: Likewise.
39812 * include/grub/util/misc.h: Likewise.
39813 * include/grub/util/raid.h: Likewise.
39814 * include/grub/util/resolve.h: Likewise.
39815 * io/gzio.c: Likewise.
39816 * kern/device.c: Likewise.
39817 * kern/disk.c: Likewise.
39818 * kern/dl.c: Likewise.
39819 * kern/elf.c: Likewise.
39820 * kern/env.c: Likewise.
39821 * kern/err.c: Likewise.
39822 * kern/file.c: Likewise.
39823 * kern/fs.c: Likewise.
39824 * kern/loader.c: Likewise.
39825 * kern/main.c: Likewise.
39826 * kern/misc.c: Likewise.
39827 * kern/mm.c: Likewise.
39828 * kern/parser.c: Likewise.
39829 * kern/partition.c: Likewise.
39830 * kern/rescue.c: Likewise.
39831 * kern/term.c: Likewise.
39832 * kern/efi/efi.c: Likewise.
39833 * kern/efi/init.c: Likewise.
39834 * kern/efi/mm.c: Likewise.
39835 * kern/i386/dl.c: Likewise.
39836 * kern/i386/efi/init.c: Likewise.
39837 * kern/i386/efi/startup.S: Likewise.
39838 * kern/i386/pc/init.c: Likewise.
39839 * kern/i386/pc/lzo1x.S: Likewise.
39840 * kern/i386/pc/startup.S: Likewise.
39841 * kern/ieee1275/ieee1275.c: Likewise.
39842 * kern/powerpc/cache.S: Likewise.
39843 * kern/powerpc/dl.c: Likewise.
39844 * kern/powerpc/ieee1275/cmain.c: Likewise.
39845 * kern/powerpc/ieee1275/crt0.S: Likewise.
39846 * kern/powerpc/ieee1275/init.c: Likewise.
39847 * kern/powerpc/ieee1275/openfw.c: Likewise.
39848 * kern/sparc64/cache.S: Likewise.
39849 * kern/sparc64/dl.c: Likewise.
39850 * kern/sparc64/ieee1275/init.c: Likewise.
39851 * kern/sparc64/ieee1275/openfw.c: Likewise.
39852 * loader/efi/chainloader.c: Likewise.
39853 * loader/efi/chainloader_normal.c: Likewise.
39854 * loader/i386/efi/linux.c: Likewise.
39855 * loader/i386/efi/linux_normal.c: Likewise.
39856 * loader/i386/pc/chainloader.c: Likewise.
39857 * loader/i386/pc/chainloader_normal.c: Likewise.
39858 * loader/i386/pc/linux.c: Likewise.
39859 * loader/i386/pc/linux_normal.c: Likewise.
39860 * loader/i386/pc/multiboot.c: Likewise.
39861 * loader/i386/pc/multiboot_normal.c: Likewise.
39862 * loader/powerpc/ieee1275/linux.c: Likewise.
39863 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39864 * normal/arg.c: Likewise.
39865 * normal/cmdline.c: Likewise.
39866 * normal/command.c: Likewise.
39867 * normal/completion.c: Likewise.
39868 * normal/execute.c: Likewise.
39869 * normal/function.c: Likewise.
39870 * normal/lexer.c: Likewise.
39871 * normal/main.c: Likewise.
39872 * normal/menu.c: Likewise.
39873 * normal/menu_entry.c: Likewise.
39874 * normal/misc.c: Likewise.
39875 * normal/parser.y: Likewise.
39876 * normal/script.c: Likewise.
39877 * normal/i386/setjmp.S: Likewise.
39878 * normal/powerpc/setjmp.S: Likewise.
39879 * normal/sparc64/setjmp.S: Likewise.
39880 * partmap/acorn.c: Likewise.
39881 * partmap/amiga.c: Likewise.
39882 * partmap/apple.c: Likewise.
39883 * partmap/gpt.c: Likewise.
39884 * partmap/pc.c: Likewise.
39885 * partmap/sun.c: Likewise.
39886 * term/gfxterm.c: Likewise.
39887 * term/terminfo.c: Likewise.
39888 * term/efi/console.c: Likewise.
39889 * term/i386/pc/console.c: Likewise.
39890 * term/i386/pc/serial.c: Likewise.
39891 * term/i386/pc/vesafb.c: Likewise.
39892 * term/i386/pc/vga.c: Likewise.
39893 * term/ieee1275/ofconsole.c: Likewise.
39894 * util/biosdisk.c: Likewise.
39895 * util/console.c: Likewise.
39896 * util/genmoddep.c: Likewise.
39897 * util/getroot.c: Likewise.
39898 * util/grub-emu.c: Likewise.
39899 * util/grub-mkdevicemap.c: Likewise.
39900 * util/grub-probe.c: Likewise.
39901 * util/lvm.c: Likewise.
39902 * util/misc.c: Likewise.
39903 * util/raid.c: Likewise.
39904 * util/resolve.c: Likewise.
39905 * util/update-grub.in: Likewise.
39906 * util/update-grub_lib.in: Likewise.
39907 * util/grub.d/00_header.in: Likewise.
39908 * util/grub.d/10_hurd.in: Likewise.
39909 * util/grub.d/10_linux.in: Likewise.
39910 * util/i386/efi/grub-install.in: Likewise.
39911 * util/i386/efi/grub-mkimage.c: Likewise.
39912 * util/i386/pc/grub-install.in: Likewise.
39913 * util/i386/pc/grub-mkimage.c: Likewise.
39914 * util/i386/pc/grub-mkrescue.in: Likewise.
39915 * util/i386/pc/grub-setup.c: Likewise.
39916 * util/i386/pc/misc.c: Likewise.
39917 * util/powerpc/ieee1275/grub-install.in: Likewise.
39918 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39919 * util/powerpc/ieee1275/misc.c: Likewise.
39920 * video/bitmap.c: Likewise.
39921 * video/video.c: Likewise.
39922 * video/i386/pc/vbe.c: Likewise.
39923 * video/i386/pc/vbeblit.c: Likewise.
39924 * video/i386/pc/vbefill.c: Likewise.
39925 * video/i386/pc/vbeutil.c: Likewise.
39926 * video/readers/tga.c: Likewise.
39927
3572d015 399282007-07-02 Robert Millan <rmh@aybabtu.com>
39929
39930 * conf/i386-efi.rmk: Replace obsolete reference to
39931 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39932 with util/getroot.c.
39933 * conf/powerpc-ieee1275.rmk: Likewise.
39934 * conf/sparc64-ieee1275.rmk: Likewise.
39935
39936 * util/grub-emu.c (main): Fix unchecked pointer handling.
39937
2c2a681b 399382007-07-02 Robert Millan <rmh@aybabtu.com>
39939
39940 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39941 invocation to fail, in order to support partition-less media.
39942
39943 * util/i386/pc/grub-install.in: Likewise.
39944
39945 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39946 which fs or partmap modules are needed (akin to its sister scripts).
39947
39948 Also use grub-probe to get rid of unportable /proc/mounts check.
39949
39950 Print the same informational message that the other scripts do, before
fe6b695a 39951 exiting.
2c2a681b 39952
6193defe 399532007-06-23 Robert Millan <rmh@aybabtu.com>
39954
fe6b695a 39955 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39956 a font file can be found and, if so, echo the GRUB path to it.
39957
39958 * util/update-grub.in: Handle multiple terminals depending on user
39959 input, platform availability and font file presence. Propagate
39960 variables of our findings to /etc/grub.d/ children.
39961
39962 * util/grub.d/00_header.in: Handle multiple terminals, based on
39963 environment setup by update-grub.
39964
eface1dc 399652007-06-23 Robert Millan <rmh@aybabtu.com>
39966
ba50d28f 39967 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39968
bf697e28 399692007-06-21 Robert Millan <rmh@aybabtu.com>
39970
39971 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39972 indicate end of data section in kernel image.
39973 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39974 GRUB_KERNEL_MACHINE_DATA_END.
39975
39976 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39977 space for it.
39978 * kern/i386/efi/startup.S: Likewise.
39979
39980 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39981 during image generation. Implement --prefix option to override this
39982 patch.
39983 * util/i386/efi/grub-mkimage.c: Likewise.
39984
39985 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39986 code to make path relative to its root into a separate function.
39987
39988 * util/i386/pc/grub-install.in: Use newly provided
39989 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39990 pass the result to grub-install --prefix.
39991
baa574b4 399922007-06-13 Robert Millan <rmh@aybabtu.com>
39993
39994 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39995 DEFAULT_DEVICE_MAP.
39996 * util/grub-emu.c: Use above definitions from misc.h instead of
39997 defining them.
39998 * util/grub-mkdevicemap.c: Likewise.
39999 * util/i386/pc/grub-setup.c: Likewise.
40000 * util/grub-probe.c: Likewise.
40001 (probe): Abort with grub_util_error() when either
40002 grub_guess_root_device or grub_util_get_grub_dev fails.
40003
0215dcbf 400042007-06-12 Robert Millan <rmh@aybabtu.com>
40005
40006 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
40007 "pager" assignment.
40008 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
40009 "pcdata".
40010 * util/grub-probe.c (probe): Likewise for "drive_name".
40011
8af2ab7b 400122007-06-11 Robert Millan <rmh@aybabtu.com>
40013
40014 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
40015 not just the cdrom one.
40016
59d31694 400172007-06-11 Robert Millan <rmh@aybabtu.com>
40018
40019 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40020 Add --pkglibdir=DIR option to override pkglibdir.
40021 Mention --image-type=TYPE in help output.
40022 Fix --grub-mkimage (it was a no-op).
fe6b695a 40023 Abort gracefully when no parameter is given.
59d31694 40024
7ee367e4 400252007-06-11 Robert Millan <rmh@aybabtu.com>
40026
40027 * util/i386/pc/grub-mkrescue.in: New file.
40028 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40029 * Makefile.in: Handle bin_SCRIPTS.
40030
29b0ed46 400312007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40032
40033 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40034 list of video modes.
40035
c0f90770 400362007-06-06 Robert Millan <rmh@aybabtu.com>
40037
40038 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40039 file doesn't exist, or if it is in a filesystem grub can't read.
40040
40041 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40042 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40043 header comment to fit in 80 columns when the variables are resolved.
40044
40045 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40046 could be identified by update-grub. Remove redundant check for
fe6b695a 40047 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 40048 handles that).
40049
fb36dc26 400502007-06-04 Robert Millan <rmh@aybabtu.com>
40051
40052 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40053
40054 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40055
40056 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40057
0c68c93e 400582007-06-04 Robert Millan <rmh@aybabtu.com>
40059
40060 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40061
40062 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40063 grub_apple_partition_map_fini.
40064
40065 * util/biosdisk.c
40066 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40067 to access >2 TiB disks).
40068
40069 Print disk->total_sectors with %llu instead of %lu, since this
40070 variable is always 64-bit (prevents wrong disk size from being displayed
40071 on either >2 TiB disk or big-endian CPU).
40072
40073 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40074 into a generic case that supports all (sane) partition maps.
40075
40076 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40077 breaks big-endian.
40078
40079 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40080 and grub_apple_partition_map_fini() after that.
40081
0f23eb74 400822007-06-01 Robert Millan <rmh@aybabtu.com>
40083
40084 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40085
40086 * util/grub.d/00_header.in: Only enable gfxterm when
40087 convert_system_path_to_grub_path() succeeds.
40088
42c71976 400892007-05-20 Robert Millan <rmh@aybabtu.com>
40090
40091 * util/update-grub_lib.in: New file.
40092 * DISTLIST: Add update-grub_lib.in.
40093 * conf/common.rmk: Generate update-grub_lib and install it in
40094 $(lib_DATA).
40095 * Makefile.in: Add install routine for $(lib_DATA).
40096
40097 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40098 function provided by update-grub_lib to support arbitrary paths of
40099 unifont.pff.
40100 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40101 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40102
5beb2291 401032007-05-19 Robert Millan <rmh@aybabtu.com>
40104
40105 * commands/i386/cpuid.c: New module.
40106 * DISTLIST: Add it.
40107 * conf/i386-efi.rmk: Enable cpuid.mod.
40108 * conf/i386-pc.rmk: Likewise.
40109
7262eca1 401102007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40111
40112 * kern/disk.c (grub_disk_read): Check return value of
40113 grub_realloc().
40114
260ba823 401152007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40116
40117 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40118 arrays.
40119 * disk/raid.c (grub_raid_open): Likewise.
40120
1ecb6cf2 401212007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40122
40123 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40124 stack instead of on the heap.
40125
40126 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40127 before doing a read on it.
40128
40129 * configure.ac: Only use -fno-stack-protector for the target
40130 environment.
f19dbdb7 40131
21c8cbb1 401322007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40133
40134 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40135 __attribute_ ((unused)) to mode_type argument.
40136
40137 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40138
21c8cbb1 40139 * kern/misc.c (memcmp): Fix prototype.
40140
40141 * include/grub/partition.h [GRUB_UTIL]
40142 (grub_gpt_partition_map_init): Add prototype.
40143 (grub_gpt_partition_map_fini): Likewise.
40144
40145 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40146 at the right place.
40147
40148 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40149 (grub_fat_read_data): Likewise.
40150 (grub_fat_find_dir): Likewise.
40151
40152 * font/manager.c (find_glyph): Make table a const.
40153 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40154
849d55d3 401552007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40156
40157 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40158 code, first search for device in /dev/mapper, then in /dev.
40159 (grub_util_get_grub_dev): New function.
40160 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40161 prototype.
40162 * util/grub-probe.c (probe): Remove check for RAID, call
40163 grub_util_get_grub_dev() instead of
40164 grub_util_biosdisk_get_grub_dev().
40165 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40166 grub_util_biosdisk_get_grub_dev().
40167 * util/i386/pc/grub-setup.c (main): Likewise.
40168
8fff7c2f 401692007-05-16 Robert Millan <rmh@aybabtu.com>
40170
40171 * DISTLIST: Update for the latest changes.
40172 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40173 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40174 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40175 grub/util/biosdisk.h.
40176 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40177 grub/util/biosdisk.h.
40178
48e12b52 401792007-05-16 Robert Millan <rmh@aybabtu.com>
40180
40181 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40182
46b9d128 401832007-05-16 Robert Millan <rmh@aybabtu.com>
40184
40185 * util/i386/efi/grub-install.in: New.
40186 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40187 newly added grub-install.
40188 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40189 include.
40190 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40191 grub/util/biosdisk.h.
40192 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40193 grub/util/biosdisk.h.
40194
2d1a40a9 401952007-05-16 Robert Millan <rmh@aybabtu.com>
40196
40197 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40198 * include/grub/util/biosdisk.h: ... here.
40199 * util/i386/pc/biosdisk.c: Moved to ...
40200 * util/biosdisk.c: ... here.
40201 * util/i386/pc/getroot.c: Moved to ...
40202 * util/getroot.c: ... here.
40203 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40204 * util/grub-mkdevicemap.c: ... here.
40205 * util/i386/pc/grub-probe.c: Moved to ...
40206 * util/grub-probe.c: ... here.
40207
9e26e3bc 402082007-05-15 Robert Millan <rmh@aybabtu.com>
40209
40210 * util/update-grub.in: Remove duplicated line in grub.cfg header
40211 message.
40212
57f96397 402132007-05-13 Robert Millan <rmh@aybabtu.com>
40214
40215 * util/update-grub.in: Fix a few assumptions about the devices holding
40216 /, /boot and /boot/grub being the same.
40217 * util/grub.d/00_header.in: Likewise.
40218 * util/grub.d/10_hurd.in: Likewise.
40219 * util/grub.d/10_linux.in: Likewise.
40220
40221 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40222 patterns. Use that to define the `.old' suffix as older than `'.
40223
40224 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40225
40226 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40227 the grub.cfg header message.
40228
2e610d62 402292007-05-11 Robert Millan <rmh@aybabtu.com>
40230
40231 * util/update-grub.in: Create device.map if it doesn't already exist,
40232 before attempting to run grub-probe.
40233 Check for grub-probe and grub-mkdevicemap with the same code
40234 grub-install is using.
40235 Remove test mode.
40236
3f6a10ef 402372007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40238
40239 * Makefile.in: Add the datarootdir autoconf variable.
40240
02e7b75e 402412007-05-09 Robert Millan <rmh@aybabtu.com>
40242
40243 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40244 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40245
75f396cc 402462007-05-07 Robert Millan <rmh@aybabtu.com>
40247
40248 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40249 determine partition map module.
40250 * util/i386/pc/grub-install.in: Use this feature to decide which
40251 partition module to load, instead of hardcoding pc and gpt.
40252
da65cb36 402532007-05-07 Robert Millan <rmh@aybabtu.com>
40254
40255 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40256 source directory differs from build directory.
40257
b57d6a91 402582007-05-05 Robert Millan <rmh@aybabtu.com>
40259
40260 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40261 initialisation.
40262
509d00f1 402632007-05-05 Robert Millan <rmh@aybabtu.com>
40264
40265 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40266
c48f23ef 402672007-05-05 Robert Millan <rmh@aybabtu.com>
40268
40269 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40270 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40271
20b97658 402722007-05-05 Robert Millan <rmh@aybabtu.com>
40273
40274 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40275 (grub_probe_SOURCES): Likewise.
40276 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40277 GPT and initialize dos_part and bsd_part accordingly.
40278 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40279 install_bsd_part.
40280 (main): Activate gpt module for use during partition identification,
40281 and deactivate it afterwards.
40282 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40283 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40284 partition identification, and deactivate it afterwards.
40285
99123174 402862007-05-05 Robert Millan <rmh@aybabtu.com>
40287
40288 * term/i386/pc/console.c (grub_console_fini): Call
40289 grub_term_set_current() before grub_term_unregister().
40290
ebd97f6e 402912007-05-04 Robert Millan <rmh@aybabtu.com>
40292
40293 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40294 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40295 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40296 and update-grub_DATA.
40297 * conf/common.rmk: Build and install update-grub components.
40298 * conf/common.mk: Regenerate.
40299 * util/update-grub.in: New. Core of update-grub.
40300 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40301 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40302 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40303 * util/grub.d/README: New. Document grub.d directory layout.
40304
b06a264d 403052007-05-01 Robert Millan <rmh@aybabtu.com>
40306
40307 * util/grub-emu.c: Move initialization functions
40308 grub_util_biosdisk_init() and grub_init_all() before
40309 grub_util_biosdisk_get_grub_dev(), which relies on them.
40310
41f0050e 403112007-04-19 Robert Millan <rmh@aybabtu.com>
40312
40313 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40314 it is used later.
40315
04582bb3 403162007-04-18 Jerone Young <jerone@gmail.com>
40317
f19dbdb7 40318 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40319 stanza.
40320
08db4632 403212007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40322
08db4632 40323 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40324 continue on and look for device node with real device name.
40325
801b76be 403262007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40327
fe6b695a 40328 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40329 ability.
40330 * Makefile.in: Add autoconf package transformation code.
40331 * util/i386/pc/grub-install.in: Likewise.
40332 * util/powerpc/ieee1275/grub-install.in: Likewise.
40333
6795c4e1 403342007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40335
40336 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40337 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40338 (EXT2_REVISION): Likewise.
40339 (EXT2_INODE_SIZE): Likewise.
40340 (struct grub_ext2_block_group): Added a missing member
40341 "used_dirs".
40342 (grub_ext2_read_inode): Divide by the inode size in a superblock
40343 instead of 128 to obtain INODES_PER_BLOCK.
40344 Use the macro EXT2_INODE_SIZE instead of directly using
40345 SBLOCK->INODE_SIZE.
40346
d70af616 403472007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40348
40349 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40350 superblock instead of the structure size to compute an
40351 offset. This fixes the problem that GRUB could not read a
40352 filesystem when inode size is different from 128-byte.
40353
3b801603 403542007-03-05 Marco Gerards <marco@gnu.org>
40355
40356 * normal/main.c (read_config_file): When "menu" is not set, create
40357 an initial context.
40358
4785bfe4 403592007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40360
40361 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40362 (HEAP_LIMIT): New macro.
40363 (grub_claim_heap): Claim memory up to `heaplimit'.
40364
a0cbb023 403652007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40366
40367 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40368 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40369 (_start): Likewise.
40370 (grub_arch_modules_addr): Return address after `_end'.
40371 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40372 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40373 (add_segments): Calculate `_end' from phdr size and location.
40374 (ALIGN_UP): Moved to ...
40375 * include/grub/misc.h: here.
40376 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40377 New macro.
40378 (GRUB_IEEE1275_MODULE_BASE): Removed.
40379
fd7d8eba 403802007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40381
40382 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40383 loop boundary.
40384
9b09e6fc 403852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40386
40387 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40388 All users updated.
40389 (grub_elf64_load_hook_t): Likewise.
40390 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40391 debug output.
40392
3ce27299 403932007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40394
40395 * kern/mm.c: Update copyright.
40396 (grub_mm_debug): Correct syntax error.
40397 (grub_mm_dump_free): New function.
40398 (grub_debug_free): Call `grub_free'.
40399 * include/grub/mm.h: Update copyright.
40400 (grub_mm_dump_free): Add declaration.
40401
077d5fee 404022007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40403
40404 * include/grub/ieee1275/ieee1275.h: Update copyright.
40405 * kern/powerpc/ieee1275/init.c: Likewise.
40406 * kern/powerpc/ieee1275/openfw.c: Likewise.
40407
40408 * loader/powerpc/ieee1275/linux.c: Likewise.
40409 * include/grub/elfload.h: Likewise.
40410 * kern/elf.c: Likewise.
40411 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40412 callers.
40413 (grub_elf64_load): Likewise.
40414 (grub_elf32_load_segment): Move to a nested function.
40415 (grub_elf64_load_segment): Likewise.
40416
dc946850 404172007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40418
40419 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40420 prototype.
40421 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40422 (grub_heap_len): Likewise.
40423 (HEAP_SIZE): New macro.
40424 (grub_claim_heap): New function.
40425 (grub_machine_init): Don't claim heap directly. Call
40426 `grub_claim_heap'.
40427 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40428 (grub_available_iterate): New function.
40429
baa2a121 404302007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40431
40432 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40433 * configure.ac: Use it for testing the HOST and TARGET compilers.
40434
4fe9862e 404352006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40436
40437 * Makefile.in (enable_grub_emu): New variable.
40438 * configure.ac (--enable-grub-emu): New option.
40439 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40440 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40441 * conf/i386-pc.rmk: Likewise.
40442 * conf/powerpc-ieee1275.rmk: Likewise.
40443 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40444
a8aa5762 404452006-12-12 Marco Gerards <marco@gnu.org>
40446
40447 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40448
40449 * kern/env.c (grub_env_unset): Don't free the member `value' when
40450 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40451 pointer.
40452
40453 * normal/main.c (current_menu): Removed.
40454 (free_menu): Unset the `menu' environment variable.
40455 (grub_normal_menu_addentry): Make use of the environment variable
40456 `menu', instead of using the global `current_menu'. Allocate
40457 memory for the sourcecode of this entry.
40458 (read_config_file): New argument `nested', changed all callers.
40459 Only in the case of a new context, initialize a new menu. Set the
40460 `menu' environment variable.
40461 (grub_normal_execute): Don't set and unset the environment
40462 variable `menu' here anymore. Only free the menu when leaving the
40463 context.
40464
40465 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40466 leak.
40467
957b3a3e 404682006-12-11 Marco Gerards <marco@gnu.org>
40469
40470 * normal/menu_entry.c (run): Fix off by one bug so the last line
40471 is executed. Move the loader check to outside the loop.
40472
ef875714 404732006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40474
40475 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40476
4e739985 404772006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40478
40479 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40480 the number of sectors. Reported by Andrey Shuvikov
40481 <mr_hyro@yahoo.com>.
f19dbdb7 40482
790707f2 404832006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40484
40485 * kern/disk.c (grub_disk_read): When there is a read error, always
40486 try to read only the necessary data.
f19dbdb7 40487
790707f2 40488 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40489 disk/raid.c.
40490 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40491 prototype.
40492 [GRUB_UTIL] (grub_raid_fini): Likewise.
40493 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40494 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40495 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40496 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40497 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40498 and grub_raid_fini().
f19dbdb7 40499
03e58196 405002006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40501
40502 * include/grub/types.h (__unused): Rename to UNUSED.
40503 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40504 (grub_elf64_size): Likewise.
f19dbdb7 40505
ae4f23bf 405062006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40507
40508 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40509 grub_error_push and grub_error_pop in the error-handling path.
40510 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40511 length.
40512
2166cc83 405132006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40514
40515 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40516 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40518 (kernel_elf_SOURCES): Likewise.
40519 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40520 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40521 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40522 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40523 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40524 (elf_mod_SOURCES): New variable.
40525 (elf_mod_CFLAGS): Likewise.
40526 (elf_mod_LDFLAGS): Likewise.
40527 * include/grub/types.h (__unused): New macro.
40528 * include/grub/elfload.h: New file.
40529 * kern/elf.c: Likewise.
40530 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40531 (ELF32_LOADMASK): New macro.
40532 (ELF64_LOADMASK): Likewise.
40533 (vmlinux): Removed.
40534 (grub_linux_load32): New function.
40535 (grub_linux_load64): Likewise.
40536 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40537 Use grub_elf_t instead of grub_file_t.
40538
a09d5aa5 405392006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40540
40541 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40542 `catch_result' to struct set_color_args.
40543
d976fc51 405442006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40545
40546 * normal/menu.c: Include grub/script.h.
40547 * normal/menu_entry.c: Likewise.
40548 * include/grub/normal.h: Do not include grub/script.h.
40549
67507549 405502006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40551
40552 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40553
69203a99 405542006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40555
40556 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40557 disk.
40558 (grub_disk_close): Print debug messages when closing a disk.
40559 (grub_disk_read): Print debug messages when disk read fails.
40560 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40561 filesystem type.
40562 * kern/partition.c: Include misc.h.
40563 (grub_partition_iterate): Print debug messages when detecting
40564 partition type.
40565
e2b8278c 405662006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40567
40568 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40569 is negative.
40570 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40571
97b2f2ff 405722006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40573
40574 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40575 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40576
6555d655 405772006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40578
40579 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40580 instead of sizeof(lv). Patch by Michael Guntsche.
40581
4d42b77f 405822006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40583
40584 * disk/lvm.c: Rename VGS to VG_LIST.
40585 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40586 (grub_lvm_open): Likewise.
40587 Thanks to Michael Guntsche for finding this bug.
40588
5d74d927 405892006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40590
40591 * configure.ac (AC_INIT): Bumped to 1.95.
40592
a1bb27e4 405932006-10-14 Robert Millan <rmh@aybabtu.com>
40594
40595 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40596 with "/dev/.static/dev/md".
40597
e0994b8b 405982006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40599
40600 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40601 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40602 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40603 DRIVE_NAME are always freed.
40604
40605 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40606 DOS_PART, as a DOS partition is counted from one instead of zero
40607 now. Reported by Robert Millan.
40608
ddd5cee9 406092006-10-14 Robert Millan <rmh@aybabtu.com>
40610
40611 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40612 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40613 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40614 string returned by grub_guess_root_device.
40615 * util/i386/pc/grub-setup.c: Likewise.
40616 * util/i386/pc/grub-probefs.c: Likewise.
40617
40618 * util/i386/pc/grub-probefs.c: Rename to ...
40619 * util/i386/pc/grub-probe.c: ... this.
40620 * DISTLIST: Remove grub-probefs, add grub-probe.
40621 * conf/i386-efi.rmk: Likewise.
40622 * conf/i386-pc.rmk: Likewise.
40623 * util/i386/pc/grub-install.in: Likewise.
40624
40625 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40626 choose which information we want to print.
40627
2b002173 406282006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40629
40630 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40631 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40632 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40633 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40634 video/readers/tga.c and video/i386/pc/vbeutil.c.
40635
406362006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40637
40638 Added support for RAID and LVM.
f19dbdb7 40639
2b002173 40640 * disk/lvm.c: New file.
40641 * disk/raid.c: Likewise.
40642 * include/grub/lvm.h: Likewise.
f19dbdb7 40643 * include/grub/raid.h: Likewise.
2b002173 40644 * include/grub/util/lvm.h: Likewise.
40645 * include/grub/util/raid.h: Likewise.
40646 * util/lvm.c: Likewise.
40647 * util/raid.c: Likewise.
40648
40649 * include/grub/disk.h (grub_disk_dev_id): Add
40650 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40651 (grub_disk_get_size): New prototype.
40652 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40653 returns a partition.
40654 (grub_disk_get_size): New function.
f19dbdb7 40655
2b002173 40656 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40657 verbatim if grub_install_dos_part is -2.
40658
40659 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40660 and LVM devices.
40661
40662 * util/i386/pc/grub-setup.c (setup): New argument
40663 MUST_EMBED. Force embedding of GRUB when the argument is
40664 true. Close FILE before returning.
40665 (main): Add support for RAID and LVM.
f19dbdb7 40666
2b002173 40667 * conf/common.rmk: Add RAID and LVM modules.
40668 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40669 util/lvm.c.
40670 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40671
40672 * kern/misc.c (grub_strstr): New function.
40673 * include/grub/misc.h (grub_strstr): New prototype.
40674
050548d0 406752006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40676
40677 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40678
da849d2d 406792006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40680
40681 * kern/misc.c (grub_strtoull): Guess the base only if not
40682 specified.
40683
97b2f2ff 406842006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40685
40686 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40687 PowerMac support.
40688
97b2f2ff 406892006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40690
40691 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40692
40693 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40694 Remove `flags' argument. All callers changed.
40695 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40696 (IEEE1275_IHANDLE_INVALID): New variable.
40697 (IEEE1275_CELL_INVALID): New variable.
40698 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40699 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40700 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40701 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40702 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40703 codes from Open Firmware. All callers updated.
40704 (grub_ieee1275_next_property): Directly return Open Firmware return
40705 code.
40706 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40707 Standardize error checking from `grub_ieee1275_get_property'.
40708 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40709 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40710
97b2f2ff 407112006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40712
40713 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40714 `instance_to_package_args' to `instance_to_path_args'.
40715
40716 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40717 `grub_ieee1275_chosen'.
40718
40719 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40720 `grub_ieee1275_interpret'.
40721
97b2f2ff 407222006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40723
40724 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40725
97b2f2ff 407262006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40727
40728 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40729 (__cmpdi): Likewise.
40730
40731 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40732 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40733 `grub_ssize_t'.
40734
02bb8acc 40735 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40736
40737 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40738 to type `grub_ssize_t'.
40739 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40740
7f9a8531 407412006-09-22 Marco Gerards <marco@gnu.org>
40742
40743 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40744 newlines.
40745
b5ef1102 407462006-09-22 Marco Gerards <marco@gnu.org>
40747
40748 * commands/echo.c: New file.
40749
40750 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40751
40752 * conf/common.rmk (echo_mod_SOURCES): New variable.
40753 (echo_mod_CFLAGS): Likewise.
40754 (echo_mod_LDFLAGS): Likewise.
40755
2cff3677 407562006-09-22 Marco Gerards <marco@gnu.org>
40757
40758 * normal/main.c (get_line): Malloc memory instead of using
40759 preallocated memory. Removed the arguments `cmdline' and
40760 `max_len'. Updated all callers.
40761
6ba4688b 407622006-09-22 Marco Gerards <marco@gnu.org>
40763
40764 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40765 (normal_mod_DEPENDENCIES): Likewise.
40766
40767 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40768 (normal_mod_DEPENDENCIES): Likewise.
40769
40770 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40771
e02ac02c 407722006-09-22 Johan Rydberg <jrydberg@gnu.org>
40773
40774 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40775 programs.
40776 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40777 (normal_mod_DEPENDENCIES): Likewise.
40778 * conf/i386-pc.mk: Regenerate.
40779 * conf/i386-efi.mk: Likewise
40780 * conf/common.mk: Likewise.
40781 * conf/powerpc-ieee1275.mk: Likewise.
40782 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40783
8d252e44 407842006-09-22 Robert Millan <rmh@aybabtu.com>
40785
40786 Sync with i386 version.
40787 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40788 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40789
209bf7ac 407902006-09-21 Robert Millan <rmh@aybabtu.com>
40791
40792 Import from GRUB Legacy (lib/device.c):
40793 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40794 (init_device_map) [__linux__]: Add support for I2O devices.
40795
6b146090 407962006-09-14 Marco Gerards <marco@gnu.org>
40797
40798 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40799 `-melf_i386'.
40800
e38600a8 408012006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40802
40803 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40804 /boot/grub/*.lst.
78fa1790 40805
2952da5d 40806 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40807
2952da5d 40808 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40809 before adding it to device.map.
40810
01b82a64 408112006-08-15 Johan Rydberg <jrydberg@gnu.org>
40812
fe6b695a 40813 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40814 compiles a file; using the -MD option.
40815 * conf/common.mk: Regenerate.
40816 * conf/i386-pc.mk: Likewise.
40817 * conf/i386-efi.mk: Likewise.
40818 * conf/powerpc-ieee1275.mk: Likewise.
40819 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40820
1064790d 408212006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40822
40823 Move the prototypes of grub_setjmp and grub_longjmp to
40824 cpu/setjmp.h, so that each architecture may specify different
40825 attributes.
f19dbdb7 40826
1064790d 40827 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40828 (grub_longjmp): Likewise.
40829 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40830 (grub_longjmp): Likewise.
40831 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40832 (grub_longjmp): Likewise.
40833
40834 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40835 [!GRUB_UTIL] (grub_longjmp): Removed.
40836
29dda3ed 408372006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40838
40839 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40840 "color!" method does not return any value.
40841
ad2a06ed 408422006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40843
40844 * include/grub/bitmap.h: New file.
40845
40846 * include/grub/i386/pc/vbeutil.h: Likewise.
40847
40848 * video/bitmap.c: Likewise.
40849
40850 * video/readers/tga.c: Likewise.
40851
40852 * video/i386/pc/vbeutil.c: Likewise.
40853
40854 * commands/videotest.c: Code cleanup and updated to reflect to new
40855 video API.
40856
40857 * term/gfxterm.c: Likewise.
40858
40859 * video/video.c: Likewise.
40860
40861 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40862 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40863 (bitmap_mod_SOURCES): New entry.
40864 (bitmap_mod_CFLAGS): Likewise.
40865 (bitmap_mod_LDFLAGS): Likewise.
40866 (tga_mod_SOURCES): Likewise.
40867 (tga_mod_CFLAGS): Likewise.
40868 (tga_mod_LDFLAGS): Likewise.
40869
40870 * include/grub/video.h (grub_video_blit_operators): New enum type.
40871 (grub_video_render_target): Changed as forward declaration and moved
40872 actual definition to be video driver specific.
40873 (grub_video_adapter.blit_bitmap): Added blitting operator.
40874 (grub_video_adapter.blit_render_target): Likewise.
40875 (grub_video_blit_bitmap): Likewise.
40876 (grub_video_blit_render_target): Likewise.
40877
40878 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40879 driver specific render target definition.
40880 (grub_video_vbe_map_rgba): Added driver internal helper.
40881 (grub_video_vbe_unmap_color): Updated to use
40882 grub_video_i386_vbeblit_info.
40883 (grub_video_vbe_get_video_ptr): Likewise.
40884
40885 * include/grub/i386/pc/vbeblit.h
40886 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40887 grub_video_i386_vbeblit_info.
40888 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40889 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40890 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40891 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40892 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40893 (grub_video_i386_vbeblit_index_index): Likewise.
40894 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40895 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40896 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40897 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40898 operator.
40899 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40900 operator.
40901
40902 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40903 include/grub/i386/pc/vbeblit.h.
40904
40905 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40906 Updated to use grub_video_i386_vbeblit_info.
40907 (grub_video_i386_vbefill_R8G8B8): Likewise.
40908 (grub_video_i386_vbefill_index): Likewise.
40909 (grub_video_i386_vbefill): Added generic filler.
40910
40911 * video/i386/pc/vbefill.c: Updated to reflect changes on
40912 include/grub/i386/pc/vbefill.h.
40913
40914 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40915 grub_video_i386_vbeblit_info.
40916 (grub_video_vbe_unmap_color): Likewise.
40917 (grub_video_vbe_blit_glyph): Likewise.
40918 (grub_video_vbe_scroll): Likewise.
40919 (grub_video_vbe_draw_pixel): Removed function.
40920 (grub_video_vbe_get_pixel): Likewise.
40921 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40922 updated code to use it.
40923 (common_blitter): Added common blitter for render target and bitmap.
40924 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40925 (grub_video_vbe_blit_render_target): Likewise.
40926
bc8c036d 409272006-07-30 Johan Rydberg <jrydberg@gnu.org>
40928
40929 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40930 is in text mode if there is no console control protocol instance
40931 available.
40932
684a8eff 409332006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40934
40935 * include/grub/video.h: Code cleanup.
40936
40937 * include/grub/i386/pc/vbe.h: Likewise.
40938
40939 * video/i386/pc/vbe.c: Likewise.
40940
40941 * video/i386/pc/vbeblit.c: Likewise.
40942
40943 * video/i386/pc/vbefill.c: Likewise.
40944
40945 * video/video.c: Likewise. Also added more comments.
40946
5915059b 409472006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40948
40949 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40950 (struct grub_biosdisk_dap): Likewise.
40951
40952 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40953 linkage settings for all functions.
40954
90ce5d56 409552006-07-12 Marco Gerards <marco@gnu.org>
40956
40957 * configure.ac (--enable-mm-debug): Fix typo.
40958
40959 * genkernsyms.sh.in: Use proper quoting for `CC'.
40960
43e7f879 409612006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40962
40963 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40964 (normal_mod_ASFLAGS): Remove "-m32".
40965
4889bdec 409662006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40967
40968 * util/misc.c: Include config.h.
40969 [!HAVE_MEMALIGN]: Do not include malloc.h.
40970 (grub_memalign): Use posix_memalign, if present. Then, use
40971 memalign, if present. Otherwise, emit an error.
40972
40973 * util/grub-emu.c: Do not include malloc.h.
40974
40975 * include/grub/util/misc.h: Include unistd.h. This is required for
40976 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40977 D. Eades III <hde@foobar-qux.org>.
40978
40979 * configure.ac (AC_GNU_SOURCE): Added.
40980 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40981 type.
40982
fd39d4da 409832006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40984
40985 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40986 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40987
b786f3b5 409882006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40989
40990 * include/grub/types.h (grub_host_addr_t): Rename to
40991 grub_target_addr_t.
40992 (grub_host_off_t): Rename to grub_target_off_t.
40993 (grub_host_size_t): Rename to grub_target_size_t.
40994 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40995 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40996
40997 * include/grub/kernel.h (struct grub_module_header): Change type
40998 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40999 (grub_module_info): Likewise.
f19dbdb7 41000
051988bb 410012006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41002
41003 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
41004 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
41005 Velazquez <jesus.velazquez@gmail.com>.
41006
deae281b 410072006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
41008
41009 Count partitions from 1 instead of 0 in the string representation
41010 of partitions. Still use 0-based internally.
f19dbdb7 41011
deae281b 41012 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
41013 (sun_partition_map_iterate): Use grub_partition_t instead of
41014 struct grub_partition *. Cast DESC->START_CYLINDER to
41015 grub_uint64_t after converting the endian.
41016 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41017 (sun_partition_map_get_name): Add 1 to P->INDEX.
41018
41019 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41020 PCDATA->DOS_PART.
41021 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41022
41023 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41024 zero instead of one.
41025 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41026 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41027
41028 * partmap/apple.c (apple_partition_map_iterate): Change the type
41029 of POS to unsigned.
41030 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41031 (apple_partition_map_get_name): Add 1 into P->INDEX.
41032
41033 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41034 of POS to unsigned.
41035 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41036 calculate the offset of a partition.
41037 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41038 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41039
41040 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41041 SECTOR to grub_disk_addr_t.
41042 (acorn_partition_map_iterate): Likewise.
41043 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41044 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41045 top.
41046 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41047
41048 * kern/i386/pc/init.c (make_install_device): Add 1 into
41049 GRUB_INSTALL_DOS_PART.
41050
41051 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41052 conditional.
41053
524a1e6a 410542006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41055
41056 Clean up the code to support 64-bit addressing in disks and
41057 files. This change is not enough for filesystems yet.
f19dbdb7 41058
524a1e6a 41059 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41060 type of "start" to grub_uint64_t.
41061 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41062 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41063 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41064 convert addresses.
41065
41066 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41067 to grub_disk_addr_t.
41068
41069 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41070 string.
41071
41072 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41073
41074 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41075 to char *.
41076
41077 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41078
41079 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41080
41081 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41082
41083 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41084 to grub_off_t, to detect an error from grub_file_seek.
41085 (grub_multiboot_load_elf32): Likewise.
41086
41087 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41088 maximum unsigned long value when an overflow is detected.
41089 (grub_strtoull): New function.
41090 (grub_divmod64): Likewise.
41091 (grub_lltoa): use grub_divmod64.
41092
41093 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41094 grub_disk_addr_t.
41095 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41096 the pointer to next character. Use grub_strtoull instead of
41097 grub_strtoul.
41098 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41099 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41100 respectively.
41101
fe6b695a 41102 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41103 return value is signed.
41104 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41105 test if OFFSET is less than zero, as OFFSET is unsigned now.
41106
41107 * kern/disk.c (struct grub_disk_cache): Change the type of
41108 "sector" to grub_disk_addr_t.
41109 (grub_disk_cache_get_index): Change the type of SECTOR to
41110 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41111 unsigned after shifting.
41112 (grub_disk_cache_invalidate): Change the type of SECTOR to
41113 grub_disk_addr_t.
41114 (grub_disk_cache_unlock): Likewise.
41115 (grub_disk_cache_store): Likewise.
41116 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41117 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41118 grub_disk_addr_t and grub_uint64_t, respectively.
41119 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41120 body, as the value of OFFSET is tweaked by
41121 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41122 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41123 respectively.
41124 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41125 body, as the value of OFFSET is tweaked by
41126 grub_disk_check_range. Change the types of LEN and N to
41127 grub_size_t.
41128
41129 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41130 and "saved_offset" to grub_off_t.
41131 (test_header): Cast BUF to char *.
41132 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41133 to char *.
41134 (grub_gzio_read): Change the types of OFFSET and SIZE to
41135 grub_off_t and grub_size_t, respectively.
41136
41137 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41138 Removed.
41139 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41140 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41141 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41142 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41143 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41144
41145 * include/grub/types.h (grub_off_t): Unconditionally set to
41146 grub_uint64_t.
41147 (grub_disk_addr_t): Changed to grub_uint64_t.
41148
41149 * include/grub/partition.h (struct grub_partition): Change the
41150 types of "start", "len" and "offset" to grub_disk_addr_t,
41151 grub_uint64_t and grub_disk_addr_t, respectively.
41152 (grub_partition_get_start): Return grub_disk_addr_t.
41153 (grub_partition_get_len): Return grub_uint64_t.
41154
41155 * include/grub/misc.h (grub_strtoull): New prototype.
41156 (grub_divmod64): Likewise.
41157
41158 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41159 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41160 grub_off_t, respectively.
41161 All callers and references changed.
41162
41163 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41164 grub_size_t in "read".
41165 All callers and references changed.
41166
41167 * include/grub/file.h (struct grub_file): Change the types of
41168 "offset" and "size" to grub_off_t and grub_off_t,
41169 respectively. Change the type of SECTOR to grub_disk_addr_t in
41170 "read_hook".
41171 (grub_file_read): Change the type of LEN to grub_size_t.
41172 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41173 grub_off_t.
41174 (grub_file_size): Return grub_off_t.
41175 (grub_file_tell): Likewise.
41176 All callers and references changed.
41177
41178 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41179 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41180 "write".
41181 (struct grub_disk): Change the type of "total_sectors" to
41182 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41183 "read_hook".
524a1e6a 41184 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41185 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41186 (grub_disk_write): Likewise.
41187 All callers and references changed.
41188
41189 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41190 char * for grub_strncmp to silence gcc.
41191 (grub_iso9660_mount): Likewise.
41192 (grub_iso9660_mount): Likewise.
41193 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41194 return statement.
41195 (grub_iso9660_iterate_dir): Likewise.
41196 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41197
41198 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41199 LEN to grub_disk_addr_t and grub_size_t, respectively.
41200
41201 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41202
41203 * fs/jfs.c (grub_jfs_read_file): Likewise.
41204
41205 * fs/minix.c (grub_jfs_read_file): Likewise.
41206
41207 * fs/sfs.c (grub_jfs_read_file): Likewise.
41208
41209 * fs/ufs.c (grub_jfs_read_file): Likewise.
41210
41211 * fs/xfs.c (grub_jfs_read_file): Likewise.
41212
41213 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41214 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41215 respectively.
41216
41217 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41218 BLKNR to -1 instead of returning GRUB_ERRNO.
41219 (grub_ext2_read_file): Change the types of SECTOR and
41220 LEN to grub_disk_addr_t and grub_size_t, respectively.
41221
41222 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41223 LEN to grub_disk_addr_t and grub_size_t, respectively.
41224
41225 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41226 grub_file_read.
41227
41228 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41229 string. Do not cast SECTOR explicitly.
41230
41231 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41232 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41233 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41234 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41235 over 2TB and LBA mode is not supported, raise an error.
41236 (get_safe_sectors): New function.
41237 (grub_biosdisk_read): Use get_safe_sectors.
41238 (grub_biosdisk_write): Likewise.
41239
41240 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41241 (grub_efidisk_write): Likewise.
41242
41243 * disk/loopback.c (delete_loopback): Cosmetic changes.
41244 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41245 correctly.
41246 (grub_loopback_open): Likewise.
41247 (grub_loopback_read): Likewise. Also, change the type of POS to
41248 grub_off_t, and fix the usage of grub_memset.
41249
41250 * commands/i386/pc/play.c: Include grub/machine/time.h.
41251
41252 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41253 print FILE->SIZE.
41254
41255 * commands/configfile.c: Include grub/env.h.
41256
41257 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41258 GRUB_ERRNO directly instead. Change the type of POS to
41259 grub_off_t. Follow the coding standard.
41260
41261 * commands/blocklist.c: Include grub/partition.h.
41262 (grub_cmd_blocklist): Return an error if the underlying device is
41263 not a disk. Take the starting sector of a partition into account,
41264 if a partition is used.
41265
41266 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41267 a length field.
41268 (lba_mode): Support 64-bit addresses.
41269 (chs_mode): Likewise.
41270 (copy_buffer): Adapted to the new offsets of a length field and a
41271 segment field.
41272 (blocklist_default_start): Allocate 64-bit space.
41273
41274 * boot/i386/pc/boot.S (force_lba): Removed.
41275 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41276 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41277 space.
41278 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41279 is useless.
41280 (lba_mode): Refactored to support a 64-bit address. More size
41281 optimization.
41282 (setup_sectors): Likewise.
41283
53af98ad 412842006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41285
41286 * DISTLIST: Added include/grub/i386/linux.h. Removed
41287 include/grub/i386/pc/linux.h
41288
41289 * configure.ac (AC_INIT): Bumped to 1.94.
41290
41291 * config.guess: Updated from gnulib.
41292 * config.sub: Likewise.
41293 * install-sh: Likewise.
41294 * mkinstalldirs: Likewise.
41295
b4c1940a 412962006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41297
41298 * conf/common.rmk (grub_modules_init.lst): Depended on
41299 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41300 MODSRCFILES.
41301
41302 * genmk.rb (PModule::rule): Reverted the previous change.
41303
cfca1cfd 413042006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41305
41306 * conf/common.rmk (grub_modules_init.lst): Depends on
41307 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41308 that the target does not exist before producing.
41309 (grub_modules_init.h): Remove the target before generating.
41310 (grub_emu_init.c): Likewise.
41311
41312 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41313
aa6d7826 413142006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41315
41316 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41317 for the target-specific tests. Make sure that we also have the
41318 up-to-date target variables for those tests.
41319
26c607b9 413202006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41321
41322 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41323 (PModule::rule): Likewise.
41324
0162321a 413252006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41326
41327 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41328 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41329 target-specific flags should be prefixed.
41330 (PModule::rule): Likewise.
41331
6c826348 413322006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41333
41334 * configure.ac (CMP): Check if cmp is available explicitly.
41335
b977bf01 413362006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41337
41338 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41339 (target_cpu): New variable.
41340 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41341
b977bf01 41342 * util/i386/pc/grub-install.in (host_cpu): Removed.
41343 (target_cpu): New variable.
41344 (pkglibdir): Use target_cpu instead of host_cpu.
41345
41346 * util/genmoddep.c: Removed.
f19dbdb7 41347
b977bf01 41348 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41349 instead of GRUB_HOST_SIZEOF_VOID_P.
41350 * kern/dl.c: Likewise.
41351
41352 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41353 ...
41354 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41355 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41356 (GRUB_TARGET_SIZEOF_LONG): ... this.
41357 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41358 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41359 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41360 to ...
41361 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41362 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41363 (GRUB_TARGET_SIZEOF_LONG): ... this.
41364 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41365 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41366 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41367 to ...
41368 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41369 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41370 (GRUB_TARGET_SIZEOF_LONG): ... this.
41371 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41372 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41373
41374 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41375 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41376 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41377 instead of GRUB_HOST_SIZEOF_LONG.
41378 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41379 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41380 GRUB_CPU_WORDS_BIGENDIAN.
41381 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41382 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41383 grub_host_ssize_t.
41384
41385 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41386 (genmoddep_SOURCES): Likewise.
41387 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41388 (genmoddep_SOURCES): Likewise.
41389 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41390 (genmoddep_SOURCES): Likewise.
41391 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41392 Likewise.
41393 (genmoddep_SOURCES): Likewise.
41394
41395 * genmoddep.awk: New file.
41396
41397 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41398 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41399 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41400 (PModule::rule): Likewise.
41401 (Program::rule): Likewise.
41402 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41403 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41404 respectively.
41405
41406 * configure.ac: Rewritten intensively to use host and target
41407 instead of build and host, respectively.
41408
41409 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41410 (host_cpu): Removed.
41411 (target_cpu): New variable.
41412 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41413 (BUILD_CC): Removed.
41414 (BUILD_CFLAGS): Likewise.
41415 (BUILD_CPPFLAGS): Likewise.
41416 (TARGET_CC): New variable.
41417 (TARGET_CFLAGS): Likewise.
41418 (TARGET_CPPFLAGS): Likewise.
41419 (TARGET_LDFLAGS): Likewise.
41420 (AWK): Likewise.
41421 (include): Use target_cpu instead of host_cpu.
41422 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41423
b977bf01 41424 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41425
f09771a1 414262006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41427
41428 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41429 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41430 field 'false' to 'exec_on_false'.
41431 (grub_script_create_cmdif): Renamed argument names to reflect above
41432 changes.
41433
41434 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41435
41436 * normal/script.c (grub_script_create_cmdif): Likewise.
41437
118f4fb3 414382006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41439
41440 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41441 top.
41442 (grub_hfsplus_btree_recptr): Likewise.
41443 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41444 FILEBLOCK both to pass a block number and store next block
41445 number.
41446 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41447 overflow file correctly. Specify errors appropriately, because
41448 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41449 grub_hfsplus_btree_recptr to get the pointer to a found key.
41450 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41451 is found.
41452
41453 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41454 linux.mod.
41455 (_linux_mod_SOURCES): New variable.
41456 (_linux_mod_CFLAGS): Likewise.
41457 (_linux_mod_LDFLAGS): Likewise.
41458 (linux_mod_SOURCES): Likewise.
41459 (linux_mod_CFLAGS): Likewise.
41460 (linux_mod_LDFLAGS): Likewise.
41461
41462 * DISTLIST: Added loader/i386/efi/linux.c,
41463 loader/i386/efi/linux_normal.c and
41464 include/grub/i386/efi/loader.h.
41465
41466 * loader/i386/efi/linux.c: New file.
41467 * loader/i386/efi/linux_normal.c: Likewise.
41468 * include/grub/i386/efi/loader.h: Likewise.
41469
89a7d726 414702006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41471
41472 * commands/blocklist.c: New file.
41473
41474 * DISTLIST: Added commands/blocklist.c.
41475
41476 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41477 color for the background, and a darker color for the foreground.
89a7d726 41478 (grub_console_checkkey): Return READ_KEY.
41479 (grub_console_cls): Set the background to
41480 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41481
41482 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41483
41484 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41485 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41486
41487 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41488 prototype.
41489
41490 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41491 BG. The spec is wrong again.
41492
41493 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41494 prototype.
41495 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41496
41497 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41498 commands/blocklist.c.
41499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41500
89a7d726 41501 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41502 (blocklist_mod_SOURCES): New variable.
41503 (blocklist_mod_CFLAGS): Likewise.
41504 (blocklist_mod_LDFLAGS): Likewise.
41505
75c8f258 415062006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41507
41508 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41509 duplication.
41510 (lba_mode): Use %eax more intensively to reduce the code size.
41511
da2eb181 415122006-05-20 Marco Gerards <marco@gnu.org>
41513
41514 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41515
41516 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41517 for `menuentry'.
41518 (script): Accept leading newlines.
41519 (newlines): New rule to describe 0 or more newlines.
41520 (commands): Accept `command' with trailing newline. Fixed the
41521 order in which arguments were passed to `grub_script_add_cmd'.
41522 Accept commands separated by newlines.
41523 (function): Changed to accept newlines.
41524 (menuentry) Rewritten.
41525
41526 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41527 front of the list, instead of to the end.
41528
577b4050 415292006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41530
41531 * util/i386/pc/grub-install.in (bindir): New variable.
41532 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41533 Shaver <lbgwjl@gmail.com>.
41534
0d6e1189 415352006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41536
41537 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41538 grub/machine/linux.h
41539 * loader/i386/pc/linux.c: Likewise.
41540
41541 * include/grub/i386/pc/linux.h: Moved to ...
41542 * include/grub/i386/linux.h: ... here.
41543
41544 * include/grub/i386/linux.h (struct linux_kernel_params): New
41545 struct.
f19dbdb7 41546
31b86e9f 415472006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41548
41549 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41550 checking.
41551 (grub_video_vbe_blit_glyph): Likewise.
41552 (grub_video_vbe_blit_bitmap): Likewise.
41553 (grub_video_vbe_blit_render_target): Likewise.
41554
83b984de 415552006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41556
41557 * configure.ac (--with-platform): Properly quote the square
41558 brackets.
41559
5f0413bd 415602006-05-08 Marco Gerards <marco@gnu.org>
41561
41562 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41563 this...
41564 (kernel_elf_HEADERS): ...to this. Updated all users.
41565 (grubof_symlist.c): Renamed from this...
41566 (kernel_elf_symlist.c): ...to this. Updated all users.
41567 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41568 (grubof_SOURCES): Renamed from this...
41569 (kernel_elf_SOURCES): ...to this.
41570 (grubof_HEADERS): Renamed from this...
41571 (kernel_elf_HEADERS): ...to this.
41572 (grubof_CFLAGS): Renamed from this...
41573 (kernel_elf_CFLAGS): ...to this.
41574 (grubof_ASFLAGS): Renamed from this...
41575 (kernel_elf_ASFLAGS): ...to this.
41576 (grubof_LDFLAGS): Renamed from this...
41577 (kernel_elf_LDFLAGS): ...to this.
41578
41579 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41580 this...
41581 (kernel_elf_HEADERS): ...to this. Updated all users.
41582 (grubof_symlist.c): Renamed from this...
41583 (kernel_elf_symlist.c): ...to this. Updated all users.
41584 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41585 (grubof_SOURCES): Renamed from this...
41586 (kernel_elf_SOURCES): ...to this.
41587 (grubof_HEADERS): Renamed from this...
41588 (kernel_elf_HEADERS): ...to this.
41589 (grubof_CFLAGS): Renamed from this...
41590 (kernel_elf_CFLAGS): ...to this.
41591 (grubof_ASFLAGS): Renamed from this...
41592 (kernel_elf_ASFLAGS): ...to this.
41593 (grubof_LDFLAGS): Renamed from this...
41594 (kernel_elf_LDFLAGS): ...to this.
41595
41596 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41597 `kernel.elf' instead of `grubof'.
41598
05568c2e 415992006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41600
41601 Add --with-platform to configure. Use pkglibdir instead of
41602 pkgdatadir. This is reported by Roger Leigh.
41603
41604 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41605 (host_vendor): Likewise.
41606 (host_os): Likewise.
41607 (pkgdatadir): Likewise.
41608 (platform): New variable.
41609 (pkglibdir): Likewise.
41610 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41611
05568c2e 41612 * util/i386/pc/grub-install.in (datadir): Removed.
41613 (host_vendor): Likewise.
41614 (host_os): Likewise.
41615 (pkgdatadir): Likewise.
41616 (platform): New variable.
41617 (pkglibdir): Likewise.
41618 Use PKGLIBDIR instead of PKGDATADIR.
41619
41620 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41621 instead of GRUB_DATADIR.
41622 (main): Likewise.
41623 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41624 (main): Likewise.
41625 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41626 (main): Likewise.
41627
41628 * configure.ac (--with-platform): New option.
41629 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41630
41631 * Makefile.in: Include a makefile based on PLATFORM instead of
41632 HOST_VENDOR.
41633 (pkgdatadir): Not appended by the machine type.
41634 (pkglibdir): Appended by the machine type.
41635 (host_vendor): Removed.
41636 (platform): New variable.
41637 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41638 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41639 (uninstall): Likewise.
41640
4e93851c 416412006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41642
41643 Use the environment context in the menu. Remove the commands
41644 "default" and "timeout", and use variables instead.
f19dbdb7 41645
4e93851c 41646 * normal/menu.c: Include grub/env.h.
41647 (print_entry): Cast TITLE to silence gcc.
41648 (get_timeout): New function.
41649 (set_timeout): Likewise.
41650 (get_entry_number): Likewise.
41651 (run_menu): Use a default entry, a fallback entry and a timeout
41652 in the environment variables "default", "fallback" and
41653 "timeout". Also, tweak the default entry if it is not within the
41654 current menu entries.
41655 (grub_menu_run): Use a fallback entry in the environment variable
41656 "fallback".
41657
41658 * normal/main.c (read_config_file): Do not initialize
41659 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41660 NEWMENU->TIMEOUT.
41661 (grub_normal_execute): Use a data slot to store the menu.
41662
41663 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41664 fallback_entry and timeout.
41665 (struct grub_menu_list): Removed.
41666 (grub_menu_list_t): Likewise.
41667 (struct grub_context): Likewise.
41668 (grub_context_t): Likewise.
41669 (grub_context_get): Likewise.
41670 (grub_context_get_current_menu): Likewise.
41671 (grub_context_push_menu): Likewise.
41672 (grub_context_pop_menu): Likewise.
41673 (grub_default_init): Likewise.
41674 (grub_default_fini): Likewise.
41675 (grub_timeout_init): Likewise.
41676 (grub_timeout_fini): Likewise.
41677
41678 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41679 and timeout.mod.
41680 (normal_mod_SOURCES): Removed normal/context.c.
41681
41682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41683 commands/default.c, commands/timeout.c and normal/context.c.
41684 (normal_mod_SOURCES): Removed normal/context.c.
41685
41686 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41687 commands/timeout.c and normal/context.c.
41688 (normal_mod_SOURCES): Removed normal/context.c.
41689
41690 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41691 commands/default.c, commands/timeout.c and normal/context.c.
41692 (normal_mod_SOURCES): Removed normal/context.c.
41693
41694 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41695 timeout.mod.
41696 (default_mod_SOURCES): Removed.
41697 (default_mod_CFLAGS): Likewise.
41698 (default_mod_LDFLAGS): Likewise.
41699 (timeout_mod_SOURCES): Removed.
41700 (timeout_mod_CFLAGS): Likewise.
41701 (timeout_mod_LDFLAGS): Likewise.
41702
41703 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41704 normal/context.c.
41705
41706 * commands/default.c: Removed.
41707 * commands/timeout.c: Likewise.
41708 * normal/context.c: Likewise.
41709
1eb9cc1d 417102006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41711
41712 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41713
385bd9c1 417142006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41715
41716 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41717 "next" to "prev" for readability.
41718 (struct grub_env_sorted_var): New struct.
41719 (grub_env_context): Renamed to ...
41720 (initial_context): ... this.
41721 (grub_env_var_context): Renamed to ...
41722 (current_context): ... this.
41723 (grub_env_find): Look only at CURRENT_CONTEXT.
41724 (grub_env_context_open): Rewritten to copy exported variables from
41725 previous context.
41726 (grub_env_context_close): Rewritten according to the new
41727 scheme. Also, add an assertion to prevent the initial context from
41728 removed.
41729 (grub_env_insert): Removed the code for the sorted list.
41730 (grub_env_remove): Likewise.
41731 (grub_env_export): Simply mark the variable with
41732 GRUB_ENV_VAR_GLOBAL.
41733 (grub_env_set): A cosmetic change for naming consistency.
41734 (grub_env_get): Likewise.
41735 (grub_env_unset): Likewise.
41736 (grub_env_iterate): Rewritten to sort variables within this
41737 function.
41738 (grub_register_variable_hook): Fixed for naming consistency. Call
41739 grub_env_find again, only if NAME is not found at the first time.
41740 (mangle_data_slot_name): New function.
41741 (grub_env_set_data_slot): Likewise.
41742 (grub_env_get_data_slot): Likewise.
41743 (grub_env_unset_data_slot): Likewise.
41744
41745 * include/grub/env.h (grub_env_var_type): New enum.
41746 (GRUB_ENV_VAR_LOCAL): New constant.
41747 (GRUB_ENV_VAR_GLOBAL): Likewise.
41748 (GRUB_ENV_VAR_DATA): Likewise.
41749 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41750 "type".
41751 (grub_env_set): Replace VAR with NAME for consistency.
41752 (grub_register_variable_hook): Likewise.
41753 (grub_env_export): Specify the name of the argument.
41754 (grub_env_set_data_slot): New prototype.
41755 (grub_env_get_data_slot): Likewise.
41756 (grub_env_unset_data_slot): Likewise.
41757
7f362539 417582006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41759
41760 Extend the loader so that GRUB can accept a loader which comes
41761 back to GRUB when a loaded image exits. Also, this change adds
41762 support for a chainloader on EFI.
f19dbdb7 41763
7f362539 41764 * term/efi/console.c: Include grub/misc.h.
41765 (grub_console_checkkey): Display a scan code on the top for
41766 debugging. This will be removed once the EFI port gets stable.
41767 Correct the scan code mapping.
41768
41769 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41770 allocate memory from larger regions, in order to reduce the number
41771 of allocated regions. Otherwise, the MacOSX loader panics.
41772 (filter_memory_map): Avoid less than 1MB for compatibility with
41773 other loaders.
41774 (add_memory_regions): Allocate from the tail of a region, if
41775 possible, to avoid allocating a region near to 1MB, for the MacOSX
41776 loader.
41777
41778 * kern/efi/init.c (grub_efi_set_prefix): Specify
41779 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41780
41781 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41782 argument IMAGE_HANDLE and specify it to get a loaded image.
41783 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41784 grub_efi_get_loaded_image.
fe6b695a 41785 (grub_efi_get_filename): Divide the length by the size of
7f362539 41786 grub_efi_char16_t.
41787 (grub_efi_get_device_path): New function.
41788 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41789 the length by the size of grub_efi_char16_t for a file path device
41790 path node.
41791
41792 * kern/loader.c (grub_loader_noreturn): New variable.
41793 (grub_loader_set): Accept a new argument NORETURN. Set
41794 GRUB_LOADER_NORETURN to NORETURN.
41795 All callers changed.
41796 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41797 grub_machine_fini.
41798
41799 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41800 prototype.
41801 (grub_efi_get_loaded_image): Take an argument to specify an image
41802 handle.
41803
41804 * include/grub/loader.h (grub_loader_set): Added one more argument
41805 NORETURN.
41806
41807 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41808 instead of grub_efi_open_protocol.
41809 (grub_efidisk_get_device_name): Likewise.
41810 (grub_efidisk_close): Print a newline.
41811 (grub_efidisk_get_device_handle): Fixed to use
41812 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41813 GRUB_EFI_DEVICE_PATH_TYPE.
41814
41815 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41816 * kern/efi/efi.c (device_path_guid): ... here.
41817
41818 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41819 chain.mod.
41820 (kernel_mod_HEADERS): Added efi/disk.h.
41821 (_chain_mod_SOURCES): New variable.
41822 (_chain_mod_CFLAGS): Likewise.
41823 (_chain_mod_LDFLAGS): Likewise.
41824 (chain_mod_SOURCES): Likewise.
41825 (chain_mod_CFLAGS): Likewise.
41826 (chain_mod_LDFLAGS): Likewise.
41827
41828 * DISTLIST: Added include/grub/efi/chainloader.h,
41829 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41830
41831 * include/grub/efi/chainloader.h: New file.
41832 * loader/efi/chainloader.c: Likewise.
41833 * loader/efi/chainloader_normal.c: Likewise.
41834
c0111d6e 418352006-04-30 Marco Gerards <marco@gnu.org>
41836
41837 * commands/configfile.c (grub_cmd_source): New function.
41838 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41839 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41840
df5341da 418412006-04-30 Marco Gerards <marco@gnu.org>
41842
41843 * normal/execute.c (grub_script_execute_cmd): Change the return
41844 type to `grub_err_t'. Correctly return the error.
41845 (grub_script_execute_cmdline): In case a command line is not a
41846 command or a function, try to interpret it as an assignment.
41847
f85934bd 418482006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41849
41850 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41851 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41852 skip a node whose name is obviously invalid as UTF-16,
41853 i.e. contains a NUL character. Stop the iteration when the last
41854 directory entry is found. Instead of using the return value of
41855 grub_hfsplus_btree_iterate_node, store the value in RET and use
41856 it, because the iterator can be stopped by the last directory
41857 entry.
41858
8f8a2cf8 418592006-04-30 Marco Gerards <marco@gnu.org>
41860
41861 * include/grub/env.h (grub_env_export): New prototype. Reported
41862 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41863
a27e84ce 418642006-04-30 Marco Gerards <marco@gnu.org>
41865
41866 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41867 size of the extents in a catalog file record.
41868
eaef0553 418692006-04-29 Marco Gerards <marco@gnu.org>
41870
41871 * commands/configfile.c (grub_cmd_configfile): Execute the
41872 configfile within its own context.
41873
41874 * include/grub/env.h (grub_env_context_open): New prototype.
41875 (grub_env_context_close): Likewise.
41876
41877 * kern/env.c (grub_env): Removed.
41878 (grub_env_sorted): Likewise.
41879 (grub_env_context): New variable.
41880 (grub_env_var_context): Likewise.
41881 (grub_env_find): Search both the active context and the global
41882 context.
41883 (grub_env_context_open): New function.
41884 (grub_env_context_close): Likewise.
41885 (grub_env_insert): Likewise.
41886 (grub_env_remove): Likewise.
41887 (grub_env_export): Likewise.
41888 (grub_env_set): Changed to use helper functions to avoid code
41889 duplication.
41890 (grub_env_iterate): Rewritten so both the current context and the
41891 global context are being used.
41892
41893 * normal/command.c (export_command): New function.
41894 (grub_command_init): Register the `export' function.
41895
7b455f4d 418962006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41897
41898 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41899 explicitly to suppress gcc's warnings.
41900 * fs/fat.c (grub_fat_find_dir): Likewise.
41901 (grub_fat_label): Likewise.
41902 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41903 (grub_xfs_mount): Likewise.
41904 (grub_xfs_label): Likewise.
41905 * fs/affs.c (grub_affs_mount): Likewise.
41906 (grub_affs_label): Likewise.
41907 (grub_affs_iterate_dir): Likewise.
41908 * fs/sfs.c (grub_sfs_mount): Likewise.
41909 (grub_sfs_iterate_dir): Likewise.
41910 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41911 * fs/hfs.c (grub_hfs_mount): Likewise.
41912 (grub_hfs_cmp_catkeys): Likewise.
41913 (grub_hfs_find_dir): Likewise.
41914 (grub_hfs_dir): Likewise.
41915 (grub_hfs_label): Likewise.
41916 * fs/jfs.c (grub_jfs_mount): Likewise.
41917 (grub_jfs_opendir): Likewise.
41918 (grub_jfs_getent): Likewise.
41919 (grub_jfs_lookup_symlink): Likewise.
41920 (grub_jfs_label): Likewise.
41921 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41922 (grub_hfsplus_iterate_dir): Likewise.
41923 (grub_hfsplus_btree_iterate_node): Made static.
41924
41925 * util/grub-emu.c (prefix): New variable.
41926 (grub_machine_set_prefix): New function.
41927 (main): Do not set the environment variable "prefix" here. Only
41928 set PREFIX, which is used later by grub_machine_set_prefix.
41929
41930 * include/grub/video.h: Do not include grub/symbol.h.
41931 (grub_video_register): Not exported. This symbol is not defined in
41932 the kernel.
41933 (grub_video_unregister): Likewise.
41934 (grub_video_iterate): Likewise.
41935 (grub_video_setup): Likewise.
41936 (grub_video_restore): Likewise.
41937 (grub_video_get_info): Likewise.
41938 (grub_video_get_blit_format): Likewise.
41939 (grub_video_set_palette): Likewise.
41940 (grub_video_get_palette): Likewise.
41941 (grub_video_set_viewport): Likewise.
41942 (grub_video_get_viewport): Likewise.
41943 (grub_video_map_color): Likewise.
41944 (grub_video_map_rgb): Likewise.
41945 (grub_video_map_rgba): Likewise.
41946 (grub_video_fill_rect): Likewise.
41947 (grub_video_blit_glyph): Likewise.
41948 (grub_video_blit_bitmap): Likewise.
41949 (grub_video_blit_render_target): Likewise.
41950 (grub_video_scroll): Likewise.
41951 (grub_video_swap_buffers): Likewise.
41952 (grub_video_create_render_target): Likewise.
41953 (grub_video_delete_render_target): Likewise.
41954 (grub_video_set_active_render_target): Likewise.
41955
41956 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41957 Undefined.
41958 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41959
41960 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41961 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41962 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41963 instead of $(srcdir)/genkernsyms.sh.
41964
41965 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41966 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41967 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41968 instead of $(srcdir)/genkernsyms.sh.
41969
41970 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41971 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41972 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41973 instead of $(srcdir)/genkernsyms.sh.
41974
41975 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41976 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41977 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41978 instead of $(srcdir)/genkernsyms.sh.
41979
41980 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41981 genkernsyms.sh.
41982
41983 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41984 genkernsyms.sh.
41985 (gensymlist.sh): New target.
41986 (genkernsyms.sh): Likewise.
41987
41988 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41989 genkernsyms.sh.in and gensymlist.sh.in.
41990
41991 * genkernsyms.sh: Removed.
41992 * gensymlist.sh: Likewise.
f19dbdb7 41993
7b455f4d 41994 * genkernsyms.sh.in: New file.
41995 * gensymlist.sh.in: Likewise.
41996
1885bb27 419972006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41998
41999 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
42000 clobber "prefix", since we may have already set it manually.
42001
71538dff 420022006-04-25 Hollis Blanchard <hollis@penguinppc.org>
42003
42004 * kern/misc.c (abort): New alias for grub_abort.
42005
2965c7cc 420062006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
42007
42008 A new machine-specific function "grub_machine_set_prefix" is
42009 defined. This is called after loading modules, so that a prefix
42010 initialization can use modules. Also, this change adds an
42011 intensive debugging feature for the memory manager via the
42012 configure option "--enable-mm-debug".
f19dbdb7 42013
2965c7cc 42014 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
42015 PART.LEN.
42016
42017 * kern/sparc64/ieee1275/init.c (abort): Removed.
42018 (grub_stop): Likewise.
42019 (grub_exit): New function.
42020 (grub_set_prefix): Renamed to ...
42021 (grub_machine_set_prefix): ... this.
42022 (grub_machine_init): Do not call grub_set_prefix.
42023
42024 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42025 (grub_machine_set_prefix): ... this.
42026 (grub_machine_init): Do not call grub_set_prefix.
42027
42028 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42029 (grub_machine_init): Do not set the prefix here.
42030
42031 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42032
42033 * kern/efi/init.c: Include grub/mm.h.
42034 (grub_efi_set_prefix): New function.
42035
42036 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42037 (grub_efi_get_filename): New function.
42038 (grub_print_device_path): Renamed to ...
42039 (grub_efi_print_device_path): ... this.
42040
42041 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42042 [MM_DEBUG] (grub_realloc): Likewise.
42043 [MM_DEBUG] (grub_free): Likewise.
42044 [MM_DEBUG] (grub_memalign): Likewise.
42045 [MM_DEBUG] (grub_mm_debug): New variable.
42046 [MM_DEBUG] (grub_debug_malloc): New function.
42047 [MM_DEBUG] (grub_debug_free): New function.
42048 [MM_DEBUG] (grub_debug_realloc): New function.
42049 [MM_DEBUG] (grub_debug_memalign): New function.
42050
42051 * kern/misc.c (grub_abort): Print a newline to distinguish
42052 the message.
42053
42054 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42055 grub_set_root_dev after loading modules. This is necessary when
42056 setting a prefix depends on modules.
42057
42058 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42059 (grub_efi_print_device_path): ... this.
42060 (grub_efi_get_filename): New prototype.
42061 (grub_efi_set_prefix): Likewise.
42062
42063 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42064 and grub/disk.h.
42065 (grub_efidisk_get_device_handle): New prototype.
42066 (grub_efidisk_get_device_name): Likewise.
42067
42068 * include/grub/mm.h: Include config.h.
42069 (MM_DEBUG): Removed.
42070 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42071 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42072 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42073 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42074 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42075 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42076 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42077 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42078 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42079
42080 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42081
42082 * disk/efi/efidisk.c: Include grub/partition.h.
42083 (iterate_child_devices): New function.
42084 (add_device): First, compare only last device path nodes, so that
42085 devices are sorted by the types.
42086 (grub_efidisk_get_device_handle): New function.
42087 (grub_efidisk_get_device_name): Likewise.
42088
42089 * configure.ac (--enable-mm-debug): New option to enable the
42090 memory manager debugging feature. This makes the binary much
42091 bigger, so is disabled by default.
42092
9cacaa17 420932006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42094
42095 Use grub_abort instead of grub_stop, and grub_exit must be
42096 define in each architecture now. Also, this change adds support
42097 for EFI disks.
f19dbdb7 42098
9cacaa17 42099 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42100 (grub_getkey): New function.
42101 (grub_term_get_current): Likewise.
42102
42103 * util/i386/pc/grub-setup.c: Include grub/term.h.
42104 (grub_getkey): New function.
42105 (grub_term_get_current): Likewise.
42106
42107 * util/misc.c (grub_stop): Renamed to ...
42108 (grub_exit): ... this.
42109
42110 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42111 (grub_exit): ... this.
42112 (grub_machine_init): Use grub_abort instead of abort.
42113 (grub_stop): Removed.
42114
42115 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42116 abort.
42117
42118 * kern/i386/pc/startup.S (grub_exit): New function.
42119 (cold_reboot): New label.
42120
42121 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42122 (grub_efi_init): Call grub_efidisk_init.
42123 (grub_efi_fini): Call grub_efidisk_fini.
42124
42125 * kern/efi/efi.c: Include grub/mm.h.
42126 (grub_efi_console_control_guid): Renamed to ...
42127 (console_control_guid): ... this.
42128 (grub_efi_loaded_image_guid): Renamed to ...
42129 (loaded_image_guid): ... this.
42130 (grub_efi_locate_handle): New function.
42131 (grub_efi_open_protocol): Likewise.
42132 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42133 GRUB_EFI_CONSOLE_CONTROL_GUID.
42134 (grub_efi_exit): Removed.
42135 (grub_stop): Likewise.
42136 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42137 (grub_exit): New function.
42138 (grub_print_device_path): Likewise.
42139
42140 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42141 (grub_enter_rescue_mode): Register "exit".
42142
42143 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42144 (grub_abort): New function.
42145
42146 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42147
42148 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42149
42150 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42151
42152 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42153 (grub_print_device_path): New prototype.
42154 (grub_efi_locate_handle): Likewise.
42155 (grub_efi_open_protocol): Likewise.
42156
42157 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42158 * disk/efi/efidisk.c: Likewise.
42159
42160 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42161
42162 * include/grub/efi/console_control.h
42163 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42164
42165 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42166 last 8 bytes as an array.
42167 (GRUB_EFI_DISK_IO_GUID): New macro.
42168 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42169 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42170 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42171 grub_uint8_t.
42172 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42173 (struct grub_efi_device_path): Rename the member "sub_type" to
42174 "subtype".
42175 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42176 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42177 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42178 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42179 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42180 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42181 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42182 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42183 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42184 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42185 (struct grub_efi_pci_device_path): New structure.
42186 (grub_efi_pci_device_path_t): New type.
42187 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42188 (struct grub_efi_pccard_device_path): New structure.
42189 (grub_efi_pccard_device_path_t): New type.
42190 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42191 (struct grub_efi_memory_mapped_device_path): New structure.
42192 (grub_efi_memory_mapped_device_path_t): New type.
42193 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42194 (struct grub_efi_vendor_device_path): New structure.
42195 (grub_efi_vendor_device_path_t): New type.
42196 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42197 (struct grub_efi_controller_device_path): New structure.
42198 (grub_efi_controller_device_path_t): New type.
42199 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42200 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42201 (struct grub_efi_acpi_device_path): New structure.
42202 (grub_efi_acpi_device_path_t): New type.
42203 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42204 (struct grub_efi_expanded_acpi_device_path): New structure.
42205 (grub_efi_expanded_acpi_device_path_t): New type.
42206 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42207 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42208 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42209 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42210 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42211 (struct grub_efi_atapi_device_path): New structure.
42212 (grub_efi_atapi_device_path_t): New type.
42213 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42214 (struct grub_efi_fibre_channel_device_path): New structure.
42215 (grub_efi_fibre_channel_device_path_t): New type.
42216 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42217 (struct grub_efi_1394_device_path): New structure.
42218 (grub_efi_1394_device_path_t): New type.
42219 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42220 (struct grub_efi_usb_device_path): New structure.
42221 (grub_efi_usb_device_path_t): New type.
42222 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42223 (struct grub_efi_usb_class_device_path): New structure.
42224 (grub_efi_usb_class_device_path_t): New type.
42225 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42226 (struct grub_efi_i2o_device_path): New structure.
42227 (grub_efi_i2o_device_path_t): New type.
42228 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42229 (struct grub_efi_mac_address_device_path): New structure.
42230 (grub_efi_mac_address_device_path_t): New type.
42231 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42232 (struct grub_efi_ipv4_device_path): New structure.
42233 (grub_efi_ipv4_device_path_t): New type.
42234 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42235 (struct grub_efi_ipv6_device_path): New structure.
42236 (grub_efi_ipv6_device_path_t): New type.
42237 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42238 (struct grub_efi_infiniband_device_path): New structure.
42239 (grub_efi_infiniband_device_path_t): New type.
42240 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42241 (struct grub_efi_uart_device_path): New structure.
42242 (grub_efi_uart_device_path_t): New type.
42243 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42244 (struct grub_efi_vendor_messaging_device_path): New structure.
42245 (grub_efi_vendor_messaging_device_path_t): New type.
42246 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42247 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42248 (struct grub_efi_hard_drive_device_path): New structure.
42249 (grub_efi_hard_drive_device_path_t): New type.
42250 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42251 (struct grub_efi_cdrom_device_path): New structure.
42252 (grub_efi_cdrom_device_path_t): New type.
42253 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42254 (struct grub_efi_vendor_media_device_path): New structure.
42255 (grub_efi_vendor_media_device_path_t): New type.
42256 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42257 (struct grub_efi_file_path_device_path): New structure.
42258 (grub_efi_file_path_device_path_t): New type.
42259 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42260 (struct grub_efi_protocol_device_path): New structure.
42261 (grub_efi_protocol_device_path_t): New type.
42262 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42263 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42264 (struct grub_efi_bios_device_path): New structure.
42265 (grub_efi_bios_device_path_t): New type.
42266 (struct grub_efi_disk_io): New structure.
42267 (grub_efi_disk_io_t): New type.
42268 (struct grub_efi_block_io_media): New structure.
42269 (grub_efi_block_io_media_t): New type.
42270 (struct grub_efi_block_io): New structure.
42271 (grub_efi_block_io_t): New type.
42272
42273 * include/grub/misc.h (grub_stop): Removed.
42274 (grub_exit): New prototype.
42275 (grub_abort): Likewise.
42276
42277 * include/grub/disk.h (enum grub_disk_dev_id): Added
42278 GRUB_DISK_DEVICE_EFIDISK_ID.
42279
42280 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42281 disk/efi/efidisk.c.
42282 (kernel_syms.lst): Remove the target if an error occurs.
42283
49986a9f 422842006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42285
42286 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42287 as it was simply too buggy.
42288
970d3b8a 422892006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42290
42291 * kern/misc.c (grub_lltoa): New function.
42292 (grub_vsprintf): Added support for the long long suffix,
42293 i.e. "ll".
42294
ff04ec24 422952006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42296
42297 * Makefile.in (LDFLAGS): Add variable.
42298 (LD): Remove variable.
42299 * configure.ac: Add -m32 to LDFLAGS.
42300 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42301 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42302 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42303 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42304 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42305 variables.
42306 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42307 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42308 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42309
37e5e1a4 423102006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42311
42312 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42313 length for unknown glyph.
42314
c352d8dd 423152006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42316
2eab1c0d 42317 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42318
2eab1c0d 42319 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42320 completely. Accept one more argument DIR. The caller has changed.
42321
42322 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42323
42324 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42325 (grub_efi_loaded_image_guid): New variable.
42326 (grub_efi_get_loaded_image): New function.
42327 (grub_arch_modules_addr): Likewise.
42328
42329 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42330 prototype.
42331
42332 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42333 (struct grub_efi_loaded_image): New structure.
42334 (grub_efi_loaded_image_t): New type.
42335
423362006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42337
c352d8dd 42338 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42339 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42340 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42341
6d01d6b4 423422006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42343
42344 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42345
976a4ea0 423462006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42347
42348 * DISTLIST: Added include/grub/efi/console.h,
42349 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42350 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42351
42352 * include/grub/efi/console.h: New file.
42353 * include/grub/efi/time.h: Likewise.
42354 * include/grub/i386/efi/kernel.h: Likewise.
42355 * kern/efi/init.c: Likewise.
42356 * kern/efi/mm.c: Likewise.
42357 * term/efi/console.c: Likewise.
f19dbdb7 42358
976a4ea0 42359 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42360 (grub_stop): Removed.
42361 (grub_get_rtc): Likewise.
42362 (grub_machine_init): Simply call grub_efi_init.
42363 (grub_machine_fini): Call grub_efi_fini.
42364
42365 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42366 (grub_efi_output_string): Removed.
42367 (grub_efi_stall): New function.
42368 (grub_stop): Likewise.
42369 (grub_get_rtc): Likewise.
42370
42371 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42372 (grub_efi_stall): New prototype.
42373 (grub_efi_allocate_pages): Likewise.
42374 (grub_efi_free_pages): Likewise.
42375 (grub_efi_get_memory_map): Likewise.
42376 (grub_efi_mm_init): Likewise.
42377 (grub_efi_mm_fini): Likewise.
42378 (grub_efi_init): Likewise.
42379 (grub_efi_fini): Likewise.
42380
42381 * include/grub/i386/efi/time.h: Do not include
42382 grub/symbol.h. Include grub/efi/time.h.
42383 (GRUB_TICKS_PER_SECOND): Removed.
42384 (grub_get_rtc): Likewise.
42385
42386 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42387 Added padding. The EFI spec is buggy.
42388 (GRUB_EFI_BLACK): New macro.
42389 (GRUB_EFI_BLUE): Likewise.
42390 (GRUB_EFI_GREEN): Likewise.
42391 (GRUB_EFI_CYAN): Likewise.
42392 (GRUB_EFI_RED): Likewise.
42393 (GRUB_EFI_MAGENTA): Likewise.
42394 (GRUB_EFI_BROWN): Likewise.
42395 (GRUB_EFI_LIGHTGRAY): Likewise.
42396 (GRUB_EFI_BRIGHT): Likewise.
42397 (GRUB_EFI_DARKGRAY): Likewise.
42398 (GRUB_EFI_LIGHTBLUE): Likewise.
42399 (GRUB_EFI_LIGHTGREEN): Likewise.
42400 (GRUB_EFI_LIGHTCYAN): Likewise.
42401 (GRUB_EFI_LIGHTRED): Likewise.
42402 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42403 (GRUB_EFI_YELLOW): Likewise.
42404 (GRUB_EFI_WHITE): Likewise.
42405 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42406 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42407 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42408 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42409 (GRUB_EFI_BACKGROUND_RED): Likewise.
42410 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42411 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42412 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42413 (GRUB_EFI_TEXT_ATTR): Likewise.
42414
42415 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42416 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42417 (kernel_mod_HEADERS): Added efi/time.h.
42418
83709125 424192006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42420
42421 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42422 include/grub/efi/api.h, include/grub/efi/console_control.h,
42423 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42424 include/grub/i386/efi/time.h, kern/efi/efi.c,
42425 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42426 and util/i386/efi/grub-mkimage.c.
42427
42428 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42429
42430 * genmk.rb (PModule#rule): Do not export symbols if
42431 #{prefix}_EXPORTS is set to "no".
42432
42433 * conf/i386-efi.mk: New file.
42434 * conf/i386-efi.rmk: Likewise.
42435 * include/grub/efi/api.h: Likewise.
42436 * include/grub/efi/console_control.h: Likewise.
42437 * include/grub/efi/efi.h: Likewise.
42438 * include/grub/efi/pe32.h: Likewise.
42439 * include/grub/i386/efi/time.h: Likewise.
42440 * kern/efi/efi.c: Likewise.
42441 * kern/i386/efi/init.c: Likewise.
42442 * kern/i386/efi/startup.S: Likewise.
42443 * util/i386/efi/grub-mkimage.c: Likewise.
42444
424452006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42446
42447 * include/grub/script.h: Include <grub/parser.h> and
42448 "grub_script.tab.h".
42449 (struct grub_lexer_param): New struct.
42450 (struct grub_parser_param): Likewise.
42451 (grub_script_create_arglist): Pass the state in an argument.
42452 (grub_script_add_arglist): Likewise.
42453 (grub_script_create_cmdline): Likewise.
42454 (grub_script_create_cmdblock): Likewise.
42455 (grub_script_create_cmdif): Likewise.
42456 (grub_script_create_cmdmenu): Likewise.
42457 (grub_script_add_cmd): Likewise.
42458 (grub_script_arg_add): Likewise.
42459 (grub_script_lexer_ref): Likewise.
42460 (grub_script_lexer_deref): Likewise.
42461 (grub_script_lexer_record_start): Likewise.
42462 (grub_script_lexer_record_stop): Likewise.
42463 (grub_script_mem_record): Likewise.
42464 (grub_script_mem_record_stop): Likewise.
42465 (grub_script_malloc): Likewise.
42466 (grub_script_yylex): Likewise.
42467 (grub_script_yyparse): Likewise.
42468 (grub_script_yyerror): Likewise.
42469 (grub_script_yylex): Likewise.
42470 (grub_script_lexer_init): Return the state.
42471
42472 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42473 (grub_script_lexer_done): Likewise.
42474 (grub_script_lexer_getline): Likewise.
42475 (grub_script_lexer_refs): Likewise.
42476 (script): Likewise.
42477 (newscript): Likewise.
42478 (record): Likewise.
42479 (recording): Likewise.
42480 (recordpos): Likewise.
42481 (recordlen): Likewise.
42482 (grub_script_lexer_init): Return the state instead of setting
42483 global variables.
42484 (grub_script_lexer_ref): Use the newly added argument for state
42485 instead of globals.
42486 (grub_script_lexer_deref): Likewise.
42487 (grub_script_lexer_record_start): Likewise.
42488 (grub_script_lexer_record_stop): Likewise.
42489 (recordchar): Likewise.
42490 (nextchar): Likewise.
42491 (grub_script_yylex2): Likewise.
42492 (grub_script_yylex): Likewise.
42493 (grub_script_yyerror): Likewise.
42494
42495 * normal/parser.y (func_mem): Removed variable.
42496 (menu_entry): Likewise.
42497 (err): Likewise.
42498 (%lex-param): New parser option.
42499 (%parse-param): Likewise.
42500 (script): Always return the AST.
42501 (argument): Pass the state around.
42502 (arguments): Likewise.
42503 (grubcmd): Likewise.
42504 (commands): Likewise.
42505 (function): Likewise.
42506 (menuentry): Likewise.
42507 (if_statement): Likewise.
42508 (if): Likewise.
42509
42510 * normal/script.c (grub_script_memused): Removed variable.
42511 (grub_script_parsed): Likewise.
42512 (grub_script_malloc): Added a state argument. Use that instead of
42513 global variables.
42514 (grub_script_mem_record): Likewise.
42515 (grub_script_mem_record_stop): Likewise.
42516 (grub_script_arg_add): Likewise.
42517 (grub_script_add_arglist): Likewise.
42518 (grub_script_create_cmdline): Likewise.
42519 (grub_script_create_cmdif): Likewise.
42520 (grub_script_create_cmdmenu): Likewise.
42521 (grub_script_add_cmd): Likewise.
42522 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42523
e2a8c904 425242006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42525
42526 * normal/command.c (grub_command_init): Remove the title command.
42527
42528 * normal/lexer.c (grub_script_yylex): Renamed from this...
42529 (grub_script_yylex2): ... to this.
42530 (grub_script_yylex): New function. Temporary
42531 introduced to filter some tokens.
42532 (grub_script_yyerror): Print a newline.
42533
42534 * normal/main.c (read_config_file): Output information about the
42535 lines that contain errors. Wait for a key after all lines have
42536 been processed. Don't return an empty menu.
42537
42538 * normal/parser.y (func_mem): Don't initialize.
42539 (menu_entry): Likewise.
42540 (err): New variable.
42541 (script): Don't return anything when an error was encountered.
42542 (ws, returns): Removed rules.
42543 (argument): Disabled concatenated variable support.
42544 (arguments): Remove explicit separators.
42545 (grubcmd): Likewise.
42546 (function): Likewise.
42547 (menuentry): Likewise.
42548 (if): Likewise.
42549 (commands): Likewise. Add error handling.
42550
42551 * normal/script.c (grub_script_create_cmdline): If
42552 `grub_script_parsed' is 0, assume the parser encountered an error.
42553
c9a86192 425542006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42555
42556 * configure.ac: Add support for EFI. Fix the typo
42557 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42558
70f3b243 425592006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42560
42561 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42562 foreign multibyte characters should be shown correctly.
42563
65f201ad 425642006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42565
42566 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42567 calculation.
42568 (read_config_file): Made it to close file before returning.
42569
b4b93674 425702006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42571
42572 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42573 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42574 video/i386/pc/vbefill.c.
42575
42576 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42577 video/i386/pc/vbefill.c.
42578
42579 * include/grub/video.h (grub_video_blit_format): New enum.
42580 (grub_video_mode_info): Added new member blit_format.
42581 (grub_video_get_blit_format): New function prototype.
42582
42583 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42584 function prototype.
42585 (grub_video_vbe_map_rgb): Likewise.
42586 (grub_video_vbe_unmap_color): Likewise.
42587
42588 * include/grub/i386/pc/vbeblit.h: New file.
42589
42590 * include/grub/i386/pc/vbefill.h: New file.
42591
42592 * video/video.c (grub_video_get_blit_format): New function.
42593 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42594 (grub_video_vbe_map_rgb): Likewise.
42595 (grub_video_vbe_unmap_color): Likewise.
42596
42597 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42598 optimized fills.
42599 (grub_video_vbe_blit_render_target): Changed to use more optimized
42600 blits.
42601 (grub_video_vbe_setup): Added detection for optimized settings.
42602 (grub_video_vbe_create_render_target): Likewise.
42603
42604 * video/i386/pc/vbeblit.c: New file.
42605
42606 * video/i386/pc/vbefill.c: New file.
42607
c2379b9c 426082006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42609
42610 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42611 here...
42612
42613 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42614 parsing to support both hex and dec ranges. If filename was missing
42615 show usage information.
42616
bd0d7896 426172006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42618
42619 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42620 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42621
42622 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42623 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42624 (video_mod_SOURCES): Added.
42625 (video_mod_CFLAGS): Likewise.
42626 (video_mod_LDFLAGS): Likewise.
42627 (gfxterm_mod_SOURCES): Likewise.
42628 (gfxterm_mod_CFLAGS): Likewise.
42629 (gfxterm_mod_LDFLAGS): Likewise.
42630 (videotest_mod_SOURCES): Likewise.
42631 (videotest_mod_CFLAGS): Likewise.
42632 (videotest_mod_LDFLAGS): Likewise.
42633 (vesafb_mod_SOURCES): Removed.
42634 (vesafb_mod_CFLAGS): Likewise.
42635 (vesafb_mod_LDFLAGS): Likewise.
42636 (vga_mod_SOURCES): Likewise.
42637 (vga_mod_CFLAGS): Likewise.
42638 (vga_mod_LDFLAGS): Likewise.
42639
42640 * commands/videotest.c: New file.
42641
42642 * font/manager.c (fill_with_default_glyph): Modified to use
42643 grub_font_glyph.
42644 (grub_font_get_glyph): Likewise.
42645 (fontmanager): Renamed from this...
42646 (font_manager): ... to this.
42647
42648 * include/grub/font.h (grub_font_glyph): Added new structure.
42649 (grub_font_get_glyph): Modified to use grub_font_glyph.
42650
42651 * include/grub/misc.h (grub_abs): Added as inline function.
42652
42653 * include/grub/video.h: New file.
42654
42655 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42656 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42657 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42658 (grub_vbe_get_controller_info): Renamed from this...
42659 (grub_vbe_bios_get_controller_info): ... to this.
42660 (grub_vbe_get_mode_info): Renamed from this...
42661 (grub_vbe_bios_get_mode_info): ... to this.
42662 (grub_vbe_set_mode): Renamed from this...
42663 (grub_vbe_bios_set_mode): ... to this.
42664 (grub_vbe_get_mode): Renamed from this...
42665 (grub_vbe_bios_get_mode): ... to this.
42666 (grub_vbe_set_memory_window): Renamed from this...
42667 (grub_vbe_bios_set_memory_window): ... to this.
42668 (grub_vbe_get_memory_window): Renamed from this...
42669 (grub_vbe_bios_get_memory_window): ... to this.
42670 (grub_vbe_set_scanline_length): Renamed from this...
42671 (grub_vbe_set_scanline_length): ... to this.
42672 (grub_vbe_get_scanline_length): Renamed from this...
42673 (grub_vbe_bios_get_scanline_length): ... to this.
42674 (grub_vbe_set_display_start): Renamed from this...
42675 (grub_vbe_bios_set_display_start): ... to this.
42676 (grub_vbe_get_display_start): Renamed from this...
42677 (grub_vbe_bios_get_display_start): ... to this.
42678 (grub_vbe_set_palette_data): Renamed from this...
42679 (grub_vbe_bios_set_palette_data): ... to this.
42680 (grub_vbe_set_pixel_rgb): Removed.
42681 (grub_vbe_set_pixel_index): Likewise.
42682
42683 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42684 from this...
42685 (grub_vbe_bios_get_controller_info): ... to this.
42686 (grub_vbe_get_mode_info): Renamed from this...
42687 (grub_vbe_bios_get_mode_info): ... to this.
42688 (grub_vbe_set_mode): Renamed from this...
42689 (grub_vbe_bios_set_mode): ... to this.
42690 (grub_vbe_get_mode): Renamed from this...
42691 (grub_vbe_bios_get_mode): ... to this.
42692 (grub_vbe_set_memory_window): Renamed from this...
42693 (grub_vbe_bios_set_memory_window): ... to this.
42694 (grub_vbe_get_memory_window): Renamed from this...
42695 (grub_vbe_bios_get_memory_window): ... to this.
42696 (grub_vbe_set_scanline_length): Renamed from this...
42697 (grub_vbe_set_scanline_length): ... to this.
42698 (grub_vbe_get_scanline_length): Renamed from this...
42699 (grub_vbe_bios_get_scanline_length): ... to this.
42700 (grub_vbe_set_display_start): Renamed from this...
42701 (grub_vbe_bios_set_display_start): ... to this.
42702 (grub_vbe_get_display_start): Renamed from this...
42703 (grub_vbe_bios_get_display_start): ... to this.
42704 (grub_vbe_set_palette_data): Renamed from this...
42705 (grub_vbe_bios_set_palette_data): ... to this.
42706 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42707 getting corrupted after calling it. Added more pushes and pops.
42708 (grub_vbe_bios_set_mode): Likewise.
42709 (grub_vbe_bios_get_mode): Likewise.
42710 (grub_vbe_bios_get_memory_window): Likewise.
42711 (grub_vbe_bios_set_scanline_length): Likewise.
42712 (grub_vbe_bios_get_scanline_length): Likewise.
42713 (grub_vbe_bios_get_display_start): Likewise.
42714 (grub_vbe_bios_set_palette_data): Likewise.
42715
42716 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42717 (cl_insert): Likewise.
42718 (cl_delete): Likewise.
42719
42720 * term/gfxterm.c: New file.
42721
42722 * term/i386/pc/vesafb.c: Removed file.
42723
42724 * video/video.c: New file.
42725
42726 * video/i386/pc/vbe.c (real2pm): Added new function.
42727 (grub_video_vbe_draw_pixel): Likewise.
42728 (grub_video_vbe_get_video_ptr): Likewise.
42729 (grub_video_vbe_get_pixel): Likewise
42730 (grub_video_vbe_init): Likewise.
42731 (grub_video_vbe_fini): Likewise.
42732 (grub_video_vbe_setup): Likewise.
42733 (grub_video_vbe_get_info): Likewise.
42734 (grub_video_vbe_set_palette): Likewise.
42735 (grub_video_vbe_get_palette): Likewise.
42736 (grub_video_vbe_set_viewport): Likewise.
42737 (grub_video_vbe_get_viewport): Likewise.
42738 (grub_video_vbe_map_color): Likewise.
42739 (grub_video_vbe_map_rgb): Likewise.
42740 (grub_video_vbe_map_rgba): Likewise.
42741 (grub_video_vbe_unmap_color): Likewise.
42742 (grub_video_vbe_fill_rect): Likewise.
42743 (grub_video_vbe_blit_glyph): Likewise.
42744 (grub_video_vbe_blit_bitmap): Likewise.
42745 (grub_video_vbe_blit_render_target): Likewise.
42746 (grub_video_vbe_scroll): Likewise.
42747 (grub_video_vbe_swap_buffers): Likewise.
42748 (grub_video_vbe_create_render_target): Likewise.
42749 (grub_video_vbe_delete_render_target): Likewise.
42750 (grub_video_vbe_set_active_render_target): Likewise.
42751 (grub_vbe_set_pixel_rgb): Remove function.
42752 (grub_vbe_set_pixel_index): Likewise.
42753 (index_color_mode): Remove static variable.
42754 (active_mode): Likewise.
42755 (framebuffer): Likewise.
42756 (bytes_per_scan_line): Likewise.
42757 (grub_video_vbe_adapter): Added new static variable.
42758 (framebuffer): Likewise.
42759 (render_target): Likewise.
42760 (initial_mode): Likewise.
42761 (mode_in_use): Likewise.
42762 (mode_list): Likewise.
42763
5f97350b 427642006-03-10 Marco Gerards <marco@gnu.org>
42765
42766 * configure.ac (AC_INIT): Bumped to 1.93.
42767
42768 * DISTLIST: Added `include/grub/hfs.h'.
42769
a3c5c6f8 427702006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42771
42772 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42773 18H, which might help the BIOS falling back to next boot media.
42774
6de53d26 427752006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42776
42777 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42778 Poe Chen <poe.poechen@gmail.com>.
42779
77c4a393 427802006-01-17 Marco Gerards <marco@gnu.org>
42781
42782 * include/grub/normal.h: Include <grub/script.h>.
42783 (grub_command_list): Removed struct.
42784 (grub_command_list_t): Removed type.
42785 (grub_menu_entry): Remove members `num' and `command_list'. Add
42786 members `commands' and `sourcecode'.
42787 * include/grub/script.h: Add inclusion guards.
42788 (grub_script_cmd_menuentry): New struct.
42789 (grub_script_execute_menuentry): New prototype.
42790 (grub_script_lexer_record_start): Likewise.
42791 (grub_script_lexer_record_stop): Likewise.
42792 * normal/execute.c (grub_script_execute_menuentry): New function.
42793 * normal/lexer.c (record, recording, recordpos, recordlen): New
42794 variables.
42795 (grub_script_lexer_record_start): New function.
42796 (grub_script_lexer_record_stop): Likewise.
42797 (recordchar): Likewise.
42798 (nextchar): Likewise.
42799 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42800 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42801 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42802 (current_menu): New variable.
42803 (free_menu): Mainly rewritten.
42804 (grub_normal_menu_addentry): New function.
42805 (read_config_file): Rewritten.
42806 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42807 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42808 the menu entry.
42809 (run): Mainly rewritten.
42810 * normal/parser.y (menu_entry): New variable.
42811 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42812 (menuentry): New rule.
42813 (command): Add `menuentry'.
42814 (if_statement): Allow additional returns before `fi'.
42815 * normal/script.c (grub_script_create_cmdmenu): New function.
42816
144f1f98 428172006-01-03 Marco Gerards <marco@gnu.org>
42818
42819 * INSTALL: GNU Bison is required.
42820 * configure.ac: Rewritten the test to detect Bison.
42821 * Makefile.in (YACC): New variable. Reported by Xun Sun
42822 <xun.sun.cn@gmail.com>.
42823
af4b2d89 428242006-01-03 Marco Gerards <marco@gnu.org>
42825
42826 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42827 the HFS+ filesystem to filesystem blocks.
42828 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42829 GCC warning is silenced.
42830
15643b71 428312006-01-03 Marco Gerards <marco@gnu.org>
42832
42833 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42834 read from disk from big endian to host byte order.
42835
00905879 428362006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42837
42838 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42839 documentation.
42840 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42841 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42842 embedded HFS+ filesystem.
42843 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42844 (grub_hfs_sblock): Move from here...
42845 * include/grub/hfs.h: To here... New file.
42846 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42847 documentation.
42848 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42849 New macros.
42850 (grub_hfsplus_volheader): Change type of member `magic' to
42851 `grub_uint16_t'.
42852 (grub_hfsplus_data): Add new member `embedded_offset'.
42853 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42854 returned block.
42855 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42856 Calculate the offset.
42857
8899bc3e 428582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42859
42860 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42861 Removed.
42862 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42863
ae8c0277 428642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42865
42866 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42867 ENV->NAME is NULL after allocating ENV->VALUE.
42868
07084456 428692005-12-25 Marco Gerards <marco@gnu.org>
42870
42871 * kern/env.c (grub_env_set): Rewritten the error handling code.
42872
4750f5f1 428732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42874
42875 * geninit.sh: Made more robust, and more portable.
42876
50214199 428772005-12-25 Marco Gerards <marco@gnu.org>
42878
42879 Add support for Apple HFS+ filesystems.
f19dbdb7 42880
50214199 42881 * fs/hfsplus.c: New file.
42882
42883 * DISTLIST: Added `fs/hfsplus.c'.
42884
42885 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42886 (hfsplus_mod_SOURCES): New variable.
42887 (hfsplus_mod_CFLAGS): Likewise.
42888 (hfsplus_mod_LDFLAGS): Likewise.
42889 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42890 (grub_setup_SOURCES): Likewise.
42891 (grub_mkdevicemap_SOURCES): Likewise.
42892 (grub_emu_SOURCES): Likewise.
42893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42894
42895 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42896
42897 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42898
befaed6c 428992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42900
42901 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42902 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42903 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42904 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42905 normal/lexer.c, normal/parser.y, normal/script.c, and
42906 partmap/gpt.c.
42907 Removed kern/sparc64/cache.c.
42908
42909 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42910 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42911 grub_emu_init.c.
42912
42913 * configure.ac (AC_INIT): Bumped to 1.92.
42914
6a124103 429152005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42916
42917 * kern/err.c (grub_error_push): Added new function to support error
42918 stacks.
42919 (grub_error_pop): Likewise.
42920 (grub_error_stack_items): New local variable to support error stacks.
42921 (grub_error_stack_pos): Likewise.
42922 (grub_error_stack_assert): Likewise.
42923 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42924 stack depth.
42925 (grub_print_error): Added support to print errors from error stack.
42926
42927 * include/grub/err.h (grub_error_push): Added function prototype.
42928 (grub_error_pop): Likewise.
42929
be973c1b 429302005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42931
42932 * configure.ac: Accept `powerpc64' as host_cpu.
42933 (amd64): Rename to `biarch32'.
42934
42935 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42936 non-cacheline-aligned addresses.
42937
42938 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42939 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42940 if `size' is non-zero.
42941
b04216ab 429422005-12-03 Marco Gerards <mgerards@xs4all.nl>
42943
42944 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42945 and `cd' to make sure the filename is not prefixed with a
42946 directory name.
42947 (pkgdata_MODULES): Add `gpt.mod'.
42948 (gpt_mod_SOURCES): New variable.
42949 (gpt_mod_CFLAGS): Likewise.
42950 (gpt_mod_LDFLAGS): Likewise.
42951
42952 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42953
42954 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42955 New macro.
42956
42957 * partmap/gpt.c: New file.
42958
42959 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42960 GPT partition map is detected.
42961
41730ed9 429622005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42963
42964 * commands/i386/pc/play.c: New file.
42965 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42966 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42967 macros.
f19dbdb7 42968
95dc3643 429692005-11-27 Marco Gerards <mgerards@xs4all.nl>
42970
42971 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42972 ((unused))' to silence gcc warning.
42973
1569ec51 429742005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42975
42976 * configure.ac: Correct `AC_PROG_YACC' test.
42977
9abde152 429782005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42979
42980 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42981 check before installing files.
42982
44b83271 429832005-11-22 Mike Small <smallm@panix.com>
42984
42985 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42986 number regex so multidigit numbers are recognized correctly.
42987
429882005-11-22 Mike Small <smallm@panix.com>
42989
42990 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42991 debugging message before attempting to claim memory.
42992 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42993 multiple addresses in case of failure.
42994
9c12956b 429952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42996
42997 * term/tparm.c (get_space): Remove empty `if' statement.
42998
42999 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
43000
43001 * kern/parser.c (check_varstate): Rename `state' to 's'.
43002
aeaf81d9 430032005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43004
43005 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
43006 variable definitions to the beginning of each function. Sort stack
43007 variables by size.
43008 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
43009 `buf' argument to `char *'.
43010
79bbb63f 430112005-11-22 Hollis Blanchard <hollis@penguinppc.org>
43012
43013 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
43014 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43015 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 43016 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43017 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43018 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43019 configfile.mod, search.mod, gzio.mod and test.mod.
43020 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43021 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43022 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43023 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43024 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43025 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43026 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43027 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43028 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43029 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43030 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43031 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43032 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43033 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43034 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43035 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43036 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43037 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43038 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43039 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43040 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43041 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43042 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43043
43044 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43045 `grep --include'.
43046 (pkgdata_MODULES): Add test.mod.
43047
233b1628 430482005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43049
43050 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43051 appending to variables with "+=".
43052 (PModule): Use full pathname to generate *.lst filenames.
43053
43054 * Makefile.in: Fixed list rules moved from genmk.rb.
43055 (.DELETE_ON_ERROR): New special target.
43056 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43057
43058 * conf/i386-pc.rmk: Include conf/common.mk.
43059 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43060 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 43061 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43062 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43063 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43064 configfile.mod, search.mod, gzio.mod and test.mod.
43065 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43066 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43067 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43068 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43069 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43070 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43071 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43072 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43073 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43074 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43075 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43076 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43077 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43078 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43079 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43080 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43081 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43082 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43083 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43084 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43085 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43086 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43087 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43088 here...
43089 * conf/common.rmk: ... to here. New file.
43090
43091 * conf/common.mk: New file.
43092
16f820c8 430932005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43094
43095 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43096 (grub_script.tab.c): ... here.
43097
43098 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43099 (grub_script.tab.c): ... here.
43100
43101 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43102 (grub_script.tab.c): ... here.
43103
43104 * normal/command.c (grub_command_find): Fixed a memory leak of
43105 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43106
63ba1554 431072005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43108
43109 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43110 "@" which marks the start of a comment on ARM.
43111 (VARIABLE): Likewise.
43112
7f67dc13 431132005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43114
79bbb63f 43115 Add support for Linux/ADFS partition tables.
7f67dc13 43116
43117 * partmap/acorn.c: New file.
43118
43119 * include/grub/acorn_filecore.h: Likewise.
43120
43121 * DISTLIST: Added `partmap/acorn.c' and
43122 `include/grub/acorn_filecore.h'.
f19dbdb7 43123
7f67dc13 43124 * conf/powerpc-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/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43131 `partmap/acorn.c'.
43132 (pkgdata_MODULES): Add `acorn.mod'.
43133 (acorn_mod_SOURCES): New variable.
43134 (acorn_mod_CFLAGS): Likewise.
43135
43136 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43137 (pkgdata_MODULES): Add `acorn.mod'.
43138 (acorn_mod_SOURCES): New variable.
43139 (acorn_mod_CFLAGS): Likewise.
43140 (acorn_mod_LDFLAGS): Likewise.
43141
43142 * include/types.h (grub_disk_addr_t): New typedef.
43143
6d099807 431442005-11-13 Marco Gerards <mgerards@xs4all.nl>
43145
43146 * geninit.sh: New file.
43147
43148 * geninitheader.sh: Likewise.
43149
43150 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43151 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43152 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43153 * commands/configfile.c (grub_configfile_init)
43154 (grub_configfile_fini): Likewise.
43155 * commands/default.c (grub_default_init, grub_default_fini):
43156 Likewise.
43157 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43158 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43159 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43160 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43161 Likewise.
43162 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43163 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43164 Likewise.
43165 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43166 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43167 Likewise.
43168 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43169 Likewise.
fe6b695a 43170 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43171 Likewise.
43172 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43173 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43174 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43175 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43176 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43177 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43178 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43179 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43180 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43181 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43182 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43183 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43184 * partmap/amiga.c (grub_amiga_partition_map_init)
43185 (grub_amiga_partition_map_fini): Likewise.
43186 * partmap/apple.c (grub_apple_partition_map_init)
43187 (grub_apple_partition_map_fini): Likewise.
43188 * partmap/pc.c (grub_pc_partition_map_init)
43189 (grub_pc_partition_map_fini): Likewise.
43190 * partmap/sun.c (grub_sun_partition_map_init,
43191 grub_sun_partition_map_fini): Likewise.
43192 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43193 Likewise.
43194
43195 * util/grub-emu.c: Include <grub_modules_init.h>.
43196 (main): Don't initialize and de-initialize any modules directly,
43197 use `grub_init_all' and `grub_fini_all' instead.
43198
43199 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43200 `grub_vesafb_mod_init'.
43201 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43202 all users.
43203 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43204 `grub_vga_mod_init'. Updated all users.
43205 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43206
6d099807 43207 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43208 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43209 rules.
43210
43211 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43212 Generate a function to initialize the module in utilities.
43213 Updated all callers.
43214 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43215 initialize the module in utilities. Updated all callers.
43216
9046bcf0 432172005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43218
43219 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43220 escape sequence and a literal ^L to clear the screen.
43221
43222 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43223 when returning from Open Firmware.
43224
d13ea639 432252005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43226
43227 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43228 (grub_ofconsole_height): Likewise.
43229 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43230 manually insert a '\n'.
43231 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43232 `grub_ofconsole_height'. Return early if these are already set.
43233
a8fcf206 432342005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43235
43236 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43237 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43238 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43239 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43240 and `normal/script.c'.
43241 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43242 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43243 (test_mod_SOURCES): New variable.
43244 (test_mod_CFLAGS): Likewise.
43245 (test_mod_LDFLAGS): Likewise.
43246 (pkgdata_MODULES): Add `test.mod'.
43247 (grub_script.tab.c): New rule.
43248 (grub_script.tab.h): Likewise.
43249
b6b32745 432502005-11-07 Marco Gerards <mgerards@xs4all.nl>
43251
43252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43253 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43254 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43255 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43256 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43257 (test_mod_SOURCES): New variable.
43258 (test_mod_CFLAGS): Likewise.
43259 (pkgdata_MODULES): Add `test.mod'.
43260 (grub_script.tab.c): New rule.
43261 (grub_script.tab.h): Likewise.
43262
daac212a 432632005-11-06 Marco Gerards <mgerards@xs4all.nl>
43264
43265 Add initial scripting support.
43266
43267 * commands/test.c: New file.
43268 * include/grub/script.h: Likewise.
43269 * normal/execute.c: Likewise.
43270 * normal/function.c: Likewise.
43271 * normal/lexer.c: Likewise.
43272 * normal/parser.y: Likewise.
43273 * normal/script.c: Likewise.
43274
43275 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43276
daac212a 43277 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43278 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43279 `normal/function.c' and `normal/script.c'.
43280 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43281 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43282 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43283 variables.
daac212a 43284 (pkgdata_MODULES): Add `test.mod'.
43285 (grub_script.tab.c): New rule.
43286 (grub_script.tab.h): Likewise.
43287
43288 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43289
43290 * include/grub/normal.h (grub_test_init): New prototype.
43291 (grub_test_fini): Likewise.
f19dbdb7 43292
daac212a 43293 * normal/command.c: Include <grub/script.h>.
43294 (grub_command_execute): Rewritten.
f19dbdb7 43295
daac212a 43296 * util/grub-emu.c (main): Call `grub_test_init' and
43297 `grub_test_fini'.
43298
77500b2b 432992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43300
43301 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43302 to 0.
43303 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43304 there are no pending characters.
43305
e45deb9e 433062005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43307
43308 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43309 `grub_strndup' to drop device arguments. Replace unnecessary
43310 `grub_strndup' with `grub_strdup'.
43311
4ce32619 433122005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43313
43314 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43315 `debug' environment variable has been set.
43316
433172005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43318
4ce32619 43319 * Makefile.in (install-local): Use $(DATA).
43320 (uninstall): Likewise.
43321 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43322 (sbin_UTILITIES): ... to here.
43323 (sbin_SCRIPTS): New variable.
43324 (grub_install_SOURCES): New variable.
43325 * util/powerpc/ieee1275/grub-install.in: New file.
43326 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43327 variable.
43328 (add_segments): Call `grub_util_get_path'.
43329
25fe6f03 433302005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43331
43332 From Timothy Baldwin:
43333 * commands/ls.c (grub_ls_list_files): Close FILE with
43334 grub_file_close.
43335 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43336
04ccf3ec 433372005-10-24 Marco Gerards <mgerards@xs4all.nl>
43338
43339 * include/grub/parser.h: New file.
43340
43341 * kern/parser.c: Likewise.
43342
43343 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43344 (grub_setup_SOURCES): Likewise.
43345 (grub_probefs_SOURCES): Likewise.
43346 (grub_emu_SOURCES): Likewise.
43347 (kernel_img_HEADERS): Add `parser.h'.
43348
43349 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43350 (grub_emu_SOURCES): Add `kern/parser.c'.
43351 (grubof_SOURCES): Likewise.
43352
43353 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43354 (grubof_SOURCES): Add `kern/parser.c'.
43355
43356 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43357
43358 * kern/misc.c (grub_split_cmdline): Removed function.
43359
43360 * kern/rescue.c: Include <grub/parser.h>.
43361 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43362 of `grub_split_cmdline'.
43363
43364 * normal/command.c: Include <grub/parser.h>.
43365 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43366 of `grub_split_cmdline'.
43367
43368 * normal/completion.c: Include <grub/parser.h>.
43369 (cmdline_state): New variable.
43370 (iterate_dir): End the filename with a quote depending on the
43371 command line state.
43372 (get_state): new function.
43373 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43374 split the arguments and determine the current argument. When the
43375 argument string is not quoted, escape all spaces.
43376
6d8f4b0e 433772005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43378
43379 * normal/sparc64/setjmp.S: New file.
43380
15cf03ed 433812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43382
43383 * include/grub/sparc64/libgcc.h: New file.
43384 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43385 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43386 normal/sparc64/setjmp.c.
43387
03e8661a 433882005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43389
43390 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43391 * kern/sparc64/cache.S: New file.
43392 * kern/sparc64/cache.c: Removed.
43393 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43394 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43395 -mtune=ultrasparc.
43396 (COMMON_LDFLAGS): Add -melf64_sparc.
43397 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43398 (grubof_SOURCES): Use cache.S instead of cache.c.
43399 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43400 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43401 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43402 commented though.
43403 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43404 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43405 (linux_mod_CFLAGS): Commented out.
43406 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43407 out because module isn't built.
43408 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43409 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43410 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43411 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43412 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43413 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43414 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43415 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43416 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43417 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43418 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43419 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43420 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43421 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43422
34eeec8a 434232005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43424
43425 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43426 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43427 longer, because HFS should not be used on PC.
43428
708367a3 434292005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43430
43431 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43432 consistently within the loop.
43433
6fa1251a 434342005-10-15 Marco Gerards <mgerards@xs4all.nl>
43435
43436 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43437 directory can not be read.
43438
4801580b 434392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43440
43441 * configure.ac (AC_INIT): Increase the version number to 1.91.
43442
43443 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43444 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43445 term/i386/pc/serial.c.
43446
219ad426 434472005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43448
43449 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43450 file size must be permitted.
43451
43452 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43453 between %ah and %al.
43454
688e5699 434552005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43456
43457 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43458 grub_uint64_t.
43459 Call the hook with a NUL-terminated filename.
43460 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43461 grub_cpu_to_be32.
43462
43463 * kern/term.c (cursor_state): New variable.
43464 (grub_term_set_current): Reset the cursor state on a new
43465 terminal.
43466 (grub_setcursor): Rewritten to use CURSOR_STATE.
43467 (grub_getcursor): New function.
43468
43469 * include/grub/term.h (grub_getcursor): New prototype.
43470
43471 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43472 integers on ARM. Reported by Timothy Baldwin
43473 <T.E.Baldwin99@members.leeds.ac.uk>.
43474
bb34586c 434752005-10-11 Marco Gerards <mgerards@xs4all.nl>
43476
43477 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43478 allocated.
43479 (grub_sfs_dir): Likewise.
43480
9a909877 434812005-10-09 Marco Gerards <mgerards@xs4all.nl>
43482
43483 Add support for the SFS filesystem.
43484
43485 * fs/sfs.c: New file.
43486
43487 * DISTLIST: Added `fs/sfs.c'.
43488
43489 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43490 (grub_probefs_SOURCES): Likewise.
43491 (grub_emu_SOURCES): Likewise.
43492 (pkgdata_MODULES): Add `sfs.mod'.
43493 (sfs_mod_SOURCES): New variable.
43494 (sfs_mod_CFLAGS): Likewise.
43495 (sfs_mod_LDFLAGS): Likewise.
43496
43497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43498 (pkgdata_MODULES): Add `sfs.mod'.
43499 (sfs_mod_SOURCES): New variable.
43500 (sfs_mod_CFLAGS): Likewise.
43501
43502 * util/grub-emu.c (main): Call `grub_sfs_init' and
43503 `grub_sfs_fini'.
43504
43505 * include/grub/fs.h (grub_sfs_init): New prototype.
43506 (grub_sfs_fini): Likewise.
43507
57bdbde3 435082005-10-07 Marco Gerards <mgerards@xs4all.nl>
43509
43510 Add support for the AFFS filesystem.
43511
43512 * fs/affs.c: New file.
43513
43514 * DISTLIST: Added `fs/affs.c'.
43515
43516 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43517 (grub_probefs_SOURCES): Likewise.
43518 (grub_emu_SOURCES): Likewise.
43519 (pkgdata_MODULES): Add `affs.mod'.
43520 (affs_mod_SOURCES): New variable.
43521 (affs_mod_CFLAGS): Likewise.
43522 (affs_mod_LDFLAGS): Likewise.
43523
43524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43525 (pkgdata_MODULES): Add `affs.mod'.
43526 (affs_mod_SOURCES): New variable.
43527 (affs_mod_CFLAGS): Likewise.
43528
43529 * util/grub-emu.c (main): Call `grub_affs_init' and
43530 `grub_affs_fini'.
43531
43532 * include/grub/fs.h (grub_affs_init): New prototype.
43533 (grub_affs_fini): Likewise.
43534
047b67e0 435352005-10-01 Marco Gerards <mgerards@xs4all.nl>
43536
43537 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43538
59b8208a 435392005-10-01 Marco Gerards <mgerards@xs4all.nl>
43540
43541 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43542 `-m32' to CFLAGS.
43543
43544 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43545 linking.
f19dbdb7 43546
59b8208a 43547 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43548 (COMMON_LDFLAGS): New variable.
43549 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43550 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43551 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43552 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43553 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43554 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43555 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43556 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43557 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43558 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43559 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43560 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43561 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43562 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43563 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43564 variables.
43565 (normal_mod_ASFLAGS): Add `-m32'.
43566
43567 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43568 (grub_host_size_t, grub_host_ssize_t): New types.
43569 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43570 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43571 `GRUB_HOST_SIZEOF_VOID_P'.
43572
43573 * include/grub/kernel.h (struct grub_module_header): Type of
43574 member offset changed to `grub_host_off_t'. Type of member size
43575 changed to `grub_host_size_t'.
43576 (struct grub_module_info): Type of member offset changed to
43577 `grub_host_off_t'. Type of member size changed to
43578 `grub_host_size_t'.
43579
b4093103 435802005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43581
43582 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43583
b4093103 43584 * kern/i386/pc/startup.S (multiboot_header): New label.
43585 (multiboot_entry): Likewise.
43586 (multiboot_trampoline): Likewise.
43587
43588 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43589 Increased to 0x4A0.
43590
43591 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43592 put parentheses after a question mark.
43593 [!GRUB_UTIL] (my_mod): New variable.
43594
43595 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43596
b2499b29 435972005-09-28 Marco Gerards <mgerards@xs4all.nl>
43598
43599 Adds support for the XFS filesystem. Btrees are not supported
43600 yet.
43601
43602 * fs/xfs.c: New file.
43603
43604 * DISTLIST: Added `fs/xfs.c'.
43605
43606 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43607 (grub_probefs_SOURCES): Likewise.
43608 (grub_emu_SOURCES): Likewise.
43609 (pkgdata_MODULES): Add `xfs.mod'.
43610 (xfs_mod_SOURCES): New variable.
43611 (xfs_mod_CFLAGS): Likewise.
43612
43613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43614 (pkgdata_MODULES): Add `xfs.mod'.
43615 (xfs_mod_SOURCES): New variable.
43616 (xfs_mod_CFLAGS): Likewise.
43617
43618 * util/grub-emu.c (main): Call `grub_xfs_init' and
43619 `grub_xfs_fini'.
43620
43621 * include/grub/fs.h (grub_xfs_init): New prototype.
43622 (grub_xfs_fini): Likewise.
43623
f19dbdb7 43624
83d37a62 436252005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43626
43627 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43628 color modes, allow greater than 16 colors to be configured as
43629 a default palette.
43630
47d2d65e 436312005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43632
43633 * normal/completion.c (complete_arguments): Add the qualifier
43634 const into OPTIONS.
43635
43636 From Omniflux <omniflux+lists@omniflux.com>:
43637 * include/grub/terminfo.h: New file.
43638 * include/grub/tparm.h: Likewise.
43639 * include/grub/i386/pc/serial.h: Likewise.
43640 * term/terminfo.c: Likewise.
43641 * term/tparm.c: Likewise.
43642 * term/i386/pc/serial.c: Likewise.
43643 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43644 serial.mod.
43645 (terminfo_mod_SOURCES): New variable.
43646 (terminfo_mod_CFLAGS): Likewise.
43647 (serial_mod_SOURCES): Likewise.
43648 (serial_mod_CFLAGS): Likewise.
43649
48b671ff 436502005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43651
43652 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43653 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43654 and kern/powerpc/ieee1275/cmain.c, respectively.
43655
43656 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43657 * kern/powerpc/ieee1275/crt0.S: ... here.
43658
43659 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43660 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43661
48b671ff 43662 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43663 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43664 instead of boot/powerpc/ieee1275/crt0.S and
43665 boot/powerpc/ieee1275/cmain.c, respectively.
43666
43667 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43668 sectors. It was not used anyway.
43669
09fc77a7 436702005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43671
43672 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43673 `unused parameter' warning.
43674
003789c7 436752005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43676
43677 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43678 function.
43679 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43680 getcharwidth.
43681
67f44c86 436822005-08-28 Marco Gerards <metgerards@student.han.nl>
43683
43684 * include/grub/normal.h (enum grub_completion_type): Added
43685 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43686
43687 * normal/cmdline.c (print_completion): Handle
43688 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43689 * normal/menu_entry.c (store_completion): Likewise.
43690
43691 * normal/completion.c (complete_arguments): New function.
43692 (grub_normal_do_completion): Call `complete_arguments' when the
43693 current words start with a dash.
43694
0b5abe02 436952005-08-27 Marco Gerards <metgerards@student.han.nl>
43696
43697 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43698 `gzio.mod' instead of `io.mod').
43699
d9864ee1 437002005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43701
43702 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43703 (DISTDIRS): Added io and video.
43704 Rewrite the search routine to make an output consistently.
43705
43706 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43707 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43708 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43709 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43710 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43711 util/powerpc/ieee1275/misc.c.
f19dbdb7 43712
d9864ee1 43713 * include/grub/gzio.h: New file.
43714 * io/gzio.c: Likewise.
f19dbdb7 43715
d9864ee1 43716 * kern/file.c (grub_file_close): Call grub_device_close only if
43717 FILE->DEVICE is not NULL.
43718
43719 * include/grub/mm.h [!NULL] (NULL): New macro.
43720
43721 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43722
43723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43724 (pkgdata_MODULES): Added gzio.mod.
43725 (gzio_mod_SOURCES): New variable.
43726 (gzio_mod_CFLAGS): Likewise.
43727
43728 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43729 (pkgdata_MODULES): Added gzio.mod.
43730 (gzio_mod_SOURCES): New variable.
43731 (gzio_mod_CFLAGS): Likewise.
43732
43733 * commands/cat.c: Include grub/gzio.h.
43734 (grub_cmd_cat): Use grub_gzfile_open instead of
43735 grub_file_open.
f19dbdb7 43736
d9864ee1 43737 * commands/cmp.c: Include grub/gzio.h.
43738 (grub_cmd_cmp): Use grub_gzfile_open instead of
43739 grub_file_open.
43740
43741 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43742 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43743 grub_file_open.
43744 (grub_rescue_cmd_module): Likewise.
43745
fa46f4b5 437462005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43747
43748 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43749 kern/sparc64/ieee1275/init.c because it contains _start.
43750 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43751
e9211b5d 437522005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43753
43754 * configure.ac: Add support for sparc64 host with ieee1275
43755 firmware.
43756 * configure: Generated from configure.ac.
43757 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43758 instead of int.
43759 (grub_ofdisk_read): Likewise.
43760 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43761 pointers as (void *) to remove a warning.
43762 (grub_ofdisk_close): Likewise.
43763 (grub_ofdisk_read): Likewise.
43764 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43765 returns, so make it return void to remove a warning.
43766 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43767 Corresponding prototype change.
43768 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43769 values, and cast the pointers as (void *) to remove a warning.
43770 (grub_mm_dump): Likewise.
43771 * conf/sparc64-ieee1275.mk: New file.
43772 * conf/sparc64-ieee1275.rmk: Likewise.
43773 * include/grub/sparc64/setjmp.h: Likewise.
43774 * include/grub/sparc64/types.h: Likewise.
43775 * include/grub/sparc64/ieee1275/console.h: Likewise.
43776 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43777 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43778 * include/grub/sparc64/ieee1275/time.h: Likewise.
43779 * kern/sparc64/cache.c: Likewise.
43780 * kern/sparc64/dl.c: Likewise.
43781 * kern/sparc64/ieee1275/init.c: Likewise.
43782 * kern/sparc64/ieee1275/openfw.c: Likewise.
43783
385c6a92 437842005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43785
43786 * util/console.c (grub_ncurses_putchar): If C is greater than
43787 0x7f, set C to a question mark.
43788 (grub_ncurses_getcharwidth): New function.
43789 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43790 getcharwidth.
43791
43792 * normal/menu.c (print_entry): Made aware of Unicode. First,
43793 convert TITLE to UCS-4, and predict the cursor position by
43794 grub_getcharwidth.
43795
43796 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43797 const to SRC.
43798 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43799
16ccb8b1 438002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43801
43802 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43803 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43804 grub_strcat.
43805
43806 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43807 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43808 grub_strcpy and grub_strlen. Take it into account that a space
43809 character is inserted as a delimiter.
43810
6a85ce79 438112005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43812
43813 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43814 invalid magic in the error.
6a85ce79 43815
43816 * commands/search.c: New file.
f19dbdb7 43817
6a85ce79 43818 * util/grub-emu.c (main): Call grub_search_init and
43819 grub_search_fini.
43820
43821 * kern/rescue.c (grub_rescue_print_disks): Removed.
43822 (grub_rescue_print_devices): New function.
43823 (grub_rescue_cmd_ls): Use grub_device_iterate with
43824 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43825 grub_rescue_print_disks.
43826
43827 * kern/partition.c (grub_partition_iterate): Return the result of
43828 PARTMAP->ITERATE instead of GRUB_ERRNO.
43829
43830 * kern/device.c: Include grub/partition.h.
43831 (grub_device_iterate): New function.
43832
43833 * include/grub/partition.h (grub_partition_iterate): Return int
43834 instead of grub_err_t.
43835
43836 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43837 prototype.
43838 [GRUB_UTIL] (grub_search_fini): Likewise.
43839
43840 * include/grub/device.h (grub_device_iterate): New prototype.
43841
43842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43843 commands/search.c.
43844 (pkgdata_MODULES): Added search.mod.
43845 (search_mod_SOURCES): New variable.
43846 (search_mod_CFLAGS): Likewise.
43847
43848 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43849 (pkgdata_MODULES): Added search.mod.
43850 (search_mod_SOURCES): New variable.
43851 (search_mod_CFLAGS): Likewise.
43852
43853 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43854 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43855 All callers changed.
43856
43857 * DISTLIST: Added commands/search.c.
43858
ef095434 438592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43860
43861 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43862 conversion.
43863 (grub_getcharwidth): New function.
43864
43865 * kern/misc.c (grub_utf8_to_ucs4): New function.
43866
43867 * include/grub/term.h (struct grub_term): Added a new member
43868 "getcharwidth".
43869 (grub_getcharwidth): New prototype.
43870
43871 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43872
43873 * term/i386/pc/console.c (map_char): New function. Segregated from
43874 grub_console_putchar.
43875 (grub_console_putchar): Use map_char.
43876 (grub_console_getcharwidth): New function.
43877 (grub_console_term): Specified grub_console_getcharwidth as
43878 getcharwidth.
43879
43880 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43881 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43882
43883 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43884 GRUB_ERRNO.
43885 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43886 on grub_strtoul completely.
43887 (write_char): Declare local variables in the beginning of the
43888 function.
43889 (grub_vesafb_getcharwidth): New function.
43890 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43891 getcharwidth.
43892
1f0a95e4 438932005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43894
43895 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43896 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43897 commands/i386/pc/vbetest.c.
43898
43899 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43900 call grub_vbe_get_controller_info again, because the returned
43901 information is volatile.
43902 (grub_vbe_set_video_mode): Mostly rewritten.
43903 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43904 grub_vbe_status_t correctly.
43905 (grub_vbe_get_video_mode_info): Likewise.
43906 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43907 several if statements.
43908
43909 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43910 * commands/i386/pc/vbeinfo.c: ... this.
43911
43912 * commands/i386/pc/vbe_test.c: Renamed to ...
43913 * commands/i386/pc/vbetest.c: ... this.
43914
43915 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43916 ...
43917 (grub_cmd_vbeinfo): ... this. Save video modes before
43918 iterating. Skip a video mode, if it is not available, not enough
43919 information is given or it is monochrome. Show the memory
43920 model. Leave the interpretation of MODEVAR to grub_strtoul
43921 completely.
43922 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43923 (GRUB_MOD_FINI): Likewise.
43924
43925 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43926 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43927 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43928 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43929 grub_strtoul completely.
43930 (real2pm): Removed.
43931 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43932 (GRUB_MOD_FINI): Likewise.
43933
43934 * normal/misc.c: Include grub/mm.h.
43935
43936 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43937 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43938 (vbe_list_modes_mod_SOURCES): Removed.
43939 (vbe_list_modes_mod_CFLAGS): Likewise.
43940 (vbe_test_mod_SOURCES): Likewise.
43941 (vbe_test_mod_CFLAGS): Likewise.
43942 (vbeinfo_mod_SOURCES): New variable.
43943 (vbeinfo_mod_CFLAGS): Likewise.
43944 (vbetest_mod_SOURCES): Likewise.
43945 (vbetest_mod_CFLAGS): Likewise.
43946
992ffbbe 439472005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43948
43949 * normal/misc.c: New file.
43950
43951 * DISTLIST: Added normal/misc.c.
f19dbdb7 43952
992ffbbe 43953 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43954 DISK to HOOK. Call HOOK with DISK.
43955 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43956 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43957 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43958
43959 * normal/menu_entry.c (struct screen): Added a new member
43960 "completion_shown".
43961 (completion_buffer): New global variable.
43962 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43963 (store_completion): New function.
43964 (complete): Likewise.
43965 (clear_completions): Likewise.
43966 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43967 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43968 a tab, call complete.
43969
43970 * normal/completion.c (disk_dev): Removed.
43971 (print_simple_completion): Likewise.
43972 (print_partition_completion): Likewise.
43973 (print_func): New global variable.
43974 (add_completion): Do not take the arguments WHAT or PRINT any
43975 longer. Added a new argument TYPE. Instead of printing directly,
43976 call PRINT_FUNC if not NULL.
43977 All callers changed.
43978 (complete_device): Use a local variable DEV instead of
43979 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43980 (grub_normal_do_completion): Take a new argument HOOK. Do not
43981 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43982 empty string, return NULL instead.
43983 All callers changed.
43984
43985 * normal/cmdline.c (print_completion): New function.
43986
43987 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43988 to HOOK.
43989 All callers changed.
43990
43991 * kern/disk.c (grub_print_partinfo): Removed.
43992
43993 * include/grub/partition.h (struct grub_partition_map): Add a new
43994 argument DISK into HOOK of ITERATE.
43995 (grub_partition_iterate): Add a new argument DISK to HOOK.
43996
43997 * include/grub/normal.h (enum grub_completion_type): New enum.
43998 (grub_completion_type_t): New type.
43999 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
44000 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
44001 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
44002 (GRUB_COMPLETION_TYPE_FILE): Likewise.
44003 (grub_normal_do_completion): Added a new argument HOOK.
44004 (grub_normal_print_device_info): New prototype.
44005
44006 * include/grub/disk.h (grub_print_partinfo): Removed.
44007
44008 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
44009 (normal_mod_SOURCES): Likewise.
44010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44011 (normal_mod_SOURCES): Likewise.
44012
44013 * commands/ls.c (grub_ls_list_disks): Use
44014 grub_normal_print_device_info instead of grub_print_partinfo. Free
44015 PNAME.
44016 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44017 duplicating the code.
44018
0bd41162 440192005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44020
44021 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 44022 follow GCS more precisely.
44023 * commands/i386/pc/vbe_test.c: Likewise.
44024 * include/grub/i386/pc/vbe.h: Likewise.
44025 * term/i386/pc/vesafb.c: Likewise.
44026 * video/i386/pc/vbe.c: Likewise.
0bd41162 44027
6323696a 440282005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44029
44030 * DISTLIST: Added term/i386/pc/vesafb.c
44031 DISTLIST: Added video/i386/pc/vbe.c
44032 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44033 DISTLIST: Added commands/i386/pc/vbe_test.c.
44034 * commands/i386/pc/vbe_list_modes.c: New file.
44035 * commands/i386/pc/vbe_test.c: Likewise.
44036 * term/i386/pc/vesafb.c: Likewise.
44037 * video/i386/pc/vbe.c: Likewise.
44038 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44039 (grub_vbe_probe) Added prototype.
44040 (grub_vbe_set_video_mode) Likewise.
44041 (grub_vbe_get_video_mode) Likewise.
44042 (grub_vbe_get_video_mode_info) Likewise.
44043 (grub_vbe_set_pixel_rgb) Likewise.
44044 (grub_vbe_set_pixel_index) Likewise.
44045 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44046 (pkgdata_MODULES): Added vesafb.mod.
44047 (pkgdata_MODULES): Added vbe_list_modes.mod.
44048 (pkgdata_MODULES): Added vbe_test.mod.
44049 (vbe_mod_SOURCES): Added.
44050 (vbe_mod_CFLAGS): Likewise.
44051 (vesafb_mod_SOURCES): Likewise.
44052 (vesafb_mod_CFLAGS): Likewise.
44053 (vbe_list_modes_mod_SOURCES): Likewise.
44054 (vbe_list_modes_mod_CFLAGS): Likewise.
44055 (vbe_test_mod_SOURCES): Likewise.
44056 (vbe_test_mod_CFLAGS): Likewise.
44057
0a74e62f 440582005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44059
0a74e62f 44060 * normal/command.c (grub_command_execute): If INTERACTIVE is
44061 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44062 CMDLINE. Disable the pager if INTERACTIVE is true.
44063 All callers are changed.
44064
44065 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44066 before reading a config file.
44067 * normal/main.c (read_config_file): Even if a command is not
44068 found, register it if it is within an entry.
44069
44070 * util/grub-emu.c: Include sys/types.h and unistd.h.
44071 (options): Added --hold.
44072 (struct arguments): Added a new member "hold".
44073 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44074 missing.
44075 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44076 cleared by a debugger, if it is not zero.
44077
44078 * include/grub/normal.h (grub_command_execute): Add an argument
44079 INTERACTIVE.
44080
e51f85ae 440812005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44082
44083 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44084
e9c6f39b 440852005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44086
44087 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44088 program with another one, because the old one didn't detect a bug
44089 in gcc-3.4. Always use regparm 2, because the new test is still
44090 not enough for gcc-4.0. Someone must investigate a simple test
44091 case which detects a bug in gcc-4.0.
44092
8de3495c 440932005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44094
44095 * DISTLIST: Added normal/completion.c.
44096
44097 * normal/completion.c: New file.
f19dbdb7 44098
8de3495c 44099 * term/i386/pc/console.c (grub_console_getwh): New function.
44100 (grub_console_term): Assign grub_console_getwh to getwh.
44101
44102 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44103 function is defined in normal/completion.c as
44104 grub_normal_do_completion.
44105 (grub_cmdline_get): Use grub_normal_do_completion instead of
44106 grub_tab_complete.
44107
44108 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44109 returns non-zero, otherwise return 0.
44110 (grub_partition_iterate): First, probe the partition map. Then,
44111 call ITERATE only for this partition map.
44112
44113 * kern/misc.c (grub_strncmp): Rewritten.
44114
44115 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44116 returns non-zero. Otherwise return 0.
44117
44118 * include/grub/partition.h (grub_partition_map_iterate): Return
44119 int instead of void.
44120
44121 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44122
44123 * include/grub/misc.h (grub_strncmp): Change the type of N to
44124 grub_size_t.
44125
44126 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44127 of void.
44128
44129 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44130 unsigned explicitly before comparing it with I.
8de3495c 44131
44132 * kern/main.c (grub_env_write_root): Add the attribute unused into
44133 VAR.
44134
44135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44136 normal/completion.c.
44137 (normal_mod_SOURCES): Likewise.
44138 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44139 (normal_mod_SOURCES): Likewise.
44140
44141 * normal/command.c (grub_iterate_commands): If ITERATE returns
44142 non-zero, return one immediately.
44143
e85e144b 441442005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44145
44146 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44147 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44148 descriptions.
44149 (grub_vbe_get_controller_info): New function.
44150 (grub_vbe_get_mode_info): Likewise.
44151 (grub_vbe_set_mode): Likewise.
44152 (grub_vbe_get_mode): Likewise.
44153 (grub_vbe_set_memory_window): Likewise.
44154 (grub_vbe_get_memory_window): Likewise.
44155 (grub_vbe_set_scanline_length): Likewise.
44156 (grub_vbe_get_scanline_length): Likewise.
44157 (grub_vbe_set_display_start): Likewise.
44158 (grub_vbe_get_display_start): Likewise.
44159 (grub_vbe_set_palette_data): Likewise.
44160 * include/grub/i386/pc/vbe.h: New file.
44161
c46153d2 441622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44163
44164 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44165 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44166 * DISTLIST: Likewise.
44167 * kern/ieee1275/of.c: Moved to ...
44168 * kern/ieee1275/ieee1275.c: ... here.
44169
0cb90c45 441702005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44171
44172 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44173 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44174 Pass 0 as `end' parameter to grub_strtoul().
44175
a19fb360 441762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44177
44178 * include/grub/powerpc/ieee1275/console.h: Do not include
44179 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44180 ifdef.
44181 (grub_console_cur_color): Remove i386-specific prototype.
44182 (grub_console_real_putchar): Likewise.
44183 (grub_console_checkkey): Likewise.
44184 (grub_console_getkey): Likewise.
44185 (grub_console_getxy): Likewise.
44186 (grub_console_gotoxy): Likewise.
44187 (grub_console_cls): Likewise.
44188 (grub_console_setcursor): Likewise.
44189 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44190 Include <grub/machine/console.h>.
44191 * term/ieee1275/ofconsole.c: Likewise.
44192
4ac9bd04 441932005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44194
44195 * Makefile.in (LIBLZO): New variable.
44196
44197 * configure.ac: Check for LZO version 2.
44198
44199 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44200 lzo/lzo1x.h instead of lzo1x.h.
44201
44202 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44203 of -llzo.
44204
44205 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44206 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44207
44208 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44209 copying the data from PARTITION to P.
44210
f4917dfd 442112005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44212
44213 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44214 negative, unload the module.
44215
44216 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44217 map is "pc_partition_map" but not "pc".
44218 (usage): Fix the description. The options are --boot-image and
44219 --core-image but not --boot-file or --core-file.
44220 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44221 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44222 DEFAULT_DIRECTORY.
44223
44224 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44225 --core-file. Specify INSTALL_DEVICE as an argument.
44226
44227 * util/console.c: Include config.h.
44228 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44229 [HAVE_NCURSES_H]: Include ncurses.h.
44230 [HAVE_CURSES_H]: Include curses.h.
44231 [!A_NORMAL] (A_NORMAL): Defined as zero.
44232 [!A_STANDOUT] (A_STANDOUT): Likewise.
44233
44234 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44235 -lncurses.
44236 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44237
44238 * configure.ac: Check for curses libraries and headers.
44239
44240 * Makefile.in (LIBCURSES): New variable.
44241
44242 * genmk.rb (Script::rule): Set the executable bits.
44243
44244 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44245 name of the PC partition map is "pc_partition_map" but not "pc".
44246
0e143073 442472005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44248
44249 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44250 (modules): Likewise.
44251 (usage): Added descriptions for --modules and --grub-probefs.
44252 Handle --modules and --grub-probefs. Save the arguments in MODULES
44253 and GRUB_PROBEFS, respectively.
44254 Auto-detect a filesystem module against GRUBDIR. If the result is
44255 empty and modules are not specified explicitly, abort the
44256 installation. Add the result to MODULES.
44257
44258 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44259 disk/powerpc/ieee1275/ofdisk.c,
44260 include/grub/powerpc/ieee1275/init.h and
44261 term/powerpc/ieee1275/ofconsole.c.
44262 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44263 term/ieee1275/ofconsole.c.
44264
44265 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44266
44267 * COPYING: Upgraded to the latest version. Only the address of the
44268 FSF office has changed.
f19dbdb7 44269
efd6e6d5 442702005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44271
44272 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44273 kern/ieee1275.c with kern/ieee1275/of.c.
44274
44275 * kern/ieee1275.c: Moved to ...
44276 * kern/ieee1275/of.c: ... here.
44277
8ceafda2 442782005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44279
44280 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44281 readability.
8ceafda2 44282
44283 * config.guess: Updated to the latest version from gnulib.
44284 * config.sub: Likewise.
44285 * install.sh: Likewise.
44286 * mkinstalldirs: Likewise.
44287
44288 * include/grub/console.h: Removed. This file is arch-specific. Do
44289 not put this in include/grub.
44290
44291 * include/grub/i386/pc/console.h: Resurrected.
44292
44293 * util/console.c: Include grub/machine/console.h instead of
44294 grub/console.h.
44295 * util/grub-emu.c: Likewise.
44296
267f6cd9 442972005-08-04 Marco Gerards <metgerards@student.han.nl>
44298
44299 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44300 hardcoded value.
f19dbdb7 44301
267f6cd9 44302 From Vincent Pelletier <subdino2004@yahoo.fr>
44303 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44304 Redefined to use grub_getwh.
44305 (grub_term): New member named getwh.
44306 (grub_getwh): New prototype.
44307 * kern/term.c (grub_getwh): New function.
44308 * term/i386/pc/console.c (grub_console_getwh): New function.
44309 (grub_console_term): New member `getwh'.
44310 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44311 (grub_vga_term): New member `getwh'.
0b5abe02 44312 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44313 grub_ssize_t.
44314 (grub_ofconsole_getw): New function.
44315 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44316 (grub_ofconsole_term): New field named getwh and new initial
44317 value.
44318
3be7266d 443192005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44320
44321 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44322 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44323 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44324 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44325 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44326 of <grub/machine/ieee1275.h>.
44327 * commands/ieee1275/reboot.c: Likewise.
44328 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44329 * kern/ieee1275.c: ... to here. All users updated. Change all
44330 parameter structs to use new type `grub_ieee1275_cell_t'.
44331 * term/powerpc/ieee1275/ofconsole.c: Move ...
44332 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44333 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44334 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44335 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44336 to return int.
44337 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44338 Remove unused prototypes. All users updated.
44339 * include/grub/powerpc/ieee1275/console.h: Removed.
44340 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44341 `grub_ieee1275_cell_t'.
44342 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44343 Cast comparisons with -1 to the correct type.
44344 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44345 type to match `grub_ieee1275_entry_fn'.
44346
8b5f3938 443472005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44348
44349 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44350
44351 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44352 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44353 partmap/sun.c.
44354 (grub_probefs_SOURCES): New variable.
44355
44356 * util/i386/pc/grub-probefs.c: New file.
44357
44358 * util/i386/pc/grub-setup.c (main): Call
44359 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44360 grub_hfs_init and grub_jfs_init to initialize the system. Call
44361 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44362 grub_pc_partition_map_fini to finish the system.
44363
ea409713 443642005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44365
44366 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44367 function.
44368 (grub_multiboot_load_elf32): Likewise.
44369 (grub_multiboot_is_elf64): Likewise.
44370 (grub_multiboot_load_elf64): Likewise.
44371 (grub_multiboot_load_elf): Likewise.
44372 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44373 an ELF32 or ELF64 file.
44374 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44375
44376 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44377 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44378 NULL before calling FS->LABEL.
44379 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44380 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44381 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44382 before calling FS->LABEL.
44383
141a288b 443842005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44385
44386 * util/i386/pc/grub-install.in (datadir): New variable.
44387 (libdir): Removed.
44388 (pkgdatadir): New variable.
44389 (pkglibdir): Removed.
44390
0d5f8a54 443912005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44392
44393 * DISTLIST: Added util/i386/pc/grub-install.in.
44394
44395 * util/i386/pc/grub-install.in: New file.
44396
44397 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44398 (grub_install_SOURCES): Likewise.
44399
44400 * genmk.rb: Added support for scripts.
44401 (Script): New class.
44402 (scripts): New variable.
44403
44404 * Makefile.in (install-local): Install sbin_SCRIPTS by
44405 INSTALL_SCRIPT.
44406 (uninstall): Remove sbin_SCRIPTS.
44407
44408 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44409 device, try to get a GRUB device by
44410 grub_util_biosdisk_get_grub_dev.
44411 Free DEST_DEV.
44412
44413 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44414 description for --device-map.
44415
5f968e1e 444162005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44417
44418 Change the semantics of variable hooks. They now return strings
44419 instead of error values.
f19dbdb7 44420
5f968e1e 44421 * util/i386/pc/grub-setup.c: Include grub/env.h.
44422 (setup): Use grub_device_set_root instead of grub_env_set.
44423
44424 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44425 grub_env_get instead of grub_device_set_root and
44426 grub_device_get_root, respectively.
44427
44428 * kern/main.c (grub_env_write_root): New function.
44429 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44430 grub_env_set instead of grub_device_set_root.
44431
44432 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44433 many variables.
44434 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44435 rather than calling ENV->WRITE_HOOK afterwards.
44436 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44437 passing a pointer of a pointer.
44438 (grub_register_variable_hook): Change the types of "read_hook" and
44439 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44440 respectively.
44441 Allocate the default empty string on the heap, because this string
44442 may be freed later.
44443
44444 * kern/device.c: Include grub/env.h.
44445 (grub_device_set_root): Removed.
44446 (grub_device_get_root): Likewise.
44447 (grub_device_open): Use grub_env_get instead of
44448 grub_device_get_root.
44449
44450 * include/grub/env.h (grub_env_read_hook_t): New type.
44451 (grub_env_write_hook_t): Likewise.
44452 (grub_env_var): Change the types of "read_hook" and "write_hook"
44453 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44454 (grub_register_variable_hook): Likewise.
44455
44456 * include/grub/device.h (grub_device_set_root): Removed.
44457 (grub_device_set_root): Likewise.
44458
44459 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44460 make sure that DIRNAME terminates with '/', so that
44461 grub_fat_find_dir will fail if PATH is not a directory.
44462
44463 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44464 from DIRNAME.
44465 Use the qualifier auto for print_files and print_files_long.
44466 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44467 as a regular file.
44468 Put a newline only if there is no error.
44469 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44470 used.
44471
896f0afd 444722005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44473
44474 * kern/partition.c (grub_partition_probe): Initialize PART to
44475 NULL. Otherwise, when no partition map is registered, this returns
44476 a garbage.
44477
b28b81b2 444782005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44479
44480 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44481 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44482 valid.
44483
5f3607e0 444842005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44485
44486 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44487 information on each device, if it does not have partitions. Print
44488 "Device" instead of "Disk", because this function is not specific
44489 to disk devices.
44490
44491 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44492 static to ensure that it is put on the memory rather than a
44493 register.
44494
502c87e8 444952005-07-17 Yoshinori Okuji <okuji@enbug.org>
44496
44497 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44498 (grub_cat_init): Likewise.
44499 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44500 (options): Likewise.
44501 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44502 (grub_configfile_init): Likewise.
44503 * font/manager.c (GRUB_MOD_INIT): Likewise.
44504 * commands/help.c (GRUB_MOD_INIT): Likewise.
44505 (grub_help_init): Likewise.
44506 * normal/command.c (grub_command_init): Likewise.
44507 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44508 * disk/loopback.c (grub_loop_init): Likewise.
44509 (GRUB_MOD_INIT): Likewise.
44510 * commands/ls.c (grub_ls_init): Likewise.
44511 (GRUB_MOD_INIT): Likewise.
44512 (options): Likewise.
44513 * commands/boot.c (grub_boot_init): Likewise.
44514 (GRUB_MOD_INIT): Likewise.
44515 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44516 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44517 (GRUB_MOD_INIT): Likewise.
44518 * commands/cmp.c (grub_cmp_init): Likewise.
44519 (GRUB_MOD_INIT): Likewise.
44520
44521 * normal/arg.c: Use <> instead of "" to include header files.
44522 (SHORT_ARG_HELP): New macro.
44523 (SHORT_ARG_USAGE): Likewise.
44524 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44525 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44526 descriptions.
44527 (find_short): Check if C is 'h' or 'u' explicitly.
44528 (grub_arg_show_help): Use space characters instead of tabs. Treat
44529 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44530 are shown with --help and --usage only if they are not used for
44531 the command itself.
44532 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44533 'h' and 'u'.
44534
44535 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44536 const into "longarg". Change the type of "shortarg" to int.
44537
f806d18e 445382005-07-17 Yoshinori Okuji <okuji@enbug.org>
44539
44540 * boot/i386/pc/boot.S (boot_drive_check): New label.
44541
44542 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44543 macro.
44544
44545 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44546 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44547
e293232b 445482005-07-17 Yoshinori Okuji <okuji@enbug.org>
44549
44550 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44551 When turning off Gate A20, skip the check and return immediately,
44552 because this is not fatal usually.
44553
ebedfd00 445542005-07-17 Yoshinori Okuji <okuji@enbug.org>
44555
44556 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44557 be 0x7C00 instead of 0x8000.
44558
44559 * boot/i386/pc/pxeboot.S: Rewritten.
44560
44561 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44562 EXT_C.
44563 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44564 result.
44565
654fc59f 445662005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44567
44568 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44569 robustness. This routine now supports a BIOS call and System
44570 Control Port A to modify the gate A20.
44571
44572 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44573 Increased to 0x440.
44574
09f9923f 445752005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44576
44577 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44578 device path and resulting ihandle.
44579 (grub_ofdisk_close): dprintf the ihandle being closed.
44580 (grub_ofdisk_read): dprintf function parameters.
44581 * kern/mm.c (grub_mm_init_region): Likewise.
44582 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44583 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44584 size, and boot arguments.
44585 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44586 before loading into memory.
44587 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44588 before loading into memory.
44589
7ef504d8 445902005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44591
44592 * kern/mm.c: Added much documentation.
44593 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44594 8, set to 5 instead of 8.
44595
e0f050c2 445962005-07-10 Yoshinori Okuji <okuji@enbug.org>
44597
44598 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44599
44600 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44601 (grub_mkdevicemap_SOURCES): New variable.
44602
44603 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44604 lib/device.c of GRUB Legacy.
44605
7224189a 446062005-07-10 Yoshinori Okuji <okuji@enbug.org>
44607
44608 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44609 instead of PATH is NULL.
44610
68c864eb 446112005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44612
44613 * commands/cmp.c (BUFFER_SIZE): New macro.
44614 (grub_cmd_cmp): Close the right file at the right time. Compare
44615 only data just read. Don't report files of different size as
44616 identical. Dynamically allocate buffers. Move variable
44617 declarations at the beginning of function.
44618
e6f3e614 446192005-07-09 Yoshinori Okuji <okuji@enbug.org>
44620
44621 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44622 reverse.
44623
f8f1559a 446242004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44625
44626 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44627 when backspace is pressed at beginning of line.
44628
39c9d41d 446292005-07-03 Yoshinori Okuji <okuji@enbug.org>
44630
44631 * DISTLIST: Added genfslist.sh.
44632
44633 * normal/main.c (fs_module_list): New variable.
44634 (autoload_fs_module): New function.
44635 (read_fs_list): Likewise.
44636 (grub_normal_execute): Call read_fs_list.
44637
44638 * kern/fs.c (grub_fs_autoload_hook): New variable.
44639 (grub_fs_probe): Added support for auto-loading.
44640
44641 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44642 (grub_fs_module_list_t): New type.
44643
44644 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44645 (grub_fs_autoload_hook): New prototype.
44646
44647 * genfslist.sh: New file.
f19dbdb7 44648
39c9d41d 44649 * genmk.rb: Added a rule to generate a filesystem list.
44650
121c1d83 446512005-06-30 Marco Gerards <metgerards@student.han.nl>
44652
44653 * configure.ac: Fix the test for cross-compiling.
44654
44655 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44656 define GRUB_UTIL anymore.
44657
44658 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44659 so this function works on other systems than just big endian.
44660 (load_modules): Likewise.
44661 (add_segments): Likewise.
44662
e75d76e1 446632005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44664
44665 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44666 contains `l' modifier, get a long from va_arg().
44667
50b5a0a7 446682005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44669
44670 * kern/mm.c (grub_free): If the next free block which is being
44671 merged is the first free block, set the first block to the block
44672 being freed.
44673 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44674
89371b20 446752005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44676
44677 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44678 `grub_ieee1275_chosen'.
44679
168d6e58 446802005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44681
44682 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44683 (grub_ieee1275_chosen): New variable.
44684 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44685 `chosen'.
44686 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44687 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44688 Rename first argument to `phandle' for consistency.
44689 (grub_ieee1275_get_property_length): Likewise.
44690 (grub_ieee1275_next_property): Likewise. Change type of first argument
44691 to grub_ieee1275_phandle_t.
44692 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44693 Move export next to declaration.
44694 (grub_ieee1275_chosen): New variable.
44695 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44696 Correct cosmetic typo.
44697 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44698 `grub_ieee1275_chosen'.
44699 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44700 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44701 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44702 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44703 `grub_ieee1275_chosen'.
44704
ca5baa3f 447052005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44706
44707 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44708 /chosen/bootargs.
44709 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44710 /chosen/bootargs as "variable=value" pairs.
44711
708b345f 447122005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44713
44714 * include/grub/misc.h (grub_dprintf): New macro.
44715 (grub_real_dprintf): New prototype.
44716 (grub_strword): Likewise.
44717 (grub_iswordseparator): Likewise.
44718 * kern/misc.c (grub_real_dprintf): New function.
44719 (grub_strword): Likewise.
44720 (grub_iswordseparator): Likewise.
44721
f4c5e67c 447222005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44723
44724 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44725 (roundup): Remove macro.
44726 (grub_ieee1275_flags): Make static.
44727 (grub_ieee1275_realmode): Remove.
44728 (grub_ieee1275_test_flag): New function.
44729 (grub_ieee1275_set_flag): Likewise.
44730 (find_options): Rename to `grub_ieee1275_find_options'; update
44731 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44732 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44733 (cmain): New prototype.
44734 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44735 `grub_ieee1275_flags' directly.
44736 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44737 machine/biosdisk.h.
44738 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44739 Don't include grub/machine/init.h.
44740 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44741 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44742 Remove prototype.
44743 (grub_ieee1275_realmode): Likewise.
44744 (grub_ieee1275_flag): New enum.
44745 (grub_ieee1275_test_flag): New prototype.
44746 (grub_ieee1275_set_flag): New prototype.
44747 * include/grub/powerpc/ieee1275/init.h: Remove file.
44748 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44749 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44750 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44751 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44752 comment.
44753 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44754 `grub_ieee1275_test_flag'.
44755 (grub_ieee1275_encode_devname): Likewise.
44756
ed16607e 447572005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44758
44759 * include/grub/powerpc/ieee1275/ieee1275.h
44760 (grub_ieee1275_encode_devname): New prototype.
44761 (grub_ieee1275_get_filename): Likewise.
44762 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44763 function.
44764 (grub_set_prefix): Likewise.
44765 (grub_machine_init): Call grub_set_prefix.
44766 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44767 (grub_parse_type): New enum.
44768 (grub_ieee1275_get_devargs): New function.
44769 (grub_ieee1275_get_devname): Likewise.
44770 (grub_ieee1275_parse_args): Likewise.
44771 (grub_ieee1275_get_filename): Likewise.
44772 (grub_ieee1275_encode_devname): Likewise.
44773
be369920 447742005-03-30 Marco Gerards <metgerards@student.han.nl>
44775
44776 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44777 `grub_loader_unset'.
44778
a5ce3a4a 447792005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44780
44781 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44782 instead of grub_ieee1275_interpret.
44783 (grub_halt_init): New function.
44784 (grub_halt_fini): Likewise.
44785 (GRUB_MOD_INIT): Correct message grammar.
44786 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44787 instead of grub_ieee1275_interpret.
44788 (grub_reboot_init): New function.
44789 (grub_reboot_fini): Likewise.
44790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44791 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44792 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44793 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44794 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44795 function.
44796 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44797 Add prototype.
44798 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44799 prototype.
44800 (grub_halt): Likewise.
44801 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44802 (cmain): Remove __attribute__((unused)).
44803 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44804 (grub_heap_len): Likewise.
44805 (grub_machine_fini): New function.
44806 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44807 (grub_halt): Likewise.
44808 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44809 function.
44810 * util/powerpc/ieee1275/misc.c: New file.
44811
0058f771 448122005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44813
44814 * DISTLIST: New file.
44815 * gendistlist.sh: Likewise.
f19dbdb7 44816
0058f771 44817 * Makefile.in (COMMON_DISTFILES): Removed.
44818 (BOOT_DISTFILES): Likewise.
44819 (CONF_DISTFILES): Likewise.
44820 (DISK_DISTFILES): Likewise.
44821 (FS_DISTFILES): Likewise.
44822 (INCLUDE_DISTFILES): Likewise.
44823 (KERN_DISTFILES): Likewise.
44824 (LOADER_DISTFILES): Likewise.
44825 (TERM_DISTFILES): Likewise.
44826 (UTIL_DISTFILES): Likewise.
44827 (DISTFILES): Likewise.
44828 (uninstall): Uninstall files in $(pkgdata_DATA).
44829 (DISTLIST): New target.
44830 (distdir): Use the contents of the file DISTLIST to get a list of
44831 distributed files.
44832
46b3b8a5 448332005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44834
44835 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44836 descriptor. This is ported from GRUB Legacy.
44837
44838 * gencmdlist.sh: Added an extra semicolon to make it work with
44839 old sed versions. Reported by Robert Bihlmeyer
44840 <robbe@orcus.priv.at>.
44841
5822ff87 448422005-03-08 Yoshinori Okuji <okuji@enbug.org>
44843
44844 Automatic loading of commands is supported.
f19dbdb7 44845
5822ff87 44846 * normal/main.c (read_command_list): New function.
44847 (grub_normal_execute): Call read_command_list.
44848
44849 * normal/command.c (grub_register_command): Return zero or CMD.
44850 Allocate CMD->NAME from the heap.
44851 Initialize CMD->MODULE_NAME to zero.
44852 Find the same name as well. If the same command is found and it is
44853 a dummy command, overwrite members. If it is not a dummy command,
44854 return zero.
44855 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44856 (grub_command_find): If a dummy command is found, load a module
44857 and retry to find a command only once.
44858
44859 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44860 make sure that each command is loaded.
44861
44862 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44863 macro.
44864 (struct grub_command): Remove const from the member `name'.
44865 Add a new member `module_name'.
44866 (grub_register_command): Return grub_command_t.
44867
44868 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44869 sure that each command is loaded.
44870
44871 * genmk.rb (PModule::rule): Specify a module name without the
44872 suffix ".mod" to gencmdlist.sh.
44873
7b1f4b57 448742005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44875
44876 * gencmdlist.sh: New file.
f19dbdb7 44877
7b1f4b57 44878 * genmk.rb (PModule::rule): Generate a rule for a command list.
44879 Clean command.lst.
44880 Generate command.lst from $(COMMANDFILES).
44881
44882 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44883 (DATA): Added $(pkgdata_DATA).
44884 (install-local): Install files in $(pkgdata_DATA).
44885
062aaf39 448862005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44887
44888 * term/i386/pc/vga.c (debug_command): Removed.
44889 (GRUB_MOD_INIT): Do not register the command "debug".
44890
44891 From Hollis Blanchard:
44892 * commands/configfile.c: New file.
44893 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44894 commands/configfile.c.
44895 (pkgdata_MODULES): Added configfile.mod.
44896 (configfile_mod_SOURCES): New variable.
44897 (configfile_mod_CFLAGS): Likewise.
44898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44899 commands/configfile.c.
44900 (pkgdata_MODULES): Added configfile.mod.
44901 (configfile_mod_SOURCES): New variable.
44902 (configfile_mod_CFLAGS): Likewise.
44903 * util/grub-emu.c (main): Call grub_configfile_init and
44904 grub_configfile_fini.
44905 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44906 prototype.
44907 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44908
cee01aa6 449092005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44910
44911 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44912 address.
44913
44914 * commands/help.c (grub_cmd_help): Do not print newlines after
44915 the last command in print_command_help.
44916
93f3a1d8 449172005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44918
44919 * commands/default.h: New file.
44920 * commands/timeout.h: Likewise.
44921 * normal/context.c: Likewise.
f19dbdb7 44922
93f3a1d8 44923 * util/misc.c: Do not include sys/times.h.
44924 Include sys/time.h and grub/machine/time.h.
44925 (grub_get_rtc): Rewritten with gettimeofday.
44926
44927 * util/grub-emu.c (main): Call grub_default_init and
44928 grub_timeout_init before grub_normal_init, and call
44929 grub_timeout_fini and grub_default_fini after grub_main.
44930
44931 * util/console.c (grub_ncurses_checkkey): Return the read
44932 character or -1.
44933
44934 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44935 timeouts.
44936
44937 * normal/main.c (read_config_file): Push MENU. If this fails,
44938 print an error and wait for a user input.
44939 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44940 If a menu is empty or an error occurs, pop MENU.
44941 (grub_normal_execute): Pop and free MENU after grub_menu_run
44942 returns.
44943
44944 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44945
44946 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44947 include time.h.
44948 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44949 without GRUB_UTIL.
44950 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44951 time.h.
44952 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44953 without GRUB_UTIL.
44954
44955 * include/grub/normal.h (struct grub_menu_list): New struct.
44956 (grub_menu_list_t): New type.
44957 (struct grub_context): New struct.
44958 (grub_context_t): New type.
44959 (grub_register_command): Got rid of EXPORT_FUNC.
44960 (grub_unregister_command): Likewise.
44961 (grub_context_get): New prototype.
44962 (grub_context_get_current_menu): Likewise.
44963 (grub_context_push_menu): Likewise.
44964 (grub_context_pop_menu): Likewise.
44965 [GRUB_UTIL] (grub_default_init): Likewise.
44966 [GRUB_UTIL] (grub_default_fini): Likewise.
44967 [GRUB_UTIL] (grub_timeout_init): Likewise.
44968 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44969
44970 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44971 commands/timeout.c and normal/context.c.
44972 (pkgdata_MODULES): Added default.mod and timeout.mod.
44973 (normal_mod_SOURCES): Added normal/context.c.
44974 (default_mod_SOURCES): New variable.
44975 (default_mod_CFLAGS): Likewise.
44976 (timeout_mod_SOURCES): Likewise.
44977 (timeout_mod_CFLAGS): Likewise.
44978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44979 conf/i386-pc.rmk.
44980 (pkgdata_MODULES): Added default.mod and timeout.mod.
44981 (normal_mod_SOURCES): Added normal/context.c.
44982 (default_mod_SOURCES): New variable.
44983 (default_mod_CFLAGS): Likewise.
44984 (timeout_mod_SOURCES): Likewise.
44985 (timeout_mod_CFLAGS): Likewise.
44986
44987 * Makefile.in (all-local): Added $(MKFILES).
44988
4ed2e1dd 449892005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44990
44991 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44992 (grub_emu_SOURCES): Likewise.
44993 (pkgdata_MODULES): Add `sun.mod'.
44994 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44996 `partmap/sun.c'.
44997 (pkgdata_MODULES): Add `sun.mod'.
44998 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44999 * include/grub/partition.h (grub_sun_partition_map_init): New
45000 prototype.
45001 (grub_sun_partition_map_fini): Likewise.
45002 * partmap/sun.c: New file.
45003 * util/grub-emu.c (main): Initialize and de-initialize the sun
45004 partitionmap support.
45005
4d4e372e 450062005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
45007
45008 This implements an Emacs-like menu entry editor.
f19dbdb7 45009
4d4e372e 45010 * normal/menu_entry.c: New file.
f19dbdb7 45011
4d4e372e 45012 * util/console.c (grub_ncurses_putchar): Translate some Unicode
45013 characters to ASCII.
45014 (saved_char): New variable.
45015 (grub_ncurses_checkkey): Rewritten completely.
45016 (grub_ncurses_getkey): Likewise.
45017 (grub_ncurses_init): Call raw instead of cbreak.
45018
45019 * normal/menu.c (print_entry): Do not put a space.
45020 (init_page): Renamed to ...
45021 (grub_menu_init_page): ... this. All callers changed.
45022 (edit_menu_entry): Removed.
45023 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45024
45025 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45026
45027 * kern/misc.c (grub_vprintf): Call grub_refresh.
45028
45029 * normal/menu.c (DISP_LEFT): Renamed to ...
45030 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45031 * normal/menu.c (DISP_UP): Renamed to ...
45032 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45033 * normal/menu.c (DISP_RIGHT): Renamed to ...
45034 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45035 * normal/menu.c (DISP_DOWN): Renamed to ...
45036 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45037 * normal/menu.c (DISP_HLINE): Renamed to ...
45038 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45039 * normal/menu.c (DISP_VLINE): Renamed to ...
45040 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45041 * normal/menu.c (DISP_UL): Renamed to ...
45042 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45043 * normal/menu.c (DISP_UR): Renamed to ...
45044 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45045 * normal/menu.c (DISP_LL): Renamed to ...
45046 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45047 * normal/menu.c (DISP_LR): Renamed to ...
45048 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45049 * normal/menu.c (TERM_WIDTH): Renamed to ...
45050 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45051 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45052 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45053 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45054 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45055 * normal/menu.c (TERM_MARGIN): Renamed to ...
45056 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45057 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45058 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45059 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45060 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45061 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45062 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45063 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45064 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45065 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45066 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45067 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45068 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45069 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45070 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45071 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45072 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45073 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45074 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45075 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45076 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45077 All callers changed.
45078
45079 * include/grub/normal.h: New prototype.
45080
45081 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45082 normal/menu_entry.c.
45083 (normal_mod_SOURCES): Likewise.
45084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45085 (normal_mod_SOURCES): Likewise.
45086
e6b92c8a 450872005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45088
45089 * include/grub/normal.h (grub_halt_init): New prototype.
45090 (grub_halt_fini): Likewise.
45091 (grub_reboot_init): Likewise.
45092 (grub_reboot_fini): Likewise.
45093
45094 * util/grub-emu.c: Include signal.h.
45095 (main_env): New global variable.
45096 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45097 catch C-c.
45098 (grub_machine_fini): New function.
45099 (main): Call grub_halt_init and grub_reboot_init before
45100 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45101 Call setjmp with MAIN_ENV to go back afterwards.
45102 Call grub_machine_fini right before return.
45103
45104 * include/grub/util/misc.h: Include setjmp.h.
45105 (main_env): New prototype.
45106
45107 * include/grub/kernel.h (grub_machine_fini): New prototype.
45108 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45109 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45110
45111 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45112 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45113 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45114
e6b92c8a 45115 * util/i386/pc/misc.c: New file.
f19dbdb7 45116
e6b92c8a 45117 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45118 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45119 commands/i386/pc/reboot.c.
45120
c642636f 451212005-02-14 Guillem Jover <guillem@hadrons.org>
45122
45123 * include/grub/dl.h (grub_dl_check_header): New prototype.
45124 (grub_arch_dl_check_header): Change return type to grub_err_t,
45125 remove size parameter and export function. Update all callers.
45126 * kern/dl.c (grub_dl_check_header): New function.
45127 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45128 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45129 are inside the core.
45130 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45131 independent ELF header checks.
45132 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45133 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45134 `grub_dl_check_header' instead of explicit checks. Check for the
45135 ELF type.
45136 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45137 `grub_dl_check_header' instead of explicit checks. Remove arch
45138 specific ELF header checks.
45139
e6b92c8a 45140 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45141 argument SIZE.
45142
5eabe94b 451432005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45144
45145 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45146 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45147
1b14a681 451482005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45149
45150 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45151 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45152 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45153 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45154 * partmap/amiga.c (amiga_partition_map_iterate): Return
45155 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45156 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45157
aca108aa 451582005-02-01 Guillem Jover <guillem@hadrons.org>
45159
45160 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45161 help info.
45162
c9f9c556 451632005-01-31 Marco Gerards <metgerards@student.han.nl>
45164
45165 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45166 Removed prototype.
45167 (grub_rescue_cmd_linux): New prototype.
45168 (grub_rescue_cmd_initrd): Likewise.
45169 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45170 `bi_rec'.
45171 (grub_linux_release_mem): Release the memory for the initrd.
45172 (grub_load_linux): Renamed from this...
45173 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45174 Changed `entry' not to be static. Loop over memory regions to
45175 find another one when the default fails.
45176 (grub_rescue_cmd_initrd): New function.
45177 (grub_linux_init): Remove function.
45178 (grub_linux_fini): Likewise.
45179 (GRUB_MOD_INIT): Register `initrd'.
45180 (GRUB_MOD_FINI): Unregister `initrd'.
45181 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45182 Function removed.
45183 (grub_linux_normal_fini): Likewise.
45184 (GRUB_MOD_INIT): Register `initrd'.
45185 (GRUB_MOD_FINI): Unregister `initrd'.
45186
990cf3aa 451872005-01-31 Marco Gerards <metgerards@student.han.nl>
45188
45189 * commands/help.c: New file.
45190 * normal/arg.c (show_help): Renamed to...
45191 (grub_arg_show_help): ... this.
45192 * commands/i386/pc/halt.c: New file.
45193 * commands/i386/pc/reboot.c: Likewise.
45194 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45195 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45196 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45197 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45198 variables.
45199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45200 `commands/help.c'.
45201 (pkgdata_MODULES): Add `help.mod'.
45202 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45203 * grub/i386/pc/init.h (grub_reboot): New prototype.
45204 (grub_halt): Likewise.
45205 * include/grub/normal.h (grub_arg_show_help): New prototype.
45206 (grub_help_init): Likewise.
45207 (grub_help_fini): Likewise.
45208 * util/grub-emu.c (main): Initialize and deinitialize the help
45209 command.
45210
45211 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45212
45213 * normal/command.c (grub_command_init): Fixed the description of
45214 the `set' and `unset' commands.
45215
452162005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45217
45218 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45219 function.
45220 * commands/ieee1275/halt.c: New file.
45221 * commands/ieee1275/reboot.c: Likewise.
45222 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45223 `__attribute__ ((unused))'. Some GCS related fixed.
45224 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45225 (grub_suspend_fini): Likewise.
45226 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45227 and `halt.mod'.
45228 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45229 (halt_mod_CFLAGS): New variables.
45230 * include/grub/powerpc/ieee1275/ieee1275.h
45231 (grub_ieee1275_interpret): New prototype.
45232
1ab09cc7 452332005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45234
45235 * include/grub/misc.h (memmove): New prototype.
45236 (memcpy): Likewise.
45237
8b8cbdb2 452382005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45239
45240 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45241 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45242
e3741a27 452432005-01-22 Marco Gerards <metgerards@student.han.nl>
45244
45245 * kern/misc.c (grub_strndup): Function rewritten.
45246
776bd780 452472005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45248
45249 * normal/menu.c (TERM_WIDTH): Macro redefined.
45250 (TERM_TOP_BORDER_Y): Likewise.
45251 (draw_border): Replaced while-loop by a for-loop. Make the number
45252 of lines consistent with the number of lines displayed in
45253 print_entries. Added a margin below the rectangle.
45254 (print_entry): Make the entry fit in the rectangle.
45255 (print_entries): Display the scroll arrows next to the right
45256 border.
45257
78026bce 452582005-01-21 Marco Gerards <metgerards@student.han.nl>
45259
45260 * fs/minix.c (grub_minix_find_file): Reserve more space for
45261 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45262 `grub_strncpy' to copy `path' into it.
45263
67bbaf0f 452642005-01-21 Marco Gerards <metgerards@student.han.nl>
45265
45266 Add the loopback device, a device via which files can be accessed
45267 as devices.
f19dbdb7 45268
67bbaf0f 45269 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45270 (pkgdata_MODULES): Add loopback.mod.
45271 (loopback_mod_SOURCES): New variable.
45272 (loopback_mod_CFLAGS): Likewise.
45273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45274 `disk/loopback.c'.
45275 (pkgdata_MODULES): Add loopback.mod.
45276 (loopback_mod_SOURCES): New variable.
45277 (loopback_mod_CFLAGS): Likewise.
45278 * disk/loopback.c: new file.
45279 * include/grub/normal.h (grub_loop_init): New prototype.
45280 (grub_loop_fini): New prototype.
45281 * util/grub-emu.c (main): Initialize and de-initialize loopback
45282 support.
45283 * include/grub/disk.h (grub_disk_dev_id): Add
45284 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45285
6f1c18bd 452862005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45287
45288 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45289 function.
45290 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45291 (suspend_mod_SOURCES): New variable.
45292 (suspend_mod_CFLAGS): Likewise.
45293 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45294 New prototype.
45295 * commands/ieee1275/suspend.c: New file.
45296
b38551da 452972005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45298
45299 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45300 ((unused))' to `__attribute__ ((used))'.
b38551da 45301 (GRUB_MOD_FINI): Likewise.
45302 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45303 * genmk.rb (PModule): Assign space to common symbols when linking
45304 modules.
45305
777aff39 453062005-01-20 Marco Gerards <metgerards@student.han.nl>
45307
45308 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45309 `unsigned' arguments to `grub_size_t'.
45310 (grub_malloc): Likewise.
45311 (grub_realloc): Likewise.
45312 (grub_memalign): Likewise.
45313 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45314 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45315 * util/misc.c (grub_malloc): Likewise.
45316 (grub_realloc): Likewise.
45317 * kern/mm.c (get_header_from_pointer): Change the casts to
45318 `unsigned' into a cast to `grub_size_t'.
45319
45320 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45321 point to `currnode' when `currnode' is changed.
45322
45323 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45324 Schottelius <nico-linux@schottelius.org>.
45325
d0ff18e1 453262005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45327
45328 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45329 (note_path): Remove variable.
45330 (GRUB_IEEE1275_NOTE_NAME): New macro.
45331 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45332 (grub_ieee1275_note_hdr): New structure.
45333 (grub_ieee1275_note_desc): Likewise.
45334 (grub_ieee1275_note): Likewise.
45335 (load_note): Remove `dir' argument. All callers updated. Remove
45336 `note_img' and `path'. Do not load a file from `note_path'.
45337 Initialize a struct grub_ieee1275_note and write that to `out'.
45338 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45339
4ca7004c 453402005-01-05 Marco Gerards <metgerards@student.han.nl>
45341
45342 * util/misc.c (grub_util_read_image): Revert last change. It
45343 called `grub_util_read_at', which seeks from the beginning of the
45344 file.
45345
0b412211 453462005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45347
45348 * TODO: Add note about endianness in grub-mkimage.
45349 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45350 section.
45351 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45352 (grub_mkimage_SOURCES): New target.
45353 * include/grub/kernel.h (grub_start_addr): Remove variable.
45354 (grub_end_addr): Likewise.
45355 (grub_total_module_size): Likewise.
45356 (grub_kernel_image_size): Likewise.
45357 (GRUB_MODULE_MAGIC): New constant.
45358 (grub_module_info): New structure.
45359 (grub_arch_modules_addr): New prototype.
45360 (grub_get_end_addr): Remove prototype.
45361 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45362 * include/grub/powerpc/ieee1275/kernel.h: New file.
45363 * include/grub/util/misc.h (grub_util_get_fp_size): New
45364 prototype.
45365 (grub_util_read_at): Likewise.
45366 (grub_util_write_image_at): Likewise.
45367 * kern/main.c (grub_get_end_addr): Remove function.
45368 (grub_load_modules): Call grub_arch_modules_addr instead of using
45369 grub_end_addr. Look for a grub_module_info struct in memory. Use
45370 the grub_module_info fields instead of calling grub_get_end_addr
45371 as loop conditions. Move grub_add_unused_region code here.
45372 (grub_add_unused_region): Remove function.
45373 * kern/i386/pc/init.c: Include grub/cache.h.
45374 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45375 one call to add_mem_region.
45376 (grub_arch_modules_addr): New function.
45377 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45378 (grub_total_module_size): Likewise.
45379 Include grub/machine/kernel.h.
45380 (grub_arch_modules_addr): New function.
45381 * util/grub-emu.c (grub_end_addr): Remove variable.
45382 (grub_total_module_size): Likewise.
45383 (grub_arch_modules_addr): New function.
45384 * util/misc.c: Include unistd.h.
45385 (grub_util_get_fp_size): New function.
45386 (grub_util_read_at): Likewise.
45387 (grub_util_write_image_at): Likewise.
45388 (grub_util_read_image): Call grub_util_read_at.
45389 (grub_util_write_image): Call grub_util_write_image_at.
45390 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45391 additional memory in kernel_img for a struct grub_module_info.
45392 Fill in that grub_module_info.
45393 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45394
458786f8 453952005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45396
45397 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45398 New function.
45399 * include/grub/powerpc/ieee1275/ieee1275.h
45400 (grub_ieee1275_milliseconds): New prototype.
45401 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45402 Change to 1000.
45403 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45404 grub_ieee1275_milliseconds.
45405
ac507d1b 454062005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45407
45408 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45409 variable.
45410 (find_options): New function.
45411 (cmain): Call find_options.
45412 * include/grub/powerpc/ieee1275/ieee1275.h
45413 (grub_ieee1275_realmode): New extern variable.
45414 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45415 grub_map if grub_ieee1275_realmode is false.
45416
6b8fd1c4 454172004-12-29 Marco Gerards <metgerards@student.han.nl>
45418
45419 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45420 lines are inserted and make it work like readline. Reported by
45421 Vincent Pelletier <subdino2004@yahoo.fr>.
45422
8514a1e0 454232004-12-28 Marco Gerards <metgerards@student.han.nl>
45424
45425 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45426
45427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45428 `kern/powerpc/cache.S'.
45429
924b6140 454302004-12-27 Marco Gerards <metgerards@student.han.nl>
45431
45432 * genmk.rb: Handle the `Program' class in the main loop. Written
45433 by Johan Rydberg <jrydberg@gnu.org>.
45434 (Program): New class.
45435 (programs): New variable.
45436 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45437 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45438 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45439 (help_arch): Function removed.
45440 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45441 `powerpc/libgcc.h' and `loader.h'.
45442 (pkgdata_PROGRAMS): New variable.
45443 (sbin_UTILITIES): Variable removed.
45444 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45445 (grubof_SOURCES): Variable re-defined so it only includes the
45446 core functionality.
45447 (grubof_CFLAGS): Remove `-DGRUBOF'.
45448 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45449 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45450 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45451 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45452 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45453 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45454 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45455 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45456 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45457 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45458 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45459 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45460 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45461 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45462 (pc_mod_CFLAGS): New variables.
45463 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45464 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45465 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45466 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45467 Moved from here...
45468 * include/grub/i386/pc/init.h (grub_os_area_addr)
45469 (rub_os_area_size): ... to here.
45470 * include/grub/powerpc/ieee1275/ieee1275.h
45471 (grub_ieee1275_entry_fn): Export symbol.
45472 * include/grub/powerpc/ieee1275/init.h: New file.
45473 * include/grub/powerpc/libgcc.h: Likewise.
45474 * include/grub/cache.h: Likewise.
45475 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45476 <hollis@penguinppc.org>.
45477 * kern/dl.c: Include <grub/cache.h>.
45478 (grub_dl_flush_cache): New function.
45479 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45480 for this module.
45481 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45482 (grub_console_init): Removed prototypes.
45483 (grub_machine_init): Don't initialize the modules anymore.
45484 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45485 static.
45486 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45487 Macro undef removed.
45488 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45489 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45490 relocation `R_PPC_REL32'. Return an error when the relocation is
45491 unknown.
45492 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45493 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45494 * util/misc.c (grub_arch_sync_caches): Likewise.
45495
e4b47e0c 454962004-12-19 Marco Gerards <metgerards@student.han.nl>
45497
45498 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45499 `symlist.c', add `grubof_symlist.c'.
45500 (symlist.c): Variable removed.
45501 (grubof_HEADERS): Variable added.
45502 (grubof_symlist.c): New target.
45503 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45504 `kernel_img_HEADERS'.
45505 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45506 * kern/powerpc/dl.c: New file.
45507 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45508 Function removed.
45509 (grub_arch_dl_relocate_symbols): Likewise.
45510 (grub_register_exported_symbols): Likewise.
45511
4ceb3636 455122004-12-13 Marco Gerards <metgerards@student.han.nl>
45513
45514 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45515 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45516 to fail instead. Reported by Vincent Pelletier
45517 <subdino2004@yahoo.fr>.
45518
45519 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45520 it is not allocated. Reported by Vincent Pelletier
45521 <subdino2004@yahoo.fr>.
45522
45523 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45524 output so the output looks better.
f19dbdb7 45525
3f1578fe 455262004-12-04 Marco Gerards <metgerards@student.han.nl>
45527
45528 Modulize the partition map support and add support for the amiga
45529 partition map.
f19dbdb7 45530
3f1578fe 45531 * commands/ls.c: Include <grub/partition.h> instead of
45532 <grub/machine/partition.h>.
45533 * kern/disk.c: Likewise.
45534 * kern/rescue.c: Likewise.
45535 * loader/i386/pc/chainloader.c: Likewise.
45536 * normal/cmdline.c: Likewise.
45537 * kern/powerpc/ieee1275/init.c: Likewise.
45538 (grub_machine_init): Call `grub_pc_partition_map_init',
45539 `grub_amiga_partition_map_init' and
45540 `grub_apple_partition_map_init'.
45541 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45542 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45543 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45544 `partition.h' and `pc_partition.h'.
45545 (grub_setup_SOURCES): Remove
45546 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45547 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45548 (grub_emu_SOURCES): Likewise.
45549 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45550 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45551 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45553 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45554 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45555 (grubof_SOURCES): Likewise.
45556 * disk/i386/pc/partition.c: File removed.
45557 * disk/powerpc/ieee1275/partition.c: Likewise.
45558 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45559 * include/grub/i386/pc/partition.h: Likewise.
45560 * kern/partition.c: New file.
45561 * partmap/amiga.c: Likewise.
45562 * partmap/apple.c: Likewise.
45563 * partmap/pc.c: Likewise.
45564 * include/grub/partition.h: Likewise..
45565 * include/grub/pc_partition.h: Likewise.
45566 * util/grub-emu.c: Include <grub/partition.h> instead of
45567 <grub/machine/partition.h>.
45568 (main): Call `grub_pc_partition_map_init',
45569 `grub_amiga_partition_map_init' and
45570 `grub_apple_partition_map_init' and deinitialize afterwards.
45571 * util/i386/pc/biosdisk.c: Include `#include
45572 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45573 `<grub/machine/partition.h>'.
45574 * util/i386/pc/grub-setup.c: Likewise.
45575 * util/i386/pc/biosdisk.c: Likewise.
45576 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45577 partition information in case of a PC partition.
45578 * util/i386/pc/grub-setup.c: Include `#include
45579 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45580 `<grub/machine/partition.h>'.
45581 (setup): Only access the PC specific partition information in case
45582 of a PC partition.
45583
0ef4ced9 455842004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45585
0ef4ced9 45586 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45587 (grub_longjmp): Likewise.
45588 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45589 20.
45590 * normal/powerpc/setjmp.S: New file.
45591 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45592 `normal/powerpc/setjmp.S'.
45593 (grubof_CFLAGS): Add `-DGRUBOF'.
45594 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45595 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45596
19950e29 455972004-11-16 Marco Gerards <metgerards@student.han.nl>
45598
45599 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45600 property named `name'. Correctly handle the error returned by
45601 `grub_ieee1275_finddevice' if a device can not be opened.
45602
a2fea427 456032004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45604
45605 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45606 `actual' for negativity.
45607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45608 kern/fshelp.c.
45609
41ea0ea3 456102004-11-01 Marco Gerards <metgerards@student.han.nl>
45611
45612 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45613 (PAGE_OFFSET): New macro.
45614 (CRTC_ADDR_PORT): Likewise.
45615 (CRTC_DATA_PORT): Likewise.
45616 (START_ADDR_HIGH_REGISTER): Likewise.
45617 (START_ADDR_LOW_REGISTER): Likewise.
45618 (GRAPHICS_ADDR_PORT): Likewise.
45619 (GRAPHICS_DATA_PORT): Likewise.
45620 (READ_MAP_REGISTER): Likewise.
45621 (INPUT_STATUS1_REGISTER): Likewise.
45622 (INPUT_STATUS1_VERTR_BIT): Likewise.
45623 (page): New variable.
45624 (wait_vretrace): New function.
45625 (set_read_map): Likewise.
45626 (set_start_address): Likewise.
45627 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45628 the right page.
45629 (check_vga_mem): Take the page into account.
45630 (write_char): Likewise.
45631 (write_cursor): Likewise.
45632 (scroll_up): Likewise. Copy the page to the page that is not
45633 shown and switch between both pages.
45634 (grub_vga_putchar): Fix off by one error.
45635 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45636 account.
45637
ad0bd20b 456382004-11-01 Marco Gerards <metgerards@student.han.nl>
45639
45640 Add support for iso9660 (including rockridge).
f19dbdb7 45641
ad0bd20b 45642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45643 (iso9660_mod_SOURCES): New variable.
45644 (iso9660_mod_CFLAGS): Likewise.
45645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45646 * include/grub/fs.h (grub_iso9660_init): New prototype.
45647 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45648 * fs/iso9660.c: New file.
45649
45650 * include/grub/misc.h (grub_strncat): New prototype.
45651 * kern/misc.c (grub_strncat): New function.
f19dbdb7 45652
ad0bd20b 45653 * fs/hfs.c (grub_hfs_mount): Translate the error
45654 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45655 * fs/jfs.c (grub_jfs_mount): Likewise.
45656 * fs/ufs.c (grub_ufs_mount): Likewise.
45657
a5477a59 456582004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45659
45660 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45661 which initialized BAT registers.
45662 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45663 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45664 Move from here...
45665 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45666 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45667 ... to here.
45668 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45669 (grub_mapclaim): Likewise.
45670 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45671 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45672 hand.
45673
9304c1f8 456742004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45675
45676 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45677 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45678 -ffreestanding and -msoft-float.
45679
86f4ae25 456802004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45681
45682 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45683 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45684 set in grub_ieee1275_flags.
45685
38912228 456862004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45687
45688 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45689 prototype.
45690 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45691 grub_console_init first.
45692 Change the memory range used for grub_ieee1275_claim and
45693 grub_mm_init_region.
45694 Print an error message if the claim fails.
45695 Include <grub/misc.h>.
45696
d1923dc8 456972004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45698
45699 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45700 Call grub_children_iterate for device nodes of type `scsi',
45701 `ide', or `ata'.
45702 (grub_ofdisk_open): Remove manual device alias resolution.
45703 Fix memory leak when device cannot be opened.
f19dbdb7 45704 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45705 (grub_children_iterate): New prototype.
45706 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45707 New function.
45708 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45709 Return -1 if args.size was -1.
45710
4512e4f3 457112004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45712
45713 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45714 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45715 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45716 Open Firmware's memory for it; claim memory from _start to _end.
45717 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45718 (_end): New extern.
45719 (_start): Zero BSS from __bss_start to _end.
45720 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45721 New extern.
45722 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45723
4d61feb0 457242004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45725
ad0bd20b 45726 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45727 -1 if args.base was -1.
4d61feb0 45728
026fa2f9 457292004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45730
45731 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45732 escape sequence instead of a literal ^L. Also call
45733 grub_ofconsole_gotoxy.
45734
9f2220ef 457352004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45736
45737 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45738 void * arguments to grub_addr_t. All callers updated. Also make
45739 the `result' argument optional.
45740 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45741 All callers updated.
45742
8a572cd7 457432004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45744
45745 * commands/ls.c (grub_ls_list_files): Use the string following the
45746 initial ')', if present, as the filesystem path.
45747 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45748
45749 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45750
18aa81f2 457512004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45752
45753 Make the source code of the menu interface more readable.
f19dbdb7 45754
18aa81f2 45755 * normal/menu.c: Include grub/mm.h.
45756 (TERM_WIDTH): New macro.
45757 (TERM_HEIGHT): Likewise.
45758 (TERM_INFO_HEIGHT): Likewise.
45759 (TERM_MARGIN): Likewise.
45760 (TERM_SCROLL_WIDTH): Likewise.
45761 (TERM_TOP_BORDER_Y): Likewise.
45762 (TERM_LEFT_BORDER_X): Likewise.
45763 (TERM_BORDER_WIDTH): Likewise.
45764 (TERM_MESSAGE_HEIGHT): Likewise.
45765 (TERM_BORDER_HEIGHT): Likewise.
45766 (TERM_NUM_ENTRIES): Likewise.
45767 (TERM_FIRST_ENTRY_Y): Likewise.
45768 (TERM_ENTRY_WIDTH): Likewise.
45769 (TERM_CURSOR_X): Likewise.
45770 (draw_border): Use macros instead of magic numbers.
45771 (print_entry): Likewise.
45772 (print_entries): Likewise.
45773 (run_menu): Likewise. Also, handle the key 'e'.
45774 (run_menu_entry): Ignore empty command lines.
45775 (print_message): Added a new argument EDIT. If EDIT is true,
45776 print a different message.
45777 (init_page): Likewise.
45778 (edit_menu_entry): New function. Not implemented yet.
45779
b47efe30 457802004-09-17 Marco Gerards <metgerards@student.han.nl>
45781
45782 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45783 can be loaded from normal mode.
f19dbdb7 45784
b47efe30 45785 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45786 `multiboot.mod'.
45787 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45788 (multiboot_mod_CFLAGS): New variables.
45789 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45790 * loader/i386/pc/multiboot_normal.c: Likewise.
45791
b47efe30 45792 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45793 attribute `unused'.
f19dbdb7 45794
b47efe30 45795 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45796 `fdiro' to read the mode information from instead of `diro'.
45797
45798 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45799 looking up a symlink.
45800
45801 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45802 macro.
45803 * normal/command.c (grub_command_execute): Don't parse the
45804 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45805 flags of the command.
45806
45807 * normal/menu.c (grub_menu_run): Fix typo.
45808
da75ac71 458092004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45810
45811 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45812
45813 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45814 `y + 1' instead of `y - 1'.
45815
45816 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45817
062b24c2 458182004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45819
45820 From Hollis Blanchard <hollis@penguinppc.org>:
45821 * kern/misc.c (memmove): New alias for grub_memmove.
45822 (memcmp): New alias for grub_memcmp.
45823 (memset): New alias for grub_memset.
f19dbdb7 45824 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45825 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45826 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45827 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45828
8ddad845 458292004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45830
45831 Added normal mode command `chainloader' as module chain.mod, which
45832 depends on normal.mod and _chain.mod.
f19dbdb7 45833
8ddad845 45834 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45835 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45836 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45837 Deleted prototype.
45838 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45839 but arguments parsing moved to ...
45840 (grub_chainloader_cmd): ... here. New function.
45841 * include/grub/i386/pc/chainloader.h: New file.
45842 * loader/i386/pc/chainloader_normal.c: Likewise.
45843
2c1f4ce3 458442004-09-11 Marco Gerards <metgerards@student.han.nl>
45845
45846 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45847 (grub_mkimage_LDFLAGS): Likewise.
45848 (grub_emu_SOURCES): Likewise.
45849 (kernel_img_HEADERS): Added fshelp.h.
45850 * fs/ext2.c: Include <grub/fshelp.h>.
45851 (FILETYPE_REG): New macro.
45852 (FILETYPE_INO_REG): Likewise.
45853 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45854 Changed all users.
45855 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45856 all users.
45857 (grub_fshelp_node): New struct.
45858 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45859 to a pointer.
45860 (grub_ext2_get_file_block): Removed function.
45861 (grub_ext2_read_block): New function.
45862 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45863 This function was written.
45864 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45865 (grub_ext2_find_file): Removed function.
45866 (grub_ext2_read_symlink): New function.
45867 (grub_ext2_iterate_dir): Likewise.
45868 (grub_ext2_open): Rewritten.
45869 (grub_ext2_dir): Rewritten.
45870 * include/grub/fshelp.h: New file.
45871 * fs/fshelp.c: Likewise.
45872
3c52136a 458732004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45874
45875 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45876 (print_message): Add a missing newline.
45877 (run_menu): Added timeout support.
45878 (run_menu_entry): New local function.
45879 (grub_menu_run): Added support for booting.
45880
45881 * kern/loader.c (grub_loader_is_loaded): New function.
45882
45883 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45884 (grub_get_rtc): Exported.
45885
45886 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45887 (grub_get_rtc): Exported.
45888
45889 * include/grub/normal.h (struct grub_command_list): Remove
45890 constant from the member `command'.
45891
45892 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45893
45894 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45895
45896 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45897
aa033560 458982004-08-28 Marco Gerards <metgerards@student.han.nl>
45899
45900 Add support for the JFS filesystem.
45901
45902 * fs/jfs.c: New file.
45903 * include/grub/fs.h (grub_jfs_init): New prototype.
45904 (grub_jfs_fini): New prototype.
45905 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45906 (grub_emu_SOURCES): Likewise.
45907 (pkgdata_MODULES): Add jfs.mod.
45908 (jfs_mod_SOURCES): New variable.
45909 (jfs_mod_CFLAGS): Likewise.
45910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45911 (grubof_SOURCES): Likewise.
45912 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45913
45914 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45915 endian to the host endian.
45916 (grub_fat_utf16_to_utf8): Move function from there...
45917 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45918 the endianness of the source string anymore.
aa033560 45919 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45920
94bc45af 459212004-08-24 Marco Gerards <metgerards@student.han.nl>
45922
45923 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45924 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45925 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45926 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45927
94bc45af 45928 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45929 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45930 for `node_found' and `it_dir'.
45931 (grub_hfs_dir): Add prototype for `dir_hook'.
45932
45933 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45934 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45935 and `indir32' to silence a gcc warning.
45936
45937 * include/grub/fs.h (grub_hfs_init): New prototype.
45938 (grub_hfs_fini): Likewise.
f19dbdb7 45939
45940
97543f08 459412004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45942
45943 Each disk device has its own id now. This is useful to make use
45944 of multiple disk devices.
f19dbdb7 45945
97543f08 45946 * include/grub/disk.h (grub_disk_dev_id): New enum.
45947 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45948 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45949
45950 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45951 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45952
45953 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45954 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45955
45956 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45957 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45958
45959 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45960 "id" which is used by the cache manager.
45961
45962 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45963 of just "GRUB".
45964
64372eb4 459652004-08-18 Marco Gerards <metgerards@student.han.nl>
45966
45967 * fs/hfs.c: New file.
45968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45969 (grub_emu_SOURCES): Likewise.
45970 (pkgdata_MODULES): Add hfs.mod.
45971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45972 (grubof_SOURCES): Likewise.
45973 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45974
45975 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45976 * kern/misc.c (grub_strncasecmp): Add function.
45977
cc61b58f 459782004-08-14 Marco Gerards <metgerards@student.han.nl>
45979
45980 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45981 with parentheses.
45982
45983 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45984 (grub_ext2_dir): In case the directory entry type is unknown, read
45985 it from the inode.
45986
0ef123f6 459872004-08-02 Peter Bruin <pjbruin@dds.nl>
45988
45989 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45990 grub_load_linux instead of grub_rescue_cmd_linux as second
45991 argument of grub_rescue_register_command.
45992
45993 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45994
a447c5df 459952004-07-27 Marco Gerards <metgerards@student.han.nl>
45996
45997 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45998 function.
45999 * commands/boot.c: Remove the check for `GRUB_UTIL'.
46000 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
46001 `loader/powerpc/ieee1275/linux.c',
46002 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
46003 * include/grub/powerpc/ieee1275/ieee1275.h
46004 (grub_ieee1275_release): New prototype.
46005 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
46006 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
46007 normal, boot, linux and linux_normal.
46008 * loader/powerpc/ieee1275/linux.c: New file.
46009 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46010
5a9e3546 460112004-07-12 Marco Gerards <metgerards@student.han.nl>
46012
46013 * normal/arg.c (grub_arg_parse): Correct error handling after
46014 reallocating the argumentlist (check if `argl' is not null instead
46015 of checking if `args' is not null).
46016 * kern/mm.c (grub_realloc): Return the same pointer when using the
46017 same region, instead of returning the header address.
46018
e15199cb 460192004-07-11 Marco Gerards <metgerards@student.han.nl>
46020
46021 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46022 one block instead of two when looking for the initial partition.
46023 (grub_partition_probe): Initialize the local variable `p' with 0.
46024 Use base 10 for the grub_strtoul call.
46025 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46026 need for one local variable.
46027 (grub_strtoul): Don't add the new value to `num', instead of that
46028 just assign it.
46029
020616c2 460302004-07-11 Marco Gerards <metgerards@student.han.nl>
46031
46032 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46033 (pxeboot_img_SOURCES): New variable.
46034 (pxeboot_img_ASFLAGS): Likewise.
46035 (pxeboot_img_LDFLAGS): Likewise.
46036 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46037 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46038 <lode_leroy@hotmail.com>.
46039
6c51eb64 460402004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46041
46042 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46043 there was no input.
46044
cfb12aff 460452004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46046
46047 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46048 the history buffer logic.
46049
6eabba74 460502004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46051
46052 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46053 (FILETYPE_INO_SYMLINK): New macros.
46054 (grub_ext2_find_file): Check if the node is a directory using the
46055 inode stat information instead of using the filetype in the
46056 dirent. Exclude the first character of an absolute symlink.
46057 (grub_ext2_dir): Mask out the filetype part of the mode member of
46058 the inode.
46059
66e19ef8 460602004-05-24 Marco Gerards <metgerards@student.han.nl>
46061
46062 Add support for UFS version 1 and 2. Add support for the minix
46063 filesystem version 1 and 2, both the variants with 14 and 30 long
46064 filenames.
f19dbdb7 46065
66e19ef8 46066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46067 fs/minix.c.
46068 (grub_emu_SOURCES): Likewise.
46069 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46070 (ufs_mod_SOURCES): New variable.
46071 (ufs_mod_CFLAGS): Likewise.
46072 (minix_mod_SOURCES): Likewise.
46073 (minix_mod_CFLAGS): Likewise.
46074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46075 fs/minix.c.
46076 (grubof_SOURCES): Likewise.
46077 * fs/ufs.c: New file.
46078 * fs/minix.c: New file.
46079 * include/grub/fs.h (grub_ufs_init): New prototype.
46080 (grub_ufs_fini): Likewise.
46081 (grub_minix_init): Likewise.
46082 (grub_minix_fini): Likewise.
46083 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46084 minix fs.
46085
cc2e748a 460862004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46087
46088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46089 commands/ls.c, commands/terminal.c, commands/boot.c,
46090 commands/cmp.c and commands/cat.c.
46091 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46092
46093 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46094 "env.h"
46095
4b13b216 460962004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46097
46098 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46099 and grub_, respectively. Because the conversion is trivial and
46100 mechanical, I omit the details here. Please refer to the CVS
46101 if you need more information.
46102
6a142551 461032004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46104
46105 * include/pupa: Renamed to ...
46106 * include/grub: ... this.
46107 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46108 * util/i386/pc/grub-mkimage.c: ... this.
46109 * util/i386/pc/pupa-setup.c: Renamed to ...
46110 * util/i386/pc/grub-setup.c: ... this.
46111 * util/pupa-emu.c: Renamed to ...
46112 * util/grub-emu.c: ... this.
46113
e56cdf21 461142004-03-29 Marco Gerards <metgerards@student.han.nl>
46115
46116 Add support for the newworld apple macintosh (PPC). This has been
46117 tested on the powerbook 2000 only. It only adds support for
46118 generic ieee1275 functions, console and disk support. This should
46119 be easy to port to other architectures with support for Open
46120 Firmware.
f19dbdb7 46121
e56cdf21 46122 * configure.ac: Accept the powerpc as host_cpu. In the case of
46123 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46124 specific tests are only executed while building for the i386.
46125 Inverse test for crosscompile.
46126 * genmk.rb (Utility): Allow assembler files.
46127 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46128 * conf/powerpc-ieee1275.rmk: New file.
46129 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46130 * disk/powerpc/ieee1275/partition.c: Likewise.
46131 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46132 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46133 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46134 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46135 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46136 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46137 * include/pupa/powerpc/ieee1275/loader.h
46138 * include/pupa/powerpc/setjmp.h: Likewise.
46139 * include/pupa/powerpc/types.h: Likewise.
46140 * kern/powerpc/ieee1275/init.c: Likewise.
46141 * kern/powerpc/ieee1275/openfw.c: Likewise.
46142 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46143
46144 These files were written by Johan Rydberg
46145 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46146
e56cdf21 46147 * boot/powerpc/ieee1275/cmain.c: New file.
46148 * boot/powerpc/ieee1275/crt0.S: Likewise.
46149 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46150 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46151
8c8cc205 461522004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46153
46154 * Makefile.in: Update copyright.
46155 * genmodsrc.sh: Likewise.
46156 * gensymlist.sh: Likewise.
46157 * term/i386/pc/vga.c: Indent correctly.
46158
46159 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46160 bugreporting address.
46161 * util/i386/pc/pupa-setup.c (usage): Likewise,
46162 (main): Call pupa_ext2_init and pupa_ext2_fini.
46163
f19dbdb7 46164 * fs/fat.c (log2): Renamed to ...
8c8cc205 46165 (fat_log2): ... this.
46166 All callers changed.
46167 * kern/misc.c (memcpy): Alias to pupa_memmove.
46168 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46169 lvalue cast.
46170 * util/console.c (pupa_ncurses_fini): Return 0.
46171
46172 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46173 Move fail label here.
46174 [__GNU__]: Don't warn when using stat.
46175 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46176 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46177 long int. Use strtol instead of strtoul.
f19dbdb7 46178
db1771cf 461792004-03-14 Marco Gerards <metgerards@student.han.nl>
46180
46181 * commands/boot.c: New file.
46182 * commands/cat.c: Likewise.
46183 * commands/cmp.c: Likewise.
46184 * commands/ls.c: Likewise.
46185 * commands/terminal.c: Likewise.
46186 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46187 (pupa_register_command): Changed interface to match the new
46188 argument parser.
46189 (pupa_command_execute): Changed (almost rewritten) so it uses
46190 pupa_split_command. Added support for setting variables using the
46191 syntax `foo=bar'.
46192 (rescue_command): Changed to work with the new argument parser.
46193 (terminal_command): Moved from here to commands/terminal.c.
46194 (set_command): New function.
46195 (unset_command): New function.
46196 (insmod_command): New function.
46197 (rmmod_command): New function.
46198 (lsmod_command): New function.
46199 (pupa_command_init): Don't initialize the command terminal
46200 anymore. Initialize the commands set, unset, insmod, rmmod and
46201 lsmod.
46202 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46203 (kernel_img_HEADERS): Add arg.h and env.h.
46204 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46205 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46206 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46207 normal/arg.c.
46208 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46209 terminal.mod.
46210 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46211 (boot_mod_SOURCES): New variable.
46212 (terminal_mod_SOURCES): Likewise.
46213 (ls_mod_SOURCES): Likewise.
46214 (cmp_mod_SOURCES): Likewise.
46215 (cat_mod_SOURCES): Likewise.
46216
46217 * normal/arg.c: New file.
46218 * kern/env.c: Likewise.
46219 * include/pupa/arg.h: Likewise.
46220 * include/pupa/env.h: Likewise.
46221 * font/manager.c (font_command): Changed to match argument parsing
46222 interface changes.
46223 (PUPA_MOD_INIT): Likewise.
46224 * hello/hello.c (pupa_cmd_hello): Likewise.
46225 (PUPA_MOD_INIT): Likewise.
46226 * include/pupa/disk.h: Include <pupa/device.h>.
46227 (pupa_print_partinfo): New prototype.
46228 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46229 (pupa_dl_get_prefix): Likewise.
46230 * include/pupa/misc.h: Include <pupa/err.h>.
46231 (pupa_isgraph): New prototype.
46232 (pupa_isdigit): Likewise.
46233 (pupa_split_cmdline): Likewise.
46234 * include/pupa/normal.h: Include <pupa/arg.h>.
46235 (pupa_command): Changed the prototype of the member `func' to
46236 match the argument parsing interface. Added member `options'.
46237 (pupa_register_command): Updated to match function.
46238 (pupa_arg_parse): New prototype.
46239 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46240 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46241 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46242 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46243 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46244 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46245 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46246 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46247 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46248 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46249 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46250 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46251 * kern/disk.c: Include <pupa/file.h>.
46252 (pupa_print_partinfo): New function.
46253 * kern/dl.c: Include <pupa/env.h>.
46254 (pupa_dl_dir): Variable removed.
46255 (pupa_dl_load): Use the environment variable `prefix' instead of
46256 the variable pupa_dl_dir.
46257 (pupa_dl_set_prefix): Function removed.
46258 (pupa_dl_get_prefix): Likewise.
46259 * kern/i386/pc/init.c: Include <pupa/env.h>.
46260 (pupa_machine_init): Use the environment variable `prefix' instead of
46261 using pupa_dl_set_prefix to set the prefix.
46262 * kern/main.c: Include <pupa/env.h>.
46263 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46264 using pupa_dl_get_prefix to get the prefix.
46265 * kern/misc.c: Include <pupa/env.h>.
46266 (pupa_isdigit): New function.
46267 (pupa_isgraph): Likewise.
46268 (pupa_ftoa): Likewise.
46269 (pupa_vsprintf): Added support for printing values of the type
46270 `double'. Make it possible to format variable output when using
46271 formatting like `%1.2%f'.
46272 (pupa_split_cmdline): New function.
46273 * kern/rescue.c: Include <pupa/env.h>.
46274 (next_word): Removed function.
46275 (pupa_rescue_cmd_prefix): Likewise.
46276 (pupa_rescue_cmd_set): New function.
46277 (pupa_rescue_cmd_unset): New function.
46278 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46279 split the command line instead of splitting it here. Added
46280 support for setting variables using the syntax `foo=bar'. Don't
46281 initialize the prefix command anymore. Initialized the set and
46282 unset commands.
46283 * normal/cmdline.c: Include <pupa/env.h>.
46284 (pupa_tab_complete): Added prototypes for print_simple_completion,
46285 print_partition_completion, add_completion, iterate_commands,
46286 iterate_dev, iterate_part and iterate_dir. Moved code to print
46287 partition information from here to kern/disk.c.
fe6b695a 46288 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46289 * normal/main.c: Include <pupa/env.h>.
46290 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46291 instead of using pupa_dl_get_prefix to get the prefix.
46292 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46293 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46294 warning.
46295 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46296 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46297 ((unused))' to silence a gcc warning.
46298 (pupa_vga_setcolor): Likewise.
46299 (debug_command): Changed to match argument parsing
46300 interface changes.
46301 * util/pupa-emu.c: Include <pupa/env.h>.
46302 (options): Added 0's for unused fields to silence a gcc warning.
46303 (argp): Likewise.
46304 (main): Use the environment variable `prefix' instead of using
46305 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46306 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46307 and terminal.
46308
46309 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46310 * util/misc.c: Include <malloc.h>.
46311 (pupa_malloc): Rewritten so errors are correctly reported.
46312 (pupa_realloc): Likewise.
46313 (pupa_memalign): Likewise.
46314 (pupa_mm_init_region): Declare unused variables with
46315 `__attribute__ ((unused))' to silence a gcc warning.
46316 * normal/i386/setjmp.S: Remove tab at the end of the file to
46317 silence a gcc warning.
46318 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46319 variables with `__attribute__ ((unused))' to silence a gcc
46320 warning.
46321 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46322 local variable i unsigned to silence a gcc warning.
46323
46324 * kern/term.c: Include <pupa/misc.h>.
46325 (pupa_more_lines): New variable.
46326 (pupa_more): Likewise.
46327 (pupa_putcode): When the pager is active pause at the end of every
46328 screen.
46329 (pupa_set_more): New function.
46330 * include/pupa/term.h (pupa_set_more): New prototype.
46331
46332
3b1139cb 463332004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46334
46335 Now this project is GRUB 2 rather than PUPA. The location of
46336 the CVS repository was moved to GRUB's.
f19dbdb7 46337
3b1139cb 46338 * configure.ac: Use bug-grub as the reporting address.
46339 Use GRUB instead of PUPA.
46340 Change the version number to 1.90.
46341
8367695c 463422004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46343
46344 * genkernsyms.sh: Updated copyright information.
46345 * genmk.rb: Likewise.
46346 * genmodsrc.sh: Likewise.
46347 * gensymlist.sh: Likewise.
46348 * boot/i386/pc/boot.S: Likewise.
46349 * boot/i386/pc/diskboot.S: Likewise.
46350 * disk/i386/pc/biosdisk.c: Likewise.
46351 * disk/i386/pc/partition.c: Likewise.
46352 * font/manager.c: Likewise.
46353 * fs/ext2.c: Likewise.
46354 * fs/fat.c: Likewise.
46355 * include/pupa/boot.h: Likewise.
46356 * include/pupa/device.h: Likewise.
46357 * include/pupa/disk.h: Likewise.
46358 * include/pupa/dl.h: Likewise.
46359 * include/pupa/elf.h: Likewise.
46360 * include/pupa/err.h: Likewise.
46361 * include/pupa/file.h: Likewise.
46362 * include/pupa/font.h: Likewise.
46363 * include/pupa/fs.h: Likewise.
46364 * include/pupa/kernel.h: Likewise.
46365 * include/pupa/loader.h: Likewise.
46366 * include/pupa/misc.h: Likewise.
46367 * include/pupa/mm.h: Likewise.
46368 * include/pupa/net.h: Likewise.
46369 * include/pupa/normal.h: Likewise.
46370 * include/pupa/rescue.h: Likewise.
46371 * include/pupa/setjmp.h: Likewise.
46372 * include/pupa/symbol.h: Likewise.
46373 * include/pupa/term.h: Likewise.
46374 * include/pupa/types.h: Likewise.
46375 * include/pupa/i386/setjmp.h: Likewise.
46376 * include/pupa/i386/types.h: Likewise.
46377 * include/pupa/i386/pc/biosdisk.h: Likewise.
46378 * include/pupa/i386/pc/boot.h: Likewise.
46379 * include/pupa/i386/pc/console.h: Likewise.
46380 * include/pupa/i386/pc/init.h: Likewise.
46381 * include/pupa/i386/pc/kernel.h: Likewise.
46382 * include/pupa/i386/pc/linux.h: Likewise.
46383 * include/pupa/i386/pc/loader.h: Likewise.
46384 * include/pupa/i386/pc/memory.h: Likewise.
46385 * include/pupa/i386/pc/multiboot.h: Likewise.
46386 * include/pupa/i386/pc/partition.h: Likewise.
46387 * include/pupa/i386/pc/time.h: Likewise.
46388 * include/pupa/i386/pc/vga.h: Likewise.
46389 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46390 * include/pupa/util/getroot.h: Likewise.
46391 * include/pupa/util/misc.h: Likewise.
46392 * include/pupa/util/resolve.h: Likewise.
46393 * kern/device.c: Likewise.
46394 * kern/disk.c: Likewise.
46395 * kern/dl.c: Likewise.
46396 * kern/err.c: Likewise.
46397 * kern/file.c: Likewise.
46398 * kern/fs.c: Likewise.
46399 * kern/loader.c: Likewise.
46400 * kern/main.c: Likewise.
46401 * kern/misc.c: Likewise.
46402 * kern/mm.c: Likewise.
46403 * kern/rescue.c: Likewise.
46404 * kern/term.c: Likewise.
46405 * kern/i386/dl.c: Likewise.
46406 * kern/i386/pc/init.c: Likewise.
46407 * kern/i386/pc/lzo1x.S: Likewise.
46408 * kern/i386/pc/startup.S: Likewise.
46409 * loader/i386/pc/chainloader.c: Likewise.
46410 * loader/i386/pc/linux.c: Likewise.
46411 * loader/i386/pc/multiboot.c: Likewise.
46412 * normal/cmdline.c: Likewise.
46413 * normal/command.c: Likewise.
46414 * normal/main.c: Likewise.
46415 * normal/menu.c: Likewise.
46416 * normal/i386/setjmp.S: Likewise.
46417 * term/i386/pc/console.c: Likewise.
46418 * term/i386/pc/vga.c: Likewise.
46419 * util/console.c: Likewise.
46420 * util/genmoddep.c: Likewise.
46421 * util/misc.c: Likewise.
46422 * util/pupa-emu.c: Likewise.
46423 * util/resolve.c: Likewise.
46424 * util/unifont2pff.rb: Likewise.
46425 * util/i386/pc/biosdisk.c: Likewise.
46426 * util/i386/pc/getroot.c: Likewise.
46427 * util/i386/pc/pupa-mkimage.c: Likewise.
46428 * util/i386/pc/pupa-setup.c: Likewise.
46429
e6eced71 464302004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46431
46432 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46433 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46434 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46435 reading and reset it after reading.
46436 (pupa_ext2_close): Return PUPA_ERR_NONE.
46437
46438 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46439 Correct value.
46440 (struct linux_kernel_header): Add kernel_version and
46441 initrd_addr_max.
46442 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46443 pupa_file_read succeeds.
46444 (pupa_rescue_cmd_initrd): Implement.
46445
5aded270 464462003-12-03 Marco Gerards <metgerards@student.han.nl>
46447
46448 * fs/ext2.c (pupa_ext2_label): New function.
46449 (pupa_ext2_fs): Added label.
46450 * fs/fat.c (pupa_fat_label): New function.
46451 (pupa_fat_fs): Added label.
46452 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46453
46454 * kern/misc.c (pupa_strndup): New function.
46455 * include/pupa/misc.h (pupa_strndup): New prototype.
46456
46457 * include/pupa/normal.h: Include <pupa/err.h>.
46458 (pupa_set_history): New prototype.
46459 (pupa_iterate_commands): New prototype.
46460 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46461 <pupa/disk.h>, <pupa/file.h>.
46462 (hist_size): New variable.
46463 (hist_lines): Likewise.
46464 (hist_end): Likewise.
46465 (hist_used): Likewise.
46466 (pupa_set_history): New function.
46467 (pupa_history_get): Likewise.
46468 (pupa_history_add): Likewise.
46469 (pupa_history_replace): Likewise.
46470 (pupa_tab_complete): Likewise.
46471 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46472 completion shows partitionnames while completing partitions, this
46473 feature was suggested by Jeff Bailey.
46474 * normal/command.c (pupa_iterate_commands): New function.
46475 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46476 (pupa_normal_init): Initialize history buffer.
46477 (PUPA_MOD_INIT): Likewise.
46478 (pupa_normal_fini): Free the history buffer.
46479 (PUPA_MOD_FINI): Likewise.
46480
46481 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46482 key.
46483
46484 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46485 * configure.ac [i386]: Check for regparam bug.
46486 (NESTED_FUNC_ATTR) [! i386]: Defined.
46487
1f7315a3 464882003-11-17 Marco Gerards <metgerards@student.han.nl>
46489
46490 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46491 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46492 (pupa_emu_SOURCES): New variable.
46493 (pupa_emu_LDFLAGS): Likewise.
46494 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46495 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46496 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46497 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46498 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46499 (pupa_jmp_buf): New typedef.
46500 (pupa_setjmp) [PUPA_UTIL]: New macro.
46501 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46502 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46503 (pupa_refresh): New prototype.
46504 * include/pupa/util/getroot.h: New file.
46505 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46506 it.
46507 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46508 (pupa_rescue_cmd_cat): Likewise.
46509 (pupa_rescue_cmd_ls): Likewise.
46510 (pupa_rescue_cmd_testload): Likewise.
46511 (pupa_rescue_cmd_lsmod): Likewise.
46512 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46513 * normal/menu.c (run_menu): Likewise.
46514 * kern/term.c (pupa_cls): Likewise.
46515 (pupa_refresh): New function.
46516 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46517 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46518 * util/console.c: New file.
f19dbdb7 46519
1f7315a3 46520 * util/i386/pc/getroot.c: New file.
46521 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46522 (pupa_putchar): New function.
46523 (pupa_refresh): Likewise.
46524 (xgetcwd): Function moved to ...
46525 (strip_extra_slashes): Likewise.
46526 (get_prefix): Likewise.
f19dbdb7 46527 * util/i386/pc/getroot.c: ... here.
1f7315a3 46528 (find_root_device): Function moved and renamed to...
46529 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46530 Changed all callers.
46531 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46532 and renamed to...
46533 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46534 Changed all callers.
46535 * util/misc.c (pupa_memalign): New function.
46536 (pupa_mm_init_region): Likewise.
46537 (pupa_register_exported_symbols): Likewise.
46538 (pupa_putchar): Function removed.
46539 * util/pupa-emu.c: New file.
46540
9a5c1ade 465412003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46542
46543 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46544 (_multiboot_mod_SOURCES): New variable.
46545 (_multiboot_mod_CFLAGS): Likewise.
46546 * loader/i386/pc/multiboot.c: New file.
46547 * include/pupa/i386/pc/multiboot.h: Likewise.
46548 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46549 (pupa_multiboot_real_boot): New function.
46550 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46551 (pupa_multiboot_real_boot): New prototype.
46552 (pupa_rescue_cmd_multiboot): Likewise
46553 (pupa_rescue_cmd_module): Likewise.
46554
46555 * kern/loader.c (pupa_loader_set): Continue when
46556 pupa_loader_unload_func() fails.
46557 (pupa_loader_unset): New function.
46558 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46559
46560 * kern/misc.c (pupa_stpcpy): New function.
46561 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46562
8e72a9c0 465632003-11-12 Marco Gerards <metgerards@student.han.nl>
46564
46565 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46566 for available extensions.
46567
46568 * include/pupa/i386/pc/time.h: New file.
46569 * kern/disk.c: Include <pupa/machine/time.h>.
46570 (PUPA_CACHE_TIMEOUT): New macro.
46571 (pupa_last_time): New variable.
46572 (pupa_disk_open): Flush the cache when there was a timeout.
46573 (pupa_disk_close): Reset the timer.
46574 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46575 pupa_currticks.
46576 * util/misc.c: Include <sys/times.h>
46577 (pupa_get_rtc): New function.
46578
c4adbd32 465792003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46580
46581 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46582 as blocks.
46583 (pupa_ext2_get_file_block): Use blocks member.
46584
46585 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46586 first block. Return -1 instead of pupa_errno on error.
46587
bfd30f06 465882003-10-27 Marco Gerards <metgerards@student.han.nl>
46589
46590 * README: In the pupa-mkimage example use _chain instead of chain
46591 and ext2 instead of fat.
46592 * TODO: Replace ext2fs with jfs as an example. Add an item for
46593 adding journal playback for ext2fs.
46594 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46595 (pkgdata_MODULES): Added ext2.mod.
46596 (ext2_mod_SOURCES): New variable.
46597 (ext2_mod_CFLAGS): Likewise.
46598 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46599 * include/pupa/misc.h (pupa_strncpy): New prototype.
46600 (pupa_strcat): Likewise.
46601 (pupa_strncmp): Likewise.
46602 * kern/misc.c (pupa_strcat): Enable function.
46603 (pupa_strncpy): New function.
46604 (pupa_strncmp): Likewise.
46605 * fs/ext2.c: New file.
f19dbdb7 46606
bfd30f06 46607 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46608 when the read failed before retrying.
46609 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46610 (_FILE_OFFSET_BITS): Likewise.
46611 * configure.ac: Added AC_SYS_LARGEFILE.
46612
98d15063 466132003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46614
46615 * genmk.rb (PModule#rule): Make sure to get only symbol names
46616 from the output of nm.
59cad637 46617 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46618
18d9c7cd 466192003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46620
46621 I forgot to check in these changes for a long time. This adds
46622 incomplete support for VGA console, and this is still very
46623 buggy. Also, a lot of consideration is required for I18N,
46624 UNICODE, and VGA font issues. Therefore, assume that this is
46625 such that "better than nothing".
f19dbdb7 46626
18d9c7cd 46627 * font/manager.c: New file.
46628 * include/pupa/font.h: Likewise.
46629 * include/pupa/i386/pc/vga.h: Likewise.
46630 * term/i386/pc/vga.c: Likewise.
46631 * util/unifont2pff.rb: Likewise.
46632
46633 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46634 (pkgdata_MODULES): Added vga.mod and font.mod.
46635 (vga_mod_SOURCES): New variables.
46636 (vga_mod_CFLAGS): Likewise.
46637 (font_mod_SOURCES): Likewise.
46638 (font_mod_CFLAGS): Likewise.
46639
46640 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46641
46642 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 46643 (struct pupa_term): Added init and fini.
18d9c7cd 46644 Changed the argument of putchar to pupa_uint32_t.
46645
46646 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46647 (pupa_console_real_putchar): New prototype.
46648 (pupa_console_putchar): Removed.
46649 (pupa_console_checkkey): Exported.
46650 (pupa_console_getkey): Likewise.
46651
46652 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46653 characters.
46654
46655 * kern/term.c (pupa_term_set_current): Rewritten.
46656 (pupa_putchar): Likewise.
46657 (pupa_putcode): New function.
46658
46659 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46660 (pupa_console_real_putchar): ... this.
46661 (pupa_vga_set_mode): New function.
46662 (pupa_vga_get_font): Likewise.
46663
46664 * normal/command.c: Include pupa/term.h.
46665 (terminal_command): New function.
46666 (pupa_command_init): Register the command "terminal".
46667
46668 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46669 (DISP_UP): Likewise.
46670 (DISP_RIGHT): Likewise.
46671 (DISP_DOWN): Likewise.
46672 (DISP_HLINE): Likewise.
46673 (DISP_VLINE): Likewise.
46674 (DISP_UL): Likewise.
46675 (DISP_UR): Likewise.
46676 (DISP_LL): Likewise.
46677 (DISP_LR): Likewise.
46678
46679 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46680
977329f5 466812003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46682
46683 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46684 FIX. Reverse the path_list.
46685
46686 * include/pupa/normal.h: Export pupa_register_command and
46687 pupa_unregister_command.
46688
46689 * hello/hello.c (pupa_cmd_hello): New module.
46690 * conf/i386-pc.rmk: Added hello.mod.
46691
1f5ab428 466922003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46693
46694 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46695
1f5ab428 46696 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46697 (compress_kernel): New variable.
46698 (generate_image): Heavily modified to support compressing a
46699 large part of the core image.
46700
46701 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46702 leak.
46703 (pupa_util_load_image): New function.
46704
46705 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46706 (pupa_compressed_size): New variable.
46707 (codestart): Enable Gate A20 here.
46708 Decompress the compressed part of the core image.
46709 Rearrange the code to put functions and variables which are
46710 required for initialization in the non-compressed part.
46711 Include lzo1x.S.
46712
46713 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46714 here.
46715
46716 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46717
f19dbdb7 46718 * include/pupa/i386/pc/kernel.h
1f5ab428 46719 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46720 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46721 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46722 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46723 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46724
46725 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46726
46727 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46728 (Utility#rule): Likewise.
46729
46730 * configure.ac: Check if LZO is available.
46731
ce5bf700 467322003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46733
46734 * include/pupa/normal.h: New file.
46735 * include/pupa/setjmp.h: Likewise.
46736 * include/pupa/i386/setjmp.h: Likewise.
46737 * normal/cmdline.c: Likewise.
46738 * normal/command.c: Likewise.
46739 * normal/main.c: Likewise.
46740 * normal/menu.c: Likewise.
46741 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46742
ce5bf700 46743 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46744 (pupa_rescue_cmd_initrd): Likewise.
46745
46746 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46747 Likewise.
46748
46749 * kern/i386/pc/startup.S (translation_table): New variable.
46750 (translate_keycode): New function.
46751 (pupa_console_getkey): Call translate_keycode.
46752
46753 * kern/rescue.c (attempt_normal_mode): New function.
46754 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46755 it failed, print a message.
46756
46757 * kern/mm.c (pupa_real_malloc): Print more information when a
46758 free magic is broken.
46759 (pupa_free): If the first free header is not free actually, set
46760 it to P.
46761
46762 * kern/main.c (pupa_load_normal_mode): Just load the module
46763 "normal".
46764 (pupa_main): Don't print the message
46765 "Entering into rescue mode..." here.
46766
46767 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46768 Declared.
46769 (pupa_rescue_cmd_initrd): Likewise.
46770 (pupa_rescue_cmd_initrd): Likewise.
46771
46772 * include/pupa/symbol.h (FUNCTION): Specify the type.
46773 (VARIABLE): Likewise.
46774
46775 * include/pupa/err.h (pupa_err_t): Added
46776 PUPA_ERR_UNKNOWN_COMMAND.
46777
46778 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46779 (pupa_dl_get_prefix): Likewise.
46780
46781 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46782 Added _chain.mod and _linux.mod instead of chain.mod and
46783 linux.mod.
46784 (chain_mod_SOURCES): Renamed to ...
46785 (_chain_mod_SOURCES): ... this.
46786 (chain_mod_CFLAGS): Renamed to ...
46787 (_chain_mod_CFLAGS): ... this.
46788 (linux_mod_SOURCES): Renamed to ...
46789 (_linux_mod_SOURCES): ... this.
46790 (linux_mod_CFLAGS): Renamed to ...
46791 (_linux_mod_CFLAGS): ... this.
46792 (normal_mod_SOURCES): New variable.
46793 (normal_mod_CFLAGS): Likewise.
46794 (normal_mod_ASFLAGS): Likewise.
46795
467962003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46797
46798 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46799 possible.
46800
fe6b695a 46801 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46802 recursively.
46803 (pupa_dl_unref): Unrefer depending modules recursively.
46804 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46805 a module is unloaded before one depending on that module is
46806 unloaded.
46807 (pupa_dl_unload): Unload depending modules explicitly,
46808 if possible.
46809
c04da074 468102003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46811
46812 * include/pupa/i386/pc/linux.h: New file.
46813 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46814
c04da074 46815 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46816 Removed.
46817 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46818 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46819 of PUPA_CHAINLOADER_BOOT_SECTOR.
46820
46821 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46822 (pupa_linux_prot_size): New variable.
46823 (pupa_linux_tmp_addr): Likewise.
46824 (pupa_linux_real_addr): Likewise.
46825 (pupa_linux_boot_zimage): New function.
46826 (pupa_linux_boot_bzimage): Likewise.
46827
46828 * kern/i386/pc/init.c (struct mem_region): New structure.
46829 (MAX_REGIONS): New macro.
46830 (mem_regions): New variable.
46831 (num_regions): Likewise.
46832 (pupa_os_area_addr): Likewise.
46833 (pupa_os_area_size): Likewise.
46834 (pupa_lower_mem): Likewise.
46835 (pupa_upper_mem): Likewise.
46836 (add_mem_region): New function.
46837 (compact_mem_regions): Likewise.
46838 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46839 the size of the conventional memory and that of so-called upper
46840 memory (before the first memory hole).
46841 Instead of adding each found region to free memory, use
46842 add_mem_region and add them after removing overlaps.
46843 Also, add only 1/4 of the upper memory to free memory. The rest
46844 is used for loading OS images. Maybe this is ad hoc, but this
46845 makes it much easier to relocate OS images when booting.
46846
46847 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46848 (pupa_enter_rescue_mode): Don't register initrd and module.
46849
46850 * kern/mm.c: Include pupa/dl.h.
46851
46852 * kern/main.c: Include pupa/file.h and pupa/device.h.
46853
46854 * kern/loader.c (pupa_loader_load_module_func): Removed.
46855 (pupa_loader_load_module): Likewise.
46856
46857 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46858 ``.o''.
46859
46860 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46861 (pupa_linux_tmp_addr): Likewise.
46862 (pupa_linux_real_addr): Likewise.
46863 (pupa_linux_boot_zimage): Likewise.
46864 (pupa_linux_boot_bzimage): Likewise.
46865
46866 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46867 (pupa_upper_mem): Likewise.
46868 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46869 module is too dangerous.
46870
46871 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46872 (pupa_os_area_size): Likewise.
46873 (pupa_loader_set): Remove the first argument. Loader doesn't
46874 manage modules or initrd any longer.
46875 (pupa_loader_load_module): Removed.
46876
46877 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46878 (linux_mod_SOURCES): New variable.
46879 (linux_mod_CFLAGS): Likewise.
46880
a13f9237 468812003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46882
46883 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46884 the length of a blocklist correctly.
46885
46886 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46887 Use ioctl only if the OS file is a block device.
46888 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46889 not very useful for normal files.
46890
46891 * kern/main.c (pupa_set_root_dev): New function.
46892 (pupa_load_normal_mode): Likewise.
46893 (pupa_main): Call those above.
46894
46895 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46896 pupa_uint16_t.
46897
46898 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46899
a5ffe966 469002003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46901
46902 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46903 (setup): Configure the installed partition information and the
46904 dl prefix.
46905
46906 * loader/i386/pc/chainloader.c (my_mod): New variable.
46907 (pupa_chainloader_unload): New function.
46908 (pupa_rescue_cmd_chainloader): Refer itself.
46909 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46910
46911 * kern/i386/pc/startup.S (install_partition): Removed.
46912 (version_string): Likewise.
46913 (config_file): Likewise.
46914 (pupa_install_dos_part): New variable.
46915 (pupa_install_bsd_part): Likewise.
46916 (pupa_prefix): Likewise.
46917 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46918
46919 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46920 and pupa/misc.h.
46921 (make_install_device): New function.
46922 (pupa_machine_init): Set the dl prefix.
46923
46924 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46925 (buf): Renamed to ...
46926 (linebuf): ... this.
46927 (pupa_rescue_cmd_prefix): New function.
46928 (pupa_rescue_cmd_insmod): Likewise.
46929 (pupa_rescue_cmd_rmmod): Likewise.
46930 (pupa_rescue_cmd_lsmod): Likewise.
46931 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46932 rmmod and lsmod.
46933
46934 * kern/mm.c (pupa_memalign): If failed even after invalidating
46935 disk caches, unload unneeded modules and retry.
46936
46937 * kern/misc.c (pupa_memmove): New function.
46938 (pupa_memcpy): Removed.
46939 (pupa_strcpy): New function.
46940 (pupa_itoa): Made static.
46941
46942 * kern/dl.c (pupa_dl_iterate): New function.
46943 (pupa_dl_ref): Likewise.
46944 (pupa_dl_unref): Likewise.
46945 (pupa_dl_unload): Return if succeeded or not.
46946 (pupa_dl_unload_unneeded): New function.
46947 (pupa_dl_unload_all): Likewise.
46948 (pupa_dl_init): Renamed to ...
46949 (pupa_dl_set_prefix): ... this.
46950 (pupa_dl_get_prefix): New function.
46951
46952 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46953 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46954 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46955 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46956 (pupa_install_dos_part): Declared.
46957 (pupa_install_bsd_part): Likewise.
46958 (pupa_prefix): Likewise.
46959 (pupa_boot_drive): Likewise.
46960
46961 * include/pupa/types.h: Fix a typo.
46962
46963 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46964 pupa_memmove.
46965 (pupa_memmove): Declared.
46966 (pupa_strcpy): Likewise.
46967
46968 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46969 pupa_mod_init takes one argument, its own module.
46970 (pupa_dl_unload_unneeded): Declared.
46971 (pupa_dl_unload_all): Likewise.
46972 (pupa_dl_ref): Likewise.
46973 (pupa_dl_unref): Likewise.
46974 (pupa_dl_iterate): Likewise.
46975 (pupa_dl_init): Renamed to ...
46976 (pupa_dl_set_prefix): ... this.
46977 (pupa_dl_get_prefix): Declared.
46978
46979 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46980 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46981 unloaded.
46982 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46983 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46984
46985 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46986 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46987
012d7999 469882003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46989
46990 * util/i386/pc/pupa-setup.c (setup): Define the internal
46991 function find_first_partition_start at the top level, because GCC
46992 3.0.x cannot compile internal functions in deeper scopes
46993 correctly.
46994 (find_root_device): Use lstat instead of stat.
46995 Don't follow symbolic links.
46996 Fix the path-constructing code.
46997
46998 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46999 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
47000 by a BLKGETSIZE ioctl first, because block devices don't fill
47001 the member st_mode of the structure stat on Linux.
47002 [__linux__] (linux_find_partition): Use a temporary buffer
47003 REAL_DEV for the working space. Copy it to DEV before returning.
47004 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
47005 buffer cache consistent.
47006 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
47007 strncmp. The previous value was merely wrong.
47008 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
47009
47010 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
47011 FAT size is 12. The previous value was merely wrong.
47012
47013 * kern/main.c (pupa_main): Don't split the starting message from
47014 newlines.
47015
47016 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47017 LF, because BIOS goes crazy about character attributes in this
47018 case.
47019
1cc73a62 470202003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47021
47022 * include/i386/pc/util/biosdisk.h: New file.
47023 * util/i386/pc/biosdisk.c: Likewise.
47024 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 47025
1cc73a62 47026 * Makefile.in (INCLUDE_DISTFILES): Added
47027 include/pupa/i386/pc/util/biosdisk.h.
47028 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47029 directory util/i386/pc.
47030 (install-local): Added a rule for sbin_UTILITIES.
47031 (uninstall): Likewise.
47032
47033 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47034
47035 * util/misc.c (xrealloc): New function.
47036 (pupa_malloc): Likewise.
47037 (pupa_free): Likewise.
47038 (pupa_realloc): Likewise.
47039 (pupa_stop): Likewise.
47040 (pupa_putchar): Likewise.
47041
47042 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47043
47044 * include/pupa/util/misc.h (xrealloc): Declared.
47045
47046 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47047 macro.
47048 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47049 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47050
47051 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47052 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47053
47054 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47055 way should be implemented.
47056 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47057
47058 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47059 the size of NAME for safety.
47060 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47061 0x88.
47062
47063 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47064 (pupa_setup_SOURCES): Likewise.
47065
47066 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47067
08b70fe8 470682002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47069
47070 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47071 bunch of pushl's from pusha, because this destroys the return
47072 value.
47073
62ddcc8f 470742002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47075
47076 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47077 This means that any missing prototypes could be fatal. Also, you
47078 must take care when writing assembly code. See the comments at
47079 the beginning of startup.S, for more details.
f19dbdb7 47080
62ddcc8f 47081 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47082 compilation mechanism.
47083 (pupa_chainloader_real_boot): Likewise.
47084 (pupa_biosdisk_rw_int13_extensions): Likewise.
47085 (pupa_biosdisk_rw_standard): Likewise.
47086 (pupa_biosdisk_check_int13_extensions): Likewise.
47087 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47088 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47089 (pupa_get_memsize): Likewise.
47090 (pupa_get_mmap_entry): Likewise.
47091 (pupa_console_putchar): Likewise.
47092 (pupa_console_setcursor): Likewise.
47093 (pupa_getrtsecs): Use pushl instead of push.
47094
47095 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47096 memory instead of the stack for a mmap entry, because some
47097 BIOSes may ignore the maximum size and overflow.
47098
47099 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47100
47101 * genmk.rb (PModule#rule): Compile automatically generated
47102 sources with module-specific CFLAGS as well as other sources.
47103
9962ed99 471042002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47105
47106 * configure.ac: Check ld.
47107 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47108 respectively, before checking endianness and sizes.
47109
47110 * Makefile.in (LD): New variable.
f19dbdb7 47111
abdfc3c5 471122002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47113
47114 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47115
6a161fa9 471162002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47117
47118 * Changelog: New file.
47119