]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
[grub2.git] / ChangeLog
CommitLineData
4dedb13f
VS
12013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
4 sector devices.
5
f8861eaf
CW
62013-01-07 Colin Watson <cjwatson@ubuntu.com>
7
8 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
9 explicitly zeroing elements.
10 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
11 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
12 of elements in a structure already allocated using grub_zalloc.
13 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
14
86065b0a
CW
152013-01-07 Colin Watson <cjwatson@ubuntu.com>
16
17 * docs/grub.texi (grub_cpu): New subsection.
18 (grub_platform): Likewise.
19
c6f1e92f
VS
202013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
23
f797ec85
VS
242013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
27 divisions.
28
033d0b4b
VS
292013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
32 * grub-core/fs/ntfscomp.c: Likewise.
33 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
34 (grub_ntfs_comp): Likewise.
35
21d1b9a0
VS
362013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
39 Rename to ...
40 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
41 of groups_per_block. All users updated.
42
10ca8645
VS
432013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
46 grub_error properly.
47 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
48 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
49
a4c3ed4c
VS
502013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
53 always in /boot/zfs.
54 Reported by: Yuta Satoh.
55
0b716507
YS
562013-01-03 Yuta Satoh <nigoro>
57
58 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
59 ${grub_probe}
60
00c05e22
VS
612013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * configure.ac: Extend -Wno-trampolines to host.
64
dadddb76
VS
652013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
68 entry->len = 0.
69
54ce53ca
CW
702013-01-03 Colin Watson <cjwatson@ubuntu.com>
71
72 * docs/grub.texi (Invoking grub-mkrelpath): New section.
73 (Invoking grub-script-check): Likewise.
74
8912efca
CW
752013-01-03 Colin Watson <cjwatson@ubuntu.com>
76
77 * docs/grub.texi (Invoking grub-mount): New section.
78 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
79
c3fc8394
CW
802013-01-02 Colin Watson <cjwatson@ubuntu.com>
81
82 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
83 test failures, so that a failing unit test correctly causes 'make
84 check' to fail.
85
45d26abb
CW
862013-01-02 Colin Watson <cjwatson@ubuntu.com>
87
88 Fix failing printf test.
89
90 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
91 '$' in the correct order when collecting type information.
92
971dd2c6
CW
932013-01-02 Colin Watson <cjwatson@ubuntu.com>
94
95 * docs/grub.texi (configfile): Explain environment variable
96 handling.
97 (source): New section.
98 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
99
5c67ea6c
CW
1002012-12-31 Colin Watson <cjwatson@ubuntu.com>
101
102 Remove several trivially-unnecessary uses of nested functions.
103
104 * grub-core/commands/i386/pc/sendkey.c
105 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
106 instead of nested.
107 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
108 Rename to ...
109 (legacy_file_getline): ... this.
110 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
111 Likewise.
112 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
113 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
114 to ...
115 (probe_dummy_iter): ... this.
116 * grub-core/kern/i386/coreboot/mmap.c
117 (grub_linuxbios_table_iterate: check_signature): Likewise.
118 * grub-core/kern/parser.c (grub_parser_split_cmdline:
119 check_varstate): Likewise. Mark inline.
120 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
121 an additional parameter.
122 (find_long: fnd_long): Likewise. Pass two additional parameters.
123 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
124 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
125 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
126 Likewise. Rename to ...
127 (grub_cmos_find_port_iter): ... this.
128 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
129 Rename to ...
130 (find_rtc_iter): ... this.
131
132 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
133 function directly into the function body, since it is only called
134 once.
135
33a68ac6
CW
1362012-12-30 Colin Watson <cjwatson@ubuntu.com>
137
138 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
139 __attribute__ ((unused)).
140 * grub-core/video/bochs.c (find_card): Likewise.
141 * grub-core/video/cirrus.c (find_card): Likewise.
142 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
143 * grub-core/video/sis315pro.c (find_card): Likewise.
144 * grub-core/video/sm712.c (find_card): Likewise.
145
608b647a
CW
1462012-12-28 Colin Watson <cjwatson@ubuntu.com>
147
148 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
149 Fixes Savannah bug #37821.
150
fd49ceb3
CW
1512012-12-28 Colin Watson <cjwatson@ubuntu.com>
152
153 Apply program name transformations at build-time rather than at
154 run-time. Fixes Debian bug #696465.
155
156 * acinclude.m4 (grub_TRANSFORM): New macro.
157 * configure.ac: Create output variables with transformed names for
158 most programs.
159 * util/bash-completion.d/grub-completion.bash.in: Use
160 pre-transformed variables for program names.
161 * util/grub-install.in: Likewise.
162 * util/grub-kbdcomp.in: Likewise.
163 * util/grub-mkconfig.in: Likewise.
164 * util/grub-mkconfig_lib.in: Likewise.
165 * util/grub-mknetdir.in: Likewise.
166 * util/grub-mkrescue.in: Likewise.
167 * util/grub-mkstandalone.in: Likewise.
168 * util/grub-reboot.in: Likewise.
169 * util/grub-set-default.in: Likewise.
170 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
171 * tests/util/grub-shell-tester.in: Remove unused assignment.
172 * tests/util/grub-shell.in: Likewise.
173 * util/grub.d/00_header.in: Likewise.
174
7024b3c0
CW
1752012-12-28 Colin Watson <cjwatson@ubuntu.com>
176
177 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
178
179 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
180 HAVE_RAW_DECL_GETS.
181 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
182
e3501b13
VS
1832012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
186 Reported by: Eriks Latosheks <foresterlv>.
187
b40c88a9
VS
1882012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * docs/grub.texi (Network): Update instructions on generating netboot
191 image.
192
ce96d01c
VS
1932012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
196 around device name if necessarry.
197
0f596201
PFS
1982012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
199
200 * util/grub-install.in: Follow the symbolic link parameter added
201 to the file command.
202
600d5bdb
AB
2032012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
204
205 * util/grub-install.in: Remove stale TODO.
206
64ebd2f4
PFS
2072012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
208
209 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
210 dynamic allocation for the bootpath buffer.
211
74b2fe3e
DTB
2122012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
213
214 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
215 window too small.
216
969b804f
VS
2172012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
220 argument rather than font name. All users updated.
221 (grub_gfxterm_set_window): Likewise.
222
b9f5ebd6
VT
2232012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
224
225 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
226 from working.
227
258f43b7
VS
2282012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * util/getroot.c (convert_system_partition_to_system_disk): Support
231 nbd disks.
232
cc1ce5f9
VS
2332012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
236 infinite loop on corrupted FS.
237
e77a16ca
VS
2382012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
239
240 Fix big-endian mtime.
241
242 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
243 together sec and usec.
244 (grub_ufs_dir): Use correct byteswapping for UFS time.
245
d9c48c7b
VS
2462012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
247
248 Support big-endian UFS1.
249
250 * Makefile.util.def (libgrubmods): Add ufs_be.c
251 * grub-core/Makefile.core.def (ufs1_be): New module.
252 * grub-core/fs/ufs_be.c: New file.
253 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
254 the file.
255
2f9f40ba
LL
2562012-11-28 Leif Lindholm <leif.lindholm@arm.com>
257
258 * include/grub/types.h: Fix functionality unaffecting typo in
259 GRUB_TARGET_WORDSIZE conditional macro.
260
48ff0889
PFS
2612012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
262
263 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
264
03711240
GS
2652012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
266
267 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
268 that /netbsd appears first (when it exists).
269
a31b11bd
CJ
2702012-10-12 Christoph Junghans <ottxor@gentoo.org>
271
272 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
273 Fixes Savannah bug #37558.
274
e8a5d5d4
CW
2752012-10-12 Colin Watson <cjwatson@ubuntu.com>
276
277 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
278 description of extract_entries_configfile.
279
2802012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
281
282 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
283 preferred_address.
284 (grub_cmd_linux): Likewise.
285 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
286 preferred_lifetime. Update all users.
287
288c757d
CW
2882012-09-26 Colin Watson <cjwatson@ubuntu.com>
289
290 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
291 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
292
0d35da3f
CW
2932012-09-26 Colin Watson <cjwatson@ubuntu.com>
294
295 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
296 errors from grub-probe to /dev/null, not stdout.
297
b78c3127
VS
2982012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
301 sector 1.
302
473959f0
CW
3032012-09-24 Colin Watson <cjwatson@ubuntu.com>
304
305 * util/grub-install.in: Make the error message if $source_dir
306 doesn't exist more useful.
307
794c8c33
CW
3082012-09-22 Colin Watson <cjwatson@ubuntu.com>
309
310 Fix grub-emu build on FreeBSD.
311
312 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
313 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
314 headers on Linux.
315 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
316 implementation is currently Linux-specific.
317 * util/getroot.c (exec_pipe): Define only on Linux or when either
318 libzfs or libnvpair is unavailable.
319 (find_root_devices_from_poolname): Remove unused path variable.
320
86d08fdb
CW
3212012-09-19 Colin Watson <cjwatson@ubuntu.com>
322
323 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
324 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
325 should fit before end == 63.
326
735abf54
CW
3272012-09-19 Colin Watson <cjwatson@ubuntu.com>
328
329 * util/grub-setup.c (write_rootdev): Remove unused core_img
330 parameter. Update all callers.
331 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
332 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
333 GRUB_SETUP_BIOS.
334
140acd3c
VS
3352012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * util/grub-mkconfig_lib.in (grub_tab): New variable.
338 (grub_add_tab): New function.
339 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
340 * util/grub.d/10_illumos.in: Likewise.
341 * util/grub.d/10_kfreebsd.in: Likewise.
342 * util/grub.d/10_linux.in: Likewise.
343 * util/grub.d/10_netbsd.in: Likewise.
344 * util/grub.d/10_windows.in: Likewise.
345 * util/grub.d/10_xnu.in: Likewise.
346 * util/grub.d/20_linux_xen.in: Likewise.
347 * util/grub.d/30_os-prober.in: Likewise.
348
7ddffdad
VS
3492012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
352 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
353 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
354 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
355 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
356 ieee1275-nocursor.
357 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
358 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
359
4e092454
VS
3602012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
363 le-conversion.
364 Reported by: BURETTE, Bernard.
365
735abf54 3662012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
367
368 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
369 from comment.
370
dfd39dbd
CW
3712012-09-14 Colin Watson <cjwatson@ubuntu.com>
372
373 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
374 IEEE1275 machines. Fixes powerpc-emu compilation.
375 * include/grub/terminfo.h: Likewise.
376
3bfa763c
VS
3772012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
380 a const pointer.
381 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
382 const pointer.
383 (efiemu_set_variable): Make vendor_guid a const pointer.
384
250e475b
VS
3852012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Don't require grub-mkconfig_lib to generate manpages for programs.
388
389 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
390 dependencies, don't add grub-mkconfig_lib.
391 (program): Pass empty adddeps.
392 (script): Pass grub-mkconfig_lib as adddeps.
393
592fd0e4
VS
3942012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
397 * util/getroot.c (grub_find_device): Likewise.
398 (get_mdadm_uuid): Likewise.
399 (grub_util_is_imsm): Likewise.
400 (grub_util_pull_device): Likewise.
401 * util/grub-probe.c (probe): Likewise.
402
801a3027
BG
4032012-09-10 Benoit Gschwind <gschwind>
404
405 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
406 (devs): Add devpath_8.
407
c5052c81
PJ
4082012-09-08 Peter Jones <pjones@redhat.com>
409
410 * grub-core/Makefile.core.def (efifwsetup): New module.
411 * grub-core/commands/efi/efifwsetup.c: New file.
412 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
413 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
414 New define.
415 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
416
8e832f71
JS
4172012-09-05 Jiri Slaby <jslaby@suse.cz>
418
419 * configure.ac: Add SuSe path.
420
f0f55752
CW
4212012-09-05 Colin Watson <cjwatson@ubuntu.com>
422
423 * NEWS: Fix typo.
424
ecadc4c2
CW
4252012-09-05 Colin Watson <cjwatson@ubuntu.com>
426
427 * util/import_gcry.py: Sort cipher_files, to make build system
428 generation more deterministic.
429
64498f25
VS
4302012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
433 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
434 (grub_set_datetime): Likewise.
435
9cc836a2
VS
4362012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
439 warnings.
440
bcfcea01
VS
4412012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
444
a4099485
VS
4452012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
448
265c162a
CW
4492012-09-04 Colin Watson <cjwatson@ubuntu.com>
450
451 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
452 required for checkouts from bzr, but it may be useful for users or
453 distributors wishing to update translations against a tarball
454 distribution, and it can be helpful for the tarball to be a superset
455 of what's in bzr.
456
3d171e95
CW
4572012-09-04 Colin Watson <cjwatson@ubuntu.com>
458
459 * Makefile.am (EXTRA_DIST): Add
460 grub-core/tests/boot/linux.init-mips.S,
461 grub-core/tests/boot/linux.init-ppc.S, and
462 grub-core/tests/boot/linux-ppc.cfg.
463
f2c2503e
CW
4642012-09-04 Colin Watson <cjwatson@ubuntu.com>
465
466 * grub-core/mmap/mips/loongson: Remove empty directory.
467
4682012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
469
470 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
471 gone.
472
ab2163d5
CW
4732012-09-04 Colin Watson <cjwatson@ubuntu.com>
474
475 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
476 grub-sparc64-setup.
477
ce938140
GS
4782012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
479
480 * configure.ac: Strengthen the test for working -nostdinc -isystem.
481
529f58a5
GS
4822012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
483
484 * po/POTFILES.in: Regenerated.
485
16cf79e9
GS
4862012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
487
488 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
489 (NetBSD): New subsection.
490
39b27f1e 4912012-07-22 Ales Nesrsta <starous@volny.cz>
492
493 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
494 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
495
a885261b
VS
4962012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
499 * util/grub.d/10_hurd.in: Add missing quoting.
500 * util/grub.d/10_illumos.in: Likewise.
501 * util/grub.d/10_kfreebsd.in: Likewise.
502 * util/grub.d/10_linux.in: Likewise.
503 * util/grub.d/20_linux_xen.in: Likewise.
504
7bd29c01
VS
5052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
506
507 New command `lsefi'.
508
509 * grub-core/Makefile.core.def (lsefi): New module.
510 * grub-core/commands/efi/lsefi.c: New file.
511 * include/grub/efi/api.h: Add more GUIDs.
512
ac625d8f
VS
5132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
516 (grub_bsd_elf32_hook): Likewise.
517 (grub_bsd_elf64_size_hook): Likewise.
518 (grub_bsd_elf64_hook): Likewise.
519 (grub_bsd_load_elf): Likewise.
520
e73bb801
VS
5212012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
524 if hash function is unavailable.
525 (dec_stream_header): Likewise.
526
e81db8b5
VS
5272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
530 filter state.
531
d187a1c3
VS
5322012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
533
534 Fix coreboot compilation.
535
536 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
537 (grub_vga_text_init_real): ... this.
538 (grub_vga_text_fini): Rename to ...
539 (grub_vga_text_fini_real): ... this.
540
91a05f64
VS
5412012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
544
6af96df7
VS
5452012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/lib/legacy_parse.c: Support clear and testload.
548
4d569e12
VS
5492012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
552
073b57bb
VS
5532012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * grub-core/fs/ext2.c: Experimental support for 64-bit.
556
a706f4cc
VS
5572012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * grub-core/net/tftp.c (ack): Fix endianness problem.
560 (tftp_receive): Likewise.
561 Reported by: Michael Davidsaver.
562
e7850aa9
VS
5632012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * gentpl.py: Make mans depend on grub-mkconfig_lib.
566
5672012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
570 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
571 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
572
35692881
VS
5732012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
576 efi_mmap_size.
577 Reported by: Stuart Hayes.
578
c35fc5bd
VS
5792012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
580
581 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
582
583 * grub-core/Makefile.core.def (mda_text): New module.
584 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
585 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
586 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
587 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
588 here.
589 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
590 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
591 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
592 here.
593 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
594 to ..
595 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
596 ... here
597 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
598 here.
599 * grub-core/term/i386/vga_common.c: Removed.
600 * include/grub/i386/vga_common.h: Likewise.
601 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
602 (grub_vga_cr_bw_read): Likewise.
603 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
604 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
605 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
606 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
607 grub_vga_cr_read/grub_vga_cr_write.
608 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
609
5f91f701
VS
6102012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * configure.ac: Bump version to 2.00.
613 * grub-core/normal/main.c (features): Add feature_200_final.
614
0c4f85f6
VS
6152012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6162012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
617
618 * NEWS: Fix unclarity and language mistakes.
619
f923ad22
VS
6202012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
623 additional size to 3 pages.
624 Reported by: Stuart Hayes.
625
d22029ba
VS
6262012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * NEWS: Add 2.00 entry.
629
58eee08f
VS
6302012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
633 put explicit "/" for empty path.
634 (wildcard_expand): Improve dprintf.
635
c59bdff7
VS
6362012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
639 it's equal to currnode. This can happen with "" symlink.
640
5e6a440a
YB
6412012-06-27 Yves Blusseau <blusseau@zetam.org>
642
643 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
644 echo shell command by printf command.
645
73a68bcb
VS
6462012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
649 the value returned by firmware is the maximal position, not diumension.
650 (grub_terminfo_output_state): Use a more sane fallback.
651
392a603b
VS
6522012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
655
42d0867f
VS
6562012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
659 frequency to 150 MHz.
660
489509f4
VS
6612012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Apple fixes.
664
665 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
666 __APPLE_
667 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
668 definition.
669 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
670
9f3fc883
VS
6712012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
672
673 Handle slash in HFS label.
674
675 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
676 (grub_hfs_dir): Tanslate slash.
677 (grub_hfs_label): Don't translate slash.
678
54853fd7
VS
6792012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
682 network protocol listing since it introduces problematic dependency on
683 net module.
684
4dc02ddf
VS
6852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
688
c50c867d
VS
6892012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
690
691 Init video early on yeeloong to avoid being rebooted by watchdog.
692
693 * grub-core/Makefile.am (gensm712): New target.
694 (sm712_start.S): Likewise.
695 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
696 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
697 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
698 description.
699 * include/grub/vga.h: Move registry definitions to...
700 * include/grub/vgaregs.h: ... here.
701
5f92c8a1
VS
7022012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
705 signedness.
706
e9e6f111
VS
7072012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
710 platforms with firmware disk drivers in the core.
711
754ad9eb
VS
7122012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
713
714 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
715 informative verbose message.
716 (read_lv): Handle 64-bit segment size.
717
315654c2
VS
7182012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
721
fb022c79
VS
7222012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
725 character but still remove trainling spaces.
726 (grub_fat_label): Ignore archive flag.
727
8645f72c
VS
7282012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
731 cast between linux_kernel_header and linux_kernel_params.
732
36498496
VS
7332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
736 type for size.
737 (grub_raid6_recover_func_t): Likewise.
738 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
739 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
740
0b5ea6b8
VS
7412012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
744
650cfcfe
GS
7452012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
746
747 Fix overflow.
748
749 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
750 [__NetBSD__]: Add explicit cast before bitshift.
751
8a4d6a44
VS
7522012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * configure.ac: Bump to 2.00~rc1.
755
2fb97ed3
VS
7562012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
759 half of $a0.
760
1fa097dc
VS
7612012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7622012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
763
764 * docs/grub.texi: Fix search syntax.
765 (Multi-boot manual config): Put msdos rather than GPT example.
766 Grammar corrections.
767
c890ba78
VS
7682012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
771
0f92dca7
VS
7722012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
775
3988c4a0
VS
7762012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
779 message on double free. Put the value of magic in case of mismatch.
780
9e86d4c5
VS
7812012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
782
783 Speed-up video on yeeloong.
784
785 * grub-core/video/sm712.c (framebuffer): Remove render_target and
786 add cached_ptr.
787 (grub_video_sm712_video_fini): Unmap cached_ptr.
788 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
789 (grub_video_sm712_set_active_render_target): Removed.
790 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
791 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
792 sync caches.
793
ed24c312
VS
7942012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
795
796 Avoid flushing the same line multiple times on loongson.
797
798 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
799 Step in 32 bytes and not 1 byte.
800 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
801 Likewise.
802
d1718e7d
VS
8032012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
806 subvolumes.
807
982f1909
VS
8082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
809
810 Implement flow control for http.
811
812 * grub-core/net/http.c (parse_line): Handle response 206.
813 (http_receive): Stall if too many packets are in the queue.
814 (http_establish): Fix range header.
815 (http_seek): Fix double free.
816 (http_close): Likewise.
817 (http_packets_pulled): New function.
818 (grub_http_protocol): Set http_seek
819 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
820 (ack_real): Set window depending on i_stall.
821 (grub_net_send_tcp_packet): Likewise.
822 (grub_net_tcp_stall): New function.
823 (grub_net_tcp_unstall): Likewise.
824 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
825 (grub_net_tcp_unstall): Likewise.
826
bd407d6e
VS
8272012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/net/tftp.c: Decrease stall to 50 packets.
830
c7564b8e
VS
8312012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
834
a3706162
VS
8352012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * tests/util/grub-shell.in: Fix a typo.
838
b27069e0
VS
8392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Implement flow control for tftp.
842
843 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
844 packets but stop only if stop condition is satisfied.
845 (grub_net_fs_read_real): Call packets_pulled after real read. Use
846 `stall' instead of `eof' as stop condition.
847 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
848 (http_err): Likewise.
849 * grub-core/net/tftp.c (ack): Replace the first argument with data
850 instead of socket.
851 (tftp_receive): Stall if too many packets are in wait queue.
852 (tftp_packets_pulled): New function.
853 (grub_tftp_protocol): Set packets_pulled.
854 * include/grub/net.h (grub_net_packets): New field count.
855 (grub_net_put_packet): Increment count.
856 (grub_net_remove_packet): Likewise.
857 (grub_net_app_protocol): New field `packets_pulled'.
858 (grub_net): New field `stall'.
859
6b9cfac6
VS
8602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
863 sync part to handle them.
864
f35abd81
VS
8652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
868 * grub-core/net/drivers/ieee1275/ofnet.c
869 (grub_ieee1275_net_config_real): Likewise.
870
0e7ec820
VS
8712012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
874 the direct route for server/gateway.
875
9d611a31
VS
8762012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
879 IP address to server name since we may not hame the DNS.
880
418f45ab
VS
8812012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
884 freeing random buffer on failure.
885 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
886
44a0efc1
VS
8872012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
890
531e2241
VS
8912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
894 reserved bytes.
895 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
896 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
897 Handle malloc error correctly.
898
cde393c9
VS
8992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
902 blocks.
903
538478d0
VS
9042012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
907 increment.
908
9b55efe0
VS
9092012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
912 none is explicitly specified.
913
9eb832c3
VS
9142012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
917 while reallocating.
918
d6b7c7c9
VS
9192012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
920
921 Respect netmask from bootp/dhcp.
922
923 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
924 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
925 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
926 into ...
927 (grub_net_add_ipv4_local): ... this.
928 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
929 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
930 (grub_net_add_ipv4_local): New proto.
931
67caf9eb
VS
9322012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
935 determining EFI memory map size.
936
43657558
VS
9372012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
940
eb6d0dd3
VS
9412012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
944 when looking for partition separator.
945
31230544
VS
9462012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
949 Escape commas.
950
918a2517
VS
9512012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
952
953 Restructure FAT driver to avoid hook in label reading as it hits a
954 GCC bug.
955
956 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
957 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
958 (grub_fat_iterate_dir): Split into ...
959 (grub_fat_iterate_init): ... this, ...
960 (grub_fat_iterate_fini): ... this, ...
961 (grub_fat_iterate_dir_next): ... and this. All users updated.
962
9f1d654e
VS
9632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
966 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
967 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
968 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
969 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
970 New fields last_key and last_key_time.
971 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
972 extended key-esc into extended key-extended key.
973
52f0f643
VS
9742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Avoid unnecessary memcpy of whole video buffer.
977
978 * grub-core/video/fb/video_fb.c (dirty): New struct.
979 (framebuffer): Add members current_dirty and previous_dirty.
980 (dirty): New function.
981 (grub_video_fb_fill_rect): Update dirty.
982 (common_blitter): Likewise.
983 (grub_video_fb_scroll): Likewise.
984 (doublebuf_blit_update_screen): Copy only dirty part.
985 (doublebuf_pageflipping_update_screen): Likewise.
986 (grub_video_fb_doublebuf_blit_init): Init dirty.
987 (doublebuf_pageflipping_init): Likewise.
988 (grub_video_fb_setup): Likewise.
989
e169a180
VS
9902012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
991
992 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
993 poll rate.
994
48556879
VS
9952012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
996
997 Fix wildcard regexp dot and other special characters handling.
998 Reported by: Robert Mabee.
999
1000 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
1001 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
1002 (split_path): Trigger expansion on '?'.
1003 (unescape): New function.
1004 (wildcard_expand): Unescape parts copied without globbing.
1005 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
1006 (grub_script_arglist_to_argv): Don't unescape expansions.
1007
0494408e
VS
10082012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * include/grub/net.h (grub_net_card): New member txbufsize.
1011 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
1012 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1013 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
1014 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
1015 txbufsize.
1016 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
1017 compatible property to check for macs. Set
1018 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
1019 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
1020 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
1021 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
1022 (send_card_buffer): Use txbuf.
1023 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
1024 nested function out of the parent while on it.
1025
cc35fe8f
VS
10262012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
1029 presence check.
1030 (grub_ieee1275_net_config_real): Fix config pointer.
1031
970a0a09
VS
10322012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
1035 filename parsing to non-block devices.
1036
3e19bf87
VS
10372012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/kern/device.c (grub_device_open): Remove dead code.
1040
c62d1a0c
VS
10412012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
1044 All users updated.
1045
ef76bec3
VS
10462012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
1049 UUID search command even if hints probing failed.
1050
10512012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
1052
1053 * po/POTFILES.in: Regenerated.
1054
70aaf305
VS
10552012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 Speed-up video on fuloong.
1058
1059 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
1060 New function.
1061 (grub_pci_device_unmap_range): Handle non-cached address.
1062 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
1063 add direct_ptr.
1064 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
1065 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
1066 (grub_video_sis315pro_set_active_render_target): Removed.
1067 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
1068 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1069 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1070 sync caches.
1071 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1072 New proto.
1073
10400f0b
VS
10742012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * docs/grub.texi (Multi-boot manual config): New section.
1077
ba67e2c6
VS
10782012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 Avoid slow read-back from VRAM.
1081
1082 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1083 Move from here ...
1084 * grub-core/video/fb/video_fb.c
1085 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1086 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1087 (front_target): Remove front_target. Add pages.
1088 (grub_video_fb_init): Skip setting front_pages.
1089 (grub_video_fb_fini): Likewise.
1090 (doublebuf_blit_update_screen): Use pages.
1091 (grub_video_fb_doublebuf_blit_init): Likewise.
1092 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1093 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1094 (grub_video_fb_setup): Prefer doublebuffing.
1095
377c98cb
VS
10962012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1099 gzio.
1100
eac49cff
VS
11012012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 Add loongson tests.
1104
1105 * tests/util/grub-shell.in: Handle loongson.
1106 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1107 drivers.
1108 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1109 Reboot instead of shutdown if REBOOT is defined.
1110
0321415e
VS
11112012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1114 sized ports since unlike on real hardware qemu supports only 32-bit
1115 regs.
1116
3f2bdd8f
VS
11172012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1120 * util/grub-mkrescue.in: Handle loongson.
1121
29a049c9
VS
11222012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1125 Set is_part appropriately.
1126 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1127 names. Canonicalize partition without full disk.
1128
4abde346
VS
11292012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 Revert usb-quiesce since it's wrong.
1132
1133 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1134 (grub_ofdisk_init): Don't do quiesce.
1135
61f1d93b
VS
11362012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1139 PowerMac workaround to Xserves as well.
1140 Information supplied by: Benjamin Herrenschmidt.
1141
a09eb541
VS
11422012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 Don't assume that beginning address is also the entry point on ppc.
1145
1146 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1147 (grub_linux_boot): Use linux_entry.
1148 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1149 (grub_linux_load64): Likewise.
1150
505b3c9b
VS
11512012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1154
cbe0b4ef
VS
11552012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1158 needlessly lose the console.
1159
3006e981
VS
11602012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1163 space.
1164
4e5a96b0
VS
11652012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1166
7da036bb
VS
1167 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1168 than current grub_get_rtc() not implemented when booted with
1169 coreboot without TSC.
1170
1171 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1172 Add machine/time.h to kernel headers on loongson.
1173 * grub-core/Makefile.core.def (kernel): Remove
1174 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1175 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1176 (grub_get_rtc): Likewise.
1177 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1178 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1179 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1180 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1181 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1182 rather than installing known non-working time source.
1183 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1184 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1185 * include/grub/time.h: Don't include machine/time.h.
1186 * include/grub/efi/time.h: Removed.
1187 * include/grub/i386/efi/time.h: Likewise.
1188 * include/grub/i386/ieee1275/time.h: Likewise.
1189 * include/grub/powerpc/ieee1275/time.h: Likewise.
1190 * include/grub/sparc64/ieee1275/time.h: Likewise.
1191 * include/grub/x86_64/efi/time.h: Likewise.
1192
11932012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1196
1197 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1198 value.
1199 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1200 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1201 with dotless variants when any combining above is present.
1202
5561c22d
VS
12032012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1206 text and not binary.
1207
96f7e60e
VS
12082012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 Stop polling as soon as we have the packet we were waiting for.
1211
1212 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1213 All users updated.
1214 * grub-core/net/arp.c (have_pending): New var.
1215 (pending_req): Likewise.
1216 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1217 stop indicator.
1218 (grub_net_arp_receive): Set have_pending.
1219 * grub-core/net/dns.c (recv_data): New field stop.
1220 (recv_hook): Set stop.
1221 (grub_net_dns_lookup): Init stop and use as stop condition.
1222 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1223 condition.
1224 * grub-core/net/net.c (grub_net_poll_cards): New argument
1225 stop_condition. Stop when it goes true.
1226 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1227 indicator.
1228 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1229
3e747239
VS
12302012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Keep TX and RX buffers on EFI rather than always allocate new ones.
1233
1234 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1235 card. All users updated.
1236 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1237 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1238 (get_card_packet): Likewise.
1239 (grub_efinet_findcards): Init new fields.
1240
f695e99a
VS
12412012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1244 compilation error on sparc64.
1245
9e5e66d1
VS
12462012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Use ITC on IA64 rather than broken routine based on daytime.
1249
1250 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1251 ia64.
1252 (grub_get_rtc) [__ia64__]: Likewise.
1253 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1254 (get_itc): New function.
1255 (grub_rtc_get_time_ms): Likewise.
1256 (grub_machine_init): Calibrate ITC.
1257 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1258 Keep only on non-ia64. Don't export since it's broken and used only
1259 if TSC is unavailable.
1260
a1767404
VS
12612012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1264 even if it's used.
1265 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1266 Skip if parent is unused.
1267
34b2bced
VS
12682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1271
5e619f40
VS
12722012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 Fix wildcard escaping.
1275
1276 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1277 * grub-core/script/execute.c (wildcard_escape): .. to here.
1278 Don't escape dot.
1279 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1280 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1281 Don't escape dot.
1282 * grub-core/script/execute.c (gettext_append): Always escape.
1283 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1284 * grub-core/script/yylex.l: Don't cut away the escaping.
1285 * tests/grub_script_echo1.in: Add tests with wildcard.
1286
c8ca5855
VS
12872012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1290 (ftdi_hw_configure): Likewise.
1291 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1292 define.
1293 (real_config): Handle 1.5 stop bits.
1294 (pl2303_hw_configure): Likewise.
1295
7183452c
VS
12962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * Makefile.am: Add ppc linux bootcheck.
1299 * grub-core/tests/boot/linux-ppc.cfg: New file.
1300 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1301
f57c84cd
VS
13022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * tests/grub_script_expansion.in: Skip network protocols.
1305
ecfc6207
VS
13062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1309
8d03d284
VS
13102012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1313 --rom-directory.
1314 Add -graft-points.
1315
61c42af0
VS
13162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 ESCC serial driver for conducting sautomated tests in qemu.
1319 Not tested on real hardware.
1320
1321 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1322 * grub-core/term/ieee1275/escc.c: New file.
1323 * grub-core/Makefile.core.def (escc): New module.
1324
08fd1291
VS
13252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1328 invalid on error.
1329 (serial_hw_fetch): Don't read invalid handle.
1330 (serial_hw_put): Don't write into invalid handle.
1331
08dafeea
VS
13322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 Add a 1.5 stop bits value.
1335
1336 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1337 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1338 GRUB_SERIAL_STOP_BITS_1_5.
1339
9068fdcf
VS
13402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1343 value rather than let it uninited.
1344
f4d5820f
VS
13452012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/commands/wildcard.c (+check_file): New function.
1348 (wildcard_expand): Don't expand to non-existing files, expand with
1349 suffix and not attempt to expand if not needed.
1350
3d2de9a7
VS
13512012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1354 out of partitions containing other partitions.
1355
c5c81ff9
VS
13562012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1359 on some qemu versions with GRUB.
1360
1361 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1362 define.
1363 (grub_openbsd_bootarg_pcibios): New struct.
1364 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1365 Add PCIINFO.
1366
08a14e0b
VS
13672012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * tests/util/grub-shell.in: Trim firmware output on EFI.
1370
cede3ca3
VS
13712012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1374 and coreboot since it's already in kernel.
1375
558d3a60
VS
13762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1379 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1380 to here. New return value start. All users updated.
1381 Recursively scan linear mappings.
1382 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1383 proto.
1384 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1385 Use grub_util_get_dm_node_linear_info.
1386 * util/getroot.c (convert_system_partition_to_system_disk): Use
1387 grub_util_info rather than grub_dprintf.
1388 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1389
60fde14d
VS
13902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1393
1394 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1395 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1396
24bd8838
VS
13972012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * include/grub/types.h (grub_set_unaligned64): New function.
1400 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1401 (setup): Likewise.
1402
7bc06a49
VS
14032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1406 (grub_ofdisk_fini): Quiesce USB devices.
1407
49cea015
VS
14082012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1411 caches.
1412
8dcbe03b
VS
14132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1416
5b258735
VS
14172012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/disk/pata.c (grub_pata_pio_read)
1420 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1421 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1422
37ba07eb
VS
14232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Extend automated tests to qemu-mips.
1426
1427 * Makefile.am: reorganise tests and enable qemu-mips.
1428 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1429 * grub-core/tests/boot/linux.init-mips.S: New file.
1430 * tests/partmap_test.in: Handle ata0 disks.
1431 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1432 non-pc i386.
1433
070038f8
VS
14342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1437 ia64.
1438 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1439 quotes while on it.
1440
004be2cd
VS
14412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1444 (grub_halt): Likewise.
1445 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1446
b1622487
VS
14472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/term/serial.c (grub_serial_register)
1450 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1451 the behaviour in line with x86 platforms.
1452
b7b4ab33
VS
14532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1456 (grub_ata_strncpy): Likewise.
1457 (grub_ata_identify): Add missing byteswaps.
1458
5e3535ae
VS
14592012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1462 byte-swap.
1463 (screen_read_char): Likewise.
1464 (grub_vga_text_cls): Likewise.
1465
c21b17e6
VS
14662012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1469 filenames.
1470 (make_file_path): Likewise.
1471
bf293dec
VS
14722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1475 machines.
1476 Tested by: Paulo Flabiano Smorigo.
1477 Crucial information about API supplied by: Coleen <Last name unknown>.
1478 Reviewed by: Coleen <Last name unknown>.
1479
81f6ef0e
VS
14802012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * util/grub-mkimage.c: Disable -Wcast-align.
1483
7284143a
VS
14842012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1487 as they are fatal.
1488
b99f3e00
VS
14892012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1492
944f752d
VS
14932012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * util/grub-probe.c (escape_of_path): Fix double free.
1496
6cce6f38
VS
14972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/commands/videoinfo.c (hook): Show pitch.
1500
1e1eb50e
VS
15012012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1504
1c715b5a
VS
15052012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1508 (probe): Add ieee1275 to OFW devices.
1509
007ae52d
VS
15102012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1513
4557a36d
VS
15142012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 Handle IBM OFW path.
1517
1518 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1519 available.
1520 (of_path_of_scsi): Handle vdevice.
1521
efbeefe9
VS
15222012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1525 Allocate in multiples of 16 to avoid adding a few bytes free region the
1526 windows bugs upon.
1527
15a940bb
VS
15282012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1531 Allocate in multiples of 16 to avoid adding a few bytes free region the
1532 windows bugs upon.
1533 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1534
6e5efd60
VS
15352012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1538 resolutions.
1539 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1540 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1541
0d3d137e
IS
15422012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1543
1544 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1545
45dbe300
VS
15462012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1549 resulted in \\ at the end of the line.
1550
6d8db947
VS
15512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1554 (grub_parser_cmdline_state): Likewise.
1555 (grub_parser_split_cmdline): Likewise.
1556
de89d338
VS
15572012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1560 /dev/root and /dev/dm-*.
1561
00d41dee
VS
15622012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1565 fix partially stale display.
1566
f95d1f11
VS
15672012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1570 substraction.
1571
6297e197
VS
15722012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1575 Fix MBR remapping workaround.
1576 (grub_util_biosdisk_read) [__linux__]: Likewise.
1577
8a7ecad3
VS
15782012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1581
2b34f944
VS
15822012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * configure.ac: Bump to beta6.
1585
684aef11
CW
15862012-05-31 Christer Weinigel <christer@weinigel.se>
1587
1588 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1589
05b0bb91
VS
15902012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1593 (grub_cmd_linux): Likewise.
1594
bda36bfa
CW
15952012-05-31 Christer Weinigel <christer@weinigel.se>
1596
1597 Fix EHCI low-speed.
1598
1599 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1600 (GRUB_EHCI_MULT_TWO): Likewise.
1601 (GRUB_EHCI_MULT_THREE): Likewise.
1602 (GRUB_EHCI_CMASK_MASK): New enum value.
1603 (GRUB_EHCI_SMASK_MASK): Likewise.
1604 (GRUB_EHCI_CMASK_OFF): Likewise.
1605 (GRUB_EHCI_SMASK_OFF): Likewise.
1606 (grub_ehci_pci_iter): Enable periodic schedule.
1607 (grub_ehci_parse_notrun): Likewise.
1608 (grub_ehci_restore_hw): Likewise.
1609 (grub_ehci_setup_qh): Set flags for low speed transfers.
1610 (grub_ehci_find_qh): Use periodic list for low speed.
1611 (grub_ehci_setup_transfer): Check periodic queue as well.
1612 (grub_ehci_check_transfer): Likewise.
1613 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1614
e12bcb1c
PFS
16152012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1616
1617 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1618 parameter is used.
1619
bcc75fb3
PJ
16202012-05-31 Peter Jones <pjones@redhat.com>
1621
1622 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1623 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1624 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1625
f19cb95e
VS
16262012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1629 uninited variable. Allocate at least setup_sects.
1630
a4e5ca80
VS
16312012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 Fix handling of EFI with big memory maps.
1634
1635 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1636 (real_mode_mem): Likewise.
1637 (real_mode_target): Likewise.
1638 (real_mode_pages): Likewise.
1639 (prot_mode_pages): Likewise.
1640 (linux_params): New var.
1641 (linux_cmdline): Likewise.
1642 (free_pages): Don't set real mode variables.
1643 (allocate_pages): Don't allocate real mode memory.
1644 (grub_e820_add_region): Remove the limit.
1645 (grub_linux_boot): Allocate and copy real mode memory.
1646 (grub_linux_unload): Free linux_cmdline.
1647 (grub_cmd_linux): Use temporary storage for parameters.
1648 (grub_cmd_initrd): Likewise.
1649 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1650 (linux_kernel_params): Make it 1K big.
1651
ddb73558
VS
16522012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * Makefile.util.def: Remove -Wno-format.
1655 * grub-core/Makefile.core.def: Likewise.
1656
1c4afb60
VS
16572012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * tests/cmp_unit_test.c: Add missing failure message.
1660 * tests/example_unit_test.c: Likewise.
1661 * tests/printf_unit_test.c: Likewise.
1662
941e3a6d
VS
16632012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1666 relaxation of protective MBR requirements.
1667
b105df76
VS
16682012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * configure.ac: Add condition for COND_HOST_XNU.
1671 * Makefile.util.def (10_xnu): New script.
1672 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1673
84e1569e
VS
16742012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1677 objconv bug.
1678
130c0f77
VS
16792012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1682 Binary on other platforms stays identical.
1683
6fd0b143
VS
16842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1687 Apple.
1688
0af1751d
VS
16892012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1692
176d5f7d
VS
16932012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1696 rather than defining size_t ourselves to avoid conflict.
1697
7de5e20a
VS
16982012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1701 initialisation to avoid __bzero reference.
1702
f7143efe
VS
17032012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1706 version.
1707 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1708 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1709 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1710 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1711 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1712
e6ad0555
VS
17132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1716 * grub-core/kern/misc.c: Likewise.
1717 * grub-core/loader/i386/xnu.c: Likewise.
1718 * include/grub/i386/tsc.h: Likewise.
1719 * include/grub/symbol.h: Likewise.
1720
4a5a3c4a
VS
17212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1724 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1725 on older compiler.
1726
037f6d90
VS
17272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1730 Implement Apple flavour.
1731 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1732
f7194551
VS
17332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1736 (memmove) [__APPLE__]: Likewise.
1737 (memcpy) [__APPLE__]: Likewise.
1738 (memset) [__APPLE__]: Likewise.
1739 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1740 (memmove) [__APPLE__]: Likewise.
1741 (memcpy) [__APPLE__]: Likewise.
1742 (memset) [__APPLE__]: Likewise.
1743
85a730ca
VS
17442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1747 dependency discard.
1748
40e80b94
VS
17492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/normal/main.c (read_config_file): Provide config_file and
1752 config_directory.
1753 * util/grub.d/41_custom.in: Use config_directoy when available.
1754
9da59c32
VS
17552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1758 (grub_bfs_dir): Likewise.
1759
2787ae53
PJ
17602012-05-27 Peter Jones <pjones@redhat.com>
1761
1762 The old code gives arguments to a printf function which can't work
1763 correctly, and the compiler complains.
1764
1765 * grub-core/tests/example_functional_test.c (example_test): Add
1766 missing text.
1767 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1768 * include/grub/test.h (grub_test_assert_helper): New declaration.
1769 (grub_test_assert): Use grub_test_assert_helper.
1770
526ef13d
VS
17712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1774 (exfctest): ... this to avoid overlong filenames.
1775 All users updated.
1776
20dd511c
VS
17772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 Handle "." and ".." on squashfs.
1780
1781 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1782 Make inode numbers into stack.
1783 (grub_squash_read_symlink): Use stack.
1784 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1785 (make_root_node): Fill stack.
1786 (grub_squash_open): Use stack.
1787
1d80c62a
VS
17882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1791 freeing.
1792
d336f652
VS
17932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1796 stderr on test calls.
1797
8b43f587
VS
17982012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1801
80a3dc3f
VS
18022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1805
47e297d4
VS
18062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1809 "..".
1810
df042ccb
VS
18112012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1814 (grub_hfsplus_iterate_dir): Add "." and "..".
1815
fc977f48
VS
18162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1819 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1820
f3250e5f
VS
18212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1824 (find_path): Handle "." and "..".
1825
fd8ed4c5
VS
18262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1829 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1830 (grub_affs_iterate_dir): Handle hardlinks.
1831
4ce776d2
MG
18322012-05-26 Matthew Garrett <mjg@redhat.com>
1833
1834 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1835 (grub_efi_console_fini): Likewise.
1836 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1837 (grub_video_gop_fill_mode_info): Rename to ...
1838 (grub_video_gop_fill_real_mode_info): ... this.
1839 (grub_video_gop_fill_mode_info): New function.
1840 (grub_video_gop_setup): Setup double framebuffer.
1841 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1842 Free offscreen.
1843 (grub_video_gop_swap_buffers): Copy framebuffer.
1844 (grub_video_gop_fini): Free offscreen buffer.
1845 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1846 New enum.
1847 (grub_efi_gop_blt_pixel): New struct.
1848
683031ba
VS
18492012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * gentpl.py: Remove error disabling for objconv.
1852
c2deb798
VS
18532012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * configure.ac: Remove -Wunitialized as it's not available on older
1856 compilers.
1857
18582012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1859
1860 Fix extent overflow comparator.
1861
1862 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1863 (grub_hfsplus_read_block): Set type.
1864 (grub_hfsplus_cmp_extkey): Compare type.
1865
d6b1fd36
VS
18662012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1869
0a9aa0f6
VS
18702012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1873 than 0.
1874
8360e159
VS
18752012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1878 (dejavu_bold_14.pf2): New target.
1879
501b9e4b
VS
18802012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * configure.ac: Fix djvu font detection.
1883
7026b0e2
VS
18842012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1887 ext* instead of ext2.
1888
c2a51ade
VS
18892012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1892 name with \0.
1893
8f803a5d
JU
18942012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1895
1896 * docs/grub-dev.texi: Remove dot from .png.
1897
13c6353f
VS
18982012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1901 protective entry in any slot.
1902 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1903 if protective entry is found in any slot.
1904
1905 Protective entry in non-first slot make no sense but is a widespread
1906 brain damage.
1907
4cf6be1b
VS
19082012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1911
937d1c44
VS
19122012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1915 with old reiserfs.
1916 (grub_reiserfs_open): Don't free root.
1917
021d90ec
VS
19182012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1921 after freeing for safety.
1922
967b2b64
VS
19232012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1926 Reported by: Jordan Uggla.
1927
34274d02
JU
19282012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1929
967b2b64
VS
1930 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1931 actual implementation. Specifically, clarify that the grub menu will
1932 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1933 passed.
34274d02 1934
dcaaae9d
BH
19352012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1936
1937 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1938 of r0.
1939
7086ad52
VS
19402012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 Remove unjustified hard dependency of normal.mod on gfxterm.
1943
1944 * include/grub/term.h (grub_term_output): New member fullscreen.
1945 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1946 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1947 (grub_gfxterm): Set .fullscreen.
1948 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1949 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1950
37ed2c9b
VS
19512012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1954 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1955 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1956
a4469c88
VS
19572012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1960
4e461486
VS
19612012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1964 a bad FS.
1965
aa78f5c4
VS
19662012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1969 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1970
197626b5
VS
19712012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1974 (grub_jfs_mount): Fill caseins.
1975 (grub_jfs_find_file): Respect caseins.
1976
8ad3f28c
VS
19772012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1980 through UTF-16.
1981
0c6c324e
VS
19822012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1985 New argument origpath. All users updated.
1986
c6666ba6
VS
19872012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1990 (read_attr): Ensure that we read start of possibly compressed block.
1991
e28e5fe5
VS
19922012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1995 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1996 All users updated.
1997
5fc23ab2
VS
19982012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
2001 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
2002 (dejavu.pf2): Replace with ...
2003 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
2004 this.
2005
79dbc21c
VS
20062012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 * util/grub.d/20_linux_xen.in: Add missing line.
2009
d2fcfb0c
VS
20102012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
2013 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
2014 (grub_utf16_to_utf8): Likewise.
2015
5560e9d6
VS
20162012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
2019 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
2020 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2021 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
2022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2023 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2024
20252012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
2026
2027 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
2028 a bad FS.
2029
5560e9d6 20302012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
2031
2032 * grub-core/fs/udf.c (read_string): Bail out on size=0.
2033 (grub_udf_read_symlink): Handle read_string failure.
2034
5eae3175
VS
20352012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
2038 comment.
2039
c1ad82db
VS
20402012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Fix handling of UDF symlinks.
2043
2044 * grub-core/fs/udf.c (read_string): New argument outbuf.
2045 All users updated.
2046 (grub_ufs_read_symlink): Rename to ...
2047 (grub_udf_read_symlink): ... this. All users updated.
2048 Handle symlinks with more than one component.
2049
33eca6e0
VS
20502012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
2053 symlinks. Replace leading colon with a slash.
2054
57f4a70b
VS
20552012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
2058 filename.
2059
38c8ee20
VS
20602012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
2063 match in inner node.
2064
2e57f28f
VS
20652012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
2068 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2069 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2070 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2071 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2072 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2073 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2074 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2075 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2076
fe8c2f11
VS
20772012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 Use grub-probe and not cmp to check that disk is empty.
2080
2081 * util/grub-install.in: Use grub-probe for zero-check.
2082 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2083 (probe): Handle PRINT_ZERO_CHECK.
2084 (argp_parser): Handle -t zero_check.
2085
20862012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2087
2088 Flush block cache on adding disk to device map.
2089
2090 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2091 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2092 adding.
2093 (read_device_map): Likewise.
2094 (open_device): Flush on opening.
2095
690434e8
VS
20962012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2099 (handle_symlink): Fix off-by-one error.
2100 Canonicalize the target.
2101 (grub_cpio_dir): Canonicalize the name.
2102 Fix memory leak.
2103 Set directory.
2104 (grub_cpio_open): Canonicalize the name.
2105
742d2be6
VS
21062012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2109 handling.
2110
3244fe96
VS
21112012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2114 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2115
8aeb1837
VS
21162012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2119 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2120 All users updated.
8aeb1837 2121
9133fd05
VS
21222012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2125 counterpart.
2126
6d521c5b
VS
21272012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 Fix UFS1 big file support.
2130
2131 * grub-core/fs/ufs.c (INODE): Removed.
2132 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2133 64-bit.
2134 (INODE_MODE): Simplify.
2135 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2136 (grub_ufs_lookup_symlink): Don't use INODE.
2137
21b82e17
VS
21382012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2141
2142 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2143 (grub_minix_data): Replace log_block_size with block_size.
2144 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2145 (grub_minix_mount): Fill block_size.
2146
21472012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2148
2149 * configure.ac: Bump to beta5.
2150
f417ed04
VS
21512012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 Fix wrapped HFS+ handling.
2154
2155 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2156 blocks_start. All users updated.
2157 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2158 wrapping offset.
2159 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2160
607d282b
VS
21612012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Fix long symlinks on reiserfs.
2164
2165 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2166 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2167 (grub_reiserfs_iterate_dir): Save size for non-directories.
2168 (grub_reiserfs_open): Don't reread stat block as we already know the
2169 size.
2170 (grub_reiserfs_read): Split into...
2171 (grub_reiserfs_read_real): ... and ...
2172 (grub_reiserfs_read): ...this.
2173
ae16024d
VS
21742012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 Fix non-indexed JFS.
2177
2178 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2179 (grub_jfs_data): New field namecomponentlen.
2180 (grub_jfs_mount): Fill namecomponentlen.
2181 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2182
eea1e26e
VS
21832012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2186 * tests/grub_script_echo1.in: Add tests.
2187
df760f77
VS
21882012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * util/grub-install.in: Ignore empty devicetree directory.
2191
5efb817d
B
21922012-05-08 Bean <bean123ch@gmail.com>
2193
2194 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2195 All users updated.
2196 (free_rsm): Free header as well.
2197 (free_old_fragments): Fix memory leak.
2198 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2199 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2200 (destroy_pq): Likewise.
2201 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2202
668ea6d2
VS
22032012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2206 resulting hash as a precaution.
2207
1739b1fe
VS
22082012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2211 '_' in variable names.
2212 * grub-core/net/net.c (grub_net_network_level_interface_register):
2213 Likewise.
2214
6ae485aa
VS
22152012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Fix AFFS with non-512B blocks.
2218
2219 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2220 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2221 (grub_affs_data): Replace blocksize with log_blocksize.
2222 (grub_affs_read_block): Fix non-512B blocks.
2223 (grub_affs_read_symlink): Likewise.
2224 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2225 (grub_affs_read): Fix non-512B blocks.
2226 (grub_affs_label): Likewise.
2227 (grub_affs_mtime): Likewise.
2228 (grub_affs_mount): Fix block detection routine.
2229
d20fab84
VS
22302012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 Add filesystem mtime to AFFS.
2233
2234 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2235 (aftime2ctime): New function.
2236 (grub_affs_dir): Use aftime2ctime.
2237 (grub_affs_label): Fix return value.
2238 (grub_affs_mtime): New function.
2239 (grub_affs_fs): Add mtime.
2240
e87b10f5
VS
22412012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2244 UTF-8.
2245
7dceec9b
VS
22462012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2249 UTF-8.
2250
2f48221f
VS
22512012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2254
dacd85cf
VS
22552012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2258 flags.
2259 (FLAGS_CASE_SENSITIVE): New enum value.
2260 (cache_entry): New struct.
2261 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2262 cache_size and cache.
2263 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2264 Add log_blocksize and fshelp_flags.
2265 (grub_sfs_read_extent): Handle non-512 blocks.
2266 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2267 (grub_sfs_read_file): Handle non-512 blocks.
2268 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2269 fshelp_flags.
2270 (grub_sfs_read_symlink): Handle non-512 blocks.
2271 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2272 (grub_sfs_dir): Free cache.
2273 (grub_sfs_close): Likewise.
2274
24e9a854
VS
22752012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2278 filesystems.
2279
62ace64d
VS
22802012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2283
83b2e89c
VS
22842012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2287
75ccaea3
VS
22882012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2291 (grub_sfs_read_extent): Likewise.
2292 (grub_sfs_read_block): Likewise.
2293 (grub_sfs_mount): Likewise.
2294 (grub_sfs_iterate_dir): Likewise.
2295 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2296 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2297
1b8463f2
VS
22982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 Fix errors on compressed NTFS with 512B clusters.
2301
2302 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2303 types.
2304 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2305 not 0.
2306 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2307 Relax check for inline extents.
2308 (ntfscomp): Return correct -1 on error and not 0.
2309
4f8e368f
VS
23102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * util/grub-install.in: Fix handling of prefix containing spaces.
2313
6f5d5ee8
VS
23142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2317 (grub_squash_read_data): Fix offset byte-swapping.
2318
ce41ab7a
VS
23192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2322 per common usage and preffered in several parts of code.
2323 (grub_memcmp): Likewise.
2324 (grub_strncmp): Likewise.
2325 * include/grub/misc.h (grub_strcasecmp): Likewise.
2326 (grub_strncasecmp): Likewise.
2327 * Makefile.util.def (cmp_test): New test.
2328 (grub_script_strcmp): Likewise.
2329 * tests/cmp_unit_test.c: New file.
2330 * tests/grub_script_strcmp.in: Likewise.
2331 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2332
49717bf4
VS
23332012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * include/grub/pci.h: Move enums into no-asm part.
2336
0a308f64
VS
23372012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2340
1796965f
ST
23412012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2342
2343 * util/getroot.c (find_hurd_root_device): Try to make error message
2344 and comments to translators clearer.
2345
4e9b2819
VS
23462012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2349
076aeb50
VS
23502012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2353 btrfs.
2354
19424d94
VS
23552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * docs/grub.cfg: Update.
2358
ebb73076
VS
23592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * docs/grub.texi (PXE): Remove not present variables.
2362
9a1b669c
VS
23632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/net/net.c (defserver_set_env): New function.
2366 (defserver_get_env): Likewise.
2367 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2368
d38bf7d3
VS
23692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2372 entries.
2373
23742012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2375
2376 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2377 * grub-core/kern/emu/hostdisk.c: Likewise.
2378
e5e4ca48
ST
23792012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2380
2381 Handle hurd userspace partitions.
2382
2383 * util/getroot.c (find_hurd_root_device): New function.
2384 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2385
56bb5dd5
VS
23862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2389 names.
2390 Reported by: Bastian Blank.
2391
9e8bc27a
VS
23922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2395 crossing page boundary.
2396
aa01499d
VS
23972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 Fix B-tree search in BFS, especially in presence of non-ASCII
2400 characters.
2401
2402 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2403 (find_in_b_tree): Use standard bsearch + btree algorithm.
2404
57006035
VS
24052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2408 and so on.
2409
9d34bb85
MG
24102012-05-03 Matthew Garrett <mjg@redhat.com>
24112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 Suspend broadcom cards in order to stop their DMA.
2414
2415 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2416 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2417 (pci): Don't build on x86 EFI.
2418 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2419 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2420 New function.
2421 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2422 stop_broadcom if running on EFI.
2423 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2424 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2425 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2426 (grub_pci_find_capability): New proto.
2427
01aab997
VS
24282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * docs/grub.texi: Remove dot from the extension as it apparently
2431 doesn't work with some makeinfo versions.
2432
fbd8dca6
VS
24332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2436 with GRUB expectance.
2437
dab797f4
VS
24382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2441
1516bfb4
VS
24422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2445 zero after directory block since last entry may be not 0-terminated if
2446 it ends on block boundary. Use continue instead of if spanning whole
2447 loop.
2448
a3a0eace
VS
24492012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Support 4K sectors UDF inline files.
2452
2453 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2454 (grub_udf_extended_file_entry): Likewise.
2455 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2456 All users updated.
2457 (get_fshelp_size): New function.
2458 (grub_udf_read_icb): Read whole block.
2459 (grub_udf_iterate_dir): Likewise.
2460 (grub_udf_dir): Likewise.
2461 (grub_udf_open): Likewise.
2462
c82f16c1
VS
24632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2466
59fd2aac
VS
24672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2470 inline symlinks in addition to workaround.
2471
3b4afb4d
VS
24722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2475
f45c794a
VS
24762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2479
f25cecbd
VS
24802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2483
bb9a34e8
VS
24842012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Fix reiserfs big seek times.
2487
2488 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2489 exact. All users updated.
2490 (grub_reiserfs_read): Use nearest btree search for seeking.
2491 Fix return value on error.
2492
dc478aea
VS
24932012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2496 entries.
2497 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2498 * docs/grub.texi: Update menuentry description.
2499
8db10f47
VS
25002012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2503 crash when embedding onto filesystem.
2504
bcb288ed
VS
25052012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2508 name.
2509
a626fdd7
VS
25102012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2513
b2f68477
VS
25142012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2517 commit.
2518
ba15b2af
B
25192012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
25202012-05-01 Bean <bean123ch@gmail.com>
2521
2522 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2523
a188012e
VS
25242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2527 Special behaviour for len = 0 to read whole file isn't used anywhere and
2528 can cause buffer ovewrflows in several places.
2529
f0a53ed2
VS
25302012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2533
5ed554f0
VS
25342012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 Handle RAIDZ on non-512B sectors.
2537
2538 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2539 max_children_ashift.
2540 (fill_vdev_info_real): Fill max_children_ashift.
2541 (read_device): Use max_children_ashift.
2542
ddc58357
VS
25432012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2546
e3282399
VS
25472012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2550 disk names.
2551 * docs/grub.texi: Update device.map parts.
2552
ee618bd4
VS
25532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 Don't scan into non-diskfilter devices having diskfilter names.
2556
2557 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2558 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2559 handling.
2560 (scan_disk_hook): New function.
2561
bdf88864
B
25622012-04-29 Bean <bean123ch@gmail.com>
2563
2564 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2565 allocation.
2566
32745f51
MK
25672012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2568
2569 * configure.ac: Detect starfield theme font path
2570 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2571
bc95c8c0
VS
25722012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2575 geometry on serial consoles.
2576
147fbcab
VS
25772012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2580 because of network consoles.
2581
0f42c889
VS
25822012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2585 handling.
2586
4a3594c9
VS
25872012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2590 falls on Q syndrom.
2591
5cb53879
VS
25922012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2595 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2596
b282dfe5
VS
25972012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2600 Allocate at lest 8192 for temporary buffer as required for lzo.
2601
daa59f47
VS
26022012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2605 to cluster_bits, since it's already added in.
2606 (grub_fat_read_data): Likewise.
2607
986748ce
VS
26082012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2611 as long as cluster size is multiple of 512 bytes.
2612
a20f6ad0
VS
26132012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * util/grub-mkrescue.in: Fix locale directory.
2616
385f9abb
VS
26172012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/kern/emu/hostdisk.c (map): Make static.
2620
1c557d30
B
26212012-04-23 Bean <bean123ch@gmail.com>
2622
2623 * util/grub-fstest.c (fstest): Add missing break.
2624
524b5d3a
ST
26252012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2626
2627 Fix hurd build.
2628
2629 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2630 not define nr variable.
fe4824e9 2631 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2632 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2633 grub_find_device): Do not define.
524b5d3a 2634
9a06490c
VS
26352012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 Fix kfreebsd compile and behaviour.
2638
2639 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2640 format-security.
2641 * util/getroot.c: Fix wait.h include.
2642 (grub_guess_root_devices): Error if grub_find_device fails.
2643 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2644 (grub_util_get_dev_abstraction): Likewise.
2645 (grub_util_pull_device): Likewise.
2646 (grub_util_get_grub_dev): Likewise.
2647 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2648
48143d96
VS
26492012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 Fix and unify wholedisk detection.
2652
2653 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2654 is_part. All users updated.
2655 (device_is_wholedisk): Removed.
2656 (grub_util_biosdisk_get_grub_dev): Use is_part.
2657
ebbd24f3
VS
26582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2661 mode.
2662
56f7aa1e
VS
26632012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * configure.ac: Bump to beta4.
2666
9c815e01
VS
26672012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2670 --fs-uuid --set UUID syntax.
2671
59e2651a
VS
26722012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2675 disunification.
2676
54e03cfc
VS
26772012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2680
81092a75
MK
26812012-04-18 Mads Kiilerich <mads@kiilerich.com>
2682
2683 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2684
f8315e14
MG
26852012-04-18 Mike Gilbert <floppym@gentoo.org>
2686
2687 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2688
1501ac21
B
26892012-04-18 Bean <bean123ch@gmail.com>
2690
2691 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2692 place.
2693
cb7f944e
VS
26942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2697 users updated.
2698 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2699 corresponding to GRUB partitions.
2700 (grub_util_biosdisk_write): Likewise.
2701
b72d44a1
VS
27022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 Scan mdraid before LVM.
2705
2706 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2707 (grub_diskfilter_register_front): ... this.
2708 (grub_diskfilter_register_back): New function.
2709 All users of grub_diskfilter_register updated.
2710
33d918b8
VS
27112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * util/grub-install.in: Fix an automatic target detection bug.
2714
c6ca973d
VS
27152012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * util/grub-install.in: New option --efi-directory.
2718
b41be562
VS
27192012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2722 boot services if we have no other choice.
2723
27242012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2727 document it.
2728 * tests/util/grub-shell.in: Update to --directory.
2729
e0595a73
VS
27302012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2733
4ed80652
VS
27342012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2737 (grub_minix_read_file): Likewise.
2738 (grub_minix_read_inode): Likewise.
2739 (grub_minix_find_file): Likewise.
2740 (grub_minix_dir): Likewise.
2741
56008077
VS
27422012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * util/grub-setup.c (setup): Fix partition handling and blocklist
2745 check.
2746
ee520775
VS
27472012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2750 redundant buggy overlap check.
2751
16fc9293
VS
27522012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2755 and grub-mknetdir.
2756
9bab65c4
VS
27572012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2760 kh.loadflags on pre-2.00 kernels.
2761
3c491b47
VS
27622012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 Terminate UNDI and PXE before launching the payload to avoid problems
2765 with DMA.
2766
2767 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2768 (grub_loader_flags): ... this. All users updated.
2769 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2770 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2771 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2772 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2773 function.
2774 (grub_pxe_restore): Likewise.
2775 (fini_hnd): New var.
2776 (GRUB_MOD_INIT): Register shutdown hook.
2777 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2778 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2779 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2780 (grub_loader_set): Rename second argument to flags.
2781
851ffada
VS
27822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2785 written bytes.
2786 (grub_get_num_of_utf8_bytes): New function.
2787 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2788 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2789 executing it.
2790 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2791 (grub_ucs4_to_utf8): Change return type.
2792
491c57a8
VS
27932012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2796 warning.
851ffada
VS
2797 * grub-core/fs/bfs.c (hop_level): Likewise.
2798 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2799
756773df
VS
28002012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/lib/adler32.c: Recode due to license unclearness.
2803
fd556a96
VS
28042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2807 (test_header): Likewise.
2808
9f9d3f69
VS
28092012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 Fix --help formatting.
2812
2813 * util/grub-mkconfig_lib.in (print_option_help): New function.
2814 (grub_fmt): Likewise.
2815 * util/grub-install.in: Use print_option_help and grub_fmt.
2816 * util/grub-kbdcomp.in: Likewise.
2817 * util/grub-mkconfig.in: Likewise.
2818 * util/grub-mknetdir.in: Likewise.
2819 * util/grub-mkrescue.in: Likewise.
2820 * util/grub-mkstandalone.in: Likewise.
2821 * util/grub-reboot.in: Likewise.
2822 * util/grub-set-default.in: Likewise.
2823 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2824
561ec77e
VS
28252012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * linguas.sh: Remove autogenerated *.po.
2828
7ec2b021
VS
28292012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * po/README: Move language fetcing to ...
2832 * linguas.sh: ... here.
2833 * po/README: Point to linguas.sh.
2834
a88f3270
VS
28352012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * po/README: Exclude ko.po due to disclaimer problems.
2838
d61357ce
VS
28392012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2842 len = 0.
2843 (grub_gettext_translate_real): Handle 0th string.
2844 (grub_gettext_translate): Ensure that "" isn't translated.
2845
505e41dc
VS
28462012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2849 TRANSLATORS comment.
2850 (grub_diskfilter_print_partmap): Propagate changing of error into
2851 warning.
2852
e44092db
VS
28532012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2856 to uint64_t to prevent overflow.
2857 (grub_diskfilter_lv): Increase start_extent and extent_count
2858 to uint64_t to prevent overflow.
2859
9b83956a
VS
28602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * configure.ac: Increase version.
2863
da0d5b3f
VS
28642012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2867
2868 * po/Rules-translit: New file.
2869 * po/arabic.sed: Likewise.
2870 * po/cyrillic.sed: Likewise.
2871 * po/greek.sed: Likewise.
2872 * po/hebrew.sed: Likewise.
2873 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2874 * po/Makefile.in.in: Add extra_dist4.
2875
ac66b453
VS
28762012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2879
2880 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2881 modify names. Introduce MODE_BIGENDIAN.
2882 * grub-core/fs/minix_be.c: New file.
2883 * grub-core/fs/minix2_be.c: Likewise
2884 * grub-core/fs/minix3_be.c: Likewise.
2885 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2886 minix3_be.
2887 * grub-core/Makefile.core.def (minix_be): New module.
2888 (minix2_be): Likewise.
2889 (minix3_be): Likewise.
2890
28912012-04-01 Felix <email@hamburg.de>
2892
2893 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2894 (devs): Add MBP 2011.
2895
0a2d5a82
VS
28962012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2899
d1625889
VS
29002012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/normal/cmdline.c (print_completion): New field
2903 prompt_len.
2904 (grub_cmdline_get): Handle width properly.
2905
6d36a236
VS
29062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2909
9576977e
VS
29102012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2913 after 29th of February.
9576977e 2914
d73ff15d
VS
29152012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 Fix exfat endianness handling.
2918
2919 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2920 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2921 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2922 Byte-swap utf16 when necessary.
2923 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2924
bbb39a45
AB
29252012-03-31 Anton Blanchard <anton@samba.org>
29262012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 Fix btrfs endianness handling.
2929
2930 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2931 (lower_bound): Make root uint64_t. Use root in le.
2932 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2933 (find_path): Fix template key init.
2934 (grub_btrfs_dir): Fix mtime byteswap.
2935 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2936
354e0af7
VS
29372012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2940 recursion_depth. Break infinite resursions. All users updated.
2941
4e75f21c
VS
29422012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2945 after free.
2946 Reported by: Peter Jones.
2947
25581802
AB
29482012-03-31 Anton Blanchard <anton@samba.org>
2949
2950 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2951 8 bit values.
2952
08fbf92e
VS
29532012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * util/grub-install.in: Fix nvram call for PreP.
2956
5d1182a6
VS
29572012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2960 the error when some elements are missing into a warning.
2961
3f8cdd90
VS
29622012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2965
51006716
CW
29662012-03-28 Colin Watson <cjwatson@ubuntu.com>
2967
2968 * docs/grub.texi (Invoking grub-probe): New section.
2969 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2970
e1bd676b
VS
29712012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 Fix tab and wide character handling in editor and menu.
2974
2975 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2976 agglomerate control characters with combining marks.
2977 (bidi_line_wrap): Allow break on tab.
2978 (grub_unicode_get_comb_start): New function.
2979 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2980 and tab correctly.
2981 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2982 with a space.
2983 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2984 fixed_tab_size. All users updated.
2985 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2986 (grub_term_getcharwidth): Handle \t.
2987 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2988 and copy.
2989
22e6a774
VS
29902012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 Handle big-endian mdraid.
2993
2994 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2995 * grub-core/Makefile.core.def (mdraid09_be): New module.
2996 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2997 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2998 * grub-core/disk/mdraid_linux_be.c: New file.
2999
3c0eae66
VS
30002012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
3003
b6cf74c9
VS
30042012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3007 missing quotes which caused confusion among translators.
3008
83c93b9c
VS
30092012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * util/grub-mkconfig_lib.in: Fix typo.
3012
ac6fd218
VS
30132012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
3016 spaces.
3017 * tests/grub_script_leading_whitespace.in: New file.
3018 * Makefile.util.def (grub_script_leading_whitespace): New test.
3019
ba287dd8
VS
30202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
3023 to work.
3024
d2d58d0a
VS
30252012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
3028 starts with control character.
3029
0382d9bb
VS
30302012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
3033 overflow.
3034 (grub_gdb_outbuf): Likewise.
3035
d83ff9f9
VS
30362012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
3039 zero terminator. Fixes a crash.
3040
2282da4a
VS
30412012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
3044 beyond 4 GiB.
3045 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
3046 images independently of preffered adderss field.
3047
0ae4f0bd
VS
30482012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
3051 * grub-core/commands/regexp.c: Likewise.
3052 * grub-core/loader/i386/linux.c: Likewise.
3053 * grub-core/partmap/msdos.c: Likewise.
3054 * grub-core/script/execute.c: Likewise.
3055 * grub-core/term/gfxterm.c: Likewise.
3056
546fbe9b
VS
30572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 Add variable parsing in $"..." and fix several mismatches with bash.
3060
3061 * Makefile.util.def (grub_script_gettext): New test.
3062 * grub-core/script/execute.c (parse_string): New function.
3063 (gettext_append): Likewise.
3064 (grub_script_arglist_to_argv): Use gettext_append.
3065 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
3066 * tests/grub_script_gettext.in: New file.
3067
9fdb2d7b
VS
30682012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 Fix handling of leading spaces in scripts.
3071
3072 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3073 spaces.
3074 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3075 other than skipping \r. All users updated.
3076 * tests/grub_script_echo1.in: Add space-related tests.
3077 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3078
1a1ac4f6
VS
30792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3082
b63d89b6
VS
30832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * configure.ac: Bump up the version to beta2.
3086
17f38c0f
VS
30872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 Fix gettext reload bugs (e.g. inability to disable gettext
3090 once enabled).
3091
3092 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3093 main_context and secondary_context. All functions updated.
3094 (grub_gettext_translate): Rename to ...
3095 (grub_gettext_translate_real): ... this. Return NULL on failed
3096 translate.
3097 (grub_gettext_translate): Handle secondary context.
3098 (grub_gettext_delete_list): Close file and zero-out the context.
3099 (grub_mofile_open): Don't call grub_gettext_delete_list.
3100 Don't close file.
3101 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3102 if locale="" to avoid pointless error message.
3103 (grub_gettext_env_write_lang): Update lang even if load fails.
3104 Handle secondary context.
3105 (grub_gettext_reread_prefix): New function.
3106 (read_main): Likewise.
3107 (read_secondary): Likewise.
3108 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3109 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3110 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3111 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3112
8e56f870
VS
31132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * configure.ac: Decrease warning level to avoid spurious warnings and
3116 to be able to compile with GCC 4.2.
3117 * Makefile.util.def: Remove -Wno-error=logical-op.
3118
82f6d455
WB
31192012-03-10 William Bittner <william.bittner@gmail.com>
3120
3121 * util/import_unicode.py: Add missing brackets around string for
3122 python 3 support.
3123
1ecd61a4
VS
31242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 Fix efi chainloader on network root.
3127
3128 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3129 network devices.
3130 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3131 New function.
3132
14361ee8
VS
31332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3136 unused show_text member.
3137 * docs/grub.texi: Document "text" property.
3138
922aabf3
VS
31392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3142 in dprintf.
3143
ec316771
VS
31442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 Fix IMSM handling on Fedora.
3147
3148 * util/getroot.c (grub_util_is_imsm): New function.
3149 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3150
0f021838
VS
31512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * Makefile.am: Strip gold section.
3154 * conf/Makefile.common: Likewise.
3155 * gentpl.py: Likewise.
3156 * grub-core/Makefile.core.def: Likewise.
3157 * grub-core/genmod.sh.in: Likewise.
3158
1039c8eb
VS
31592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3162 * util/grub.d/20_linux_xen.in: Likewise.
3163 Based on Debian patch.
3164
6dd412cd
VS
31652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * util/grub.d/10_linux.in: Fix syntax error resulting in
3168 Richard Laager's patch.
3169 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3170
3fd8bae5
VS
31712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3174 dependencies.
3175
7eea1671
RL
31762012-03-10 Richard Laager <rlaager@wiktel.com>
3177
3178 * util/grub.d/10_linux.in: Fix ZFS root passing.
3179
e8e0566b
VS
31802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3183 * grub-core/commands/xnu_uuid.c: Likewise.
3184 * grub-core/loader/efi/appleloader.c: Likewise.
3185 * grub-core/script/execute.c: Likewise.
3186 * grub-core/script/main.c: Likewise.
3187 * util/grub-mkfont.c: Likewise.
3188
1acc5b1f
VS
31892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * util/grub-mkfont.c (options): Use more appropriate "select" that
3192 "set" for face index.
3193
35d70620
VS
31942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * util/grub-editenv.c (options): Gettextize command summaries.
3197
c9eb96b5
VS
31982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3201 "out of memory" error messagge.
3202
1f493136
VS
32032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3206 of diskfilter for diskfilter on diskfilter support.
3207
6d790129
VS
32082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3211
005f46c9
VS
32122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3215 themes/starfield.
3216
c8f778a0
VS
32172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3220
de1e64eb
VS
32212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3224
c6d54211
VS
32252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3228 of error message.
3229
dd390777
VS
32302012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3233
5fd1c522
VS
32342012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3237 message.
c6d54211 3238 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3239
fae01f6c
VS
32402012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3243 Gettextize.
3244 * util/grub-mount.c (options): Likewise.
3245
292fdaff
VS
32462012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3249 gettextize.
3250 * grub-core/commands/search_wrap.c (options): Likewise.
3251
ecdbae77
VS
32522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3255
52bfedfa
VS
32562012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3259 size calculation.
3260 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3261 none is known.
3262
55b20e58
VS
32632012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3266 "temporary" since it's used in identifier and is limited in space.
3267
fda9d101
VS
32682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * po/POTFILES.in: Regenerate. Include *.h since they contain
3271 translatable strings as well.
3272
6a0295e2
VS
32732012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3276 byte-swap on big-endian.
3277 Reported by: Lennart Sorensen
3278
807fb77c
VS
32792012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3282 (allocate_pages): Improve dprintf.
3283 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3284 code32_start. Fill code32_start and kernel_alignment in params.
3285 (grub_cmd_initrd): Use prot_init_space.
3286
61ac50ba
VS
32872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3290
abdd26dd
VS
32912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * util/grub-install.in: Add missing dot at the end of sentence.
3294
6e69da9c
VS
32952012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3298 * grub-core/commands/videotest.c: Likewise.
3299 * grub-core/loader/i386/linux.c: Likewise.
3300
4a929343
VS
33012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3304 sentence.
3305 Reported by: Milo Casagrande.
3306
bb51c6c6
VS
33072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3310 * grub-core/commands/gptsync.c: Likewise.
3311 * grub-core/commands/hashsum.c: Likewise.
3312 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3313 * grub-core/commands/legacycfg.c: Likewise.
3314 * grub-core/io/gzio.c: Likewise.
3315 * grub-core/net/net.c: Likewise.
3316 * grub-core/term/gfxterm.c: Likewise.
3317 * grub-core/term/terminfo.c: Likewise.
3318 * grub-core/tests/test_blockarg.c: Likewise.
3319 * grub-core/video/video.c: Likewise.
3320 * util/grub-install.in: Likewise.
3321 * util/grub-mkfont.c: Likewise.
3322
b2b149cb
VS
33232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3326
c7c080ad
VS
33272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3330 Reported by: David Prévot.
c7c080ad 3331
f2e243c0
VS
33322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3335 description.
3336
09963c76
VS
33372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * util/grub-script-check.c (main): Fix a syntax error message which was
3340 unclear.
3341
a50514a8
VS
33422012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3345
4650daec
VS
33462012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3349 messages.
3350
33512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3352
3353 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3354 without argument.
3355 * util/grub-mount.c (options): Likewise.
3356
bbc5a342
VS
33572012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3360
ef292a87
VS
33612012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/net/http.c: Add TRANSLATORS comments.
3364 * grub-core/normal/cmdline.c: Likewise.
3365 * grub-core/normal/misc.c: Likewise.
3366 * grub-core/partmap/msdos.c: Likewise.
3367 * grub-core/parttool/msdospart.c: Likewise.
3368 * grub-core/script/execute.c: Likewise.
3369 * grub-core/script/main.c: Likewise.
3370 * grub-core/term/terminfo.c: Likewise.
3371 * grub-core/video/bitmap.c: Likewise.
3372 * util/grub-install.in: Likewise.
3373 * util/grub-mkimage.c: Likewise.
3374 * util/grub-mklayout.c: Likewise.
3375 * util/grub-setup.c: Likewise.
3376
0fc19bd0
VS
33772012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3380 with similar messages in grub-fstest.
3381
d95862ef
VS
33822012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * util/grub-install.in: Unify "option requires an argument" message
3385 with similar messages in other files.
3386 * util/grub-mkconfig.in: Likewise.
3387
b7308f90
VS
33882012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * util/grub-set-default.in: Replace printf with gettext_printf (the
3391 string in in question is already translated from grub-reboot)
3392
559dc587
VS
33932012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * configure.ac: Bump up the version to beta1.
3396
1a11761f
VS
33972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3400 case when min_align = 0.
3401
24539abd
VS
34022012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3405 and fix a case when line_start overflows.
3406
32bd735b
VS
34072012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * util/grub-reboot.in (usage): Mention id posibility.
3410 * util/grub-set-default.in (usage): Likewise.
3411
1a2fd1e6
VS
34122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3415 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3416 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3417 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3418 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3419 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3420 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3421
90eeab76
VS
34222012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/commands/menuentry.c (options): Remove
3425 GRUB_ARG_OPTION_REPEATABLE.
3426 Reported by: Andreas Vogel
3427
5ad1be82
AV
34282012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3429
3430 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3431
cb055286
HE
34322012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3433
3434 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3435 error.
3436
93b1cd79
VS
34372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 Use sort -V by the idea of Georgi Georgiev.
3440
3441 * util/grub-mkconfig_lib.in (version_sort): New function.
3442 (version_test_numeric): Use version_sort.
3443
0cdc126c
VS
34442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 Use submenus in grub-mkconfig.
3447
3448 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3449 * util/grub-mkconfig_lib.in (grub_quote): New function.
3450 (gettext_printf): Use gettext and not gettext_quoted to fix several
3451 messages.
3452 * util/grub.d/10_hurd.in: Use submenus.
3453 * util/grub.d/10_kfreebsd.in: Likewise.
3454 * util/grub.d/10_linux.in: Likewise.
3455 * util/grub.d/10_netbsd.in: Likewise.
3456 * util/grub.d/20_linux_xen.in: Likewise.
3457 * util/grub.d/30_os-prober.in: Likewise.
3458 * util/grub.d/10_illumos.in: Add missing quoting.
3459 * util/grub.d/10_windows.in: Likewise.
3460
d9bef9bc
VS
34612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 Fix menu title instability bug.
3464
3465 * grub-core/commands/menuentry.c (options): New option --id.
3466 (grub_normal_add_menu_entry): New argument id. All users updated.
3467 (grub_cmd_menuentry): Handle --id.
3468 (grub_menu_init): Accept unknown arguments.
3469 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3470 feature_menuentry_options.
3471 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3472 saved_entry.
3473 (get_entry_number): Match with id as well.
3474 * include/grub/menu.h (grub_menu_entry): New member id.
3475 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3476 * util/grub.d/00_header.in: Define menuentry_id_option.
3477 * util/grub.d/10_hurd.in: Define id.
3478 * util/grub.d/10_illumos.in: Likewise.
3479 * util/grub.d/10_kfreebsd.in: Likewise.
3480 * util/grub.d/10_linux.in: Likewise.
3481 * util/grub.d/10_netbsd.in: Likewise.
3482 * util/grub.d/10_windows.in: Likewise.
3483 * util/grub.d/20_linux_xen.in: Likewise.
3484 * util/grub.d/30_os-prober.in: Likewise.
3485
34862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3487
3488 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3489 "scope" with "body".
3490
7c8d0ce7
VS
34912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3494 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3495 prot_size and prot_file_size.
3496
49de079b
VS
34972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3500 All users updated. If easily=1 require raid-5/-6 to be full.
3501 (is_node_readable): Likewise.
3502 (scan_devices): Scan incomplete but readable LVs at the end.
3503 (grub_diskfilter_memberlist): Pull missing devices.
3504 (insert_array): Skip scanning until device is complete or scan is
3505 done otherwise.
3506 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3507 check.
3508 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3509 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3510
aff05d45
MG
35112012-03-03 Matthew Garrett <mjg@redhat.com>
35122012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 Avoid EFI boot services when loading Linux.
3515
3516 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3517 avoid_efi_bootservices. All users updated.
3518 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3519 argument avoid_efi_bootservices. All users updated.
3520 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3521 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3522 align, min_align, relocatable, prefered_address. All users updated.
3523 Allocate avoiding boot services if kernel is relocatable.
3524 (grub_cmd_linux): Check if kernel is relocatable.
3525 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3526 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3527 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3528 avoid_efi_boot_services.
3529 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3530 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3531 (linux_kernel_params): Likewise.
3532
3935dde2
MG
35332012-03-03 Matthew Garrett <mjg@redhat.com>
35342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 Use EDID on EFI.
3537
3538 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3539 datasize_out.
3540 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3541 modes. Set gop_handle.
3542 (grub_video_gop_get_edid): New function.
3543 (grub_gop_get_preferred_mode): Likewise.
3544 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3545 (grub_video_efi_gop_adapter): Set .get_edid.
3546 * include/grub/efi/edid.h: New file.
3547 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3548
32107ec0
VS
35492012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * util/grub-install.in: Load efivars unconditionally.
3552
e70a2c50
VS
35532012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * po/Rules-piglatin: Change suffix from .po-update-en to
3556 .po-update-en-piglatin.
3557
8f9cace1
VS
35582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 Add a pig farm.
3561
3562 * po/piglatin.sed: New file.
3563 * po/en@piglatin.header: Likewise.
3564 * po/Rules-piglatin: Likewise.
3565 * po/README: Add en@piglatin to autogenerated languages.
3566
8f95d002
VS
35672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3570 "Command for ...".
3571 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3572 "Check" since we don't check anything.
3573 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3574 is 64-bit one.
3575 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3576 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3577 (grub_md_sha512_real): Likewise.
3578
805a8dcc
VS
35792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/commands/gptsync.c: Fix typographic quoting.
3582 * grub-core/commands/ieee1275/suspend.c: Likewise.
3583 * grub-core/commands/parttool.c: Likewise.
3584 * grub-core/commands/search_wrap.c: Likewise.
3585 * grub-core/commands/videoinfo.c: Likewise.
3586 * grub-core/gfxmenu/gui_label.c: Likewise.
3587 * grub-core/hello/hello.c: Likewise.
3588 * grub-core/kern/emu/main.c: Likewise.
3589 * grub-core/net/net.c: Likewise.
3590 * grub-core/normal/menu.c: Likewise.
3591 * grub-core/normal/menu_text.c: Likewise.
3592 * grub-core/normal/misc.c: Likewise.
3593 * util/grub-editenv.c: Likewise.
3594 * util/grub-install.in: Likewise.
3595 * util/grub-kbdcomp.in: Likewise.
3596 * util/grub-mkconfig.in: Likewise.
3597 * util/grub-mknetdir.in: Likewise.
3598 * util/grub-mkrescue.in: Likewise.
3599 * util/grub-mkstandalone.in: Likewise.
3600 * util/grub-reboot.in: Likewise.
3601 * util/grub-set-default.in: Likewise.
3602 * util/grub-setup.c: Likewise.
3603 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3604
40211ab8
VS
36052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3608 * grub-core/commands/keystatus.c: Likewise.
3609 * grub-core/commands/loadenv.c: Likewise.
3610 * grub-core/commands/probe.c: Likewise.
3611 * grub-core/commands/regexp.c: Likewise.
3612 * grub-core/commands/true.c: Likewise.
3613 * grub-core/commands/videoinfo.c: Likewise.
3614 * grub-core/disk/cryptodisk.c: Likewise.
3615 * grub-core/disk/ldm.c: Likewise.
3616 * grub-core/disk/loopback.c: Likewise.
3617 * grub-core/disk/luks.c: Likewise.
3618 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3619 * grub-core/kern/disk.c: Likewise.
3620 * grub-core/kern/emu/hostdisk.c: Likewise.
3621
0c7d99c7
VS
36222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3625 * util/grub-install.in: Add missing quote in the comment.
3626
e7d2559b
VS
36272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3630 * grub-core/commands/lsmmap.c: Likewise.
3631 * grub-core/commands/minicmd.c: Likewise.
3632 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3633 * grub-core/commands/regexp.c: Likewise.
3634 * grub-core/gdb/gdb.c: Likewise.
3635 * grub-core/term/gfxterm.c: Likewise.
3636 * util/grub-mkconfig.in: Likewise.
3637 * util/grub-mkfont.c: Likewise.
3638 * util/grub-mklayout.c: Likewise.
3639 * util/grub-mknetdir.in: Likewise.
3640 * util/grub-mkrescue.in: Likewise.
3641 * util/grub.d/30_os-prober.in: Likewise.
3642
49ce9e50
VS
36432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3646 with "Direct color" and "Packed" with "Packed pixel".
3647 (grub_cmd_videoinfo): Simplify legend.
3648
e4b791fa
VS
36492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3652 absolutely unclear error message.
3653
fd1265cb
VS
36542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * util/grub-mkstandalone.in: Remove confusing leftover print.
3657
8822a8a0
VS
36582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3661 comments.
3662 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3663 (GRUB_MOD_INIT): Likewise.
3664 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3665 VGA mode.
3666 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3667 comments.
3668 * util/grub-install.in (usage): Likewise.
3669 Spell ID in whole letters.
3670 Add missing ending dot.
3671 Quote variables.
3672 * util/grub-reboot.in: Fix capitalisation.
3673 * util/grub-set-default.in: Likewise.
3674
937fd0cc
VS
36752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3678 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3679 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3680 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3681 Disable -Werror for -Wdeprecated-declarations.
3682 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3683 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3684 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3685 (grub_util_get_grub_dev): Make luks handling dependent on
3686 HAVE_DEVICE_MAPPER and not __linux__.
3687 (get_win32_path): Fix format security.
3688 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3689 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3690 Don't try grub_find_zpool_from_dir.
3691 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3692 #ifdef-out paresdir.
3693
1bab1ae3
VS
36942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * util/grub-pe2elf.c (usage): Add missing noreturn.
3697 (write_section_data): Rename name to shname to avoid shadowing.
3698 (write_symbol_table): Rename name to symname to avoid shadowing.
3699 Fix write_reloc_section call.
3700
ef023e42
VS
37012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3704 to ensure that it's after the last byte of .text.
3705
48afcb75
VS
37062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * util/ieee1275/ofpath.c (my_isdigit): New function.
3709 (trailing_digits): Use my_isdigit.
3710 (strip_trailing_digits): Likewise.
3711
88d51eff
VS
37122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3715 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3716
17edc2ba
VS
37172012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/kern/i386/pc/startup.S: Define __start.
3720
ad5518d7
VS
37212012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3724 strip already transforms he format.
3725
9e95e1bf
VS
37262012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3729
9cc3ee5c
VS
37302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * util/grub-install.in: Add missing gettext init.
3733 * util/grub-kbdcomp.in: Likewise.
3734 * util/grub-mkconfig.in: Likewise.
3735 * util/grub-mknetdir.in: Likewise.
3736 * util/grub-mkrescue.in: Likewise.
3737 * util/grub-mkstandalone.in: Likewise.
3738 * util/grub-reboot.in: Likewise.
3739 * util/grub-set-default.in: Likewise.
3740 * util/grub.d/00_header.in: Likewise.
3741 * util/grub.d/10_hurd.in: Likewise.
3742 * util/grub.d/10_windows.in: Likewise.
3743 * util/grub.d/30_os-prober.in: Likewise.
3744 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3745
49e08a06
VS
37462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * po/Rules-swiss: Fix header comment.
3749
3809cb41
AV
37502012-02-29 Andreas Vogel <anvoit>
3751
3752 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3753 resulted in leak of arguments.
3754
fa6ec573
VS
37552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3758 reed_solomon_size const definition instead of computing it since
3759 Apple assembler doesn't support the later.
3760
22899b9c
VS
37612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * gentpl.py (kernel): Rewrite Apple part.
3764
a132afc3
VS
37652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3768
9d742bd4
VS
37692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3772 ELF section gap.
3773 (load_image): Likewise.
3774
f04a9a21
VS
37752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * configure.ac: Fix a typo in previous commit.
3778
46cf439c
VS
37792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 Don't add -Wl,-N on Apple platform.
3782
3783 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3784 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3785
c4c48c54
VS
37862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/Makefile.core.def (lzma_decompress): Use
3789 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3790
31a12124
VS
37912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/genmod.sh.in: Rewrite the Apple part.
3794
4f3aa1af
VS
37952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3798 comparison.
3799
7bd8b0c7
VS
38002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * acinclude.m4 (grub_CHECK_PIC): New test.
3803 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3804
97304d7c
VS
38052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3808 to avoid the warning.
3809
fb883812
VS
38102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3813 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3814 after. All users updated.
3815
a121c964
VS
38162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 Use the common size routine in hostfs so we can read disks as well.
3819
3820 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3821 (grub_util_get_fd_size): ... this. Return size in bytes.
3822 All users updated.
3823 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3824 grub_util_get_fd_size.
3825
c66d6410
VS
38262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3829 Add blocksize retrieval.
3830
dfc8aeb0
VS
38312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * configure.ac: Restore CFLAGS after efiemu check.
3834
403e25a5
VS
38352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3838 Apple bug.
3839
382775d1
VS
38402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3843
6fd4e6e4
VS
38442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3847 (grub_cmd_halt): Likewise.
3848
bea359d6
VS
38492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3852 for local arithmetics.
3853 Break %sp init into 2 instructions.
3854 Add 0 byte at the end.
3855
32eb6ee1
VS
38562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3859 before loops.
3860
e8377389
VS
38612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3864 for context.
3865
8cb17de7
VS
38662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/disk/ldm.c (make_vg): Init part.name.
3869 (grub_ldm_detect): Silence spurious warning.
3870 (grub_util_is_ldm): Likewise.
3871
595717e6
VS
38722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3875 sane value to avoid a spurious warning.
3876
c4b7e588
VS
38772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3880 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3881
59824957
VS
38822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3885 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3886
70115b99
VS
38872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3890 hardcoding the relevant info.
3891
56733740
VS
38922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3895 missing const qualifiers.
3896 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3897
43481481
VS
38982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * util/getroot.c [__APPLE__]: Add missing includes.
3901 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3902
3cb38f01
VS
39032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3906
d9dbf11e
VS
39072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3910 avoid conflicts.
3911
0c42a45d
VS
39122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3915
46c34eb0
VS
39162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3919 and grub_file_close call.
3920
99ce1597
VS
39212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 Add LZSS Mach-O support (needed for new xnu kernelcache).
3924
3925 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3926 * grub-core/loader/lzss.c: New file.
3927 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3928 on Mach-O open failure.
3929 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3930 Don't free cmdsXX in uncompressedXX is set.
3931 (grub_macho_file): Init new fields.
3932 New argument is_64bit. All users updated.
3933 Handle compressed. Error out if no suitable architecture is found.
3934 Don't close file.
3935 (grub_macho_open): New argument is_64bit. All users updated.
3936 * grub-core/loader/macho32.c: Add defines for new fields.
3937 * grub-core/loader/macho64.c: Likewise.
3938 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3939 (grub_macho_parse): Handle compressed.
3940 Defer actual processing if compressed.
3941 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3942 "filename". All users updated.
3943 (grub_macho_size): New argument "filename". All users updated.
3944 (grub_macho_get_entry_point): Likewise.
3945 (grub_macho_load): Handle compressed.
3946 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3947 (GRUB_MACHO_LZSS_OFFSET): New define.
3948 (grub_decompress_lzss): New proto.
3949 * include/grub/machoload.h (grub_macho_file): New fields to handle
3950 compressed.
3951 (grub_macho_contains_macho64): Remove proto.
3952 (grub_macho_contains_macho32): Likewise.
3953 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3954
ebd17d6f
VS
39552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3958
2702b4e4
VS
39592012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 Fix make dist.
3962
3963 * Makefile.am (starfield_theme_files): New var.
3964 (starfield_DATA): Use starfield_theme_files.
3965 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3966 Add bootcheck-related files.
3967 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3968 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3969 and font_char_metrics.txt.
3970 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3971 (setjmp): Add lib/ia64/longjmp.S.
3972 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3973 * po/POTFILES.in: Regenerate.
3974 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3975 DISTFILES.common.extra1.
3976 * util/devicemap.c: Removed.
3977 * grub-core/lib/i386/relocator_backward.S: Likewise.
3978 * util/import_gcry.py: Remove unused files. Add extra_dist for
3979 ChangeLog.
3980
cf1adfdf
VS
39812012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3984 grub_gettext_delete_list before changing grub_gettext_max to avoid
3985 running out of array bounds.
3986
39872012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3988
3989 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3990 grub_vga_text_init/grub_vga_text_fini.
3991
cf1adfdf 39922012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3993
3994 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3995
541d92e9
VS
39962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * configure.ac: Bump to 2.00~beta0.
3999
7931dddf
VS
40002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
4003 missing initialisation.
4004
f1b16fa3
VS
40052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
4008
83ddae23
VS
40092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 Support v2 xnu boot arguments.
4012
4013 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
4014 New argument fsbfreq_out.
4015 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
4016 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
4017 be used.
4018 * grub-core/loader/machoXX.c (grub_macho_load): New argument
4019 darwin_version.
4020 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
4021 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
4022 (grub_xnu_boot_params): Rename to ...
4023 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
4024 (grub_xnu_boot_params_v2): New struct.
4025
dc693fe6
VS
40262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
4029 zeroing of CRC field before computing CRC.
4030
5a6e39c2
VS
40312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
4034 Change order of allocations to decrease fragmentation.
4035
6c21f5d7
VS
40362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
4039
cfe456dc
CW
40402012-02-27 Colin Watson <cjwatson@ubuntu.com>
4041
4042 Use write-combining MTRR to speed up video with buggy BIOSes.
4043
4044 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
4045 (cpuid): New define.
4046 (rdmsr): Likewise.
4047 (wrmsr): Likewise.
4048 (mtrr_base): Likewise.
4049 (mtrr_mask): Likewise.
4050 (grub_vbe_enable_mtrr_entry): New function.
4051 (grub_vbe_enable_mtrr): Likewise.
4052 (grub_vbe_disable_mtrr): Likewise.
4053 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
4054 control off to BIOS.
4055 (grub_video_vbe_init): Fill mtrr.
4056 (grub_video_vbe_fini): Disable mtrr.
4057 (grub_video_vbe_get_info_and_fini): Likewise.
4058 (grub_video_vbe_setup): Enable mtrr.
4059
e3c78337
CW
40602012-02-27 Colin Watson <cjwatson@ubuntu.com>
4061
4062 * include/grub/partition.h (grub_partition_map): Change prototype of
4063 embed to take a maximum value for nsectors.
4064 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
4065 * include/grub/fs.h (grub_fs): Likewise.
4066 * grub-core/partmap/msdos.c (embed_signatures): New array.
4067 (pc_partition_map_embed): Check for and avoid sectors matching any
4068 of the signatures in embed_signatures, up to max_nsectors.
4069 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4070 returned sector map to max_nsectors.
4071 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4072 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4073 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4074 * util/grub-setup.c (setup): Allow for the embedding area being
4075 split into multiple blocklists. Tell dest_partmap->embed the
4076 maximum number of sectors we care about.
4077
40782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4081 Specify blocklist_install and reserver_first_sector for all fs.
4082 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4083 blocklists.
4084
984b973f
VS
40852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * util/grub-install.in: Clarify strings.
4088 Fix source dir check.
4089
f122e0d6
RL
40902012-02-27 Richard Laager <rlaager@wiktel.com>
4091
4092 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4093 "zfs" and "fuse.zfs" as synonyms.
4094
071114bb
VS
40952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * configure.ac: Put platform and target_cpu substitutions back since
4098 they are used for directories.
4099
817e6abc
RL
41002012-02-27 Richard Laager <rlaager@wiktel.com>
41012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4104 * util/grub.d/20_linux_xen.in: Likewise.
4105
897b7419
RL
41062012-02-27 Richard Laager <rlaager@wiktel.com>
4107
4108 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4109 with full paths.
4110
a414bd15
RL
41112012-02-27 Richard Laager <rlaager@wiktel.com>
4112
4113 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4114 unescape.
4115
30ac48c4
VS
41162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 Don't use insecure popen in getroot.
4119
4120 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4121 (exec_pipe): ... here.
4122 (find_root_devices_from_poolname): Use exec_pipe.
4123
53f13848
VS
41242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 Remove platform and target_cpu replacement.
4127
4128 * configure.ac: Remove platform and target_cpu substitutions.
4129 * tests/util/grub-shell.in: Use modinfo.
4130 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4131 explicitly.
4132
90cb2803
VS
41332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 Autodetect platform in grub-install but allow override.
4136
4137 * util/grub-install.in: Autodetect platform. Support --target and
4138 --directory. Read platform from modinfo.sh.
4139
b9136427
VS
41402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 Support btrfs multi-volume probe.
4143
4144 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4145 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4146 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4147 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4148 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4149 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4150 grub_find_root_devices_from_btrfs if on btrfs.
4151
c36e5cd1
VS
41522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 Remove any awareness of *.c util files about target.
4155
4156 * Makefile.util.def (grub-setup): Split to ...
4157 (grub-bios-setup): ... and this.
4158 (grub-sparc64-setup): ... and this.
4159 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4160 * docs/man/grub-setup.h2m: Split into ...
4161 * docs/man/grub-sparc64-setup.h2m: ... this.
4162 * docs/man/grub-bios-setup.h2m: ... and this.
4163 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4164 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4165 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4166 (grub_target_addr_t): Remove.
4167 (grub_target_size_t): Remove.
4168 (grub_target_ssize_t): Remove.
4169 * util/grub-install.in: Use new grub-*-setup.
4170 * util/grub-mkimagexx.c (Elf_Word): New define.
4171 (Elf_Half): Likewise.
4172 (Elf_Section): Likewise.
4173 (ELF_ST_TYPE): Likewise.
4174 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4175 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4176
584b2f8a
VS
41772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 Replace grub_target_addr with more appropriate types.
4180
4181 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4182 grub_target_addr with grub_addr.
4183 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4184 grub_target_addr with grub_port.
4185 (grub_cmd_write): Likewise.
4186 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4187 grub_target_addr with grub_addr.
4188 (grub_cmd_write): Likewise.
4189 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4190
5a0dc6fb
VS
41912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4194 const qualifier for vendor_guid.
4195
786aff6e
VS
41962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4199 const qualifier.
4200 (efiemu_memequal): Likewise.
4201 (find_variable): Likewise.
4202
49017b17
VS
42032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 Fix missing console prototype on qemu-mips.
4206
4207 * include/grub/mips/qemu_mips/console.h: New file.
4208
c5988629
MG
42092012-02-27 Matthew Garrett <mjg@redhat.com>
42102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4213 * include/grub/efi/efi.h: Likewise.
4214 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4215 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4216 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4217 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4218 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4219 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4220
e33f8d69
MG
42212012-02-27 Matthew Garrett <mjg@redhat.com>
4222
4223 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4224
fb312cd9
VS
42252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4226
4227 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4228 error.
4229
7134247c
VS
42302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * configure.ac: Remove inappropriate use of program_transform_name
4233 on grubdir and bootdir but allow explicit specification of those
4234 variables.
4235
6a313124
VS
42362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * util/grub-mknetdir.in (grub_prefix): Removed.
4239 (subdir): Use @bootdirname@ and @grubdirname@.
4240
2311c5ca
VS
42412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4244
7d5d60f7
VS
42452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * po/POTFILES.in: Regenerated.
4248
8151bc82
VS
42492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 Remove improper use of program_transform_name on pkglibrootdir.
4252
4253 * configure.ac (pkglibrootdir): Removed.
4254 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4255 * util/grub-mkimage.c: Likewise.
4256
b4a6a533
VS
42572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4260 warning.
4261
668f304f
VS
42622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * util/grub-install.in: Use file identifier if no UUID is available
4265 or user explicitly prompted for it.
4266
665f2341
NP
42672012-02-27 Navdeep Parhar <nparhar@gmail.com>
4268
4269 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4270 (freebsd_get_zfs): New function.
4271 (grub_freebsd_boot): Pass zfs UUID.
4272 (grub_cmd_freebsd): Set zfs UUID.
4273
8151bc82 42742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4275
4276 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4277 pkglibrootdir.
4278
e4c498a1
MG
42792012-02-27 Mike Gilbert <floppym@gentoo.org>
4280
4281 Add configure flag to control libzfs integration.
4282
4283 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4284
1e9a9a3f
VS
42852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4288 device.
4289 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4290 small devices.
4291
036985b8
VS
42922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4295 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4296 be used on non-modules.
4297
4298 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4299 Rename to grub_boot_init.
4300 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4301 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4302 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4303 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4304 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4305 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4306 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4307 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4308 includes.
4309 (grub_machine_init): Remove empty inits.
4310 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4311 includes.
4312 (grub_machine_init): Remove empty inits.
4313 * grub-core/term/arc/console.c: Remove explicit proto.
4314 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4315 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4316 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4317 grub_at_keyboard_fini.
4318 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4319 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4320 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4321 grub_gfxterm_fini.
4322 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4323 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4324 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4325 grub_vgatext_fini.
4326 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4327 * grub-core/term/serial.c (GRUB_MOD_INIT)
4328 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4329 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4330 grub_serial_fini.
4331 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4332 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4333 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4334 grub_terminfo_fini.
4335 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4336 (GRUB_MOD_FINI): Likewise.
4337 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4338 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4339 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4340 grub_video_radeon_fuloong2e_fini.
4341 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4342 [LOONGSON]: Rename to grub_video_sis315pro_init.
4343 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4344 grub_video_sis315pro_fini.
4345 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4346 [LOONGSON]: Rename to grub_video_sm712_init.
4347 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4348 grub_video_sm712_fini.
4349 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4350 (grub_at_keyboard_fini): Likewise.
4351 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4352 Don't declare grub_{modname}_init.
4353 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4354 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4355 New proto.
4356 (grub_keylayouts_fini) [!EMU]: Likewise.
4357 * include/grub/serial.h (grub_serial_init) [!EMU]:
4358 New proto.
4359 (grub_serial_fini) [!EMU]: Likewise.
4360 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4361 New proto.
4362 (grub_terminfo_fini) [!EMU]: Likewise.
4363 * include/grub/video.h (grub_font_init) [!EMU]:
4364 New proto.
4365 (grub_font_fini) [!EMU]: Likewise.
4366 (grub_gfxterm_init) [!EMU]: Likewise.
4367 (grub_gfxterm_fini) [!EMU]: Likewise.
4368 (grub_video_sm712_init) [!EMU]: Likewise.
4369 (grub_video_sm712_fini) [!EMU]: Likewise.
4370 (grub_video_sis315pro_init) [!EMU]: Likewise.
4371 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4372 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4373 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4374
d5534665
VS
43752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Make nand a prefix for nand devices.
4378
4379 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4380
10133b5f
VS
43812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4384 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4385
8e307a62
VS
43862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * include/grub/env.h (grub_env_find): Remove prototype.
4389 * grub-core/kern/env.c (grub_env_find): Make static.
4390 (grub_env_set): Remove useless set.
4391
a4c65f34
VS
43922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 * grub-core/kern/i386/realmode.S: Remove useless align.
4395
d87893d5
VS
43962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 * include/grub/dl.h (grub_dl_load_file): Don't export.
4399
50159add
VS
44002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4403 grub_dprintf.
4404
b2582b84
VS
44052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4408 grub_errors.
4409 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4410 not reloading whole superblock but only the part which is really needed.
4411 Remove useless grub_errors.
4412 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4413 grub_errors.
4414
e2a83395
VS
44152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 Don't export grub_get_rtc.
4418
4419 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4420 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4421
e7d2a906
VS
44222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4425
6cf1363b
VS
44262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4429 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4430
eece3349
VS
44312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 Remove prio_list.
4434
4435 * include/grub/list.h (grub_prio_list): Removed.
4436 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4437 GRUB_COMMAND_PRIO_MASK.
4438 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4439 GRUB_COMMAND_FLAG_ACTIVE.
4440 (grub_prio_list_insert): Removed.
4441 (grub_prio_list_remove): Likewise.
4442 (GRUB_AS_PRIO_LIST): Likewise.
4443 (GRUB_AS_PRIO_LIST_P): Likewise.
4444 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4445 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4446 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4447 * grub-core/kern/command.c (grub_register_command_prio): Inline
4448 the prio_list code.
4449 (grub_unregister_command): Likewise.
4450
94f064b4
VS
44512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Fix interrupt mixup from previous commit.
4454
4455 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4456 (grub_realidt): New var.
4457 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4458 Load idt.
4459 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4460 New declaration.
4461 (grub_relocator16_boot): Set grub_relocator16_idt.
4462 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4463 (LOCAL(realidt)): ... this.
4464 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4465 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4466 (grub_realidt): New variable.
4467
27317084
VS
44682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4471 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4472 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4473 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4474 Gettextize.
4475 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4476 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4477 * po/POTFILES.in: Regenerate.
4478
47b40053
VS
44792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4482 errors.
4483
2b343101
VS
44842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4487 \0.
4488 (add_length): Likewise.
4489
ff27c3dd
LK
44902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
44912012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4492
4493 GDB serial and backtrace support.
4494
4495 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4496 (prot_to_real): Likewise.
4497 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4498 * grub-core/Makefile.core.def (backtrace): New module.
4499 (gdb): Likewise.
4500 * grub-core/gdb/cstub.c: New file.
4501 * grub-core/gdb/gdb.c: Likewise.
4502 * grub-core/gdb/i386/idt.c: Likewise.
4503 * grub-core/gdb/i386/machdep.S: Likewise.
4504 * grub-core/gdb/i386/signal.c: Likewise.
4505 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4506 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4507 * include/grub/backtrace.h: Likewise.
4508 * include/grub/gdb.h: Likewise.
4509 * include/grub/i386/gdb.h: Likewise.
4510
45112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4512
4513 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4514 New function.
4515 (add_length): Likewise.
4516 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4517 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4518 proto.
4519 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4520 __argp_get_display_len.
4521
ff27c3dd 45222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4523
4524 $"..." support in scripts.
4525
4526 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4527 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4528 * grub-core/script/yylex.l: Likewise.
4529 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4530 value.
4531
ff27c3dd 45322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4533
4534 * gentpl.py: Remove obsolete pkglib_DATA handling.
4535
ff27c3dd 45362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4537
4538 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4539 mailing list.
4540
4541 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4542 * util/grub-kbdcomp.in: Likewise.
4543 * util/grub-mkconfig.in: Likewise.
4544 * util/grub-mkconfig_lib.in: Likewise.
4545 * util/grub-mknetdir.in: Likewise.
4546 * util/grub-mkrescue.in: Likewise.
4547 * util/grub-mkstandalone.in: Likewise.
4548 * util/grub-reboot.in: Likewise.
4549 * util/grub-set-default.in: Likewise.
4550 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4551
ff27c3dd 45522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4553
4554 Remove GRUB_PREFIX.
4555
4556 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4557 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4558 used for backward compatibility.
4559
ff27c3dd 45602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4561
4562 Add new all_video module.
4563
4564 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4565 * grub-core/Makefile.core.def (all_video): New module.
4566 * grub-core/genmoddep.awk: Generate dependency of all_video from
4567 video.lst.
4568 * grub-core/lib/fake_module.c: New file.
4569 * grub-core/normal/main.c (features): Add feature_all_video_module.
4570 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4571 don't do explicit search again.
47454da5 4572 insmod all_video in load_video if available.
22c7ce85 4573
ff27c3dd 45742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4575
4576 Another round of string clarification and adding TRANSLATORS comments.
4577
ff27c3dd 45782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4579
4580 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4581
ff27c3dd 45822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4583
4584 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4585 to grub_ssize_t.
4586 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4587 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4588
ff27c3dd 45892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4590
4591 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4592 trailing newline implicitly. All users updated.
4593
ff27c3dd 45942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4595
4596 Implement serial on IEEE1275 and EFI.
4597
4598 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4599 on emu. Mention arc and emu as the only platforms without serial
4600 support.
4601 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4602 ieee1275 platforms.
4603 * grub-core/term/efi/serial.c: New file.
4604 * grub-core/term/ieee1275/serial.c: Likewise.
4605 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4606 specification if no ns8250 driver is available.
4607 (grub_cmd_serial): Likewise.
4608 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4609 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4610 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4611 (grub_efi_parity_type_t): New type.
4612 (grub_efi_stop_bits_t): Likewise.
4613 (grub_efi_serial_io_interface): New struct.
4614 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4615 available for all interfaces.
4616 Add EFI and IEEE1275 fields.
4617 (grub_ofserial_init): New proto.
4618 (grub_efiserial_init): Likeiwse.
4619 * util/grub.d/00_header.in: Don't check for the presence of serial
4620 module.
4621
ff27c3dd 46222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
4623
4624 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4625 name as if it was an alias.
4626
114076ef
VS
46272012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/commands/lsacpi.c (options): Fix typo.
4630
6a656b0e
VS
46312012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 Convert grub-emu to argp.
4634
4635 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4636 emu.
4637 * util/argp_common.c: Rename to ...
4638 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4639 Add missing includes.
4640 * grub-core/kern/emu/main.c: Convert to argp.
4641 * po/POTFILES.in: Regenerate.
4642 * util/grub-install.in (usage): Make first letter lowcase in messages
4643 for uniformity.
4644 * util/grub-setup.c (options): Likewise.
4645
1e3f8ae8
VS
46462012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4649 Put back accidently commented-out code.
4650
ed167a80
VS
46512012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4654 loop check using Brent algorithm.
4655 (grub_hfsplus_btree_search): Likewise.
4656
6753c0ec
VS
46572012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * util/grub-install.in: Fix usage of wrong device for PreP install.
4660
4e27343f
VS
46612012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * conf/Makefile.common (CFLAGS_GNULIB): Add
4664 -Wno-unsafe-loop-optimizations.
4665 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4666 on tools.
4667 * grub-core/commands/legacycfg.c: Add pragma to skip
4668 -Wunsafe-loop-optimizations.
4669 (check_password_md5_real): Fix loop counter type.
4670 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4671 reading.
4672 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4673 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4674 loop condition.
4675 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4676 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4677 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4678 condition.
4679 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4680 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4681 avoid possible infinite loops.
4682 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4683 and -Wunsafe-loop-optimizations.
4684 * grub-core/script/yylex.l: Likewise.
4685 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4686 (print_glyphs): Avoid infinite loops.
4687 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4688
697f18b0
GS
46892012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4690
4691 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4692 to avoid infinite loop.
4693 (disp_acpi_rsdt_table): Likewise.
4694
274416e8
VS
46952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/font/font.c (grub_font_load): Add support for default
4698 path for fonts ($prefix/fonts).
4699 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4700 for checking if string is a path.
4701 * grub-core/normal/main.c (features): Add feature_default_font_path.
4702 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4703 * util/grub.d/00_header.in: Use default directory if possible.
4704 * util/grub-install.in: Install unicode.pf2.
4705
b3e08622
VS
47062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4709 * po/Rules-swiss: New file.
4710 * po/swiss.sed: Likewise.
4711
fe42ce09
VS
47122012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/fs/btrfs.c (find_device): Fix typos.
4715 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4716 * util/grub-mkrelpath.c (argp_parser): Likewise.
4717 Reported by: Yuri Chornoivan.
4718
72f1d065
DO
47192012-02-23 Dalet Omega <daletomega@gmail.com>
4720
4721 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4722 for usual informative messages.
4723
c5884973
DO
47242012-02-23 Dalet Omega <daletomega@gmail.com>
4725
4726 Starfield theme.
4727
4728 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4729 * conf/Makefile.common: Define starfielddir.
4730 * configure.ac: Configure starfield.
4731 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4732 * themes/starfield/README: Likewise.
4733 * themes/starfield/blob_w.png: Likewise.
4734 * themes/starfield/boot_menu_c.png: Likewise.
4735 * themes/starfield/boot_menu_e.png: Likewise.
4736 * themes/starfield/boot_menu_n.png: Likewise.
4737 * themes/starfield/boot_menu_ne.png: Likewise.
4738 * themes/starfield/boot_menu_nw.png: Likewise.
4739 * themes/starfield/boot_menu_s.png: Likewise.
4740 * themes/starfield/boot_menu_se.png: Likewise.
4741 * themes/starfield/boot_menu_sw.png: Likewise.
4742 * themes/starfield/boot_menu_w.png: Likewise.
4743 * themes/starfield/slider_c.png: Likewise.
4744 * themes/starfield/slider_n.png: Likewise.
4745 * themes/starfield/slider_s.png: Likewise.
4746 * themes/starfield/src/blob_nw.xcf: Likewise.
4747 * themes/starfield/src/bootmenu/: Likewise.
4748 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4749 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4750 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4751 * themes/starfield/src/slider_c.xcf: Likewise.
4752 * themes/starfield/src/slider_n.xcf: Likewise.
4753 * themes/starfield/src/slider_s.xcf: Likewise.
4754 * themes/starfield/src/terminalbox/: Likewise.
4755 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4756 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4757 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4758 * themes/starfield/starfield.png: Likewise.
4759 * themes/starfield/terminal_box_c.png: Likewise.
4760 * themes/starfield/terminal_box_e.png: Likewise.
4761 * themes/starfield/terminal_box_n.png: Likewise.
4762 * themes/starfield/terminal_box_ne.png: Likewise.
4763 * themes/starfield/terminal_box_nw.png: Likewise.
4764 * themes/starfield/terminal_box_s.png: Likewise.
4765 * themes/starfield/terminal_box_se.png: Likewise.
4766 * themes/starfield/terminal_box_sw.png: Likewise.
4767 * themes/starfield/terminal_box_w.png: Likewise.
4768 * themes/starfield/theme.txt: Likewise.
4769
17d73325
VS
47702012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * util/grub.d/00_header.in: Add missing export theme.
4773
dbebaf92
VS
47742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4777 already included.
4778 Reported by: Eren D.
4779
3d68bffb
VS
47802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * conf/Makefile.common (grubdatadir): Removed.
4783 (Makefile.am): Move eveything grubdata to pkgdata.
4784
4b59234d
VS
47852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/commands/acpihalt.c (get_sleep_type):
4788 Remove unused variable.
4789
463dcadc
VS
47902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4793 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4794 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4795 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4796 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4797 i18n with gettext no-op.
4798 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4799 GRUB_ACPI_OPCODE_STRING_CONST.
4800 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4801 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4802
e5b90c82
VS
48032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * po/POTFILES.in: Regenerate.
4806
2a704ca9
VS
48072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4810 -Wno-error=missing-noreturn.
4811
84f9d341
VS
48122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4815 condition to avoid possibly infinite loops.
4816 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4817 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4818
d46683f9
VS
48192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4822 condition to avoid possibly infinite loops.
4823
c44866b2
VS
48242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4827 on show_error.
4828
96790539
VS
48292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4832
1ba7e295
VS
48332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4836
21ffe8f1
VS
48372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * util/bin2h.c (usage): Add missing attribute noreturn.
4840
0ccb6b3c
VS
48412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4844 if the size isn't divisible by 512.
4845
b00d7fb6
VS
48462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 Make list_push and list_remove functions rather than inline functions
4849 to decrease size and avoid aliasing violations.
4850
4851 * include/grub/list.h (grub_list_push): Move to ...
4852 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4853 * include/grub/list.h (grub_list_remove): Move to ...
4854 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4855
9d369087
VS
48562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4859 and -Wunused-result.
4860
af0250d9
VS
48612012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4864 Reported by: Seth Goldberg
4865
aad32b14
VS
48662012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4869
ac96441c
ST
48702012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4871
4872 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4873 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4874 command line.
4875 * docs/grub.texi (Simple configuration): Document
4876 GRUB_CMDLINE_GNUMACH.
4877
48782012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4879
4880 * conf/Makefile.common (platform_SCRIPTS): New variable.
4881 (platform_PROGRAMS): Likewise.
4882 * gentpl.py: Mark *,module and *.image for install.
4883 * grub-core/gdb_grub.in: Add a notice of expected environment.
4884 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4885 (gmodule.pl): Likewise.
4886
ac96441c 48872012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4888
4889 Replace grub_checkkey with grub_getkey_noblock.
4890
4891 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4892 (grub_getkey_noblock): ... this. All users updated.
4893
ac96441c 48942012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4895
4896 * grub-core/kern/emu/console.c: Move to ...
4897 * grub-core/term/emu/console.c: ...here.
4898 (grub_ncurses_getkey): Fix return value if no key is detected.
4899
e51b5666
VS
49002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4903 (grub_unit_test_fini): Likewise.
4904 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4905
49062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * include/grub/test.h (GRUB_UNIT_TEST)
4909
d9a62292
VS
49102012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4913 Better error handling.
4914 (grub_script_return): Likewise.
4915 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4916
77c9182f
VS
49172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4920 rimplicit redifinition.
4921
edb13cf9
VS
49222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4925 GRUB.
4926
a9e9dc7c
VS
49272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4930 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4931 prompt here.
4932
b4ba8e02
VS
49332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4936 as GRUB_ERR_BUG. Don't malloc if no device is available.
4937
dded5540
VS
49382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4941 Mark calling with invalid term as GRUB_ERR_BUG.
4942
0cf69874
VS
49432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4946 packets rather than raising an error.
4947
59bfe502
VS
49482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4951 in if.
4952
db5fc596
VS
49532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4956 diagnostic to dprintf.
4957 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4958
e4b7f404
VS
49592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4962 device name.
4963
e7b02f9e
VS
49642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4967 (grub_ntfs_iterate_dir): Likewise.
4968
0331e102
VS
49692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 Efiemu stylistic fixes and gettext.
4972
4973 * grub-core/efiemu/i386/loadcore32.c
4974 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4975 * grub-core/efiemu/i386/loadcore64.c
4976 (grub_arch_efiemu_relocate_symbols64): Likewise.
4977 * grub-core/efiemu/i386/pc/cfgtables.c
4978 (grub_machine_efiemu_init_tables): Likewise.
4979 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4980 (grub_efiemu_loadcore_initXX): Add a filename argument.
4981 All users updated.
4982 Improved error message.
4983 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4984 Add a filename argument.
4985 All users updated.
4986 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4987 Reclassify double relocation as GRUB_ERR_BUG.
4988
306fc074
VS
49892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4992 handling.
4993
794d8ef2
VS
49942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4997 on partition.
4998
49992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
5000
5001 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
5002
794d8ef2 50032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
5004
5005 Improve string. Gettextize.
5006
78dde88e
VS
50072012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
5010 utils.
5011 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
5012
4786a90f
VS
50132012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
5016 [GRUB_UTIL]: New function.
5017 (insert_array) [GRUB_UTIL]: Store partmaps.
5018 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
5019 partmaps.
5020 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
5021 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
5022 (probe_abstraction): Print diskfilter and not raid.
5023 Reported by: Lennart Sorensen
5024
0b6225bd
VS
50252012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
5028 * util/grub-mkimagexx.c (MASK3): New define.
5029 (add_value_to_slot_20b): Use MASK3.
5030 (add_value_to_slot_21): Likewise.
5031 (relocate_addresses): Fix format specification.
5032 (load_image): Explicitly init symtab_section.
5033
b055f8f6
VS
50342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
5037 (grub_util_biosdisk_get_grub_dev): Fix format specification.
5038
b77c2fb7
VS
50392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
5042 on powerpc.
5043 Reported by: Lennart Sorensen
5044
e3ec28ab
VS
50452012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 * gentpl.py: Add missing license header.
5048 * docs/grub.texi: Update copyright year.
5049
c8d9ead6
GS
50502012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5051
5052 Source grub-mkconfig_lib from the build directory at build time.
5053 Suggested by: Vladimir Serbinenko.
5054
5055 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
5056 * util/grub-install.in: Define pkgdatadir if not already set, and source
5057 grub-mkconfig_lib from there.
5058 * util/grub-kbdcomp.in: Likewise.
5059 * util/grub-mkconfig.in: Likewise.
5060 * util/grub-mknetdir.in: Likewise.
5061 * util/grub-mkrescue.in: Likewise.
5062 * util/grub-mkstandalone.in: Likewise.
5063 * util/grub-reboot.in: Likewise.
5064 * util/grub-set-default.in: Likewise.
5065 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5066
ebcecdf1
VS
50672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 Increase warning level.
5070
5071 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5072 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5073 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5074 (TARGET_CFLAGS): Likewise.
5075 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5076 * grub-core/Makefile.core.def (decompressor_xz): Add
5077 -Wno-unreachable-code.
5078 (normal): Add -Wno-redundant-decls.
5079 (xzio): Add -Wno-unreachable-code.
5080 (lzopio): Add -Wno-redundant-decls -Wno-error.
5081 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5082 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5083 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5084 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5085 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5086 * grub-core/kern/i386/coreboot/init.c: Add exception to
5087 -Wsuggest-attribute=noreturn.
5088 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5089 * grub-core/kern/ia64/dl_helper.c: Likewise.
5090 * grub-core/kern/mips/dl.c: Likewise.
5091 * grub-core/kern/sparc64/dl.c: Likewise.
5092 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5093 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5094 (memcmp): Likewise.
5095 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5096 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5097 * grub-core/loader/mips/linux.c: Likewise.
5098 * grub-core/loader/multiboot_elfxx.c: Likewise.
5099 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5100 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5101 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5102 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5103 fixme.
5104 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5105 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5106 Fix prototype.
5107
37bb97fe
VS
51082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5111 address.
5112
29a3550b
VS
51132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5116 Avoid improper use of strings.
5117 (grub_cmd_legacy_initrdnounzip): Likewise.
5118
dfdffd0d
VS
51192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5122 attribute.
5123 (grub_util_info): Likewise.
5124 (grub_util_error): Likewise.
5125
102fae4a
VS
51262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5129 * util/grub-fstest.c (fstest): Likewise.
5130
7e94d044
VS
51312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5134 (grub_md_sha512_real): Likewise.
5135 (grub_util_get_geli_uuid): Likewise.
5136 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5137 (grub_util_biosdisk_open): Fix format specification.
5138 Respect format security.
5139 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5140 (xrealloc): Likewise.
5141 (xasprintf): Likewise.
5142
5ebd9769
VS
51432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * util/import_gcry.py: Include grub/crypto.h in init.c.
5146
495fc8c1
VS
51472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5150 (generate_image): Make prefix a const char *.
5151 Fix format specifications. Respect format security.
5152 Avoid void * arithmetics.
5153 Avoid shadowing.
5154 (argp_parser): Remove unused variable. Respect format security.
5155 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5156 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5157 (count_funcs): Remove unused variable.
5158 (relocate_addresses): Fix format specification.
5159 Disable x86-64 with elf32. Remove unused variables.
5160 (add_fixup_entry): Avoid shadowing.
5161 (make_reloc_section): Fix format specification.
5162 Use assert.
5163 (locate_sections): Fix format specifications.
5164 (load_image): Avoid shadowing.
5165
043c2ea3
VS
51662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5169 Fix format specifications. Respect format security.
5170 Don't translate already translated grub_errmsg.
5171 (argp_parser): Remove unused variable
5172
3ec65a81
VS
51732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5176
a4d9fe4a
VS
51772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5180 (main): Likewise. Use xmalloc. Respect format security.
5181
15b81d49
VS
51822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5185 a const char *.
5186 (argp_parser): Remove unused variable.
5187
31731fc0
VS
51882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5191 (add_pixel): Make static.
5192 (add_font): Likewise.
5193 (write_string_section): Make name and str a const char *.
5194 (write_be16_section): Make name a const char *.
5195 (print_glyphs): Make static.
5196 (write_font_ascii_bitmap): Likewise.
5197 (write_font_width_spec): Likewise.
5198 (write_font_pf2): Likewise.
5199 (argp_parser): Remove unused variable.
5200 Respect format security.
5201 (main): Avoid shadowing. Respect format security.
5202
0809527b
VS
52032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * util/grub-editenv.c (argp_parser): Make static.
5206 (create_envblk_file): Use xmalloc.
5207 (open_envblk_file): Likewise.
5208 Resepect format security.
5209 (set_variables): Respect format security.
5210
45b0c8b7
VS
52112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * util/getroot.c (grub_find_device): Respect format security.
5214 (get_mdadm_uuid): Remove unused variable.
5215 (grub_util_pull_device): Dont call gettext on already translated
5216 grub_errmsg.
5217 (find_system_device): Remove unused variable.
5218 (grub_util_get_grub_dev): Likewise.
5219 (grub_make_system_path_relative_to_its_root): Respect format security.
5220
1b024b4e
VS
52212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * util/grub-fstest.c (execute_command): Make first argument
5224 a const char *.
5225 (read_file): Avoid shadowing.
5226 Reuse underlying error message if device open fails.
5227 (cmd_cmp): Respect format security.
5228 (root): Make const char *.
5229 (fstest): Remove args argument and use global copy.
5230 Respect format security.
5231 (argp_parser): Make static.
5232 (main): Make default_root const char *.
5233
5d1d4e28
VS
52342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * util/grub-mount.c (root): Make const char *.
5237 (execute_command): Make first argument a const char *.
5238 (fuse_init): Respect format security.
5239 (argp_parser): Make static. Remove unused variable.
5240 (main): Make default_root a const char *.
5241 Respect format security.
5242
36eb7379
VS
52432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * util/grub-probe.c (probe): Don't call gettext on already translated
5246 grub_errmsg.
5247 Remove unused variables.
5248 (argp_parser): Remove unused variable.
5249
76fb2ea9
VS
52502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * util/grub-script-check.c (argp_parser): Remove unused variable.
5253 (main): Rename read to curread to avoid shadowing.
5254
56c98584
VS
52552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * util/misc.c (grub_util_write_image_at): Fix format specification.
5258 (grub_util_write_image): Likewise.
5259 (grub_script_execute_argument_to_string): Removed (unused).
5260 (grub_script_execute_menuentry): Likewise.
5261 (grub_putchar): Likewise.
5262
164ebb48
VS
52632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5266 (FUNCTION) [GRUB_UTIL]: Likewise.
5267 (VARIABLE) [GRUB_UTIL]: Likewise.
5268
44318d61
VS
52692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5272 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5273
31a26002
VS
52742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5277 buffer.
5278
52792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5282 (LzmaEnc_SaveState): Removed (unused).
5283 (LzmaEnc_RestoreState): Likewise.
5284 (LzmaEnc_InitPriceTables): Made static.
5285 (LzmaEnc_Construct): Likewise.
5286 (LzmaEnc_FreeLits): Likewise.
5287 (LzmaEnc_Destruct): Likewise.
5288 (LzmaEnc_Init): Likewise.
5289 (LzmaEnc_InitPrices): Likewise.
5290 (LzmaEnc_Finish): Likewise.
5291 (LzmaEnc_PrepareForLzma2): Removed (unused).
5292 (LzmaEnc_MemPrepare): Likewise.
5293 (LzmaEnc_GetNumAvailableBytes): Likewise.
5294 (LzmaEnc_GetCurBuf): Likewise.
5295 (LzmaEnc_CodeOneMemBlock): Likewise.
5296
6fa67967
VS
52972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5300 (grub_util_ldm_embed): Likewise.
5301
9a7428e6
VS
53022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5303
5304 * util/grub-editenv.c (print_var): Rename name to varname to
5305 avoid shadowing.
5306 (main): Rename index to curindex to avoid shadowing.
31a26002 5307 Make filename a const char *.
9a7428e6 5308
4f96abd1
VS
53092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5312 to arg_getline to avoid shadowing.
5313
44d10dad
VS
53142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5317 disk_ to avoid shadowing.
5318
340ba63e
VS
53192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5322 curindex to avoid shadowing.
5323 Make static.
5324 (MatchFinder_GetNumAvailableBytes): Make static.
5325
22965bce
VS
53262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5329 avoid shadowing.
5330
7b5784d4
VS
53312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5334 argument from encrypt to do_encrypt to avoid shadowing.
5335
6f48ca01
VS
53362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5339 incorrect nesting of #if's.
5340
a4ea2dff
VS
53412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5344 checks which are always false on some platforms.
5345 (grub_cmd_lsacpi): Likewise.
5346 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5347 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5348 Likewise.
5349
def9fc1b
VS
53502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5353 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5354
a67b2a04
VS
53552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5358 re_dfa_t to avoid breaking alignment invariants.
5359 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5360 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5361
44c6828d
VS
53622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5365 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5366
bebe0dd0
VS
53672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5370 Fix declaration.
5371
a9cdb3cf
VS
53722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5375 conserve alignment invariants.
5376 (grub_ehci_ehcc_read16): Likewise.
5377 (grub_ehci_oper_read32): Likewise.
5378 (grub_ehci_oper_write32): Likewise.
5379 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5380 Conserve alignment invariants.
5381
ccc3b1b8
VS
53822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5385 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5386 declarations.
5387
987fbd95
VS
53882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5391 Remove unused variable.
5392
0df363f3
VS
53932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5396 Remove set in if.
5397
b2c0c4a6
VS
53982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * include/grub/net.h: Remove double declarations.
5401
690c531f
VS
54022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Remove "payload" command in ia64 Linux loader since I couldn't
5405 find any evidence of it being used for anything.
5406 Replace "relocate" command with an environment variable
5407
5408 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5409 fields.
5410 (ia64_boot_payload): Removed.
5411 (last_payload): Likewise.
5412 (RELOCATE_OFF): Likewise.
5413 (RELOCATE_ON): Likewise.
5414 (RELOCATE_FORCE): Likewise.
5415 (relocate): Likewise.
5416 (free_pages): Don't free payloads.
5417 (grub_load_elf64): Use common error messages.
5418 Use "linux_relocate" variable.
5419 Increase the space after boot_params.
5420 (grub_cmd_payload): Removed.
5421 (grub_cmd_relocate): Likewise.
5422 (grub_cmd_fpswa): Improve messages.
5423 (cmd_payload): Removed.
5424 (cmd_relocate): Likewise.
5425 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5426 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5427
01783768
VS
54282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 Convert UHCI to DMA framework.
5431
5432 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5433 (grub_uhci_pci_iter): Fill new members
5434 (grub_alloc_td): Use P2V and V2P functions.
5435 (grub_free_queue): Likewise.
5436 (grub_alloc_qh): Likewise.
5437 (grub_uhci_setup_transfer): Likewise.
5438 (grub_uhci_check_transfer): Likewise.
5439
43206939
VS
54402012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5443 Remove assignment in if while on it.
5444
571e140e
VS
54452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * util/grub-mkstandalone.in: Fix modules directory.
5448
a9d96eeb
VS
54492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5452 on i386-pc target.
5453 (argp_parser): Accept "auto" as compression specification.
5454
e4e37e8d
VS
54552012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 Fix `help' with unloaded modules.
5458
5459 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5460 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5461 (grub_dyncmd_dispatcher): Small stylistic fix.
5462 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5463 explicit help is requested.
5464
e1ea3ade
VS
54652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5468 Explicitly init restart while on it.
5469
27556881
VS
54702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5473 uninited variable.
5474
d65f6b36
VS
54752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * util/grub-mknetdir.in: Use . rather than source for POSIX
5478 compatibility.
5479
0a1e473c
VS
54802012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5483
ce6647c8
VS
54842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5487 variable.
5488
66747894
VS
54892012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5492 without quotes.
5493
71645f6e
VS
54942012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5497
0e1c1f61
VS
54982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5501 iteration of partitions.
5502
9c4b5c13
VS
55032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 Improve gettext support. Stylistic fixes and error handling fixes while
5506 on it.
5507
215c90cb
VS
55082012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5511 part. Instead setup the correct stack in RM.
5512 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5513 for stack.
5514 * include/grub/i386/relocator_private.h: New file.
5515
b5c1f9bf
VS
55162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5519 argument.
5520 * util/grub-fstest.c (options): Add missing DEVICE part.
5521
b525fd83
VS
55222012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 Clarify and unify messages.
5525
5526 * grub-core/commands/hashsum.c (options): Unify messages.
5527 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5528 literal-only message as translatable.
5529 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5530 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5531 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5532 commands.
5533 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5534 key, not the key used to unlock. Clarify what it's used for.
5535 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5536 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5537 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5538 * util/grub-editenv.c (options): Unify "verbose" message.
5539 * util/grub-fstest.c (read_file): Unify error message.
5540 (fstest): Add quotes around commands.
5541 (options): Unify "verbose" message.
5542 * util/grub-install.in: Add quotes around variable name.
5543 * util/grub-kbdcomp.in: Unify error message.
5544 * util/grub-mkfont.c (main): Likewise.
5545 * util/grub-mkrescue.in: Likewise.
5546 * util/grub-mklayout.c (options): Unify "verbose" message.
5547 * util/grub-mkstandalone.in: Unify help and verbose messages.
5548 * util/grub-mount.c (options): Unify "verbose" message.
5549 * util/grub-probe.c (options): Likewise.
5550 * util/grub-script-check.c (options): Likewise.
5551 * util/grub-setup.c (setup): Unify no-terminator message.
5552 (options): Use DEVICE and not DEV.
5553 Unify "verbose" message.
5554 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5555
0ae70393
VS
55562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 Improve and unify messages.
5559
5560 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5561 name. All users updated.
5562 Print filename in error.
5563 (read_device_map): Print filename in error.
5564 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5565 (grub_util_get_os_disk): Likewise.
5566 (grub_util_biosdisk_get_grub_dev): Likewise.
5567 (grub_util_check_block_device): Likewise.
5568 (grub_util_check_char_device): Likewise.
5569 (grub_make_system_path_relative_to_its_root): Likewise.
5570 * util/grub-editenv.c (create_envblk_file): Likewise.
5571 (open_envblk_file): Likewise.
5572 (write_envblk): Likewise.
5573 * util/grub-fstest.c (cmd_cp): Likewise.
5574 (cmd_cat): Likewise.
5575 (cmd_cmp): Likewise.
5576 * util/grub-menulst2cfg.c (main): Likewise.
5577 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5578 (write_font_width_spec): Likewise.
5579 (write_font_pf2): Likewise.
5580 * util/grub-mkimage.c (generate_image): New argument outname.
5581 All users updated.
5582 Remove unreacheable message.
5583 (options): Unify messages.
5584 (help_filter): Likewise.
5585 * util/grub-mklayout.c (usage): Removed (unused).
5586 (main): Print filename in error.
5587 * util/grub-mkrescue.in: Fix wrong quoting.
5588 * util/grub-setup.c (setup): Print filename in error.
5589 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5590 (check_sas): Likewise.
5591 * util/misc.c (grub_util_get_fp_size): Removed.
5592 (grub_util_get_image_size): Print filename in error.
5593 (grub_util_read_at): Removed.
5594 (grub_util_read_image): Print filename in error.
5595 (grub_util_load_image): Likewise.
5596 (grub_util_write_image_at): New argument filename. All users updated.
5597 Print filename in error.
5598 (grub_util_write_image): New argument filename. All users updated.
5599 Print filename in error.
5600 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5601 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5602
0a96117d
VS
56032012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/Makefile.core.def (pxechain): New module.
5606 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5607 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5608 function.
5609 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5610 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5611
aca002f7
VS
56122012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5615 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5616 * include/grub/err.h (grub_error_saved): New struct.
5617 (grub_errmsg): Make array size explicit.
5618 * include/grub/misc.h (grub_error_save): New function.
5619 (grub_error_load): Likewise.
5620 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5621 (grub_error_push): Update `errno' member name.
5622 (grub_error_pop): Likewise
5623 * grub-core/net/tftp.c (tftp_data): New member save_err.
5624 (tftp_receive): Save error.
5625 (tftp_open): Restore error.
5626
a51dab13
VS
56272012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5630 to real mode down to execute A20-related code in protected mode as
5631 intended.
5632
eb6e6649
GS
56332012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5634
5635 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5636 NULL when the argument `level' has an unexpected value.
5637
92cd0f6e
VS
56382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Move platform-dependent files from $prefix to $prefix/$platform.
5641
5642 * config.h.in (GRUB_TARGET_CPU): New definition.
5643 (GRUB_PLATFORM): Likewise.
5644 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5645 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5646 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5647 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5648 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5649 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5650 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5651 * grub-core/normal/term.c (read_terminal_list): Likewise.
5652 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5653 $prefix/locale.
5654 (grub_gettext_init_ext): Likewise.
5655 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5656 grub_platform.
5657 * util/grub-install.in: Update directories.
5658 * util/grub-mknetdir.in: Likewise.
5659 * util/grub-mkrescue.in: Likewise.
5660
db606889
VS
56612012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5664 grub_error framework. All users updated.
5665
c39992a4
VS
56662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5669 lists (by always binsearching), improve caching (cache strings
5670 used for binsearch, not only results), improve
5671 maintainability (by using more structured binary search) and correct
5672 error handling.
5673
1e5ec32f
VS
56742012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/script/execute.c (grub_script_return): Fix warning.
5677
ac576cde
VS
56782012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/script/execute.c (grub_script_return): Fix potential
5681 NULL-dereference.
5682 Reported by: Jim Meyering.
5683
498453f6
VS
56842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * po/POTFILES.in: Regenerate.
5687 * util/grub-install.in: Gettextize the strings missed in first pass.
5688
8be63f2e
VS
56892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * Makefile.util.def (grub-mkdevicemap): Removed.
5692 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5693 * include/grub/util/deviceiter.h: Removed.
5694 * util/deviceiter.c: Likewise.
5695 * util/getroot.c (grub_util_get_os_disk): New function.
5696 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5697 replacement for EFI.
5698 * util/grub-mkdevicemap.c: Removed.
5699 * util/grub-probe.c (probe): Handle PRINT_DISK.
5700 (argp_parser): Handle -t disk.
5701
8e1e4e39
VS
57022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * util/grub-mkfont.c: Migrate to argp.
5705 * util/grub-mklayout.c: Likewise.
5706 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5707 * util/grub-mkrelpath.c: Likewise.
5708 * util/grub-probe.c: Likewise.
5709 * util/grub-script-check.c: Likewise.
5710
4459819a
VS
57112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * util/grub-reboot.in: Add missing datarootdir.
5714 Add missing newline.
5715 * util/grub-set-default.in: Add missing datarootdir.
5716 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5717 * util/grub-mkrescue.in: Likewise.
5718
f65741c7
VS
57192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5722
c1a33466
VS
57232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * util/grub-kbdcomp.in: Add decent help and gettextize.
5726 * docs/man/grub-kbdcomp.h2m: New file.
5727
c76899a0
VS
57282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 Migrate grub-mkimage.c to argp.
5731
5732 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5733 (grub-setup): Likewise.
5734 * util/grub-setup.c (print_version): Move to ...
5735 * util/argp_common.c (print_version): ... here.
5736 * util/grub-setup.c (argp_program_version_hook): Move to ...
5737 * util/argp_common.c (argp_program_version_hook): ... here.
5738 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5739 safety.
5740 * util/grub-mkimage.c (main): Migrate to argp.
5741
57db0757
VS
57422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5743
5744 * util/grub-mkrescue.in: Use same message as
5745 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5746 for better translations.
5747
18534ad9
VS
57482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5751 options with generic grub-mkrescue.in with the goal of future
5752 merge.
5753
c84ba308
VS
57542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/kern/mm.c: Add missing include of i18n.h
5757 * grub-core/lib/relocator.c: Likewise.
5758
347998c2
VS
57592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5762 error.
5763 (allocate_pages): Check return value.
5764 Replace fatal with error.
5765 (grub_linux_boot): Replace printf with dprintf.
5766 Check find_mmap_size return value.
5767 Replace fatal with error.
5768 Don't call grub_machine_fini.
5769 (grub_load_elf64): Replace printf with dprintf.
5770 (grub_cmd_linux): Likewise.
5771 (grub_cmd_initrd): Likewise.
5772 (grub_cmd_payload): Likewise.
5773
c779226e
VS
57742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5777 message.
5778 * grub-core/video/radeon_fuloong2e.c
5779 (grub_video_radeon_fuloong2e_setup): Likewise.
5780 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5781 * grub-core/video/video.c (grub_video_set_mode): Don't override
5782 standard out of memory message.
5783
dc87d45a
GS
57842012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5785
5786 NetBSD disk wedge support.
5787
5788 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5789 [__NetBSD__]: Handle NetBSD disk wedges.
5790 * util/getroot.c (convert_system_partition_to_system_disk)
5791 [__NetBSD__]: Likewise.
5792
055f856f
MW
57932012-02-03 Mark Wooding <mdw@distorted.org.uk>
5794
5795 * util/grub-mkconfig.in: Use umask rather than chmod to create
5796 grub.cfg.new to avoid insecure grub.cfg.
5797
4a9f8346
VS
57982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/commands/ls.c: Gettextize.
5801 * grub-core/commands/setpci.c: Likewise.
5802 * grub-core/commands/videotest.c: Likewise.
5803 * grub-core/disk/geli.c: Likewise.
5804 * grub-core/kern/mm.c: Likewise.
5805 * grub-core/lib/relocator.c: Likewise.
5806 * grub-core/loader/efi/appleloader.c: Likewise.
5807 * grub-core/loader/i386/xnu.c: Likewise.
5808 * grub-core/loader/ia64/efi/linux.c: Likewise.
5809 * grub-core/loader/xnu.c: Likewise.
5810 * grub-core/net/dns.c: Likewise.
5811 * grub-core/net/net.c: Likewise.
5812 * grub-core/script/lexer.c: Likewise.
5813 * grub-core/script/parser.y: Likewise.
5814 * grub-core/script/yylex.l: Likewise.
5815 * util/getroot.c: Likewise.
5816 * util/grub-setup.c: Likewise.
5817
a646a366
VS
58182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5821 number.
5822
54e2be26
VS
58232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5826
f7c71e68
VS
58272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5830 macro.
5831 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5832 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5833
a32d5c71
VS
58342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5837 * util/grub-install.in: Gettextize.
5838 * util/grub-mkconfig.in: Likewise.
5839 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5840 if not available.
5841 (grub_warn): Gettextize.
5842 * util/grub-mknetdir.in: Gettextize.
5843 * util/grub-mkrescue.in: Likewise.
5844 * util/grub-mkstandalone.in: Likewise.
5845 * util/grub-reboot.in: Likewise.
5846 * util/grub-set-default.in: Likewise.
5847 * util/grub.d/00_header.in: Likewise.
5848 * util/grub.d/10_hurd.in: Likewise.
5849 * util/grub.d/10_kfreebsd.in: Likewise.
5850 * util/grub.d/10_linux.in: Likewise.
5851 * util/grub.d/10_netbsd.in: Likewise.
5852 * util/grub.d/10_windows.in: Likewise.
5853 * util/grub.d/20_linux_xen.in: Likewise.
5854 * util/grub.d/30_os-prober.in: Likewise.
5855 * po/POTFILES-shell.in: Regenerate.
5856
69edd81a
RL
58572012-02-03 Richard Laager <rlaager@wiktel.com>
5858
5859 * util/grub-mkimage.c (main): Fix format-security warning.
5860 * util/grub-mkrelpath.c (main): Likewise.
5861 * util/grub-probe.c (main): Likewise.
5862
65f08dbf
RL
58632012-02-03 Richard Laager <rlaager@wiktel.com>
5864
5865 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5866 failure.
5867 Put back lost PRINT_DRIVE.
5868
e9084abe
RL
58692012-02-03 Richard Laager <rlaager@wiktel.com>
5870
5871 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5872 (grub_guess_root_devices): Replace strlen with sizeof.
5873 Avoid crash.
5874 (find_root_devices_from_poolname): Remove unused variable.
5875 Handle raidzN.
5876
cf5f7ee7
VS
58772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 Support install on multi-device filesystems.
5880
5881 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5882 (grub_guess_root_devices): ...this. Return char **. All users updated.
5883 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5884 Removed.
5885 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5886 (find_root_devices_from_poolname): ... here.
5887 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5888 Support zfs-fuse.
5889 (grub_guess_root_device): Rename to ...
5890 (grub_guess_root_devices): ... this. Return char **. All users updated.
5891 * util/grub-install.in: Handle multi-device filesystems.
5892 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5893 argument. All users updated.
5894 Handle multi-device filesystems.
5895 Use 'delim' as separator.
5896 Remove device check to allow filesystems on file.
5897 (main): Support -0 argument. Handle multi-device.
5898 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5899 Fix a cross-device check while on it.
5900 (arguments): Remove root_dev.
5901 (argp_parser): Remove -r.
5902 (main): Remove root_dev.
5903
2f53a9ed
VS
59042012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5907
17e1d934
VS
59082012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5911 symbol.
5912 Reported by: NODA, Kai <nodakai>.
5913
d3e3fab5
VS
59142012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 Fix ehci on amd64.
5917
5918 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5919 pointers.
5920 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5921 (grub_ehci_setup_qh): Likewise.
5922 (grub_ehci_find_qh): Likewise.
5923 (grub_ehci_transaction): Likewise.
5924 (grub_ehci_setup_transfer): Likewise.
5925 (grub_ehci_check_transfer): Likewise.
5926 (grub_ehci_portstatus): Likewise.
5927 (grub_ehci_detect_dev): Likewise.
5928 (grub_ehci_transfer_controller_data): New field td_last_phys.
5929 (grub_ehci_setup_transfer): Fill td_last_phys.
5930 (grub_ehci_check_transfer): Use td_last_phys.
5931
3008675b
SG
59322012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5933
5934 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5935 if no submenu is present.
5936
fc9b5652
AN
59372012-02-01 Aleš Nesrsta <starous@volny.cz>
5938
5939 CBI support.
5940
5941 * include/grub/usb.h (grub_usbms_protocol_t): New values
5942 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5943 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5944 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5945 (grub_usbms_dev): Add subclass, protocol and intrpt.
5946 Remove in_maxsz and out_maxsz.
5947 (grub_usbms_reset): Rename to ...
5948 (grub_usbms_bo_reset): .. this.
5949 (grub_usbms_cbi_cmd): New function.
5950 (grub_usbms_cbi_reset): Likewise.
5951 (grub_usbms_reset): Likewise.
5952 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5953 (grub_usbms_transfer): Rename to ...
5954 (grub_usbms_transfer_bo): ... this.
5955 (grub_usbms_transfer_cbi): Likewise.
5956 (grub_usbms_transfer): Likewise.
5957
a2b81d53
AN
59582012-02-01 Aleš Nesrsta <starous@volny.cz>
59592012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5962 the support for the CS5536 modification thereos and few bugfixes.
5963
5964 * grub-core/Makefile.core.def (ehci): New module.
5965 * grub-core/bus/usb/ehci.c: New file.
5966 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5967 port and hubaddr. All users updated.
5968 Save port and hubaddr into dev structure.
5969 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5970 define.
5971 * include/grub/pci.h (grub_dma_phys2virt): New function.
5972 (grub_dma_virt2phys): Likewise.
5973 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5974
b1d51f02
VS
59752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5978 check as some mkfs implementations omit it.
5979
fc694106
VS
59802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5983
6c0920e3
VS
59842012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5987 Add new member volname2.
5988 (grub_jfs_label): Use volname2 if available.
5989
d1a46f9a
VS
59902012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5993 over last_mounted as seen in image generated by mkfs.nilfs2.
5994 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5995
dec8ed14
VS
59962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5999 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
6000 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
6001
7397c69b
VS
60022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
6005 over the sector.
6006
b3fe42ad
VS
60072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
6010 subvolume name (by removing a bogus and useless check).
6011
10476bb0
VS
60122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6013
6014 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
6015 sizeof while on it.
6016
9c08ad87
VS
60172012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
6020 (grub_scsi_read_capacity10): ... this.
6021 (grub_scsi_read_capacity16): New function.
6022 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
6023 0xffffffff.
6024 Fix off-by-one error.
6025 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
6026 64-bit unsigned.
6027 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
6028 (grub_scsi_read_capacity10): ... this.
6029 (grub_scsi_read_capacity_data): Rename to ...
6030 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
6031 (grub_scsi_read_capacity16): New struct.
6032 (grub_scsi_read_capacity16_data): Likewise.
6033 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
6034 grub_scsi_cmd_read_capacity10.
6035 New command grub_scsi_cmd_read_capacity16.
6036
bc8d0f45
VS
60372012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 SCSI >2TiB support.
6040
6041 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
6042 (grub_scsi_write16): Likewise.
6043 (grub_scsi_read): Use read16 when necessary.
6044 (grub_scsi_write): Likewise.
6045 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
6046 (grub_scsi_write16): Likewise.
6047 (grub_scsi_cmd_t): Add READ16 and WRITE16.
6048
cc774926
VS
60492012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 SCSI write support (for usbms mainly).
6052
6053 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
6054 a const pointer.
6055 (grub_scsi_write): Implement.
6056 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
6057
67639fd7
VS
60582012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
6061 variable.
6062
9079d3ed
VS
60632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/lib/posix_wrap/string.h (memchr): New function.
6066
c6a6f204
VS
60672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * po/POTFILES.in: Regenerate.
6070
ecbf8cd1
VS
60712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6074 with grub_printf to avoid unnecessary fatal failure.
6075
0b3b3b38
VS
60762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6079 (INT_MAX): Likewise.
6080 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6081 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6082 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6083 (strcpy): Likewise.
6084 (strstr): Likewise.
6085 (strchr): Likewise.
6086 (strncpy): Likewise.
6087 (strcat): Likewise.
6088 (strncat): Likewise.
6089 (strcoll): Likewise.
6090 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6091 (GRUB_INT_MAX): Likewise.
6092
db7337a3
VS
60932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6096 unexpected error.
6097 (optimize_utf8): Likewise.
6098 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6099
f37c87e1
VS
61002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * grub-core/boot/i386/pc/lnxboot.S: Use
6103 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6104 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6105 location.
6106 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6107 definition.
6108 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6109
63fe43f3
VS
61102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6113 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6114 now to avoid double free.
6115 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6116 hostdisk.
6117 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6118 * util/grub-probe.c (escape_of_path): Always return a new copy.
6119 (print_full_name): Escape path.
6120 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6121 Fix hints on abstractions.
6122
ebe2c961
VS
61232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6126 Don't add "root" line if no compatibility hont is available.
6127 Suggested by: Seth Goldberg.
6128
2b5336a2
VS
61292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6132 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6133 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6134 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6135
74310bd8
VS
61362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6139
c30582ba
VS
61402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * util/grub-pe2elf.c (ehdr): Make static.
6143 (shdr): Likewise.
6144 (num_sections): Likewise.
6145 (offset): Likewise.
6146
5f47782c
VS
61472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 Eliminate ofpath limits and possible overflows.
6150
6151 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6152 (OF_PATH_MAX): Removed.
6153 (MAX_DISK_CAT): New const.
6154 (find_obppath): Use allocated rather than preallocated buffer.
6155 Return result. Argument of_path removed. All users updated.
6156 Add missing fdstat.
6157 (xrealpath): New function.
6158 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6159 Allocate rather than use preallocated buffer. All users updated.
6160 (__of_path_common): Use allocated rather than preallocatecd buffer.
6161 Return result. Argument of_path removed. All users updated.
6162 (vendor_is_ATA): Read only needed part form the file.
6163 (check_sas): Allocate depending on contents rather than fixed.
6164 (main) [STANDALONE]: Handle NULL result.
6165
f990cbf9
VS
61662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6169
9c6e84b8
VS
61702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 Cryptodisk write support.
6173
6174 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6175 (grub_cryptodisk_decrypt): Moved logic to ...
6176 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6177 (grub_cryptodisk_write): Implement.
6178 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6179 (grub_util_fd_write): ... this. Make global.
6180 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6181
87cf9744
VS
61822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * include/grub/list.h (grub_list_remove): Don't crash if element is
6185 removed twice.
6186
ca8c0baf
VS
61872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 Rename ofconsole to console.
6190
6191 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6192 as sysnonym to console.
6193 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6194 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6195 Rename grub_ofconsole_ to grub_console_. All users updated
6196 (grub_console_term_output): Rename "ofconsole" to "console".
6197 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6198 as "console".
6199
64c8b8f6
VS
62002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6203 handling.
6204 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6205 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6206 GRUB_DISK_DEVICE_FILE_ID.
6207
f6c434d5
VS
62082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6211 and improve performance.
6212
5858b42d
VS
62132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6216 missing ieee1275/ prefix on whole disk.
6217
4ed3c26b
VS
62182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6221 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6222
df71143e
VS
62232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6226
076e7c0f
VS
62272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 Merge common RAID and LVM logic to an abstract diskfilter.
6230 Add LDM support using the same framework.
6231
6232 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6233 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6234 (libgrubmods): Remove grub-core/disk/raid.c and
6235 grub-core/partmap/gpt.c.
6236 * grub-core/Makefile.core.def (ldm): New module.
6237 (raid): Renamed to diskfilter. All users updated.
6238 * grub-core/disk/raid.c: Moved to ...
6239 * grub-core/disk/diskfilter.c: ... here.
6240 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6241 (lv_num): New var.
6242 (find_array): Renamed to ...
6243 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6244 (grub_is_array_readable): Renamed to ...
6245 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6246 (insert_array): New argument id.
6247 (is_node_readable): New function.
6248 (scan_device): Rename to ...
6249 (scan_disk): .. this. Restrict to one disk.
6250 (scan_devices): New function.
6251 (grub_diskfilter_iterate): Support multi-LV.
6252 Skip invisible and nameless LVs.
6253 (grub_diskfilter_memberlist): Support multi-LV.
6254 (grub_diskfilter_read_node): New function.
6255 (grub_raid_read): Most of logic moved to ...
6256 (read_segment): ... here
6257 (read_lv): New function.
6258 (grub_diskfilter_get_vg_by_uuid): New function.
6259 (grub_diskfilter_make_raid): Likewise.
6260 * grub-core/disk/ldm.c: New file.
6261 * grub-core/disk/lvm.c (vg_list): Removed.
6262 (lv_count): Likewise.
6263 (scan_depth): Likewise.
6264 (is_lv_readable): Likewise.
6265 (grub_lvm_getvalue): Advance pointer past the number.
6266 (find_lv): Removed.
6267 (do_lvm_scan): Refactored into ...
6268 (grub_lvm_detect): ... this. Support raid.
6269 (grub_lvm_iterate): Removed.
6270 (grub_lvm_memberlist): Likewise.
6271 (grub_lvm_open): Likewise.
6272 (grub_lvm_close): Likewise.
6273 (read_lv): Likewise.
6274 (read_node): Likewise.
6275 (is_node_readable): Likewise.
6276 (is_lv_readable): Likewise.
6277 (grub_lvm_read): Likewise.
6278 (grub_lvm_write): Likewise.
6279 (grub_lvm_dev): Use diskfilter
6280 (GRUB_MOD_INIT): Likewise.
6281 (GRUB_MOD_FINI): Likewise.
6282 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6283 new interface.
6284 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6285 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6286 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6287 grub_diskfilter_read_node.
6288 Fix a bug with xor.
6289 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6290 grub_diskfilter_read_node.
6291 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6292 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6293 (grub_disk_dev_iterate): Move from here...
6294 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6295 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6296 Make global.
6297 (grub_hostdisk_find_partition_start): Likewise.
6298 (grub_hostdisk_os_dev_to_grub_drive): New function.
6299 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6300 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6301 * util/getroot.c (make_device_name): ... here.
6302 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6303 Move to ...
6304 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6305 * grub-core/kern/emu/hostdisk.c
6306 (convert_system_partition_to_system_disk): Move to ...
6307 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6308 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6309 * util/getroot.c (device_is_wholedisk): ... here.
6310 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6311 * util/getroot.c (find_system_device): ... here.
6312 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6313 Move to ...
6314 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6316 Move to ...
6317 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6318 Handle LDM.
6319 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6320 Move to ...
6321 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6322 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6323 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6324 DISKFILTER.
6325 * include/grub/raid.h: Renamed to ...
6326 * include/grub/diskfilter.h: ... this.
6327 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6328 (GRUB_RAID_LAYOUT_*): Make into array.
6329 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6330 (grub_diskfilter_vg): New struct.
6331 (grub_diskfilter_pv_id): Likewise.
6332 (grub_raid_member): Removed.
6333 (grub_raid_array): Likewise.
6334 (grub_diskfilter_pv): New struct.
6335 (grub_diskfilter_lv): Likewise.
6336 (grub_diskfilter_segment): Likewise.
6337 (grub_diskfilter_node): Likewise.
6338 (grub_diskfilter_get_vg_by_uuid): New proto.
6339 (grub_raid_register): Inline.
6340 (grub_diskfilter_unregister): Likewise.
6341 (grub_diskfilter_make_raid): New proto.
6342 (grub_diskfilter_vg_register): Likewise.
6343 (grub_diskfilter_read_node): Likewise.
6344 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6345 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6346 (grub_util_is_ldm): Likewise.
6347 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6348 (grub_hostdisk_find_partition_start): Likewise.
6349 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6350 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6351 New definition.
6352 (grub_gpt_partition_map_iterate): New proto.
6353 * include/grub/lvm.h (grub_lvm_vg): Removed.
6354 (grub_lvm_pv): Likewise.
6355 (grub_lvm_lv): Likewise.
6356 (grub_lvm_segment): Likewise.
6357 (grub_lvm_node): Likewise.
6358 * util/getroot.c [...]
6359 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6360 (probe_abstraction): Likewise.
6361 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6362 (main): Remove dead logic.
6363
8a7f9b9c
VS
63642012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 Simplify root device discover and don't fail when trying to open
6367 incorrect devices.
6368
6369 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6370 function.
6371 (get_diskname_from_path): Likewise.
6372 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6373 of iterating.
6374
30545b85
VS
63752012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6378
28ea58cf
VS
63792012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6382 pastthe end.
6383
692dabca
VS
63842012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * util/grub-install.in: Add missing \.
6387 Reported by: gentoofan
6388
f6e4ea70
VS
63892012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6392 (direct_read): Use correct compressed size.
6393 (grub_squash_read_data): Likewise.
6394
63952012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6396
6397 * docs/grub.texi (Platform limitations): New section.
6398 (Platform-specific operations): Likewise.
6399 * docs/grub-dev.texi (Porting): Likewise.
6400
76261110
VS
64012012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 IEEE1275 disk write support.
6404
6405 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6406 const void *.
6407 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6408 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6409 and seek loginc to ...
6410 (grub_ofdisk_prepare): ... here.
6411 (grub_ofdisk_write): Implement.
6412
fc36d603
VS
64132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 ARC disk write support.
6416
6417 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6418 (reopen): New argument writable. All users updated.
6419 Handle required access mode.
6420 (grub_arcdisk_write): Implement.
6421 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6422 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6423
e06c2e7a
VS
64242012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6427 (read_sblock): Don't attempt to read superblocks outside the disk size.
6428
ff447958
VS
64292012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6432 first superblock to find the second one when possible.
6433
9e88df39
VS
64342012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * util/grub-install.in: Fix an ARC bug.
6437 Print a warning if no platform-specific setup is available.
6438
bb26e4ff
VS
64392012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 Use static allocation rather than scratch pointer in reed_solomon.
6442 It decreases its size significantly and avoids a variable in .text.
6443
6444 * grub-core/lib/reed_solomon.c (scratch): Removed.
6445 (chosenstat): New const or static array.
6446 (sigma): Likewise.
6447 (errpot): Likewise.
6448 (errpos): Likewise.
6449 (sy): Likewise.
6450 (mstat): Likewise.
6451 (errvals): Likewise.
6452 (eqstat): Likewise.
6453 (pol_evaluate): Replace x with log_x argument. All users updated.
6454 (syndroms): Removed.
6455 (gauss_solve): Use statically allocated arrays.
6456 (rs_recover): Likewise.
6457 Calculate syndroms directly.
6458 (decode_block): Use statically allocated arrays.
6459 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6460 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6461
2e13ede5
VS
64622012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 Eliminate fixed limit on reed solomon decoder length.
6465
6466 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6467 rather than hardcoding the address.
6468 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6469 no_reed_solomon_length.
6470 Move gate_a20 to no-reed-solomon part.
6471 Don't force a particular size of no reed-solomon part.
6472 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6473 Removed.
6474 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6475 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6476
f8a9ab12
VS
64772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/commands/wildcard.c (match_files): Handle filenames
6480 without explicit device.
6481 (wildcard_expand): Don't add explicit device if not already present.
6482 * tests/grub_script_echo1.in: Add a new expansion test.
6483
87edb894
VS
64842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 Replace single-linked with double-linked lists. It results in more
6487 compact and more efficient code.
6488
6489 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6490 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6491 (grub_list_remove): Moved from here ...
6492 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6493 (grub_prio_list_insert): Set prev.
6494 * include/grub/list.h (grub_list): Add prev. All users updated.
6495
48b391e9
VS
64962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 Handle newer autotools. Add some missing quotes while on it.
6499
6500 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6501 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6502 (pkgdata_DATA): ... here.
6503 * Makefile.util.def (update-grub_lib): Removed.
6504 * conf/Makefile.common (pkglib_DATA): Removed.
6505 (pkglib_SCRIPTS): Likewise.
6506 (pkgdata_DATA): New variable.
6507 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6508 needed.
6509 Add missing quotes.
6510 Remove unused variable while on it.
6511 * tests/util/grub-shell.in: Likewise.
6512 * util/grub-install.in: Likewise.
6513 * util/grub-mkconfig.in: Likewise.
6514 * util/grub-mknetdir.in: Likewise.
6515 * util/grub-mkrescue.in: Likewise.
6516 * util/grub-mkstandalone.in: Likewise.
6517 * util/grub.d/00_header.in: Likewise.
6518 * util/grub.d/10_hurd.in: Likewise.
6519 * util/grub.d/10_illumos.in: Likewise.
6520 * util/grub.d/10_kfreebsd.in: Likewise.
6521 * util/grub.d/10_linux.in: Likewise.
6522 * util/grub.d/10_netbsd.in: Likewise.
6523 * util/grub.d/10_windows.in: Likewise.
6524 * util/grub.d/20_linux_xen.in: Likewise.
6525 * util/grub.d/30_os-prober.in: Likewise.
6526 * util/update-grub_lib.in: Removed.
6527
65282012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6529
6530 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6531 a workaround for intel problem.
6532
66832792
PRP
65332012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
65342012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
65352012-01-23 pfsmorigo
6536
6537 * util/grub-install.in: Support dd'in into PreP partition.
6538 * util/grub-probe.c (probe): Support discovering partition type.
6539 (main): Support -t msdos_parttype.
6540
7816a17e
VS
65412012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6544 infinite recursion using counter.
6545 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6546 init to skip it if the magic check fails.
6547 (dec_stream_header): Init s->crc32.
6548
8f9d3a8c
ZB
65492012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
65502012-01-22 Zachary Bedell <pendorbound@gmail.com>
65512012-01-22 Richard Laager <rlaager@wiktel.com>
6552
6553 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6554 All users updated.
6555 (find_bestub): Determine correct size.
6556 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6557 (scan_disk): Align the size down.
6558 Call check pool before find_bestub to have ashift.
6559
b055dd32
VS
65602012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6563 dprintf in no-malloc zone.
6564
d779e9bd
ML
65652012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6566
6567 * configure.ac: Add back in test for limits.h.
6568
b508af69
VS
65692012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 Support 4K-sector NTFS.
6572
6573 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6574 (grub_ntfs_data): Remove blocksize.
6575 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6576 Remove data argument. All users updated.
6577
dad9c8b5
VS
65782012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6581 being in .text to avoid dprel references.
6582 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6583 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6584 (grub_arch_highmemsize): Likewise.
6585 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6586 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6587 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6588
d43a777e
VS
65892012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6592
6593 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6594 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6595
34e4208f
VS
65962012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6599 GRUB_UTIL.
6600 (grub_set_datetime_cmos): Likewise.
6601
3ec0fc1c
VS
66022012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Make XZ compression parameters dependent on target and not host CPU.
6605
6606 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6607 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6608
22489834
VS
66092012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6612 set but not used variable.
6613
8502fbca
VS
66142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6617 created when no uuid support is compiled into mkfs.reiser.
6618
76df2068
VS
66192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6622 (utf8_to_macroman): Do the opposite.
6623 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6624
64e3f8f6
VS
66252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * configure.ac: Refise build qemu_mips w/o unifont.
6628
9c271078
VS
66292012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 Eliminate grub_min/grub_max prone to overflow usage.
6632
6633 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6634 (poll_nonroot_hub): Likewise.
6635 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6636 (grub_affs_label): Likewise.
6637 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6638 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6639 (grub_hfs_label): Likewise.
6640 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6641 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6642 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6643 (zap_leaf_array_get): Likewise.
6644 (dnode_get_path): Likewise.
6645 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6646 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6647 * grub-core/script/execute.c (grub_script_break): Likewise.
6648 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6649 grub_max.
6650 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6651 * include/grub/misc.h (grub_min): Removed.
6652 (grub_max): Likewise.
6653
80662dbc
VS
66542012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6655
6656 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6657 direct.inode = 0.
6658
e6da1467
VS
66592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6662
b1ac4cb1
VS
66632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6666
b4bf7c3b
VS
66672012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6670 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6671
8ee1101a
VS
66722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6675 rather than a hack for grub_strncasemap.
6676
66772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6678
6679 Support multiple initrds
6680 Note: part of this was accidently committed in r3739.
6681
6682 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6683 initrd.
6684 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6685 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6686 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6687 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6688 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6689
4d1e2bc9
VS
66902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6693 disks with unknown size.
6694 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6695
75b49ebe
VS
66962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 Remove defines pertaining to arbitrary limits not affecting GRUB
6699 anymore.
6700
6701 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6702 (EXT2_MAX_SYMLINKCNT): Likewise.
6703 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6704 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6705 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6706 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6707 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6708 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6709 (DN_MAX_OBJECT_SHIFT): Likewise.
6710 (DN_MAX_OFFSET_SHIFT): Likewise.
6711 (DN_MAX_OBJECT): Likewise.
6712 (DNODES_PER_LEVEL_SHIFT): Likewise.
6713 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6714 (SPA_MAXBLOCKSIZE): Likewise.
6715 (SPA_BLOCKSIZES): Likewise.
6716 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6717 (MZAP_MAX_BLKSZ): Likewise.
6718
74a1dce7
VS
67192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6722 handle NULL appropriately.
6723 Remove MIN.
6724
30c7d3ce
VS
67252012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Fix efiemu.
6728
6729 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6730 cpu/types.h.
6731 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6732 * configure.ac: Fix efiemu check.
6733
3c76ea0c
VS
67342012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6737 grub_probe.
6738 Reported by: adamwill
6739
7e532280
SG
67402012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6741
6742 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6743
30492374
VS
67442012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 Fix handling of wide characters in gfxterm.
6747
6748 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6749 (clear_char): Likewise.
6750 (paint_char): Skip code == NULL chars.
6751 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6752
e70cb72f
VS
67532012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/normal/charset.c: Move comment to right place.
6756
5c827cf9
VS
67572012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6760 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6761 (grub_affs_mount): Revert the correct version checking.
6762
53603892
VS
67632012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * docs/grub.texi (Unicode): Mention several other unsupported features.
6766
ff094b9b
VS
67672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6770 case statements as compile-time one.
6771 (direct_read): Prevent spurious warnings.
6772 (grub_squash_read_data): Likewise.
6773
c029da8a
VS
67742011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 Various squash4 fixes and LZO and XZ support.
6777
6778 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6779 Add xzembed source files.
6780 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6781 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6782 (grub_squash_inode): New subtype long_dir.
6783 (SQUASH_TYPE_LONG_DIR): New inode type.
6784 (COMPRESSION): New enum.
6785 (XZBUFSIZ): New const.
6786 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6787 (read_chunk): Use data->decompress.
6788 (zlib_decompress): New function.
6789 (lzo_decompress): Likewise.
6790 (xz_decompress): Likewise.
6791 (squash_mount): Set new data fields.
6792 (grub_squash_iterate_dir): Handle long dir.
6793 (squash_unmount): Free xzdec and xzbuf.
6794 (grub_squash_open): Check ino type.
6795 (direct_read): Stylistic fixes. Use data->decompress.
6796 (grub_squash_read_data): Likewise.
6797 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6798 (get_byte): Likewise.
6799 (grub_zlib_disk_read): Removed.
6800 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6801 (GRUB_POSIX_BOOL_DEFINED): New define.
6802 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6803 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6804 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6805 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6806
7a45a539
VS
68072011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 Don't override more informative errors.
6810
6811 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6812 * grub-core/font/font.c (open_section): Likewise.
6813 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6814 filename. Don't override errors.
6815 (grub_cmd_openbsd_ramdisk): Don't override errors.
6816 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6817 (grub_cmd_initrd): Likewise.
6818 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6819 (grub_cmd_initrd): Likewise.
6820 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6821 (grub_cmd_linux): Likewise.
6822 (grub_cmd_initrd): Likewise.
6823 (grub_cmd_payload): Likewise.
6824 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6825 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6826 (grub_cmd_module): Likewise.
6827 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6828 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6829 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6830 (grub_cmd_xnu_mkext): Likewise.
6831 (grub_cmd_xnu_ramdisk): Likewise.
6832 (grub_xnu_check_os_bundle_required): Likewise.
6833 (grub_xnu_load_kext_from_dir): Likewise.
6834 (grub_cmd_xnu_kextdir): Likewise.
6835 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6836
b2d004db
VS
68372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6840 as 1024 in block size field. Found on one of my test images.
6841 Small optimisation while on it.
6842
ec000eac
VS
68432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6846 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6847 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6848 performance fixes while on it.
6849 (grub_sfs_close): Fix memory leak while on it.
6850 (grub_sfs_label): Convert Latin1 to UTF-8.
6851
f50e1165
VS
68522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6855 space to avoid overflows.
6856 (grub_hfs_label): Convert from macroman to UTF-8.
6857
2ae254de
VS
68582011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6861
0108f491
VS
68622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6865
f45f5f89
VS
68662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * unicode: Import Unicode 6.0 data.
6869
4d8c4765
VS
68702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6871
63fa8ef9
VS
6872 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6873 outside of range.
6874
68752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6878
6879 * include/grub/charset.h (grub_getend): New function.
6880 * grub-core/script/function.c (grub_script_function_find): Use
6881 grub_getend.
6882 * grub-core/normal/completion.c (add_completion): Likewise.
6883
f3cb4a4e
VS
68842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6887 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6888 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6889 (GRUB_UNICODE_TAG_END): Likewise.
6890 (GRUB_UNICODE_LAST_VALID): Likewise.
6891
5da8dbc5
VS
68922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6895 len and make it smaller. All users updated.
6896 * util/import_unicode.py: Put length and not end character.
6897 Check length.
6898
8569f13d
VS
68992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 Make better Unicode-compliant and unify some UTF-8 code pathes.
6902
6903 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6904 valid character.
6905 (grub_is_valid_utf8): Use grub_utf8_process.
6906 Check resulting code range.
6907 (grub_utf8_to_ucs4): Use grub_utf8_process.
6908 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6909 valid character.
6910
cc4fddf5
VS
69112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6914
bbc47747
VS
69152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * docs/grub.texi (Filesystems): Mention AFS.
6918
f63d6bf4
VS
69192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * docs/grub.texi (Filesystems): Clarify restrictions.
6922 (Regexp): Mention non-Unicode regexp behaviour.
6923 (Other): Mention non-Unicode matching behaviour.
6924
74bbf0db
VS
69252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6926
f63d6bf4 6927 Make HFS implementation use MacRoman.
74bbf0db
VS
6928
6929 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6930 (macroman): New const array.
6931 (macroman_to_utf8): New function.
6932 (utf8_to_macroman): Likewise.
6933 (grub_hfs_find_dir): Use utf8_to_macroman.
6934 (grub_hfs_dir): Use macroman_to_utf8.
6935 Set case_insensitive.
6936
4ea0316e
VS
69372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6940
d3c13cbd
VS
69412011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 Integrate hints into autogeneration scripts.
6944
6945 * docs/grub.texi (Filesystems): Add a hostdisk example.
6946 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6947 (grub-probe): Add ofpath.
6948 * gentpl.py: Remove group nosparc64.
6949 * grub-core/commands/search.c (cache_entry): New struct.
6950 (cache): New var.
6951 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6952 * grub-core/commands/search_wrap.c (options): Add platform-specific
6953 hint options.
6954 (grub_cmd_search): Handle platform-specific hints.
6955 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6956 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6957 (grub_util_biosdisk_data): Likewise.
6958 (grub_util_biosdisk_open): Set device_map.
6959 (read_device_map): Handle "" as indication of no map.
6960 Set device_map.
6961 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6962 (grub_util_biosdisk_get_compatibility_hint): New function.
6963 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6964 * include/grub/emu/hostdisk.h
6965 (grub_util_biosdisk_get_compatibility_hint): New proto.
6966 * util/grub-install.in: Don't call grub-mkdevicemap.
6967 Add platform-specific hint to load.cfg.
6968 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6969 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6970 hints. Set root preliminary to compatibility hint, not to OS name.
6971 * util/grub-probe.c (PRINT_*): Add hints.
6972 (print): Make static.
6973 (escape_of_path): New function.
6974 (guess_bios_drive): Likewise.
6975 (guess_efi_drive): Likewise.
6976 (guess_baremetal_drive): Likewise.
6977 (print_full_name): Likewise.
6978 (probe): Handle hints.
6979 (main): Likewise.
6980 * util/ieee1275/devicemap.c: Removed.
6981 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6982 updated.
6983 (grub_util_devname_to_ofpath): Return NULL on failure.
6984
6985 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6986 resource leak.
6987 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6988
6989 * po/POTFILES.in: Regenerated.
6990
6991 Allow purely long options
6992
6993 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6994 (SHORT_ARG_USAGE): Likewise.
6995 (grub_arg_show_help): Compare opt with help_options.
6996 (parse_option): Receive opt as argument. If makes big simplificatons.
6997 All users updated
6998
00ce2df3
VS
69992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
7002 Restructure to avoid warning.
7003
e77e325f
VS
70042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * util/grub-install.in: Account for possible escaped comma in device
7007 name.
7008
165099ea
VS
70092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
7012 channel.
7013
ce4a999d
VS
70142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
7017 allocation and zero-setting.
7018 (grub_ieee1275_get_devname): Check that alias is complete.
7019
379586ad
VS
70202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
7023 unaligned segments.
7024
9197b0ad
VS
70252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
7028 prefix.
7029 (grub_ofdisk_open): Check and discard ieee1275 prefix.
7030 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7031 Add ieee1275 prefix.
7032
edddb7f9
VS
70332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * docs/grub.texi (Filesystems): Update.
7036
a1a8b1b9
VS
70372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7038
7039 Support odc, newc and bigendian cpio formats.
7040
7041 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
7042 * grub-core/Makefile.core.def (newc): New module.
7043 (odc): Likewise.
7044 (cpio_be): Likewise.
7045 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
7046 (MAGIC): Likewise.
7047 (MAGIC2): Likewise.
7048 (head) [MODE_ODC]: Adapt for the format.
7049 (head) [MODE_NEWC]: Likewise.
7050 (head) [!MODE_*]: Write fields of interest as arrays.
7051 (MAGIC_USTAR): Removed.
7052 (read_number) [MODE_NEWC]: Change to hex.
7053 (read_number) [!MODE_*]: Parse binary arrays.
7054 (grub_cpio_find_file): Factor out the code for better structure and
7055 always use read_number.
7056 (grub_cpio_mount): Use MAGIC and MAGIC2.
7057 (grub_cpio_dir): Exit on first hook non-0 return.
7058 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
7059 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
7060 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
7061 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
7062 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
7063 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
7064 * grub-core/fs/newc.c: New file.
7065 * grub-core/fs/odc.c: Likewise.
7066 * grub-core/fs/cpio_be.c: Likewise.
7067
58eba9ee
VS
70682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 Fix handling of tar numbers occupying the whole field.
7071
7072 * grub-core/fs/cpio.c (read_number): New function.
7073 (grub_cpio_find_file): Use read_number instead of strtoull.
7074
a54a0e12
VS
70752011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7078 occupying the whole field size.
7079
a6120aca
LA
70802011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7081
7082 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7083
a93964ce
VS
70842011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7087
3ea1ca46
SG
70882011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7089
7090 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7091 TARGET_IMG_LDFLAGS.
7092
b87f7ef2
VS
70932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7096 (mountinfo_entry): Increase the field size to take escaping into
7097 account.
7098 (find_root_device_from_libzfs): Add one byte to size of strings for
7099 security.
7100
62092395
VS
71012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7102
7103 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7104 an assert.
7105 * util/grub-setup.c (setup): Likewise.
7106
1f0b1a77
VS
71072011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7110 _LzmaDecodeA.
7111
8eba9997
VS
71122011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * docs/grub.texi (Internationalisation): New section.
7115
dd0c91e9
VS
71162011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * docs/grub.texi (Loopback booting): New section.
7119
71202011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7121
7122 * util/grub-mkstandalone.in: Fix minor typo errors.
7123
198e150a
VS
71242011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7127
7128 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7129 net/icmp.c and net/icmp6.c.
7130 (http): New module.
7131 (priority_queue): Likewise.
7132 * grub-core/io/bufio.c: Rewritten.
7133 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7134 TYPE_WITH_CONFIGFILE_OPTION.
7135 (legacy_commands): Add bootp and dhcp.
7136 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7137 (grub_legacy_parse): Likewise.
7138 * grub-core/lib/priority_queue.c: New file.
7139 * grub-core/net/arp.c: Add missing license header.
7140 (arp_find_entry): Removed.
7141 (arp_find_entry): Likewise.
7142 (grub_net_arp_resolve): Rename to ...
7143 (grub_net_arp_send_request): ...this.
7144 (grub_net_arp_receive): New card argument.
7145 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7146 Set router and DNS server.
7147 (grub_net_configure_by_dhcp_ack): Handle routing information.
7148 (grub_cmd_bootp): Set checksum.
7149 (grub_bootp_init): Remove net_dhcp.
7150 * grub-core/net/dns.c: New file.
7151 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7152 completion.
7153 (get_card_packet): Handle allocation.
7154 (grub_efinet_findcards): Set mtu.
7155 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7156 (get_card_packet): Handle allocation.
7157 (emucard): Set mtu.
7158 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7159 (GRUB_MOD_INIT): Set mtu.
7160 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7161 mtu.
7162 (get_card_packet): Handle allocation.
7163 (grub_ofnet_findcards): Set mtu.
7164 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7165 assert.
7166 (grub_net_recv_ethernet_packet): Handle IPv6.
7167 * grub-core/net/http.c: New file.
7168 * grub-core/net/icmp.c: Likewise.
7169 * grub-core/net/icmp6.c: Likewise.
7170 * grub-core/net/ip.c (ip6addr): New type.
7171 (ip6hdr): Likewise.
7172 (reassemble): Likewise.
7173 (cmp): New function.
7174 (reassembles): New variable.
7175 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7176 (id): New variable.
7177 (send_fragmented): New function.
7178 (grub_net_send_ip_packet): Rename to ...
7179 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7180 Handle non-UDP.
7181 (grub_net_recv_ip_packets): Rename to ...
7182 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7183 (free_rsm): New function.
7184 (free_old_fragments): Likewise.
7185 (grub_net_recv_ip4_packets): New function.
7186 (grub_net_send_ip6_packet): Likewise.
7187 (grub_net_send_ip_packet): Likewise.
7188 (grub_net_recv_ip6_packets): Likewise.
7189 (grub_net_recv_ip_packets): Likewise.
7190 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7191 (LINK_LAYER_CACHE_SIZE): New const.
7192 (link_layer_find_entry): New function.
7193 (grub_net_link_layer_add_address): Likewise.
7194 (grub_net_link_layer_resolve_check): Likewise.
7195 (grub_net_link_layer_resolve): Likewise.
7196 (grub_net_ipv6_get_slaac): Likewise.
7197 (grub_net_ipv6_get_link_local): Likewise.
7198 (grub_cmd_ipv6_autoconf): Likewise.
7199 (parse_ip): Handle one number representation.
7200 (parse_ip6): New functoion.
7201 (match_net): Handle IPv6.
7202 (grub_net_resolve_address): Handle IPv6 and DNS.
7203 (grub_net_resolve_net_address): Handle IPv6.
7204 (route_cmp): New function.
7205 (grub_net_route_address): Find best route.
7206 (grub_net_addr_to_str): Handle IPv6.
7207 (grub_net_addr_cmp): New function.
7208 (grub_net_add_addr): Register local route.
7209 (print_net_address): Handle net address.
7210 (grub_net_poll_cards): Retransmit TCP.
7211 (grub_net_poll_cards_idle_real): Likewise.
7212 (have_ahead): New function.
7213 (grub_net_seek_real): Use underlying seek.
7214 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7215 * grub-core/net/tcp.c: New file.
7216 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7217 (cmp): New function.
7218 (ack): Likewise.
7219 (tftp_receive): Handle unordered input.
7220 (destroy_pq): New function.
7221 (tftp_close): Close pq.
7222 * grub-core/net/udp.c: Put missing license header.
7223 (grub_net_udp_socket): New function.
7224 (udp_socket_register): Likewise.
7225 (grub_net_udp_close): Likewise.
7226 (grub_net_recv_udp_packet): Check checksum.
7227 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7228 * include/grub/misc.h (grub_memchr): New function.
7229 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7230 (grub_net_card_driver): Return buf in recv.
7231 (grub_net_slaac_mac_list): New struct.
7232 (grub_network_level_protocol_id): Add ipv6.
7233 (grub_net_network_level_addr): Likewise.
7234 (grub_net_network_level_net_addr): Likewise.
7235 (grub_net_app_protocol): Add seek.
7236 (grub_net_socket): Removed.
7237 (grub_net_sockets): Likewise.
7238 (grub_net_socket_register): Likewise.
7239 (grub_net_socket_unregister): Likewise.
7240 (FOR_NET_SOCKETS): Likewise.
7241 (grub_net_add_addr): Add const.
7242 (GRUB_NET_BOOTP_*): New enum.
7243 (grub_net_addr_cmp): New proto.
7244 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7245 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7246 (grub_net_hwaddr_to_str): NEw proto.
7247 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7248 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7249 (grub_dns_init): New proto.
7250 (grub_dns_fini): Likewise.
7251 (grub_net_tcp_retransmit): Likewise.
7252 (grub_net_link_layer_add_address): Likewise.
7253 (grub_net_link_layer_resolve_check): Likewise.
7254 (grub_net_link_layer_resolve): Likewise.
7255 (grub_net_dns_lookup): Likewise.
7256 (grub_net_add_dns_server): Likewise.
7257 (grub_net_remove_dns_server): Likewise.
7258 (GRUB_NET_TRIES): New const.
7259 (GRUB_NET_INTERVAL): Likewise.
7260 * include/grub/net/arp.h: Mostly rewritten.
7261 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7262 * include/grub/net/ip.h: Mostly rewritten.
7263 * include/grub/net/netbuff.h: Indent.
7264 * include/grub/net/tcp.h: New file.
7265 * include/grub/net/udp.h: Mostly rewritten.
7266 * include/grub/priority_queue.h: New file.
7267 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7268 (grub_swap_bytes64_compile_time): Likewise.
7269 (grub_cpu_to_be16_compile_time): Likewise.
7270 (grub_cpu_to_be32_compile_time): Likewise.
7271 (grub_cpu_to_be64_compile_time): Likewise.
7272 (grub_be_to_cpu64_compile_time): Likewise.
7273
215c1800
VS
72742011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7277 UINT_TO_PTR with cast.
7278
c17e546c
VS
72792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7282 don't use them.
7283
ff6b18b6
VS
72842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7287 already there.
7288
70ffcc93
VS
72892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7292 confusing ipxe.
7293
e5f4d260
VS
72942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7297 Add missing const attribute.
7298 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7299 Likewise.
7300 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7301 Likewise.
7302
8e54b4b7
VS
73032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7306 misaligned access.
7307 (serpent_setkey): Likewise.
7308 (serpent_encrypt_internal): Likewise.
7309 (serpent_decrypt_internal): Likewise.
7310 (serpent_encrypt): Don't put an alignment-increasing cast.
7311 (serpent_decrypt): Likewise.
7312 (serpent_test): Likewise.
7313
813c0a2b
VS
73142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7317
f2b60fbd
VS
73182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7321
7322 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7323 grub_addr_t casts.
7324 (PTR_TO_UINT64): Likewise.
7325 (PTR_TO_UINT32): Likewise.
7326
5ef5c511
VS
73272011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7330 because of stack.
7331 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7332 limit.
7333
c476e6df
VS
73342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7337 text_width > available width a bit more gracefully.
7338
384ad7cc
VS
73392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7342 current address calculation.
7343
96f8caf8
VS
73442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7347 stack.
7348 (encode_block): Likewise.
7349
276b7a8b
VS
73502011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7353 certainety.
7354
e3fd394a
VS
73552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7358 non-RS part to avoid RS messing with GDT.
7359 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7360 Increase to suit in realmode routines.
7361
73622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * grub-core/kern/i386/realmode.S: Increase alignment.
7365 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7366
ee9c2e7a
VS
73672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7370 be deterministic.
7371 (syndroms): Compute 0 syndrom.
7372 (rs_recover): Use 0 syndrom.
7373
7a7f7cc9
VS
73742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7377
a14b16d1
VS
73782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7381 brackets.
7382
9f59e9fc
VS
73832011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7384
ca1b552c
VS
7385 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7386 account.
7387 (get_top_pad): Likewise.
7388 (get_right_pad): Likewise.
7389 (get_bottom_pad): Likewise.
7390
73912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7394
e739d698
VS
73952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7398 attribute as the structure isn't guaranteed to be properly aligned.
7399 (grub_efi_pci_device_path): Likewise.
7400 (grub_efi_pccard_device_path): Likewise.
7401 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7402 specify the size of `memory_type'.
7403 (grub_efi_vendor_device_path): Likewise.
7404 (grub_efi_controller_device_path): Likewise.
7405 (grub_efi_acpi_device_path): Likewise.
7406 (grub_efi_expanded_acpi_device_path): Likewise.
7407 (grub_efi_atapi_device_path): Likewise.
7408 (grub_efi_scsi_device_path): Likewise.
7409 (grub_efi_fibre_channel_device_path): Likewise.
7410 (grub_efi_1394_device_path): Likewise.
7411 (grub_efi_usb_device_path): Likewise.
7412 (grub_efi_usb_class_device_path): Likewise.
7413 (grub_efi_i2o_device_path): Likewise.
7414 (grub_efi_mac_address_device_path): Likewise.
7415 (grub_efi_ipv4_device_path): Likewise.
7416 (grub_efi_ipv6_device_path): Likewise.
7417 (grub_efi_infiniband_device_path): Likewise.
7418 (grub_efi_uart_device_path): Likewise.
7419 (grub_efi_vendor_messaging_device_path): Likewise.
7420 (grub_efi_hard_drive_device_path): Likewise.
7421 (grub_efi_cdrom_device_path): Likewise.
7422 (grub_efi_vendor_media_device_path): Likewise.
7423 (grub_efi_file_path_device_path): Likewise.
7424 (grub_efi_protocol_device_path): Likewise.
7425 (grub_efi_piwg_device_path): Likewise.
7426 (grub_efi_bios_device_path): Likewise.
7427
cb8f88ea
VS
74282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7431 (grub_ucs4_to_utf8_alloc): Likewise.
7432 (grub_ucs4_to_utf8): Likewise.
7433 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7434 (grub_ucs4_to_utf8_alloc): Likewise.
7435
309e5352
VS
74362011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 AFFS never uses unicode.
7439
7440 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7441 (grub_latin1_to_utf8): New inline function.
7442 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7443
e7987e1b
VS
74442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7447 overflow.
7448
efc2616e
VS
74492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7452 (grub_squash_dirent_header): Likewise.
7453 (read_chunk): Don't double swap.
7454 (grub_squash_iterate_dir): Fix swap sizes.
7455
3c349f5a
VS
74562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7459
b453412d
VS
74602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7463 (grub_hfs_iterate_dir): Likewise.
7464
12e9d4d1
VS
74652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 Fix video on platforms where unaligned access is forbidden.
7468 Make several optimisations while on it.
7469
7470 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7471 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7472 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7473 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7474 Disable.
7475 (grub_video_fbblit_replace_16bit_1bit):
7476 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7477 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7478 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7479 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7480 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7481 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7482 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7483 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7484 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7485 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7486 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7487 (grub_video_fbblit_replace_index_RGB888): Likewise.
7488 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7489 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7490 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7491 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7492 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7493 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7494 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7495 Disable.
7496 (grub_video_fbblit_blend_XXX565_1bit):
7497 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7498 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7499 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7500 void *.
7501 * grub-core/video/fb/video_fb.c (common_blitter)
7502 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7503 (grub_video_fb_create_render_target_from_pointer)
7504 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7505 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7506 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7507 definition.
7508 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7509
ace96609
VS
75102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7513 HH22 and HM10 relocations.
7514
fd261d73
VS
75152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7518
e59b7857
VS
75192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7522 allocation succeeded.
7523
9b4baaa4
VS
75242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7527 argument a u8 pointer. All users updated.
7528 Handle unaligned buffers.
7529
dc713193
VS
75302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7533 add_part to workaround compiler bug.
7534
30dd48c2
VS
75352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7538
0c6087a8
VS
75392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7542 Reserve alignment invariants.
7543 (grub_multiboot_load): Likewise.
7544 (retrieve_video_parameters): Likewise.
7545 (grub_multiboot_make_mbi): Likewise.
7546
c2e77777
VS
75472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7550 incorrect pointer.
7551
b70b6d11
VS
75522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7555 (grub_pata_pio_write): Likewise.
7556
02a2bf83
VS
75572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 Add noreturn attributes and remove unreachable code.
7560
7561 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7562 code.
7563 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7564 code. Mark as noreturn.
7565 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7566 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7567 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7568 unreachable code.
7569 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7570 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7571 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7572 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7573 * include/grub/kernel.h (grub_main): Mark as noreturn.
7574 * include/grub/reader.h (grub_rescue_run): Likewise.
7575
2019d09e
VS
75762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7579 redundant declaration.
7580
d1c501ee
VS
75812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7584 redundant declaration.
7585 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7586
61664420
VS
75872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7590 to ensure alignment.
7591 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7592 alignment. Ensure tmp alignment.
7593 (grub_cmd_hdparm): Ensure buf alignment.
7594 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7595 to ensure alignment.
7596 (grub_ata_dumpinfo): Ensure text alignment.
7597 (grub_atapi_identify): Preserve alignment invariant.
7598 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7599
0d51ee20
VS
76002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7603 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7604 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7605 * include/grub/misc.h (grub_reboot)
7606 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7607 (grub_halt) [__mips__]: Likewise.
7608
753ef8c1
VS
76092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7612 Remove redundant declaration.
7613 (grub_mmap_get_post64): Likewise.
7614 (grub_mmap_get_upper): Likewise.
7615 (grub_mmap_get_lower): Likewise.
7616
85c85365
VS
76172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7620 uint32_t * to ensure alignment.
7621 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7622
a23f2cc4
VS
76232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7624
93018f64
VS
7625 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7626 uint16_t * to ensure alignment.
7627 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7628 alignment.
7629
76302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
7633 to ensure alignment.
7634 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7635
58acccd6
VS
76362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7639 Handle unaligned pointers.
7640 (u32at): Likewise.
7641 (u64at): Likewise.
7642 (fixup): Use byte access instead of v16at.
7643 (find_attr): Fix imporper usage of v32at.
7644 (read_data): Likewise.
7645 (list_file): Handle byte-swapping and unaligned strings.
7646 (grub_ntfs_label): Likewise.
7647
9b05cad7
VS
76482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7651 as it's not necessarily aligned.
7652
b3950b84
VS
76532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7656 redundant declaration.
7657 (grub_serial_init): Likewise.
7658 (grub_terminfo_init): Likewise.
7659
fcd232b7
VS
76602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7663 function.
7664 (ZAP_HASH_IDX): Likewise.
7665 (ZAP_LEAF_HASH_SHIFT): Likewise.
7666 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7667 (LEAF_HASH): Likewise.
7668 (ZAP_LEAF_NUMCHUNKS): Likewise.
7669 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7670 alignment invariants. Return pointer. All users updated.
7671 (ZAP_LEAF_ENTRY): Make into inline function.
7672 (NBBY): Removed.
7673 (xor): LIkewise.
7674 (xor_out): Use grub_crypto_xor.
7675 (dnode_get_path): Use grub_get_unaligned.
7676 (nvlist_find_value): Likewise.
7677 (grub_zfs_nvlist_lookup_uint64): Likewise.
7678 (grub_zfs_nvlist_lookup_string): Likewise.
7679 (get_nvlist_size): Likewise.
7680 (grub_zfs_open): Likewise.
7681 (fill_fs_info): Likewise.
7682 (grub_zfs_dir): Likewise.
7683 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7684 alignment invariants.
7685 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7686 necessarily aligned.
7687
f138623a
VS
76882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7691
564840dc
VS
76922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7695 arithmetic to conserve alignment invariants.
7696
9b40df20
VS
76972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7700 redundant declaration.
7701 (grub_efiemu_mm_obtain_request): Likewise.
7702 (grub_efiemu_prepare): Likewise.
7703
d1c930f9
VS
77042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7707 to match types.
7708
4c5f3056
VS
77092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7712 case of aunaligned recptr.
7713 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7714 alignment.
7715 (grub_hfsplus_btree_search): Handle unaligned index.
7716
728cba91
VS
77172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7720 to get freetag and skip.
7721
eb561f31
VS
77222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7725 array.
7726 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7727 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7728
20993fbb
VS
77292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7732 name for checksum and fix allocation algorithm.
7733
1f313b94
VS
77342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * include/grub/types.h (grub_properly_aligned_t): New type.
7737 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7738 (grub_get_unaligned16): Add explicit casts.
7739 (grub_get_unaligned32): Likewise.
7740 (grub_get_unaligned64): Likewise.
7741 (grub_set_unaligned16): New function.
7742 (grub_set_unaligned32): Likewise.
7743
47ae27ec
VS
77442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7747
78c2cd1c
VS
77482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7751 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7752 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7753
53072f9b
VS
77542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7757 conditionals.
7758
055dc239
VS
77592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7762 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7763
496bd074
VS
77642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 Unify and improve RAID and crypto xor.
7767
7768 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7769 changed to grub_crypto_xor
7770 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7771 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7772 Use bigger types when possible.
7773
ef6e4335
VS
77742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * grub-core/disk/raid.c (scan_devices): Fix condition.
7777
5d048bf2
VS
77782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7781 Make name a const ptr.
7782
ee533335
VS
77832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7786 first argument a const pointer.
7787 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7788 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7789 proto.
7790 (grub_children_iterate): Likewise.
7791 (grub_machine_mmap_iterate): Remove redundant declaration.
7792
cc8f3668
VS
77932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7796 (grub_cmd_acpi) [!x86]: Disable EBDA.
7797
c5fc563a
VS
77982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 Enable UTF8 in gnulib regexp.
7801
7802 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7803 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7804 (isupper): Use grub_isupper.
7805 (isascii): New inline function.
7806 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7807 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7808 * grub-core/normal/charset.c (grub_utf8_process): New function.
7809 (grub_utf8_to_utf16): Use grub_utf8_process.
7810 (grub_encode_utf8_character): New function.
7811 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7812 * include/grub/charset.h (grub_utf8_process): New declaration.
7813 (grub_encode_utf8_character): Likewise.
7814 * include/grub/misc.h (grub_islower): New inline function.
7815 (grub_isupper): Likewise.
7816 (grub_strchrsub): Moved down to fix the definitions.
7817
0af2346f
VS
78182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7821 specification.
7822
74dbd244
VS
78232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * include/grub/loader.h (grub_loader_register_preboot_hook):
7826 Use struct preboot * and not void * for handle. All users updated.
7827 (grub_loader_unregister_preboot_hook): Likewise.
7828
1bc8f60d
VS
78292011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7832 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7833 UTF-16-BE. All users updated.
7834 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7835 (grub_hfsplus_iterate_dir): Likewise.
7836 (grub_hfsplus_label): Likewise.
7837
48d6e456
VS
78382011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7841
bf3a3857
VS
78422011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 Add missing const qualifiers.
7845
7846 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7847 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7848 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7849 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7850 (grub_lvm_check_flag): Likewise.
7851 * grub-core/efiemu/i386/coredetect.c
7852 (grub_efiemu_get_default_core_name): Likewise
7853 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7854 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7855 * grub-core/fs/ntfs.c (fixup): Likewise.
7856 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7857 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7858 (fzap_lookup): Likewise.
7859 (zap_lookup): Likewise.
7860 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7861 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7862 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7863 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7864 (grub_freebsd_add_meta_module): Likewise.
7865 (grub_cmd_freebsd_module): Likewise.
7866 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7867 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7868 (grub_xnu_writetree_get_size): Likewise.
7869 (grub_xnu_writetree_toheap_real): Likewise.
7870 (grub_xnu_find_key): Likewise.
7871 (grub_xnu_create_key): Likewise.
7872 (grub_xnu_create_value): Likewise.
7873 (grub_xnu_register_memory): Likewise.
7874 (grub_xnu_check_os_bundle_required): Likewise.
7875 (grub_xnu_scan_dir_for_kexts): Likewise.
7876 (grub_xnu_load_kext_from_dir): Likewise.
7877 * grub-core/normal/color.c (color_list): Likewise.
7878 * grub-core/normal/completion.c (current_word): Likewise.
7879 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7880 * grub-core/term/serial.c (grub_serial_find): Likewise.
7881 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7882 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7883 Likewise.
7884 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7885 (grub_freebsd_add_meta_module): Likewise.
7886 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7887 * include/grub/net.h (grub_net_card_driver): Likewise.
7888 (grub_net_card): Likewise.
7889 (grub_net_app_protocol): Likewise.
7890 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7891 * include/grub/serial.h (grub_serial_find): Likewise.
7892 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7893 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7894 (grub_xnu_create_value): Likewise.
7895 (grub_xnu_find_key): Likewise.
7896 (grub_xnu_scan_dir_for_kexts): Likewise.
7897 (grub_xnu_load_kext_from_dir): Likewise.
7898
7899 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7900 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7901 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7902 Moved from here ...
7903 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7904
112b4837
CW
79052011-11-28 Colin Watson <cjwatson@ubuntu.com>
7906
7907 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7908
49e891ac
VS
79092011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7912 (read_device): Fix size calculation.
7913
fd258e5c
RM
79142011-11-25 Robert Millan <rmh@gnu.org>
7915
7916 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7917 (find_root_device_from_libzfs): Add zpool output parser to be used
7918 as fallback when libzfs isn't available.
7919
78845dc2
SG
79202011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7921
7922 * po/Makefile.in.in: Add missing escape-continuation.
7923
adac5211
VS
79242011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7925
7926 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7927
10b64f1c
VS
79282011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7931
bb416954
VS
79322011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7935
bdfe9eeb
VS
79362011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7939
581ffa8a
VS
79402011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/lib/adler32.c: Add missing license specification.
7943 * grub-core/lib/crc64.c: Likewise.
7944 * grub-core/loader/i386/pc/plan9.c: Likewise.
7945 * grub-core/partmap/plan.c: Likewise.
7946
2536cf64
LK
79472011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7948
7949 Add facility to debug GRUB with gdb under qemu.
7950
7951 * grub-core/gdb_grub.in: New file.
7952 * grub-core/gmodule.pl.in: Likewise.
7953 * grub-core/Makefile.core.def (gmodule.pl): New script.
7954 (gdb_grub): Likewise.
7955
bc108a4a
VS
79562011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7957
7958 * util/grub-mount.c (argp_parser): Accept relative pathes.
7959 * util/grub-fstest.c (argp_parser): Likewise.
7960
111c1778
VS
79612011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 Plan9 support.
7964
7965 * Makefile.util.def (libgrubmods): Add
7966 grub-core/partmap/plan.c.
7967 * docs/grub.texi: Notice Plan9 support.
7968 * grub-core/Makefile.core.def (plan9): New module.
7969 (part_plan): Likewise.
7970 * grub-core/loader/i386/pc/plan9.c: New file.
7971 * grub-core/partmap/plan.c: Likewise.
7972 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7973 define.
7974 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7975 * include/grub/mm.h (grub_extend_alloc): New inline function.
7976
c30be3b6
VS
79772011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 Make Reed-Solomon faster by using power of generator representation of
7980 GF(256)*.
7981
7982 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7983 (gf_double_t): Likewise.
7984 (gf_invert): Removed.
7985 (gf_powx): New array.
7986 (gf_powx_inv): Likewise.
7987 (scratch): Move higher.
7988 (gf_reduce): Removed.
7989 (gf_mul): Use powx.
7990 (gf_invert): Likewise.
7991 (init_inverts): Replaced with ...
7992 (init_powx): ...this. All users updated.
7993 (pol_evaluate): Replace multiplications with additions.
7994 (rs_encode): Likewise.
7995 (gauss_eliminate): Call gf_invert.
7996 (grub_reed_solomon_add_redundancy): Call init_powx.
7997 (grub_reed_solomon_recover): Call init_powx unconditionally.
7998
fa5aeffc
VS
79992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
8002
a346b81c
VS
80032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
8006 disk->partiton for safety.
8007
d89ee414
VS
80082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8011 Fix a memory leak.
8012 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
8013
91ee7b6d
VS
80142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
8017
91e5a33d
VS
80182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
8021
9edd7be2
VS
80222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 Fix spaces handling in proc/self/mountinfo.
8025
8026 * util/getroot.c (unescape): New function.
8027 (grub_find_root_device_from_mountinfo): Use unescape.
8028
ba102053
VS
80292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Support ZFS embedding.
8032
8033 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
8034 (grub_zfs_fs): Register grub_zfs_embed.
8035
aa94b870
VS
80362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 Fix MIPS compilation.
8039
8040 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
8041 * include/grub/offsets.h: Rename decompressor fields from
8042 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
8043 * util/grub-mkimage.c (image_targets): Use new names.
8044
5fbdac14
VS
80452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 Defer multiboot device parsing until we're in compressed part.
8048
8049 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
8050 bsd_part. setdevice has fallen into disuse.
8051 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
8052 (bsd_part): Likewise.
8053 (boot_dev): New variable.
8054 (multiboot_trampoline): Don't parse multiboot device.
8055 Pass multiboot device in %edx.
8056 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
8057 grub_boot_device.
8058 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
8059 Likewise.
8060 * grub-core/kern/i386/pc/startup.S: Save edx.
8061 (grub_boot_drive): Removed.
8062 (grub_install_dos_part): Likewise.
8063 (grub_install_bsd_part): Likewise.
8064 (grub_boot_device): New variable.
8065 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
8066 (grub_install_bsd_part): Likewise.
8067 (grub_boot_drive): Likewise.
8068 (grub_boot_device): New variable.
8069 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8070 Removed.
8071 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8072 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8073 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8074 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8075 * util/grub-install.in: Remove redundant condition.
8076
691cbb58
VS
80772011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 Fix bug introduced by previous commit.
8080
8081 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8082
60240b8b
VS
80832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 Use decompressors framework on i386-pc. It increases core size
8086 by 46 bytes but improves compatibility and maintainability.
8087
8088 * grub-core/Makefile.core.def (lzma_decompress): New image.
8089 (kernel): Add i386_pc_ldflags.
8090 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8091 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8092 to real_to_prot, prot_to_real and device info.
8093 * include/grub/offsets.h: Renamed decompressor offsets.
8094 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8095 (image_target_desc): Remove raw_size and rename decompressor fields.
8096 (compress_kernel): Handle lzma.
8097 (generate_image): Handle decompressors on i386-pc.
8098
e9d3421c
VS
80992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * configure.ac: Add -fno-asynchronous-unwind-tables.
8102
2b23074a
VS
81032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 Move assembly code to C by using intwrap. It increases core size
8106 by 88 bytes but improves compatibility and maintainability.
8107
8108 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8109 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8110 ... here. Translated to C.
8111 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8112 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8113 ... here. Translated to C.
8114 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8115 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8116 ... here. Translated to C.
8117 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8118 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8119 ... here. Translated to C.
8120 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8121 * grub-core/term/i386/pc/console.c (grub_console_cls):
8122 ... here. Translated to C.
8123 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8124 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8125 ... here. Translated to C.
8126 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8127 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8128 Translated to C.
8129 * grub-core/term/i386/pc/console.c (int10_9): New function.
8130 (grub_console_putchar): Likewise.
8131 * include/grub/i386/pc/console.h: Removed the not anymore shared
8132 functions.
8133
678f4b67
VS
81342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 Move grub_chainloader_real_boot out of the kernel.
8137
8138 * grub-core/Makefile.am: Remove machine/loader.h.
8139 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8140 Removed.
8141 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8142 variable.
8143 (grub_relocator16_keep_a20_enabled): Likewise.
8144 (grub_relocator16_boot): Fill new variables.
8145 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8146 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8147 relocator.
8148 (grub_chainloader_unload): Likewise.
8149 (grub_chainloader_cmd): Likewise.
8150 * include/grub/i386/pc/loader.h: Removed.
8151 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8152 and esi. All initialisers updated.
8153
4626edf6
VS
81542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
81552011-11-12 Colin Watson <cjwatson@ubuntu.com>
8156
8157 * Makefile.util.def (grub-mount): New util.
8158 * .bzrignore: Add grub-mount.
8159 * configure.ac: Check for fuse and enable grub-mount if available.
8160 * docs/man/grub-mount.h2m: New file.
8161 * util/grub-mount.c: Likewise.
8162
10f0117b
VS
81632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/commands/efi/fixvideo.c: Gettextize.
8166 * grub-core/commands/hashsum.c: Likewise.
8167 * grub-core/commands/i386/cmostest.c: Likewise.
8168 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8169 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8170 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8171 * grub-core/commands/lsmmap.c: Likewise.
8172 * grub-core/commands/menuentry.c: Likewise.
8173 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8174 * grub-core/commands/setpci.c: Likewise.
8175 * grub-core/loader/i386/bsd.c: Likewise.
8176 * grub-core/loader/i386/linux.c: Likewise.
8177 * util/getroot.c: Likewise.
8178 * util/grub-editenv.c: Likewise.
8179 * util/grub-fstest.c: Likewise.
8180 * util/grub-mkfont.c: Likewise.
8181 * util/grub-mkimage.c: Likewise.
8182 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8183 * util/grub-pe2elf.c: Likewise.
8184 * util/grub-probe.c: Likewise.
8185 * util/grub-setup.c: Likewise.
8186 * util/ieee1275/ofpath.c: Likewise.
8187 * util/misc.c: Likewise.
8188 * util/raid.c: Likewise.
8189
566f779b
RM
81902011-11-11 Robert Millan <rmh@gnu.org>
8191
8192 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8193 __attribute__((unused)) from `os_dev', which *is* being used.
8194
b50787de
VS
81952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8198 forgotten define.
8199 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8200 GRUB_IA64_DL_GOT_ALIGN.
8201 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8202 GRUB_IA64_DL_TRAMP_ALIGN.
8203
119d11c8
VS
82042011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 Replace grub_fatal with normal errors in i386 linux loader.
8207
8208 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8209 (allocate_pages): Check find_efi_mmap_size return value.
8210 (grub_e820_add_region): Return error.
8211 (grub_linux_boot): Check mmap return value.
8212
6e0632e2
VS
82132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/commands/acpihalt.c: Gettextized.
8216 * grub-core/commands/cacheinfo.c: Likewise.
8217 * grub-core/commands/cmp.c: Likewise.
8218 * grub-core/commands/efi/loadbios.c: Likewise.
8219 * grub-core/commands/gptsync.c: Likewise.
8220 * grub-core/commands/ieee1275/suspend.c: Likewise.
8221 * grub-core/commands/legacycfg.c: Likewise.
8222 * grub-core/commands/memrw.c: Likewise.
8223 * grub-core/commands/minicmd.c: Likewise.
8224 * grub-core/commands/parttool.c: Likewise.
8225 * grub-core/commands/time.c: Likewise.
8226 * grub-core/commands/videoinfo.c: Likewise.
8227 * grub-core/disk/geli.c: Likewise.
8228 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8229 * grub-core/disk/luks.c: Likewise.
8230 * grub-core/disk/lvm.c: Likewise.
8231 * grub-core/font/font_cmd.c: Likewise.
8232 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8233 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8234 * grub-core/gfxmenu/view.c: Likewise.
8235 * grub-core/kern/emu/hostdisk.c: Likewise.
8236 * grub-core/kern/emu/main.c: Likewise.
8237 * grub-core/kern/emu/misc.c: Likewise.
8238 * grub-core/kern/emu/mm.c: Likewise.
8239 * grub-core/kern/mips/arc/init.c: Likewise.
8240 * grub-core/kern/mips/loongson/init.c: Likewise.
8241 * grub-core/kern/partition.c: Likewise.
8242 * grub-core/lib/i386/halt.c: Likewise.
8243 * grub-core/lib/mips/arc/reboot.c: Likewise.
8244 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8245 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8246 * grub-core/loader/i386/xnu.c: Likewise.
8247 * grub-core/loader/multiboot.c: Likewise.
8248 * grub-core/net/bootp.c: Likewise.
8249 * grub-core/net/net.c: Likewise.
8250 * grub-core/normal/term.c: Likewise.
8251 * grub-core/partmap/bsdlabel.c: Likewise.
8252 * grub-core/parttool/msdospart.c: Likewise.
8253 * grub-core/term/gfxterm.c: Likewise.
8254 * grub-core/term/terminfo.c: Likewise.
8255 * grub-core/video/i386/pc/vbe.c: Likewise.
8256 * util/grub-menulst2cfg.c: Likewise.
8257 * util/grub-mkdevicemap.c: Likewise.
8258 * util/grub-mklayout.c: Likewise.
8259 * util/grub-mkrelpath.c: Likewise.
8260 * util/grub-script-check.c: Likewise.
8261 * util/ieee1275/grub-ofpathname.c: Likewise.
8262 * util/resolve.c: Likewise.
8263
073aa7a9
VS
82642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 Support %1$d syntax.
8267
8268 * tests/printf_unit_test.c: New file.
8269 * Makefile.util.def (printf_test): New test.
8270 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8271
c76b5417
VS
82722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8275 fix.
8276
df067ad1
VS
82772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8280 dprintf.
8281 * grub-core/font/font.c (grub_font_load): Likewise.
8282
5b289bc5
VS
82832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * util/grub-macho2img.c: Add comment concerning gettext.
8286 * grub-core/lib/legacy_parse.c: Likewise.
8287
c1860f87
VS
82882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8291 (grub_xvasprintf): Likewise.
8292
d35d0d37
VS
82932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 Add const keyword to grub_env_get and gettextize week days.
8296
8297 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8298 (grub_read_hook_datetime): Return const char *.
8299 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8300 updated.
8301 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8302 Mark for gettext.
8303 (grub_get_weekday_name): Return const char *. Call gettext.
8304 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8305 char * and len as the argument. All users updated.
8306 (grub_script_argv_split_append): Receive const char *.
8307 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8308 * include/grub/env.h (grub_env_get): Likewise.
8309 (grub_env_read_hook_t): Return const char *.
8310 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8311 (grub_script_argv_split_append): Likewise.
8312
9aed8a71
VS
83132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8316
067fdf00
VS
83172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8320 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8321
a8bd9d39
VS
83222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8325 Fix prototype.
8326
f7ce5baf
VS
83272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 Fix mips compilation.
8330
8331 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8332 normal decoder.
8333 (hashes): Use in embed decoder as well (for sizes).
8334 (dec_stream_header): Fix embed decompressor logic.
8335 (dec_stream_footer): Likewise.
8336
9bb182f3
VS
83372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8340 an error and not a fatal on unrecognised relocation types.
8341
63a9e6f6
VS
83422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8345 Issue error rather than printf on unknown arguments.
8346
4c458569
VS
83472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8350 Make buf a const.
8351
e2d22baf
VS
83522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8355 Fix module name.
8356
53dc8590
VS
83572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8360 leftover debug printf.
8361
6c189294
VS
83622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8365
f7688369
VS
83662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8369 A stylistic fix.
8370
11a775a3
VS
83712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8374
33f784e8
SL
83752011-11-10 Shea Levy <slevy@tieronedesign.com>
8376
8377 Allow all modules to perform serial IO
8378
8379 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8380 * include/grub/serial.h (grub_serial_port_configure): New inline
8381 function.
8382 (grub_serial_port_fetch): Likewise.
8383 (grub_serial_port_put): Likewise.
8384 (grub_serial_port_fini): Likewise.
8385 (grub_serial_find): New proto.
8386
f6276525
VS
83872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 Put symlink at the end of the node and fix a potential
8390 memory corruption.
8391
8392 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8393 Make symlink into an array.
8394 (set_rockridge): Set have_symlink and alloc_dirents.
8395 (grub_iso9660_read_symlink): Use new layout.
8396 (grub_iso9660_iterate_dir): Fix memory corruption.
8397 Use new layout.
8398 (grub_iso9660_dir): Set have_symlink.
8399 (grub_iso9660_open): Likewise.
8400
c3591189
VS
84012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 Remove local keyword.
8404
8405 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8406 (version_test_gt): Likewise.
8407 (version_find_latest): Likewise.
8408 (gettext_printf): Likewise.
8409 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8410
cb544caa
VS
84112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8414
45bd824d
VS
84152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 Fix ZFS memory and resource leaks.
8418
8419 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8420 All users updated.
8421 Free type on exit.
8422 (fill_vdev_info): New parameter inserted. All users updated.
8423 (check_pool_label): Likewise.
8424 (scan_disk): Likewise.
8425 (scan_devices): Close non-inserted disks.
8426 (fzap_iterate): Free l.
8427 (unmount_device): Free children descripto memory.
8428
ad9a2f44
VS
84292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8432 argument (access out of bounds).
8433
6b68db81
VS
84342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8437 >= 6 drives.
8438
28840fda
VS
84392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8442 Fix declaration.
8443
8a5a3a5b
VS
84442011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 Fix several memory leaks.
8447
8448 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8449 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8450 (grub_cpio_dir): Likewise.
8451 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8452 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8453 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8454 (grub_romfs_label): Likewise.
8455 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8456 (squash_unmount): New function.
8457 (grub_squash_dir): Fix memory leak.
8458 (grub_squash_open): Likewise.
8459 (grub_squash_read): Likewise.
8460 (grub_squash_mtime): Likewise.
8461 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8462 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8463 * util/grub-fstest.c (fstest): Likewise.
8464
57b01250
VS
84652011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8468 avoid accessing beyond the array.
8469
19e81ba7
VS
84702011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8473
52b656c0
VS
84742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 Several AFFS fixes.
8477
8478 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8479 (GRUB_AFFS_FLAG_FFS): Removed.
8480 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8481 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8482 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8483 (grub_fshelp_node): Make block 32-bit.
8484 Add block_cache and last_block_cache.
8485 (grub_affs_read_block): Fill and use block cache.
8486 (grub_affs_read_file): Removed.
8487 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8488 boot block.
8489 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8490 safety.
8491 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8492 space.
8493 (grub_affs_close): Free block cache.
8494 (grub_affs_read): Use grub_fshelp_read_file directly.
8495
438a746a
VS
84962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8499 with no error set.
8500
49a45021
VS
85012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8504 used variable.
8505 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8506 Likewise.
8507
3ae17eb8
VS
85082011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8511
8512 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8513 byteswap when needed.
8514
27610c38
VS
85152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 Fix FreeBSD compilation.
8518
8519 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8520 to avoid circular dependency.
8521 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8522 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8523 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8524
4a19b601
VS
85252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Fix ZFS crypto error types.
8528
8529 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8530 (grub_gcm_decrypt): Likewise.
8531 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8532 from PBKDF2.
8533
958ee221
VS
85342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 Illumos support.
8537
8538 * Makefile.util.def (10_illumos): New script.
8539 * configure.ac: Set COND_HOST_ILLUMOS.
8540 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8541 Support Illumos calls.
8542 (find_partition_start) [__sun__]: Likewise.
8543 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8544 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8545 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8546 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8547 device.
8548 * util/grub-probe.c (probe) [__sun__]: Do character check.
8549 * util/grub.d/10_illumos.in: New file.
8550
cac14fb6
VS
85512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 Support escaped commas in hostdisk.
8554
8555 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8556 (find_grub_drive): Use unescape_cmp.
8557 (make_device_name): Escape commas.
8558
78e08dc3
VS
85592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8562
9f421dd1
VS
85632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8566 variable.
8567
ed64e9e2
VS
85682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 Support trampoline jumps on powerpc.
8571
8572 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8573 __ia64__ path.
8574 (grub_dl_load_segments): Set mod->sz.
8575 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8576 segments.
8577 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8578 (jump): Likewise.
8579 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8580 function.
8581 (trampoline): New struct.
8582 (trampoline_template): New const.
8583 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8584 * include/grub/dl.h (grub_dl): Add sz element.
8585 [__powerpc__]: Follow __ia64__.
8586 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8587 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8588 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8589 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8590
3084ede4
VS
85912011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 ZFS crypto support.
8594
8595 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8596 * grub-core/Makefile.core.def (zfscrypt): New module.
8597 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8598 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8599 it. All users updated.
8600 (grub_zfs_decrypt): New var.
8601 (grub_zfs_load_key): Likewise.
8602 (zio_checksum_functions): Add SHA256+MAC.
8603 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8604 (zio_read): Handle encrypted blocks.
8605 (zap_verify): Remove incorrect check.
8606 (fzap_iterate): Handle non-standard fzap.
8607 (zap_iterate): Likewise.
8608 (zap_iterate_u64): New function.
8609 (dnode_get_fullpath): Load keys.
8610 * grub-core/fs/zfs/zfscrypt.c: New file.
8611 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8612 (grub_crypto_ecb_encrypt): Make input const.
8613 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8614 (grub_crypto_ecb_encrypt): Make input const.
8615 (GRUB_CIPHER_AES): New macro.
8616 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8617 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8618 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8619 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8620 prefix. All users updated.
8621 (grub_zfs_add_key): New proto.
8622 (grub_zfs_decrypt): Likewise.
8623 (grub_zfs_load_key): Likewise.
8624 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8625 * util/grub-fstest.c (options): Add -K option.
8626 (argp_parser): Likewise.
8627
b632b404
VS
86282011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 Support zle compression on ZFS.
8631
8632 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8633 (decomp_table): Add zle.
8634 * include/grub/zfs/zio.h (zio_compress): Add zle.
8635
c7ba4f69
VS
86362011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 Support BtrFS embedding.
8639
8640 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8641 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8642 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8643 * util/grub-setup.c (setup): Use fs embedding if available.
8644 Add additional sanity check.
8645
455377d9
VS
86462011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 * util/grub-install.in: Fix condition for config_opt.
8649
c2fd16ca
VS
86502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 Support third redundancy strip on raidz3.
8653
8654 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8655 Return error on singularity. All users updated.
8656 (read_device): Don't stop on 3rd failure on raidz3.
8657
8622923b
VS
86582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 Support case-insensitive ZFS subvolumes.
8661
8662 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8663 All users updated.
8664 (zap_hash): Likewise.
8665 (name_cmp): New function.
8666 (zap_leaf_array_equal): New parameter case_insensitive.
8667 All users updated.
8668 (zap_leaf_lookup): Likewise.
8669 (fzap_lookup): Likewise.
8670 (zap_lookup): Likewise.
8671 (dnode_get_path): New parameter case_insensitive. Retrieve case
8672 sensitiviness of a volume. All users updated.
8673 (dnode_get_fullpath): New parameter case_insensitive.
8674 All users updated.
8675 (grub_zfs_dir): Set info.case_insensitiveness.
8676
95f2e860
VS
86772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 Support second redundancy strip on raidz(2,3).
8680
8681 * grub-core/fs/zfs/zfs.c (powx): New array.
8682 (powx_inv): Likewise.
8683 (poly): New const.
8684 (xor_out): New function.
8685 (gf_mul): Likewise.
8686 (recovery): Likewise.
8687 (read_device): Use second redundancy strip.
8688
11ee4389
VS
86892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Use a power of generator representation of GF(256) multiplication group
8692 to save space time and complexity.
8693
8694 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8695 (raid6_table2): Likewise.
8696 (powx): New array.
8697 (powx_inv): Likewise.
8698 (poly): New const.
8699 (grub_raid_block_mul): Replace with ...
8700 (grub_raid_block_mulx): ...this.
8701 (grub_raid6_init_table): Rewritten.
8702 (grub_raid6_recover): Use power of generator representation.
8703
09e2763f
VS
87042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8707 for the right device.
8708
8bec9a28
VS
87092011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8712 expected by grub-mkimage and it's more clear since there is no implicit
8713 padding.
8714
dbd3a32e
VS
87152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8718 disk.
8719 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8720
182c872a
PMH
87212011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8722
8723 * util/grub-mkrescue.in: Fix handling xorriso option.
8724
1e51cabd
VS
87252011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8728 NULL.
8729
9cc3581d 87302011-11-03 crocket <crockabiscuit@gmail.com>
8731
8732 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8733
158dc1ea
VS
87342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 XZ CRC64 and SHA256 support.
8737
8738 * Makefile.util.def (libgrubmods): Add crc64.c.
8739 * grub-core/Makefile.core.def (crc64): New module.
8740 * grub-core/lib/crc64.c: New file.
8741 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8742 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8743 Fix the type.
8744 (MAX_HASH_SIZE): New define.
8745 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8746 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8747 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8748 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8749 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8750 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8751 Handle non-crc32 hashes.
8752 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8753 (dec_stream_header): Handle non-crc32 hashes.
8754 (dec_stream_footer): Likewise.
8755 (dec_block_header): Likewise.
8756 (dec_main): Likewise.
8757 (xz_dec_init): Likewise.
8758 (xz_dec_reset): Likewise.
8759 (xz_dec_end): Likewise.
8760 * util/import_gcry.py: Add CRC64 line.
8761
9d9b3d2f
VS
87622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8765 as well.
8766
7d0ac931
VS
87672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 Make reiserfs label retrieval similar to other *_label functions.
8770
8771 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8772 (REISERFS_MAX_LABEL_LENGTH): Removed.
8773 (REISERFS_LABEL_OFFSET): Likewise.
8774 (grub_reiserfs_label): Rewritten.
8775
87762011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8779 field.
8780
cf5ba824
VS
87812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8784
17744004
VS
87852011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8786
8787 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8788 drive failure on both raidz and raidz2.
8789
aca5aefc
VS
87902011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 Fix RAIDZ(2) for >= 5 devices.
8793
8794 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8795 asize argument. All users updated.
8796
ce8ca56e
VS
87972011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 Fix RAIDZ(2).
8800
8801 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8802 (fill_vdev_info_real): Set ashift.
8803 (read_device): Rewrite RAIDZ part based on reverse engineering.
8804
7c01e783
VS
88052011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8808 don't report potentially unavialiable fields in debug output.
8809 (find_path): Fix double-free and memory leak.
8810
ce109e84
VS
88112011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 Read label on UFS1.
8814
8815 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8816 (grub_ufs_fs): Always set .label.
8817
87661123
VS
88182011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 Use shifts in UFS.
8821
8822 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8823 (grub_ufs_data): New field log2_blksz.
8824 (grub_ufs_read_file): Use shifts.
8825 (grub_ufs_mount): Check block size and logarithm it.
8826
46bc1dc2
VS
88272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8830 long symlinks.
8831
19ee2987
VS
88322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 Handle symlinks and long names on tar and cpio.
8835
8836 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8837 (ATTR_FILE): Likewise.
8838 (ATTR_DIR): Likewise.
8839 (ATTR_LNK): Likewise.
8840 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8841 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8842 L and K entries.
8843 (grub_cpio_mount): Zero-fill data.
8844 (handle_symlink): New function.
46bc1dc2
VS
8845 (grub_cpio_dir): Handle symlinks.
8846 (grub_cpio_open): Likewise.
8847 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8848
c83a08d8
VS
88492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 Fix iso9660 filename limitations and fix memory leaks.
8852
8853 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8854 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8855
45cdd3ea
VS
88562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Fix JFS file name length limitations.
8859
8860 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8861 (grub_jfs_diropen): Fix maximum filename length.
8862 (grub_jfs_getent): Fix filename length.
8863 (grub_jfs_lookup_symlink): Fix size checks.
8864
94ef05c2
VS
88652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8868 string.
8869
785ab8c7
VS
88702011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8871
eb0b6b45
VS
8872 Leverage BFS implementation to read AFS.
8873
8874 * Makefile.util.def (libgrubmods): Add afs.c.
8875 * grub-core/Makefile.core.def (afs): New module
8876 * grub-core/fs/afs.c: New file.
8877 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8878
88792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8882
c4a1628f
VS
88832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/fs/bfs.c: Run indent.
8886
5825b379
VS
88872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 BFS implementation based on the specification.
8890
8891 * grub-core/fs/bfs.c: New file.
8892 * Makefile.util.def (libgrubmods): Add bfs.c.
8893 * grub-core/Makefile.core.def (bfs): New module.
8894
42b2a706
VS
88952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * util/grub-fstest.c (cmd_cp): Clarify error message.
8898 (cmd_cmp): Likewise.
8899
61b99bfc
YB
89002011-10-30 Yves Blusseau <blusseau@zetam.org>
8901
8902 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8903 and befs_be.
8904
faba3d16
VS
89052011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Remove afs and befs because of copyright problem.
8908
8909 * grub-core/fs/afs.c: Removed.
8910 * grub-core/fs/afs_be.c: Removed.
8911 * grub-core/fs/befs.c: Removed.
8912 * grub-core/fs/befs_be.c: Removed.
8913 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8914 * grub-core/Makefile.core.def (afs): Removed.
8915 (afs_be): Likewise.
8916 (befs): Likewise.
8917 (befs_be): Likewise.
8918
c39224b0
VS
89192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 Prefer rockridge over Joliet.
8922
8923 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8924 to ...
8925 (set_rockridge): ... here.
8926 (grub_iso9660_mount): Check rockridge on the primary label when
8927 discovering. Ignore Joliet if Rockridge is present.
8928
e551115a
VS
89292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Use shifts in nilfs2.
8932
8933 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8934 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8935 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8936 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8937 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8938 (grub_nilfs2_entries_per_block): Replaced with ...
8939 (grub_nilfs2_log_entries_per_block_log): ... this.
8940 (grub_nilfs2_blocks_per_group): Replaced with ...
8941 (grub_nilfs2_blocks_per_group_log): ... this.
8942 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8943 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8944 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8945 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8946 (grub_nilfs2_palloc_entry_offset): Replaced ...
8947 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8948 (grub_nilfs2_dat_translate): Use shifts.
8949 (grub_nilfs2_read_inode): Likewise.
8950 (GRUB_MOD_INIT): Ensure that logs are correct.
8951
564dd58c
VS
89522011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 Use shifts in minix filesystem.
8955
8956 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8957 (GRUB_MINIX_ZONE2SECT): Likewise.
8958 (grub_minix_data): Replace block_size with log_block_size.
8959 (grub_minix_read_file): Use shifts.
8960 (grub_minix_mount): Check block size and take a logarithm.
8961
ed9ba06d
VS
89622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 Use shifts in squash4.
8965
8966 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8967 (squash_mount): Check block size and take logarithm.
8968 (direct_read): Use shifts.
8969
ad03fe76
VS
89702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 Correct befs block counting logic.
8973
8974 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8975 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8976 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8977 (grub_afs_read_inode): Use block_shift.
8978 (RANGE_SHIFT): New definition.
8979 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8980 unexpected conditions, use shifts and appropriate types.
8981 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8982
6563f63d
VS
89832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/disk/raid.c (scan_devices): Check partition.
8986 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8987
5b1ae25f
VS
89882011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 Support BFS (befs) UUID.
8991
8992 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8993 (grub_afs_small_data_element_header): New struct.
8994 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8995 (grub_afs_read_attribute) [MODE_BFS]: New function.
8996 (grub_afs_iterate_dir): Allocate for complete inode.
8997 (grub_afs_mount): Likewise.
8998 (grub_afs_uuid) [MODE_BFS]: New function.
8999 (grub_afs_fs) [MODE_BFS]: Add .uuid.
9000
f8d82408
VS
90012011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
9002
9003 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
9004 (zfs_unmount): Fix memory leak.
9005
5773fb64
VS
90062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 Support NTFS reparse points.
9009
9010 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
9011 (symlink_descriptor): New struct.
9012 (grub_ntfs_read_symlink): New function.
9013 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
9014 (grub_ntfs_open): Likewise.
9015
91c3fdde
VS
90162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
9019
3be82e10
VS
90202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 fstest xnu_uuid subcommand.
9023
9024 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
9025 grub-core/commands/xnu_uuid.c.
9026 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
9027 (fstest): Handle xnu_uuid.
9028 (options): Document xnu_uuid.
9029 (argp_parser): Parse xnu_uuid.
9030
8e32442e
VS
90312011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
9034 -l argument. Add newline at the end if printing.
9035 (GRUB_MOD_INIT): Document -l.
9036
52a05075
VS
90372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
9040
1869edb5
VS
90412011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 ZFS multi-device and version 33 support.
9044
9045 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
9046 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
9047 (grub_zfs_data): Add multidev-ice-related fields.
9048 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
9049 (dva_get_offset): Make dva const.
9050 (zfs_fetch_nvlist): New function.
9051 (fill_vdev_info_real): Likewise.
9052 (fill_vdev_info): Likewise.
9053 (check_pool_label): Likewise.
9054 (scan_disk): Likewise.
9055 (scan_devices): Likewise.
9056 (read_device): Likewise.
9057 (read_dva): Likewise.
9058 (zio_read_gang): Use read_dva.
9059 (zio_read_data): Likewise.
9060 (zap_leaf_lookup): Add missing endian conversion.
9061 (zap_verify): Add missing endian conversion. All users updated.
9062 (fzap_lookup): Likewise.
9063 (fzap_iterate): Likewise.
9064 (dnode_get_path): Handle SA bonus.
9065 (nvlist_find_value): Make input const. All users updated.
9066 (unmount_device): New function.
9067 (zfs_unmount): Use unmount_device.
9068 (zfs_mount): Use scan_disk.
9069 (zfs_mtime): New function.
9070 (grub_zfs_open): Handle system attributes.
9071 (fill_fs_info): Likewise.
9072 (grub_zfs_dir): Likewise.
9073 (grub_zfs_fs): Add mtime.
9074 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9075 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9076 (SA_MTIME_OFFSET): Likewise.
9077 (SA_SYMLINK_OFFSET): Likewise.
9078 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9079 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9080 (fstest): Support zfsinfo.
9081 (argp_parser): Likewise.
9082
186b4028
VS
90832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9086 error.
9087
90882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9089
9090 ZFS fixes.
9091
9092 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9093 sharing the same block. Iterate over correct number of indices.
9094 (dnode_get_path): Handle symlinks correctly.
9095
c0584900
VS
90962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9099
67e2bd71
VS
91002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Read label on HFS+.
9103
9104 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9105 (grub_hfsplus_btree_search): Fix types.
9106 (grub_hfsplus_label): Implement.
9107
e9cc6b7b
VS
91082011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9111
19832ddb
VS
91122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9115
66b40850
VS
91162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 Fix symlink handling on iso9660.
9119
9120 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9121 All users updated.
9122 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9123 (grub_iso9660_read_symlink): Moved most of code ...
9124 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9125
db821363
VS
91262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9129 Use union to avoid breaking strict-aliasing rules.
9130
e1211949
VS
91312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 Support multi-extent iso files.
9134
9135 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9136 Add node.
9137 (grub_fshelp_node): Revamp. All users updated.
9138 (FLAG_*): New enum.
9139 (read_node): New function.
9140 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9141 All users updated.
9142 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9143 (get_node_size): New function.
9144 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9145 entries.
9146 Fix memory leak on . and ..
9147 (grub_iso9660_read): Use read_node.
9148 (grub_iso9660_close): Free node.
9149
d4888031
VS
91502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 Fix tar 4G limit and handle paths containing dot.
9153
9154 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9155 (canonicalize): New function.
9156 (grub_cpio_find_file): Use canonicalize. Store offs in
9157 grub_disk_addr_t.
9158 (grub_cpio_dir): Use grub_disk_addr_t.
9159 (grub_cpio_open): Likewise.
9160
9f12e664
VS
91612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9164
9165 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9166 unused flags.
9167 (grub_squash_inode): Add long_file and block_size.
9168 (grub_squash_cache_inode): New struct.
9169 (grub_squash_dirent): Make types into enum.
9170 (SQUASH_TYPE_LONG_REGULAR): New type.
9171 (grub_squash_frag_desc): Add field size.
9172 (SQUASH_BLOCK_FLAGS): New enum.
9173 (grub_squash_data): Use grub_squash_cache_inode.
9174 (grub_fshelp_node): Make ino_chunk 64-bit.
9175 (read_chunk): Minor argument change. All users updated.
9176 (squash_mount): Use correct le_to_cpu.
9177 (grub_squash_open): Handle LONG_REGULAR.
9178 (direct_read): New function.
9179 (grub_squash_read_data): Handle blocks correctly.
9180
9f326fba
VS
91812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9184
f4d9b64b
VS
91852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9188
5bbd28b8
VS
91892011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 Fix 2G limit on ZFS.
9192
9193 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9194 types.
9195 (uberblock_verify): Likewise.
9196 (dmu_read): Likewise.
9197 (grub_zfs_read): Likewise. Remove invalid cast.
9198
68c72069
VS
91992011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9202 (grub_jfs_blkno): Fix incorrect shift.
9203 (grub_jfs_read_file): Use more appropriate types.
9204
6e536dc8
VS
92052011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 Support triple indirect on minix2 and minix3.
9208
9209 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9210 Declare triple_indir_zone.
9211 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9212 indirect.
9213
e0864e7a
VS
92142011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 Minix FS fixes.
9217
9218 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9219 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9220 Rename ctime to mtime. All users updated.
9221 (grub_minix_get_file_block): Fix types and double indirect computations.
9222
89481cab
VS
92232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9226 if no label is found.
9227 (grub_fat_iterate_dir): Fix file size type.
9228 (grub_fat_iterate_dir): Likewise.
9229
f646e143
VS
92302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9233 save some space.
9234 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9235 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9236
534d769e
VS
92372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9240
e084ba18
VS
92412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * util/import_gcry.py: Accept space between # and include.
9244
3471ecdf
VS
92452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9248
124df5f6
VS
92492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9250
9251 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9252
9253 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9254 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9255 yylex_strncpy.
9256 * grub-core/script/yylex.l: Add fine-grained #pragma.
9257
4defb8d5
VS
92582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9261 New inline function.
9262 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9263 Likewise.
9264 (memset) [GRUB_UTIL]: Likewise.
9265 (memcmp) [GRUB_UTIL]: Likewise.
9266
4e94ae65
VS
92672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9270 inline function rather than a define.
9271
18c575e5
VS
92722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * util/grub-setup.c: Add missing include.
9275
f8bc22a8
VS
92762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * util/ieee1275/grub-ofpathname.c: Add missing include.
9279
3ce69fc9
VS
92802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9283 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9284 Likewise.
9285
d1e293bb
VS
92862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9289 grub_memcmp usage.
9290
7a5c54a4
VS
92912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * util/grub-install.in: Add datarootdir as per automake manual
9294 suggestion.
9295 * util/grub-mknetdir.in: Likewise.
9296
92972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9298
9299 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9300 suggestion.
9301 * util/grub.d/10_kfreebsd.in: Likewise.
9302 * util/grub.d/10_linux.in: Likewise.
9303 * util/grub.d/10_netbsd.in: Likewise.
9304 * util/grub.d/10_windows.in: Likewise.
9305 * util/grub.d/20_linux_xen.in: Likewise.
9306
766f7d08
VS
93072011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 Remove redundant grub_kernel_image_size.
9310
9311 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9312 _edata and _start.
9313 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9314 the small code. It moves it only by few bytes but simplifies the code.
9315 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9316 _start.
9317 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9318 (grub_kernel_image_size): Removed.
9319 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9320 (grub_kernel_image_size): Removed.
9321 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9322 compiled with Apple toolchain.
9323 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9324 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9325 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9326 (grub_total_module_size): Likewise.
9327 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9328 Removed.
9329 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9330 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9331 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9332 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9333 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9334 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9335 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9336 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9337 Removed.
9338 (grub_total_module_size): Removed.
9339 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9340 (image_targets): Likewise.
9341 Set .compressed_size to no field on sparc.
9342 (generate_image): Remove kernel_image_size handling.
9343
fcf1d672
SJ
93442011-10-19 Szymon Janc <szymon@janc.net.pl>
9345
9346 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9347 NULL pointer dereference.
9348
de9c615e
VS
93492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9352 done with a dedicated section.
9353
9354 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9355 Ensure the correct position of boot_path.
9356 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9357 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9358 other fields.
9359 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9360 * include/grub/boot.h: Removed. All references removed.
9361 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9362 Removed.
9363 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9364
e55599dc
VS
93652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9368 name.
9369
36dd20ad
VS
93702011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9373
f8f72eb8
VS
93742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9377 Don't add the bogus brackets.
9378
a374751b
VS
93792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 ExFAT support.
9382
9383 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9384 * grub-core/Makefile.core.def (exfat): New module.
9385 * grub-core/fs/exfat.c: New file.
9386 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9387 (GRUB_FAT_ATTR_*): Make into an enum.
9388 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9389 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9390 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9391 (GRUB_FAT_MAXFILE): Removed.
9392 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9393 (grub_current_fat_bpb_t): New type.
9394 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9395 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9396 (grub_fat_dir_node_t): New type.
9397 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9398 (fat_log2) [MODE_EXFAT]: Removed.
9399 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9400 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9401 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9402 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9403 (grub_fat_label) [MODE_EXFAT]: New function.
9404 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9405 reserved_first_sector to 0.
9406
544c2487
VS
94072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9408
9409 Move grub_reboot out of the kernel.
9410
9411 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9412 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9413 * grub-core/lib/efi/reboot.c: ... here.
9414 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9415 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9416 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9417 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9418 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9419 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9420 * grub-core/lib/ieee1275/reboot.c: ... here.
9421 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9422 * grub-core/lib/mips/arc/reboot.c: ... here.
9423 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9424 * grub-core/lib/mips/loongson/reboot.c: ...here.
9425 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9426 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9427 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9428 * include/grub/i386/reboot.h: New file.
9429 * include/grub/mips/loongson/ec.h: Fix includes.
9430 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9431 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9432 * grub-core/lib/i386/reboot.c: New file.
9433
a97501d2
VS
94342011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9435
9436 Make grub_prefix into module to fix the arbitrary limit and save
9437 some space.
9438
9439 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9440 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9441 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9442 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9443 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9444 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9445 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9446 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9447 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9448 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9449 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9450 * include/grub/ia64/efi/kernel.h: Removed.
9451 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9452 (grub_prefix): Removed.
9453 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9454 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9455 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9456 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9457 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9458 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9459 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9460 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9461 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9462 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9463 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9464 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9465 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9466 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9467 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9468 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9469 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9470 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9471 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9472 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9473 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9474 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9475 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9476 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9477 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9478 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9479 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9480 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9481 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9482 from module.
9483 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9484 prefix_end.
9485 (image_targets): Likewise.
9486 (generate_image): Put prefix as a module.
9487
39705fad
VS
94882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 Replace grub_module_iterate with FOR_MODULES.
9491
9492 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9493 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9494 (grub_efi_modules_addr): ...this.
9495 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9496 (grub_efi_init): Set grub_modbase.
9497 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9498 (grub_modbase): New variable.
9499 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9500 (grub_modbase): New variable.
9501 (grub_machine_init): Set grub_modbase.
9502 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9503 (grub_modbase): New variable.
9504 (grub_machine_init): Set grub_modbase.
9505 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9506 (grub_modbase): New variable.
9507 (grub_machine_init): Set grub_modbase.
9508 * grub-core/kern/main.c (grub_module_iterate): Remove.
9509 (grub_modules_get_end): Use grub_modbase.
9510 (grub_load_modules): Use FOR_MODULES.
9511 (grub_load_config): Likewise.
9512 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9513 (grub_modbase): New variable.
9514 (grub_machine_init): Set grub_modbase.
9515 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9516 (grub_modbase): New variable.
9517 (grub_machine_init): Set grub_modbase.
9518 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9519 Removed.
9520 (grub_modbase): New variable.
9521 (grub_machine_init): Set grub_modbase.
9522 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9523 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9524 (grub_module_iterate): Likewise.
9525 (grub_modbase): New variable declaration.
9526 (FOR_MODULES): New macro.
9527
2afb7f6c
VS
95282011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9531 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9532
366e34fa
VS
95332011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9534
9535 Fix few obvious type discrepancies.
9536
9537 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9538 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9539 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9540 variable.
9541 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9542 and connected types.
9543 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9544 offset.
9545 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9546 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9547 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9548 and connected types.
9549
177b960e
VS
95502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 Fix python 3.x incompatibilities.
9553
9554 * gentpl.py: Put brackets around print strings.
9555 * util/import_gcry.py: Open explicitly as utf-8.
9556 Use in instead of has_key.
9557
3b619ae1
VS
95582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9561 (GRUB_XFS_INO_AGBITS): Make into inline function.
9562 (GRUB_XFS_INO_INOINAG): Likewise.
9563 (GRUB_XFS_INO_AG): Likewise.
9564 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9565 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9566 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9567 (GRUB_XFS_EXTENT_SIZE): Likewise.
9568 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9569 (GRUB_XFS_NEXT_DIRENT): Likewise.
9570 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9571 (grub_xfs_read_file): Fix offset type.
9572
8bcebcb8
RM
95732011-10-15 Robert Millan <rmh@gnu.org>
9574
9575 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9576
0017e5ef
RM
95772011-10-15 Robert Millan <rmh@gnu.org>
9578
9579 Fix build problem on FreeBSD and GNU/kFreeBSD.
9580
9581 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9582
d8919552
VS
95832011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9586
9587 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9588 types.
9589 (grub_hfsplus_btree_recoffset): Likewise.
9590 (grub_hfsplus_btree_recptr): Likewise.
9591 (grub_hfsplus_find_block): Likewise.
9592 (grub_hfsplus_btree_search): Likewise.
9593 (grub_hfsplus_read_block): Likewise.
9594 (grub_hfsplus_read_file): Likewise.
9595 (grub_hfsplus_mount): Likewise.
9596 (grub_hfsplus_btree_iterate_node): Likewise.
9597 (grub_hfsplus_btree_search): Likewise.
9598 (grub_hfsplus_iterate_dir): Likewise.
9599 (grub_hfsplus_read): A small code simplification.
9600
c81296b6
VS
96012011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/kern/emu/hostdisk.c
9604 (convert_system_partition_to_system_disk): Don't assume that children
9605 of mapper nodes are mapper nodes.
9606
0eb8ffb1
VS
96072011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9610 * include/grub/misc.h (grub_isxdigit): New function.
9611 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9612 switched to grub_isxdigit.
9613 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9614 number starting with a letter.
9615
a98f4a08
RM
96162011-10-09 Robert Millan <rmh@gnu.org>
9617
9618 LVM support for FreeBSD and GNU/kFreeBSD.
9619
9620 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9621 GNU/kFreeBSD.
9622 (LVM_DEV_MAPPER_STRING): Move from here ...
9623 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9624 * util/getroot.c: Include `<grub/util/lvm.h>'.
9625 (grub_util_get_dev_abstraction): Enable
9626 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9627 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9628 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9629 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9630 support it.
9631 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9632 GNU/kFreeBSD.
9633 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9634 when LVM abstraction is required for ${GRUB_DEVICE}.
9635
050e8e90
SJ
96362011-10-06 Szymon Janc <szymon@janc.net.pl>
9637
9638 Add support for LZO compression in GRUB:
9639 - import of minilzo library,
9640 - LZO decompression for btrfs,
9641 - lzop files decompression.
9642
9643 * grub-core/io/lzopio.c: New file.
9644 * grub-core/lib/adler32.c: Likewise.
9645 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9646 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9647 * grub-core/lib/minilzo/minilzo.c: Likewise.
9648 * grub-core/lib/minilzo/minilzo.h: Likewise.
9649 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9650 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9651 grub-core/lib/minilzo/minilzo.c to common.
9652 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9653 cflags in cppflags.
9654 * grub-core/Makefile.core.def (btrfs): Likewise.
9655 * grub-core/Makefile.core.def (lzopio): New module.
9656 (adler32): Likewise.
9657 * grub-core/fs/btrfs.c: Include minilzo.h.
9658 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9659 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9660 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9661 (grub_btrfs_lzo_decompress): New function.
9662 (grub_btrfs_extent_read): Add support for LZO compression type.
9663 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9664 (GRUB_USHRT_MAX): Likewise.
9665 (GRUB_UINT_MAX): Likewise.
9666 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9667 (UINT_MAX): Likewise.
9668 (CHAR_BIT): Likewise.
9669 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9670 grub-core/lib/posix_wrap/limits.h
9671 (UCHAR_MAX): Likewise.
9672 * include/grub/file.h (grub_file_filter_id): New compression filter
9673 GRUB_FILE_FILTER_LZOPIO.
9674 * include/grub/file.h (grub_file_filter_id): Set
9675 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9676 * include/grub/types.h (grub_get_unaligned16): New function.
9677 (grub_get_unaligned32): Likewise.
9678 (grub_get_unaligned64): Likewise.
9679 * util/import_gcry.py (cryptolist): Add adler32.
9680
0eb8ffb1
VS
96812011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9684 in perspective decreases the complexity of build system and fixes
9685 compilation right now.
9686
ce79cc99 96872011-10-01 Ales Nesrsta <starous@volny.cz>
9688
9689 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9690 (fixed problem related to using UHCI with coreboot).
9691
8667a314
BC
96922011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9693
9694 * gentpl.py: Use Autogen macros so that the output template file
9695 (Makefile.tpl) size is reduced.
9696
fc5efcc0
MK
96972011-09-29 Mads Kiilerich <mads@kiilerich.com>
9698
9699 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9700 extra_dist.
9701
d1ab689d
ML
97022011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9703
9704 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9705 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9706
c05de032
ML
97072011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9708
9709 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9710 _fullpath.
9711
cca7ccd8
ML
97122011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9713
9714 Remove extra declaration of sleep for mingw32.
9715
9716 * util/misc.c (sleep) [__MINGW32__]: Removed.
9717 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9718
e0b0dc83
GS
97192011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9720
9721 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9722 type and packname.
9723 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9724 Resurrected.
9725 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9726 (grub_netbsd_btinfo_bootwedge): New struct.
9727 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9728 New function.
9729 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9730
91a1a164
TH
97312011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9732
9733 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9734 loader.
9735
2ded951e
AB
97362011-09-28 Andreas Born <futur.andy@googlemail.com>
9737
9738 Fix incorrect identifiers in bash-completion.
9739
9740 * util/bash-completion.d/grub-completion.bash.in
9741 (_grub_mkpasswd-pbkdf2): Rename to ...
9742 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9743 (_grub_script-check): Rename to ...
9744 (_grub_script_check): ... this. All users updated.
9745
69915030
VS
97462011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9749 Return 0 if disk isn't biosdisk.
9750
20fd15f9
GS
97512011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9752
9753 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9754 on NetBSD.
9755 * Makefile.util.def (grub-fstest): Likewise.
9756
1a7d7db9
GS
97572011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9758
9759 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9760 Get sector size from disk label.
9761
2221ab6c
CW
97622011-09-05 Colin Watson <cjwatson@ubuntu.com>
9763
9764 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9765 */README* as well as README*.
9766 Reported by: Axel Beckert.
9767
ca51c4a0
VS
97682011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9771 case of less than 256 MiB of RAM.
9772
ab80f326
VS
97732011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/commands/wildcard.c (make_regex): Handle @.
9776
4155e697
VS
97772011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9780
ab178c08
SJ
97812011-08-21 Szymon Janc <szymon@janc.net.pl>
9782
9783 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9784 AC_LANG_CONFTEST macros.
9785
7dc3c686
SJ
97862011-08-20 Szymon Janc <szymon@janc.net.pl>
9787
9788 Add grub-fstest option to uncompress data for commands.
9789
9790 * util/grub-fstest.c (uncompress): New var.
9791 (options): New option -u.
9792
fe8d4a7b
SJ
97932011-08-20 Szymon Janc <szymon@janc.net.pl>
9794
9795 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9796 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9797
a5219af1
SJ
97982011-08-20 Szymon Janc <szymon@janc.net.pl>
9799
9800 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9801 file type was not recognized correctly (not gzip or corrupted).
9802
f87abff5
VS
98032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9806 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9807
d94497ea
VS
98082011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9811 loongson.
9812 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9813 video_radeon_fuloong2e.
9814 * grub-core/video/radeon_fuloong2e.c: New file.
9815 * include/grub/video.h (grub_video_id_t): Add new ID
9816 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9817
0d1fd011
VS
98182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9821 define.
9822 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9823 that PRID matches the detected subplatform and reset the subplatform
9824 if it doesn't.
9825
84beb0ee
VS
98262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9829
1227c133
VS
98302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 Fix PCI iterating on functions >= 4.
9833
9834 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9835 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9836 Removed.
9837 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9838 (grub_pci_read): Fix bitmask.
9839 (grub_pci_read_word): Likewise.
9840 (grub_pci_read_byte): Likewise.
9841 (grub_pci_write): Likewise.
9842 (grub_pci_write_word): Likewise.
9843 (grub_pci_write_byte): Likewise.
9844
9594c689
VS
98452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9848 can still be specified in TARGET_CFLAGS)
9849
14a2562c
VS
98502011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9853
9854 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9855 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9856 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9857 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9858 (FULOONG): Rename to ...
9859 (FULOONG2F): ... this. All users updated.
9860 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9861 (machtype_fuloong2f_str): ... this.
9862 (machtype_fuloong2e_str): New string.
9863 Check for machtype_fuloong2e_str.
9864 * grub-core/loader/mips/linux.c (loongson_machtypes)
9865 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9866 * grub-core/term/serial.c (loongson_defserial)
9867 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9868 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9869 loongson_defserial.
9870 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9871 Rename to ...
9872 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9873 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9874 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9875 to IMAGE_FULOONG2F_FLASH. All users updated.
9876 (image_targets): Rename images.
9877 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9878
b526cbb6
SJ
98792011-08-19 Szymon Janc <szymon@janc.net.pl>
9880
9881 Make enable of disk cache statistics code configurable.
9882
9883 * configure.ac: --enable-cache-stats added.
9884 * config.h.in (DISK_CACHE_STATS): New define.
9885 * grub-core/Makefile.core.def (cacheinfo): New command.
9886 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9887 * grub-core/commands/cacheinfo.c: New file.
9888 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9889 moved to cacheinfo.c.
9890 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9891 debug code.
9892 * include/grub/disk.h: Likewise.
9893
fb739ccd
SJ
98942011-08-19 Szymon Janc <szymon@janc.net.pl>
9895
9896 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9897 * grub-core/Makefile.am: Likewise.
9898
2bba8cfd
VS
98992011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9902 non-zero pull.
9903
43526629
VS
99042011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9907 All users updated.
9908 (grub_jfs_lookup_symlink): Use correct starting inode.
9909
5c144cc8
VS
99102011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * util/grub-setup.c (main): Add missing gcry initialisation.
9913
b1257f65
VS
99142011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 Don't accept text modes on EFI when booting Linux.
9917
9918 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9919 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9920
828bc390
ML
99212011-08-15 Mario Limonciello <mario_limonciello@dell.com>
99222011-08-15 Colin Watson <cjwatson@ubuntu.com>
9923
9924 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9925 use of "/path/.." as in grub-install for EFI as well as handling
9926 symlinks correctly.
9927 Fixes Debian bug #637768.
9928
5f60ccac
CW
99292011-08-15 Colin Watson <cjwatson@ubuntu.com>
9930
9931 * util/grub-probe.c: Remove duplicate #include.
9932
6dc212f9
RM
99332011-08-10 Robert Millan <rmh@gnu.org>
9934
9935 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9936
9937 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9938 function.
9939 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9940 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9941
66816d85
RM
99422011-08-03 Robert Millan <rmh@gnu.org>
9943
9944 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9945 la_array as packed.
9946 Reported by: Zachary Bedell
9947
20168fca
CW
99482011-07-26 Colin Watson <cjwatson@ubuntu.com>
9949
9950 * configure.ac: The Loongson port requires grub-mkfont due to its
9951 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9952 be built.
9953
303b6246
CW
99542011-07-26 Colin Watson <cjwatson@ubuntu.com>
9955
9956 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9957 processing arguments (otherwise help2man fails when GRUB has not yet
9958 been installed).
9959
6795300e
VS
99602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9961
41aa28ea
VS
9962 New script grub-mkstandalone.
9963
9964 * Makefile.util.def (grub-mkstandalone): New script.
9965 * docs/man/grub-mkstandalone.h2m: New file.
9966 * util/grub-mkstandalone.in: Likewise.
9967
99682011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 Support ATA disks with 4K sectors.
6795300e
VS
9971
9972 * include/grub/ata.h (grub_ata): New member log_sector_size.
9973 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9974 (grub_ata_identify): Read sector size.
9975 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9976
92227597
VS
99772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/grub-install.in: Don't use uhci outside of x86.
9980
c77069f5
VS
99812011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * util/grub-mkrescue.in: Add missing quotes.
9984
99852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9986
9987 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9988 dereference.
9989
583168a2
VS
99902011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9993
6be1c01f
VS
99942011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 * include/grub/video.h: add missing EXPORT_FUND on
9997 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9998
a1167439
VS
99992011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * include/grub/mips/kernel.h: Fix define conflict.
10002
bf66054f
VS
100032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
10006 all four ways.
10007
8fc4fa45
CW
100082011-07-21 Colin Watson <cjwatson@ubuntu.com>
10009
10010 Preferred resolution detection for VBE.
10011
10012 * grub-core/video/video.c (grub_video_edid_checksum): New function.
10013 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
10014 the Flat Panel extension, in line with the X.org VESA driver.
10015 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
10016 New function.
10017 (grub_vbe_bios_get_ddc_capabilities): Likewise.
10018 (grub_vbe_bios_read_edid): Likewise.
10019 (grub_vbe_get_preferred_mode): Likewise.
10020 (grub_video_vbe_setup): When the mode is "auto", try to get the
10021 preferred mode from VBE, and use the largest mode that is no larger
10022 than the preferred mode (some BIOSes expose a preferred mode that is
10023 not in their mode list!). If this fails, fall back to 640x480 as a
10024 safe conservative choice.
10025 (grub_video_vbe_get_edid): New function.
10026 (grub_video_vbe_adapter): Add get_edid.
10027 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
10028 (struct grub_video_adapter): Add get_edid.
10029 (grub_video_edid_checksum): Add prototype.
10030 (grub_video_edid_preferred_mode): Likewise.
10031 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
10032 structure.
10033
10034 * grub-core/commands/videoinfo.c (print_edid): New function.
10035 (grub_cmd_videoinfo): Print EDID if available.
10036
10037 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
10038 is more appropriate on a wider range of platforms than 640x480.
10039 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
10040 documentation.
10041
ca5572a9
VS
100422011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
10045
e4bcf625
VS
100462011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * po/POTFILES.in: Regenerate.
10049
c4edd548
VS
100502011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
10053 incorrect memory usage.
10054
16a2bab0
VS
100552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * util/grub-install.in: Source grub-mkconfig_lib.
10058
2e418de6
VS
100592011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 Remove getroot.c from core on emu platform.
10062
10063 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
10064 kern/emu/raid.c.
10065 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
10066 useless.
10067 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
10068 * util/getroot.c (get_win32_path): ... here.
10069 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10070 * util/getroot.c (fini_libzfs): ... here.
10071 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10072 * util/getroot.c (grub_get_libzfs_handle): ... here.
10073 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10074 Moved from here...
10075 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10076 * grub-core/kern/emu/misc.c
10077 (grub_make_system_path_relative_to_its_root): Moved from here...
10078 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10079 * grub-core/kern/emu/getroot.c: Moved from here ...
10080 * util/getroot.c: ... here. All users updated.
10081 * grub-core/kern/emu/raid.c: Moved from here ...
10082 * util/raid.c: ... here. All users updated.
10083
def9832a
VS
100842011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * po/POTFILES.in: Regenerate.
10087
cd8fe79a
VS
100882011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 Fix compilation on GNU/Linux.
10091
10092 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10093 Disable geli.
10094 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10095 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10096 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10097
a251b719
VS
100982011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
100992011-07-07 Michael Gorven <michael@gorven.za.net>
101002011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10101
10102 LUKS and GELI support.
10103
10104 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10105 grub-core/disk/luks.c, grub-core/disk/geli.c,
10106 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10107 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10108 grub-core/lib/arg.c.
10109 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10110 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10111 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10112 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10113 (grub-bin2h): Add libgcry.a.
10114 (grub-mkimage): Likewise.
10115 (grub-mkrelpath): Likewise.
10116 (grub-script-check): Likewise.
10117 (grub-editenv): Likewise.
10118 (grub-mkpasswd-pbkdf2): Likewise.
10119 (grub-pe2elf): Likewise.
10120 (grub-fstest): Likewise.
10121 (grub-mkfont): Likewise.
10122 (grub-mkdevicemap): Likewise.
10123 (grub-probe): Likewise.
10124 (grub-ofpath): Likewise.
10125 (grub-mklayout): Likewise.
10126 (example_unit_test): Likewise.
10127 (grub-menulst2cfg): Likewise.
10128 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10129 * grub-core/Makefile.core.def (cryptodisk): New module.
10130 (luks): Likewise.
10131 (geli): Likewise.
10132 * grub-core/disk/AFSplitter.c: New file.
10133 * grub-core/disk/cryptodisk.c: Likewise.
10134 * grub-core/disk/geli.c: Likewise.
10135 * grub-core/disk/luks.c: Likewise.
10136 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10137 grub_util_is_lvm.
10138 (grub_util_get_dm_abstraction): New function.
10139 (grub_util_follow_gpart_up): Likewise.
10140 (grub_util_get_geom_abstraction): Likewise.
10141 (grub_util_get_dev_abstraction): Use new functions.
10142 (grub_util_pull_device): Pull GELI and LUKS.
10143 (grub_util_get_grub_dev): Handle LUKS and GELI.
10144 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10145 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10146 (follow_geom_up): Removed.
10147 (grub_util_fd_seek): New function.
10148 (open_device): Use grub_util_fd_seek.
10149 (nread): Rename to ..
10150 (grub_util_fd_read): ... this. All users updated.
10151 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10152 (grub_crypto_cbc_decrypt): Likewise.
10153 (grub_crypto_hmac_write): Likewise.
10154 (grub_crypto_hmac_buffer): Likewise.
10155 (grub_password_get): Extend to util.
10156 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10157 New member modname.
10158 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10159 * include/grub/cryptodisk.h: New file.
10160 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10161 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10162 LUKS and GELI.
10163 (grub_util_follow_gpart_up): New proto.
10164 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10165 (grub_util_fd_read): Likewise.
10166 (grub_cryptodisk_cheat_mount): Likewise.
10167 (grub_util_cryptodisk_print_uuid): Likewise.
10168 (grub_util_get_fd_sectors): Likewise.
10169 * util/grub-fstest.c (mount_crypt): New var.
10170 (fstest): Mount crypto if requested.
10171 (options): New option -C.
10172 (argp_parser): Parse -C.
10173 (main): Init and fini gcry.
10174 * util/grub-install.in: Support cryptodisk install.
10175 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10176 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10177 cryptodisk.
10178 (prepare_grub_to_access_device): Likewise.
10179 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10180 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10181 (probe_cryptodisk_uuid): New function.
10182 (probe_abstraction): Likewise.
10183 (probe): Use new functions.
10184 * util/import_gcry.py: Create Makefile.utilgcry.def.
10185 Add modname member.
10186
9bfdcbbc
VS
101872011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 Lazy device scanning.
10190
10191 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10192 (grub-setup): Remove util/raid.c.
10193 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10194 * grub-core/disk/lvm.c (scan_depth): New variable.
10195 (grub_lvm_iterate): Rescan if necessary.
10196 (find_lv): New function based on grub_lvm_open.
10197 (grub_lvm_open): Use find_lv. Rescan on error.
10198 (is_node_readable): New function.
10199 (is_lv_readable): Likewise.
10200 (grub_lvm_scan_device): Skip already found disks.
10201 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10202 Stop if searched device is found and readable.
10203 * grub-core/disk/raid.c (inscnt): New variable.
10204 (scan_depth): Likewise.
10205 (scan_devices): New function based on grub_raid_register. Abort if
10206 looked for device is found.
10207 (grub_raid_iterate): Rescan if needed.
10208 (find_array): NEw function based on -grub_raid_open.
10209 (grub_raid_open): Use find_array and rescan.
10210 (insert_array): Set became_readable_at.
10211 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10212 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10213 New function.
10214 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10215 (grub_util_pull_device): New function.
10216 (grub_util_get_grub_dev): Call grub_util_pull_device.
10217 * util/raid.c: Moved to ..
10218 * grub-core/kern/emu/raid.c: ... here.
10219 (grub_util_raid_getmembers): New parameter "bootable".
10220 All users updated. Support 1.x.
10221 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10222 All users updated.
10223 * include/grub/disk.h (grub_disk_pull_t): New enum.
10224 (grub_disk_dev): Change iterate prototype.
10225 All users updated.
10226 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10227 New proto.
10228 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10229 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10230 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10231 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10232 All users updated.
10233 * include/grub/util/raid.h: Removed.
10234
1c358e59
VS
102352011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * po/POTFILES.in: Regenerate.
10238
abee94ed
VS
102392011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 Unify sparc init with other ieee1275.
10242
10243 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10244 instead of kern/sparc64/ieee1275/init.c.
10245 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10246 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10247 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10248 grub/machine/kernel.h.
10249 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10250 (grub_claim_heap) [__sparc__]: Use sparc version.
10251 (grub_machine_init): Moved args parsing to
10252 (grub_parse_cmdline): ...this.
10253 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10254 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10255 New definition.
10256 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10257
10258 Move BOOTP to separate file.
10259
10260 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10261 * grub-core/net/net.c: Move all BOOTP functions to
10262 * grub-core/net/bootp.c: ... here.
10263
10264 Use frame interface on PXE.
10265
10266 * grub-core/Makefile.core.def (pxecmd): Removed.
10267 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10268 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10269 * grub-core/i386/pc/pxe.c: Moved from here ...
10270 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10271 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10272 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10273
10274 EFI network support.
10275
10276 * grub-core/Makefile.core.def (efinet): New module.
10277 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10278 here...
10279 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10280 All users updated.
10281 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10282 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10283 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10284 * grub-core/net/drivers/efi/efinet.c: New file.
10285 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10286 (grub_efi_net_config): New extern var.
10287
10288 Various cleanups and bugfixes.
10289
10290 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10291 error.
10292 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10293 disk declared as partition.
10294 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10295 leak on failure.
10296 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10297 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10298 (grub_debug_zalloc): Likewise.
10299 (grub_debug_realloc): Likewise.
10300 (grub_debug_memalign): Likewise.
10301 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10302 Check that target is IPv4.
10303 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10304 local-mac-address as fallback.
10305 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10306 memory leak.
10307 * grub-core/net/ip.c (ipchksum): Rename to ...
10308 (grub_net_ip_chksum): ... this. All users updated.
10309 (grub_net_recv_ip_packets): Special handling for DHCP.
10310 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10311
10312 Unify prefix handling
10313
10314 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10315 (grub_machine_get_bootlocation): ... this.
10316 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10317 (grub_machine_get_bootlocation): ... this.
10318 (grub_prefix): New variable.
10319 (prefix): Removed.
10320 (root_dev): New variable.
10321 (dir): Likewise.
10322 (main): Use new variables.
10323 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10324 Revamped into ...
10325 (grub_machine_get_bootlocation): ... this.
10326 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10327 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10328 (grub_machine_get_bootlocation): ... this.
10329 (grub_machine_set_prefix): Removed.
10330 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10331 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10332 Revamped into ...
10333 (grub_machine_get_bootlocation): ... this.
10334 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10335 (grub_set_prefix_and_root): ... this. All users updated.
10336 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10337 Revamped into ...
10338 (grub_machine_get_bootlocation): ... this.
10339 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10340 (grub_machine_get_bootlocation): New proto.
10341 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10342
10343 Less intrusive and more reliable seek on network implementation.
10344
10345 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10346 (grub_file_seek): Don't call grub_file_net_seek.
10347 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10348 (grub_net_fs_read_real): .. this.
10349 (grub_net_seek_real): Use net->offset.
10350 (grub_net_fs_read): Seek if necessary.
10351
10352 Unify IEEE1275 netwotk config with the other platforms.
10353
10354 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10355 New variable.
10356 (grub_machine_get_bootlocation): Support network.
10357 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10358 Support type and device parsing.
10359 (grub_ieee1275_get_device_type): New function.
10360 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10361 into ...
10362 (grub_ieee1275_net_config_real): ... this.
10363 (grub_ofnet_probecards): Removed.
10364 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10365 * include/grub/ieee1275/ofnet.h: Removed.
10366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10367 extern var.
10368 (grub_ieee1275_get_device_type): New function.
10369
10370 Unify network device closing across platforms and make more robust.
10371
10372 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10373 grub_grubnet_fini.
10374 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10375 already.
10376 * grub-core/net/net.c (grub_net_network_level_interface_register):
10377 Update num_ifaces.
10378 (grub_net_card_unregister): Close all interfaces.
10379 (receive_packets): Don't poll if no iterfaces are registered.
10380 Open if necessary.
10381 (grub_net_fini_hw): New function.
10382 (grub_net_restore_hw): Likewise.
10383 (fini_hnd): New variable.
10384 (GRUB_MOD_INIT): Register preboot hook.
10385 (GRUB_MOD_FINI): Run and unregister preboot hook.
10386
10387 Poll network cards when idle.
10388
10389 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10390 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10391 * grub-core/net/net.c (receive_packets): Save last poll time.
10392 (grub_net_poll_cards_idle_real): New function.
10393 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10394 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10395 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10396
10397 Rename ofnet interfaces.
10398
10399 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10400 (grub_ofnet_findcards): Use ofnet_%s names.
10401
10402 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10403
10404 Cleanup socket opening.
10405
10406 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10407 (grub_net_fs_close): Likewise.
10408 (grub_net_fs_read_real): Use eof member.
10409 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10410 (+grub_net_udp_close): New inline function.
10411
10412 * include/grub/net/tftp.h: Moved to the top of ...
10413 * grub-core/net/tftp.c: ... here.
10414 * include/grub/net/ip.h: Moved mostly to the top of ...
10415 * grub-core/net/ip.c: ... here.
10416 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10417 * grub-core/net/ethernet.c: ... here.
10418
10419 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10420
10421 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10422 FS name.
10423
10424 * include/grub/net/ip.h (ipv4_ini): Removed.
10425 (ipv4_fini): Likewise.
10426
10427 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10428 (grub_net_send_ip_packets): Likewise.
10429
cf1337aa
VS
104302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10433 grub_read_cmos prototype.
10434
93c06ff9
VS
104352011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 VGA text support in qemu-mips
10438
10439 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10440 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10441 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10442 text.
10443 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10444 * grub-core/kern/vga_init.c: ... this.
10445 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10446 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10447 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10448 Adjust.
10449 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10450 GRUB_MACHINE_PCI_IO_BASE.
10451
748ccabe
VS
104522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 MIPS qemu flash support.
10455
10456 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10457 magic.
10458 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10459 (grub_machine_init): Probe memory if its size isn't known.
10460 * util/grub-mkimage.c (image_targets): Add flash targets.
10461 (generate_image): Handle flash targets.
10462
d7345994
VS
104632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 MIPS qemu at_keyboard support.
10466
10467 * gentpl.py (videoinkernel): Add qemu-mips.
10468 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10469 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10470 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10471 modules.
10472 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10473 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10474 * grub-core/term/serial.c (grub_serial_register)
10475 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10476
a07a81b3
VS
104772011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 CMOS support on sparc.
10480
10481 * gentpl.py (cmos): Add powerpc and sparc.
10482 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10483 powerpc and sparc.
10484 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10485 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10486 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10487 grub_set_datetime_cmos.
10488 * grub-core/lib/ieee1275/cmos.c: New file.
10489 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10490 (find_rtc): Set no_ieee1275_rtc on error.
10491 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10492 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10493 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10494 fail. Move value to argument. All users updated
10495 (grub_cmos_write): Likewise.
10496 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10497 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10498 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10499 grub_get_datetime_cmos and grub_set_datetime_cmos.
10500
77546584
GS
105012011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10502
10503 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10504 sourcing grub-mkconfig_lib.
10505 * util/update-grub_lib.in: Likewise.
10506 * util/grub.d/00_header.in: Likewise.
10507 * util/grub.d/10_hurd.in: Likewise.
10508 * util/grub.d/10_kfreebsd.in: Likewise.
10509 * util/grub.d/10_linux.in: Likewise.
10510 * util/grub.d/10_netbsd.in: Likewise.
10511 * util/grub.d/10_windows.in: Likewise.
10512 * util/grub.d/20_linux_xen.in: Likewise.
10513 * util/grub.d/30_os-prober.in: Likewise.
10514
54894791
CW
105152011-06-28 Colin Watson <cjwatson@ubuntu.com>
10516
10517 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10518 default_bg_color rather than black.
10519 (grub_gfxterm_fullscreen): Likewise.
10520 (grub_gfxterm_background_color_cmd): Save new background color in
10521 default_bg_color.
10522
8d5d8444
VS
105232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10524
10525 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10526
5afeb5bd
VS
105272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10530 mismerge.
10531
ba7df45e
VS
105322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 Chainloading on coreboot support.
10535
10536 * grub-core/Makefile.core.def (chain): Add coreboot.
10537 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10538
d0b526b2
VS
105392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10542 if it happens.
10543
5ff1d945
VS
105442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 Implement time command.
10547
10548 * grub-core/Makefile.core.def (time): New module.
10549 * grub-core/commands/time.c: New file.
10550 * grub-core/script/parser.y: Remove "time" keyword.
10551 * grub-core/script/yylex.l: Likewise.
10552
5ebaad7e
VS
105532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10556
bdea3798
VS
105572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10560 when handling leftovers.
10561
b28c5655
VS
105622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10565 so that help2man doesn't fail.
10566
b6f945dc
VS
105672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10570 type in pointers on sparc64.
10571 (get_card_packet): Likewise.
10572
f9b75e8a
CW
105732011-06-27 Colin Watson <cjwatson@ubuntu.com>
10574
10575 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10576 with `*'.
10577 (grub_cmd_videoinfo): Fetch current video mode.
10578
1e3d9b86
VS
105792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10582 because of underlying system restrictions.
10583
efff4b1c
VS
105842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10587 necessary.
10588
9fc9ce37
VS
105892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Coreboot video support.
10592
10593 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10594 (vbe): Likewise.
10595 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10596 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10597 here ...
10598 * grub-core/kern/i386/int.S: ... here.
10599 * grub-core/video/i386/pc/vbe.c: Updated includes.
10600 * grub-core/video/i386/pc/vga.c: Likewise.
10601 * include/grub/i386/coreboot/memory.h
10602 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10603 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10604 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10605 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10606 Disable interrupts.
10607 * include/grub/i386/pc/vga.h: Removed. All users updated.
10608
41bec7fe
VS
106092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10612 definitions for dprintf.
10613 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10614
ca80309d
VS
106152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10616
10617 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10618 prototype.
10619 (get_card_packet): Likewise.
10620
9e322ce8
YB
106212011-06-26 Yves Blusseau <blusseau@zetam.org>
10622
10623 Display the path of the file when file is not found
10624
10625 * grub-core/fs/fat.c: Display the filename when file is not found.
10626 * grub-core/fs/fshelp.c: Likewise.
10627 * grub-core/fs/hfs.c: Likewise.
10628 * grub-core/fs/jfs.c: Likewise.
10629 * grub-core/fs/minix.c: Likewise.
10630 * grub-core/fs/ufs.c: Likewise.
10631 * grub-core/fs/btrfs.c: Likewise.
10632 * grub-core/commands/i386/pc/play.c: Likewise.
10633
cbf597af
SJ
106342011-06-26 Szymon Janc <szymon@janc.net.pl>
10635
10636 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10637 pointer checks before calling grub_free().
10638 * grub-core/commands/wildcard.c (match_devices): Likewise.
10639 * grub-core/commands/wildcard.c (match_files): Likewise.
10640 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10641 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10642 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10643 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10644 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10645 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10646 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10647 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10648 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10649
6295b32f
P
106502011-06-25 Patrick <p55@mailinator.com>
10651
10652 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10653
77c0840b
VS
106542011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10657 (grub_pxe_send): Likewise.
10658 (GRUB_MOD_INIT): Fix types.
10659
40ea05de
SJ
106602011-06-24 Szymon Janc <szymon@janc.net.pl>
10661
10662 * grub-core/io/xzio.c: Fix code style issues
10663
90162423
MRA
106642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
106652011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10666
10667 Network infrastructure.
10668 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10669
10670 * include/grub/net/arp.h: New file.
90162423
MRA
10671 * include/grub/net/device.h: Likewise.
10672 * include/grub/net/ethernet.h: Likewise.
10673 * include/grub/net/ip.h: Likewise.
10674 * include/grub/net/netbuff.h: Likewise.
10675 * include/grub/net/tftp.h: Likewise.
10676 * include/grub/net/udp.h: Likewise.
10677 * include/grub/ieee1275/ofnet.h: Likewise.
10678 * include/grub/emu/export.h: Likewise.
10679 * include/grub/net.h: Likewise.
10680 * grub-core/net/arp.c: Likewise.
10681 * grub-core/net/ethernet.c: Likewise.
10682 * grub-core/net/ip.c: Likewise.
10683 * grub-core/net/udp.c: Likewise.
10684 * grub-core/net/tftp.c: Likewise.
10685 * grub-core/net/netbuff.c: Likewise.
10686 * grub-core/net/net.c: Likewise.
10687 * grub-core/net/drivers/emu/emunet.c: Likewise.
10688 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10689 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10690 export.h.
10691 * grub-core/Makefile.core.def (net): New module.
10692 (tftp): Likewise.
10693 (ofnet): Likewise.
10694 (emunet): Likewise.
10695 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10696 network protocols.
10697 * grub-core/kern/device.c (grub_net_open) : New variable.
10698 (grub_device_open): Handle network device.
10699 (grub_device_close): Likewise.
10700 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10701 (grub_grubnet_fini): Likewise.
10702 (grub_file_seek): Seek in network device.
10703 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10704 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10705 network root.
10706 (grub_machine_fini): Call grub_grubnet_fini.
10707 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10708 network.
10709 (grub_ieee1275_get_aliasdevname): New function.
10710 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10711 Add unofficial Solaris network info.
10712 (grub_multiboot_make_mbi): Likewise.
10713 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10714 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10715 * include/grub/device.h (grub_fs): Removed.
10716 * include/grub/err.h (grub_err_t): Add network-related values.
10717 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10718 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10719 (grub_ieee1275_get_aliasdevname): New proto.
10720 * include/grub/net.h: Rewritten.
423a1849 10721
031f22a0
VS
107222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10725 names.
10726
4388ca72
VS
107272011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10730 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10731 it truncates the output.
10732 Reported by: Ximin Luo.
10733
98e2f506
VS
107342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10737
2a5e94d8
VS
107382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10741 partmap before abstraction.
10742
535c1910
AK
107432011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10744
10745 * util/grub-mkconfig_lib.in: Add missing quotes.
10746
bc09e1a2
VS
107472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10750 old method if mountinfo would return /dev/root and /dev/root doesn't
10751 exist.
10752
290766fb
VS
107532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 ZFS zlib support
10756
10757 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10758 (decomp_table): Add zlib entries.
10759 (zio_read): USe 8 bits for compression function rather than 3.
10760 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10761
107622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * grub-core/disk/ahci.c: Add missing license statements.
10765 * grub-core/fs/romfs.c: Likewise.
10766 * grub-core/lib/ia64/setjmp.S: Likewise.
10767 * grub-core/loader/i386/pc/freedos.c: Likewise.
10768 * grub-core/loader/ia64/efi/linux.c: Likewise.
10769 * grub-core/video/colors.c: Likewise.
10770 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10771
5ab3f48a
VS
107722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 AHCI support.
10775
10776 * grub-core/Makefile.core.def (ata_pthru): Removed.
10777 (ahci): New module.
10778 (pata): Likewise.
10779 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10780 on unload.
10781 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10782 readwrite.
10783 (grub_hdparm_do_check_powermode_cmd): Likewise.
10784 (grub_hdparm_do_smart_cmd): Likewise.
10785 (grub_hdparm_set_val_cmd): Likewise.
10786 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10787 * grub-core/disk/ahci.c: New file.
10788 * grub-core/disk/ata.c: Factor out the low-level part into ...
10789 * grub-core/disk/pata.c: ... here.
10790 * grub-core/disk/ata_pthru.c: Contents moved to ...
10791 * grub-core/disk/pata.c: ... here.
10792 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10793 (grub_scsi_iterate): Use grub_scsi_names.
10794 (grub_scsi_open): Likewise.
10795 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10796 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10797 (grub_ata_regs_t): New struct.
10798 (grub_disk_ata_pass_through_parms): Likewise.
10799 (grub_ata_device): Renamed to ...
10800 (grub_ata): ... this.
10801 (grub_ata_dev): New struct.
10802 Removed all low-level inline functions.
10803 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10804 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10805 iterate hooks and open. All users updated.
10806 * util/grub-install.in: Handle AHCI disk module.
10807
c31dc5f5
SJ
108082011-06-23 Szymon Janc <szymon@janc.net.pl>
10809
10810 Add support for DRI and RSTn markers in JPEG files.
10811
10812 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10813 (JPEG_MARKER_RST0): Likewise.
10814 (JPEG_MARKER_RST1): Likewise.
10815 (JPEG_MARKER_RST2): Likewise.
10816 (JPEG_MARKER_RST3): Likewise.
10817 (JPEG_MARKER_RST4): Likewise.
10818 (JPEG_MARKER_RST5): Likewise.
10819 (JPEG_MARKER_RST6): Likewise.
10820 (JPEG_MARKER_RST7): Likewise.
10821 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10822 (grub_jpeg_decode_dri): New function.
10823 (grub_jpeg_decode_sos): Move image data related part into
10824 grub_jpeg_decode_data function.
10825 (grub_jpeg_decode_data): New function.
10826 (grub_jpeg_reset): New function.
10827 (grub_jpeg_decode_jpeg): Handle new markers.
10828
fe12fd5b
VS
108292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * util/ieee1275/ofpath.c (check_sas): Close fd.
10832 (main): Free of_path.
10833 Reported by: David Volgyes <dvolgyes>.
10834
03147f46
VS
108352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10838 Reported by: David Volgyes <dvolgyes>.
10839
cad3237f
VS
108402011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10843 file after stat.
10844 Reported by: David Volgyes <dvolgyes>.
10845
13548d26
VS
108462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10849
10850 Reported by: David Volgyes <dvolgyes>.
10851
e061a1b5
VS
108522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10855 Prevent memory leak.
10856
1abe47dc
VS
108572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10860 (main): Close file.
e061a1b5 10861 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10862
fbc62666
VS
108632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10866 to continue if allocation is failed.
10867
10868 Reported by: David Volgyes <dvolgyes>.
10869
e98c83e9
DV
108702011-06-23 David Volgyes <dvolgyes>
10871
10872 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10873 dereference.
10874
a199a8cd
VS
108752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 Fix spurious warning.
10878
10879 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10880 (acorn_partition_map_find): Use .bin member.
10881
e2d1dba0
VS
108822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10885 /dev/root as a valid device.
10886
8a5d6919
JM
108872011-06-23 Jim Meyering <meyering@redhat.com>
10888
e2d1dba0
VS
10889 Avoid NULL deref in grub_device_open.
10890
8a5d6919
JM
10891 * grub-core/kern/device.c (grub_device_open): Don't dereference
10892 a NULL pointer upon failed grub_env_get.
10893
f7db6f4a
VS
108942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 Support non-512B sectors and agglomerate reads.
10897
10898 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10899 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10900 (disk_io_guid): Removed.
10901 (make_devices): Locate solely by BlockIO.
10902 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10903 (grub_efidisk_read): Use read_blocks.
10904 (grub_efidisk_write): Use write_blocks.
10905 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10906 log_sector_size.
10907 (get_safe_sectors): Handle non-512B sectors.
10908 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10909 sectors.
10910 (grub_biosdisk_write): Handle non-512B sectors.
10911 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10912 (grub_scsi_read): Remove special non-512B block handling (now handled
10913 one level up).
10914 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10915 and do sanity checks.
10916 (grub_disk_adjust_range): Handle non-512B sectors.
10917 (transform_sector): New function.
10918 (grub_disk_read_small): Likewise.
10919 (grub_disk_read): Rewritten.
10920 (grub_disk_write): Handle non-512B sectors.
10921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10922 log_sector_size.
10923 (open_device): Use log_sector_size.
10924 (grub_util_biosdisk_read): Likewise.
10925 (grub_util_biosdisk_write): Likewise.
10926 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10927 non-512B sectors.
10928 (pc_partition_map_embed): Likewise.
10929 * include/grub/disk.h (grub_disk): New field log_sector_size.
10930 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10931 (GRUB_DISK_CACHE_BITS): Increased to 6.
10932 * util/grub-fstest.c (fstest): New command testload.
10933 (argp_parser): Likewise.
10934
881ac815
RM
109352011-06-16 Robert Millan <rmh@gnu.org>
10936
10937 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10938 `ata' driver on kernel of FreeBSD 9.
10939
10940 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10941 (get_ataraid_disk_name): New functions.
10942 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10943 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10944 get_ataraid_disk_name() and get_ada_disk_name().
10945
1e9aef7d
CW
109462011-06-13 Colin Watson <cjwatson@ubuntu.com>
10947
10948 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10949 input format.
10950
351c7c8a
CW
109512011-05-29 Colin Watson <cjwatson@ubuntu.com>
10952
10953 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10954 `ftp.gnu.org' for `alpha.gnu.org'.
10955
6b4e6430
CW
109562011-05-27 Colin Watson <cjwatson@ubuntu.com>
10957
10958 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10959 partitions under /dev/disk/by-id/.
10960
c64db050
CW
109612011-05-27 Colin Watson <cjwatson@ubuntu.com>
10962
10963 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10964 after ten consecutive open failures. Scanning all the way up to
10965 10000 is excessive and can cause serious performance problems in
10966 some configurations.
10967 Fixes Ubuntu bug #787461.
10968
245f4aba
VS
109692011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10972 opening new one.
10973
f767c929
VS
109742011-05-21 Colin Watson <cjwatson@ubuntu.com>
109752011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 Don't stat devices unless we have to.
10978
10979 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10980 dir == /dev/mapper.
10981 (grub_guess_root_device): Use already known os_dev if possible.
10982 * grub-core/kern/emu/hostdisk.c
10983 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10984 if device is known to be a dm one.
10985
f35fa3a6
CW
109862011-05-20 Colin Watson <cjwatson@ubuntu.com>
10987
10988 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10989 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10990 Reported by: Pawel Tecza.
10991
9a79fcf2
VS
109922011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10995 (lsefisystab): Likewise.
10996 (lssal): Likewise.
10997 (lsefimmap): Likewise.
10998 (hdparm): Enable on qemu-mips.
10999 (setjmp): Add ia64 nodist.
11000 (serial): Simplify tags.
11001
63e3eea9
CW
110022011-05-18 Colin Watson <cjwatson@ubuntu.com>
11003
11004 * Makefile.util.def (grub-ofpathname): Install manual page.
11005
09728256
CW
110062011-05-18 Colin Watson <cjwatson@ubuntu.com>
11007
11008 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
11009
8b63a142
CW
110102011-05-18 Colin Watson <cjwatson@ubuntu.com>
11011
11012 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
11013
e775d8ed
VS
110142011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
11017 into dprintf.
11018
bf947d36
VS
110192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 Use full 64-bit division.
11022
11023 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
11024 (grub_divmod64): ... this.
11025 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
11026 version.
11027
b84f26c5
CW
110282011-05-18 Colin Watson <cjwatson@ubuntu.com>
11029
11030 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
11031 `source'.
11032
5626056f
CW
110332011-05-18 Colin Watson <cjwatson@ubuntu.com>
11034
11035 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
11036 to avoid accidents when debugging with 'sh -x'.
11037 * grub-core/gensyminfo.sh.in: Likewise.
11038 * tests/example_scripted_test.in: Likewise.
11039 * tests/grub_cmd_regexp.in: Likewise.
11040 * tests/grub_script_blanklines.in: Likewise.
11041 * tests/grub_script_dollar.in: Likewise.
11042 * tests/grub_script_expansion.in: Likewise.
11043 * tests/grub_script_final_semicolon.in: Likewise.
11044 * tests/partmap_test.in: Likewise.
11045 * tests/util/grub-shell-tester.in: Likewise.
11046 * tests/util/grub-shell.in: Likewise.
11047
e2965f4a
CW
110482011-05-18 Colin Watson <cjwatson@ubuntu.com>
11049
11050 Move gfxmenu color handling to video, so that gfxterm can use it
11051 too.
11052
11053 * grub-core/gfxmenu/named_colors.c: Move to ...
11054 * grub-core/video/colors.c: ... here. Rename
11055 grub_gui_get_named_color to grub_video_get_named_color.
11056 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
11057 * grub-core/video/colors.c (my_isxdigit): ... here.
11058 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
11059 Move to ...
11060 * grub-core/video/colors.c (parse_hex_color_component): ... here.
11061 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
11062 to ...
11063 * grub-core/video/colors.c (grub_video_parse_color): ... here.
11064
11065 * include/grub/gui.h (grub_gui_color_t): Move to ...
11066 * include/grub/video.h (grub_video_rgba_color_t): ... here.
11067 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
11068 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11069 * include/grub/gui.h (grub_gui_map_color): Move to ...
11070 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11071 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11072 to ...
11073 * include/grub/video.h (grub_video_get_named_color): ... here.
11074 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11075 * include/grub/video.h (grub_video_parse_color): ... here.
11076
11077 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11078 video/colors.c.
11079 (gfxmenu): Remove gfxmenu/named_colors.c.
11080 (video) [videomodules]: Add video/colors.c.
11081
11082 Add a background_color command.
11083
11084 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11085 function.
11086 (GRUB_MOD_INIT): Register background_color command.
11087 (GRUB_MOD_FINI): Unregister background_color command.
11088 (redraw_screen_rect): Allow blend/replace of text layer to be
11089 controlled independently from whether there is a background bitmap.
11090 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11091 changing bitmap.
11092
1e4b4390
VS
110932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11094
26618ff0
VS
11095 Patch BPB in ntldr and chainloader --bpb.
11096
1e4b4390
VS
11097 * grub-core/fs/fat.c: Include grub/fat.h.
11098 (grub_fat_bpb): Moved to ...
11099 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11100 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11101 grub/ntfs.h.
11102 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11103 Moved from here...
11104 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11105 here.
11106 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11107 New function.
11108 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11109 (GRUB_MOD_INIT): Show --bpb.
11110 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11111 * grub-core/normal/main.c (features): New variable.
11112 (GRUB_MOD_INIT): Set feature_* variables.
11113 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11114 proto.
11115 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11116
cf02731e
VS
111172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11120 for cleanness.
11121
e3a1073f
VS
111222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 FreeDOS direct loading support.
11125
11126 * docs/grub.texi (Supported OS): Add FreeDOS.
11127 * grub-core/Makefile.core.def (freedos): New module.
11128 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11129 variable.
11130 (grub_relocator16_boot): Handle %ebx.
11131 * grub-core/lib/i386/relocator16.S: Likewise.
11132 * grub-core/loader/i386/pc/freedos.c: New file.
11133
05caa461
VS
111342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11135
11136 Long Linux command line support.
11137
11138 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11139 (maximal_cmdline_size): New variable.
11140 (allocate_pages): Use maximal_cmdline_size.
11141 (grub_cmd_linux): Set and use maximal_cmdline_size.
11142 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11143 (allocate_pages): Use maximal_cmdline_size.
11144 (grub_cmd_linux): Set and use maximal_cmdline_size.
11145 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11146 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11147 and cmdline_size.
11148
a2491e23
VS
111492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
111502011-05-18 Colin Watson <cjwatson@ubuntu.com>
11151
11152 Improve devmapper support
11153
11154 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11155 (grub_util_is_lvm): New function.
11156 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11157 than lvm if not dmraid.
11158 Handle mapped md nodes.
11159 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11160 (grub_util_device_is_mapped): ... this. Make always available. All users
11161 updated.
11162 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11163 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11164 dmraid nodes.
11165 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11166
6ad6223e
VS
111672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11170
11171 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11172 * grub-core/modinfo.sh.in: New file.
11173 * grub-core/Makefile.core.def (modinfo.sh): New script.
11174 * util/grub-mknetdir.in: Use modinfo.sh.
11175 * util/grub-mkrescue.in: Likewise.
11176
543a8f6e
VS
111772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11180 Fix potential usage of Elf32 instead of Elf64 when compiling on
11181 32-bit architecture. Add endianness macros while on it.
11182
4959e111
VS
111832011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 Use mipsel- rather than mips- in directories involving mipsel ports to
11186 allow both endiannesses coexist.
11187
11188 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11189 mips. All conditions adjusted.
11190 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11191 variable.
11192 * util/grub-install.in: Adjust conditions to take renaming into account.
11193 * util/grub-mkimage.c (image_targets): Likewise. New target
11194 mips-qemu_mips-elf for bigendian mips.
11195
35341bbc
VS
111962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 Avoid unnecessary copying on MIPS.
11199
11200 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11201 early if src == dest.
11202 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11203 compression is none.
11204
b772baed
VS
112052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 Reduce memory footprint on SGI by putting modules before the kernel
11208 as opposed to after.
11209
11210 * grub-core/Makefile.core.def (kernel): Increase linking address.
11211 (none_decompress): Likewise.
11212 (xz_decompress): Likewise.
11213 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11214 address.
11215 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11216 layout change.
11217 (grub_arch_modules_addr): New function.
11218 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11219 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11220 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11221 here.
11222 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11223 (grub_total_modules_size): ... this. Make global.
11224 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11225 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11226 New definition.
11227 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11228 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11229 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11230 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11231 * util/grub-mkimage.c (image_target_desc): New flag
11232 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11233 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11234 (generate_image): Handle images with modules before kernel.
11235
566a1917
VS
112362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 Prevent potential loss of memory map by overwrite on qemu-mips.
11239
11240 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11241 Save ram size in $s4.
11242 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11243 All users changed to grub_arch_memsize.
11244 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11245 Loongson.
11246 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11247 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11248 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11249 external variable.
11250
5d420cd9
CW
112512011-05-17 Colin Watson <cjwatson@ubuntu.com>
11252
11253 * .bzrignore: Remove grub-dumpbios.
11254
d064b830
CW
112552011-05-17 Colin Watson <cjwatson@ubuntu.com>
11256
11257 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11258 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11259 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11260 existing options which append).
11261 * docs/grub.texi (Simple configuration): Document new options.
11262 Reported by: Ian Jackson. Fixes Debian bug #617538.
11263
3ca2b466
CW
112642011-05-17 Colin Watson <cjwatson@ubuntu.com>
11265
11266 * util/grub-fstest.c (cmd_cat): New function.
11267 (fstest): Handle CMD_CAT.
11268 (options): Add cat.
11269 (argp_parser): Handle cat.
11270
24c9143a
CW
112712011-05-17 Colin Watson <cjwatson@ubuntu.com>
11272
11273 * Makefile.util.def (grub-bin2h): Don't install.
11274 * docs/man/grub-bin2h.h2m: Remove.
11275
90f7ac19
VS
112762011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11279 place.
11280
8d4a5178
VS
112812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 Reenable qemu-mips port.
11284
11285 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11286 Fix small arc bug while on it.
11287 * gentpl.py: Handle qemu_mips.
11288 * grub-core/Makefile.am: Likewise.
11289 * grub-core/Makefile.core.def: Likewise.
11290 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11291 inappropriate includes.
11292 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11293 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11294 * grub-core/kern/main.c (grub_modules_get_end)
11295 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11296 * grub-core/kern/mips/qemu-mips: Moved to ..
11297 * grub-core/kern/mips/qemu_mips: ... this.
11298 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11299 (grub_machine_init): Call terminfo_init and serial_init.
11300 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11301 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11302 New variable.
11303 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11304 parameter passing.
11305 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11306 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11307 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11308 * include/grub/mips/qemu_mips/cmos.h: New file.
11309 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11310 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11311 Removed.
11312 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11313 Use correct mips-style address.
11314 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11315 (GRUB_TICKS_PER_SECOND): Removed.
11316 (grub_get_rtc): Likewise.
11317 (grub_cpu_idle): Likewise.
11318 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11319 New definition.
11320 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11321 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11322 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11323 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11324 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11325 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11326 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11327 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11328
400b9371
VS
113292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 SGI ARCS port.
11332
11333 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11334 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11335 platforms.
11336 * configure.ac: New target mips-arc.
11337 * gentpl.py: Likewise.
11338 * grub-core/Makefile.am: Likewise.
11339 * grub-core/Makefile.core.def: Likewise.
11340 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11341 (none_decompress): Likewise.
11342 (lsdev): New module.
11343 (datetime): Use lib/arc/datetime.c on ARC.
11344 (part_dvh): New module.
11345 * grub-core/commands/arc/lsdev.c: New file.
11346 * grub-core/disk/arc/arcdisk.c: Likewise.
11347 * grub-core/kern/mips/arc/init.c: Likewise.
11348 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11349 aligned addresses.
11350 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11351 support.
11352 (grub_arch_dl_relocate_symbols): Likewise.
11353 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11354 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11355 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11356 platforms.
11357 * grub-core/lib/arc/datetime.c: New file.
11358 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11359 pci.h on non-loongson.
11360 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11361 (grub_linux_boot): Set unused registers to 0.
11362 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11363 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11364 * grub-core/mmap/mips/uppermem.c: ...here.
11365 * grub-core/partmap/dvh.c: New file.
11366 * grub-core/term/arc/console.c: Likewise.
11367 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11368 (grub_terminfo_set_current): Add terminal "arc".
11369 (grub_terminfo_readkey): Support ARC sequences.
11370 * include/grub/arc/arc.h: New file.
11371 * include/grub/arc/console.h: Likewise.
11372 * include/grub/disk.h (grub_disk_dev_id): Add
11373 GRUB_DISK_DEVICE_ARCDISK_ID.
11374 * include/grub/mips/arc/kernel.h: New file.
11375 * include/grub/mips/arc/memory.h: Likewise.
11376 * include/grub/mips/arc/time.h: Likewise.
11377 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11378 * include/grub/mips/kernel.h (grub_halt): ... here.
11379 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11380 here...
11381 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11382 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11383 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11384 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11385 proto.
11386 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11387 from here ...
11388 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11389 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11390 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11391 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11392 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11393 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11394 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11395 (grub_phys_addr_t): Moved from here ...
11396 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11397 (grub_vtop): Moved from here ...
11398 * include/grub/mips/memory.h (grub_vtop): ... here.
11399 (grub_map_memory): Moved from here ...
11400 * include/grub/mips/memory.h (grub_map_memory): ... here.
11401 (grub_unmap_memory): Moved from here ...
11402 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11403 (grub_machine_mmap_iterate): Moved from here ...
11404 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11405 (grub_mmap_get_lower): Moved from here ...
11406 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11407 (grub_mmap_get_upper): Moved from here ...
11408 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11409 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11410 here ...
11411 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11412 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11413 here ...
11414 * include/grub/mips/time.h (grub_get_rtc): ... here.
11415 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11416 here ...
11417 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11418 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11419 here ...
11420 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11421 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11422 definition.
11423 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11424 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11425 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11426 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11427 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11428 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11429 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11430 (GRUB_MACHINE_LINK_ADDR): Likewise.
11431 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11432 to 6.
11433 * util/grub-install.in: Run dvhtool on ARC.
11434 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11435 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11436
c8ecc840
VS
114372011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11440 blocks.
11441
153a4b55
VS
114422011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11445 after enabling port.
11446
ff44d107
VS
114472011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 Skip incorrect USB devices.
11450
11451 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11452 configcnt == 0.
11453 * include/grub/usb.h (grub_usb_err_t): New enum value
11454 GRUB_USB_ERR_BADDEVICE.
11455
638dbe4f
VS
114562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 Fuloong video init support.
11459
11460 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11461 well.
11462 (grub_vga_read_arx): New function.
11463 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11464 definition.
11465 (framebuffer): New members io, mmioptr and mmiobase.
11466 (read_sis_cmd): New function.
11467 (write_sis_cmd): Likewise.
11468 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11469 rather than 640x400.
11470 * grub-core/video/sis315_init.c: New file.
11471
c3fc520c
VS
114722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11475 non-loongson.
11476 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11477 to grub_dl_register_symbol.
11478
67b1e5c9
VS
114792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 Fix compilation errors.
11482
11483 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11484 potentially unused.
11485 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11486 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11487 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11488 to loongson machines.
11489
b756f75f
VS
114902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Several FS mtime support.
11493
11494 * grub-core/fs/affs.c (grub_affs_time): New struct.
11495 (grub_affs_file): New field mtime.
11496 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11497 type. Removed 'size'. New field 'di'. All users updated.
11498 (grub_affs_mount): Simplify checsum checking.
11499 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11500 (grub_affs_dir): Handle mtime.
11501 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11502 (grub_cpio_dir): Likewise.
11503 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11504 (grub_hfs_filerec): New field mtime.
11505 (grub_hfs_dir): Handle mtime.
11506 (grub_hfs_mtime): New function.
11507 (grub_hfs_fs): Register grub_hfs_mtime.
11508 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11509 (grub_iso9660_dir): New field mtime.
11510 (grub_fshelp_node): New field dirent.
11511 (iso9660_to_unixtime): New function.
11512 (iso9660_to_unixtime2): Likewise.
11513 (grub_iso9660_read_symlink): Use node->dirent.
11514 (grub_iso9660_iterate_dir): Likewise.
11515 (grub_iso9660_dir): Set mtime.
11516 (grub_iso9660_mtime): New function.
11517 (grub_iso9660_fs): Register grub_iso9660_mtime.
11518 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11519 (grub_jfs_inode): New fields atime, ctime and mtime.
11520 (grub_jfs_dir): Set mtime.
11521 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11522 * grub-core/fs/ntfs.c (list_file): Set mtime.
11523 (grub_ntfs_dir): Likewise.
11524 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11525 (grub_reiserfs_iterate_dir): Set mtime.
11526 (grub_reiserfs_dir): Likewise.
11527 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11528 (grub_fshelp_node): Likewise.
11529 (grub_sfs_iterate_dir): Set mtime.
11530 (grub_sfs_dir): Likewise.
11531 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11532 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11533 (grub_xfs_inode): New fields atime, mtime, ctime.
11534 (grub_xfs_dir): Set mtime.
11535 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11536 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11537 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11538
11539 Support UDF symlinks.
11540
11541 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11542 (grub_ufs_read_symlink): New function. All users updated.
11543
11544 Check amiga partmap checksum.
11545
11546 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11547 (grub_amiga_partition): Likewise.
11548 (amiga_partition_map_checksum): New function.
11549 (amiga_partition_map_iterate): Check checksum.
11550
5470225d
VS
115512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11552
11553 ROMFS support.
11554
11555 * Makefile.util.def (libgrubmods.a): Add romfs.
11556 * grub-core/Makefile.core.def (romfs): New module.
11557 * grub-core/fs/romfs.c: New file.
11558
d4680a35
VS
115592011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 Squashfs v4 support.
11562
11563 * Makefile.util.def (libgrubmods.a): Add squash4.
11564 * grub-core/Makefile.core.def (squash4): New module.
11565 * grub-core/fs/squash4.c: New file.
11566 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11567 disk_input_start, disk_input.
11568 (get_byte): Handle disk_input.
11569 (grub_zlib_disk_read): New function.
11570 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11571
bcb18e74
FZ
115722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
115732011-05-15 Feiran Zheng <famcool@gmail.com>
11574
11575 * Makefile.util.def (libgrubmods.a): Add minix3.
11576 * grub-core/Makefile.core.def (minix3): New module.
11577 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11578 (GRUB_MINIX_BSIZE): Removed.
11579 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11580 (grub_minix_ino_t): New type.
11581 (grub_minix_le_to_cpu_ino): New macro.
11582 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11583 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11584 (grub_minix_data): New field block_size.
11585 (grub_minix_read_file): Handle 64-bit correctly.
11586 * grub-core/fs/minix3.c: New file.
11587
32297d5f
TG
115882011-05-15 Tristan Gingold <gingold@free.fr>
115892011-05-15 Robert Millan <rmh.grub@aybabtu.com>
115902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 IA64 support.
11593
11594 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11595 * configure.ac: Add ia64-efi target.
11596 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11597 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11598 * gentpl.py: Add ia64_efi platform.
11599 Rename x86_efi to efi and Add ia64-efi. All users updated.
11600 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11601 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11602 Remove kern/generic/rtc_get_time_ms.c on EFI.
11603 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11604 kern/ia64/dl_helper.c on ia64-efi.
11605 Add kern/emu/cache.c on emu.
11606 (linux): Use on loader/ia64/efi/linux.c on ia64.
11607 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11608 whether symbol is a function.
11609 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11610 (grub_symbol): New field 'isfunc'.
11611 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11612 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11613 (grub_dl_load_segments): Place all sections into the same region.
11614 [__ia64__]: Create trampolines and got.
11615 [GRUB_MACHINE_EMU]: Call mprotect.
11616 (grub_dl_resolve_symbols): Resolve symbol type as well.
11617 [__ia64__]: Create function descriptors.
11618 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11619 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11620 (grub_get_rtc): New function.
11621 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11622 * grub-core/kern/emu/cache.S: Renamed to ...
11623 * grub-core/kern/emu/cache_s.S: ... this.
11624 [__ia64__]: Add a nop.
11625 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11626 [__ia64__]: New function.
11627 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11628 * grub-core/kern/ia64/dl.c: New file.
11629 * grub-core/kern/ia64/dl_helper.c: Likewise.
11630 * grub-core/kern/ia64/efi/init.c: New file.
11631 * grub-core/kern/ia64/efi/startup.S: Likewise.
11632 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11633 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11634 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11635 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11636 * grub-core/loader/ia64/efi/linux.c: New file.
11637 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11638 (GRUB_MOD_DEP): Likewise.
11639 (grub_dl) [__ia64__]: New fields got and tramp.
11640 (grub_dl): New field 'base'.
11641 (grub_dl_register_symbol): New argument isfunc. All users updated.
11642 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11643 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11644 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11645 (grub_ia64_dl_get_tramp_got_size): New proto.
11646 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11647 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11648 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11649 * include/grub/efi/api.h: Skip call wrappers on ia64.
11650 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11651 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11652 * include/grub/elf.h (ELF_ST_INFO): New definition.
11653 * include/grub/ia64/efi/kernel.h: New file.
11654 * include/grub/ia64/efi/memory.h: Likewise.
11655 * include/grub/ia64/efi/time.h: Likewise.
11656 * include/grub/ia64/kernel.h: Likewise.
11657 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11658 * include/grub/ia64/time.h: New file.
11659 * include/grub/ia64/types.h: Likewise.
11660 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11661 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11662 New protos.
11663 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11664 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11665 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11666 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11667 All users updated.
11668 (EFI64_HEADER_SIZE): New definition. All users updated.
11669 (image_targets): Add ia64-efi.
11670 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11671 jumpers_addr. All users updated.
11672 Create function descriptors.
11673 (count_funcs): New function.
11674 (unaligned_uint32): New struct.
11675 (MASK20): New definition.
11676 (MASK19): Likewise.
11677 (MASKF21): Likewise.
11678 (add_value_to_slot_20b): New function.
11679 (add_value_to_slot_21_real): Likewise.
11680 (add_value_to_slot_21): Likewise.
11681 (ia64_kernel_trampoline): New struct.
11682 (nopm): New variable.
11683 (jump): Likewise.
11684 (make_trampoline): New function.
11685 (relocate_addresses): Handle ia64.
11686 (make_reloc_section): Likewise.
11687 (load_image): Likewise.
11688
983b414d
VS
116892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11692 warning. Move variables before code while on it.
11693
5d063cdc
VS
116942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 Fuloong support.
11697
11698 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11699 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11700 * grub-core/boot/mips/loongson/fuloong.S: New file.
11701 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11702 Explicitly init CS5536.
11703 [FULOONG]: Don't use serial until CS5536 is available.
11704 Set GPIO based on dumps.
11705 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11706 [FULOONG]: Handle GPIO and memory controller differences.
11707 Parse machine type in $a2.
11708 * grub-core/boot/mips/startup_raw.S: Determine and save the
11709 architecture.
11710 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11711 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11712 init on architecture type.
11713 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11714 SIS315E. Don't init at_keyboard on fuloong.
11715 (grub_halt): Support Fuloong.
11716 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11717 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11718 (loongson_machtypes): New array.
11719 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11720 type.
11721 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11722 config. All users updated. Handle CS5536 serial.
11723 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11724 default port on machine type. Register serial as inactive.
11725 * grub-core/video/sis315pro.c: New file.
11726 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11727 definition.
11728 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11729 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11730 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11731 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11732 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11733 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11734 to ...
11735 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11736 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11737 definition.
11738 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11739 (grub_arch_machine): New extern var.
11740 * include/grub/mips/loongson/serial.h
11741 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11742 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11743 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11744 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11745 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11746 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11747 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11748 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11749 * include/grub/term.h (grub_term_register_input_inactive): New inline
11750 function.
11751 (grub_term_register_output_inactive): Likewise.
11752 * include/grub/video.h (grub_video_driver_id): New value
11753 GRUB_VIDEO_DRIVER_SIS315PRO.
11754 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11755 New field "names". All users updated.
11756 New field value IMAGE_FULOONG_FLASH.
11757 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11758
6ada82d1
JU
117592011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11760
11761 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11762 and add some clarification.
11763
90c571a4
VS
117642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11767 platforms if kernel is compressed.
11768
de04eecf
VS
117692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11772 unused modules since currently referrence counter isn't reliable and
11773 there isn't much memory to recover there anyway.
11774
57688121
VS
117752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11776
11777 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11778 rather than resetting it to allow modules to reference themselves
11779 in init.
11780
3d2c7e35
VS
117812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11784 counter on dependencies since grub_dl_unref already handles this.
11785
b25db218
VS
117862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11789 on error if not already done.
11790
25a45338
VS
117912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 Fix few potential memory misusage.
11794
11795 * grub-core/font/font.c (load_font_index): Don't free char_index to
11796 avoid double free.
b25db218
VS
11797 (grub_font_load): Zero-fill font at alloc for safety.
11798 Close file on error.
11799 (free_font): Free bmp_idx.
25a45338 11800
0cac83df
VS
118012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * docs/grub.texi (Installation): Fix several outdated claims.
11804
2217a143
VS
118052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11806
11807 Handle module_license on windows.
11808
11809 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11810 sections shifted.
11811 (insert_string): Make argument const char * instead of char *.
11812 (write_section_data): Handle long section names.
11813 Handle module_license.
11814
d4de6b01
VS
118152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11816
11817 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11818 handle class-free menuentries.
11819 (grub_normal_add_menu_entry): Add a check to be sure.
11820
4c2a3b43
VS
118212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11822
11823 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11824 PgUp and PgDown.
11825
85c6210f
VS
118262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * configure.ac: Bump version to 1.99.
11829
36084912
VS
118302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 Give ATA device a bit more time on first try in order to allow disks
11833 to spin up.
11834
11835 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11836 if dev->present is 1. Reset dev->present on failure.
11837 (grub_ata_device_initialize): Set dev->present to 1.
11838 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11839 (grub_ata_device): New member 'present'.
11840
bda0e219
VS
118412011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * util/grub-mkimage.c (generate_image): Update hash.
11844
19e1c41b
VS
118452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 Flush caches on DMA memory.
11848
11849 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11850 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11851 (grub_dma_free): Likewise.
11852 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11853
91bbcc0c
VS
118542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11857 to avoid asm treating ld and sd as macros.
11858
60ddfad3
VS
118592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11860
11861 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11862 decompressor.
11863
a298aa04
VS
118642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11867 grub_decompress_core since later would fail if grub_decompress_core
11868 is too far.
11869
9b44feca
VS
118702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11873 R_MIPS_JALR since it's used by newer compiler.
11874
56dbe7b4
VS
118752011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11876
11877 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11878
52856af2
VS
118792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11882 file_path to 0 for surety.
11883 (grub_chainloader_boot): Set exit_data to NULL.
11884 Unset the loader once done.
11885 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11886
9c9bfc6d
VS
118872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11890 unknown key into a dprintf.
11891
dd94a3df
VS
118922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11895 on first non-existant partition.
11896
fa68d99c
VS
118972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11900 openning fails.
11901 Reported by: Mark Korenberg.
11902
157effb7
VS
119032011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11906 overflow.
11907
ea75312f
VS
119082011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11911 before closing to ensure that it will be readable by grub-setup.
11912
072b5d31
VS
119132011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11916 (devpath_1): Use MAKE_PIWG_PATH.
11917 (devpath_2): Likewise.
11918 (devpath_3): Likewise.
11919 (devpath_4): Likewise.
11920 (devpath_5): Likewise.
11921 (devpath_6): Likewise.
11922
11923 The appleldr.mod was checked that to be binary identical to previous
11924 version.
11925
7fae0051
Z
119262011-05-05 Zach <mikezackles>
11927
11928 Support 2010 Macbooks.
11929
11930 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11931 (devs): Add devpath_6.
11932
7c515bee
VS
119332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11936 /dev/random. /dev/urandom is good enough for our purposes (salting).
11937
ed660bd8
VS
119382011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11939
11940 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11941
ee5614b7
VS
119422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11945 hexadecimal.
11946
664889a6
VS
119472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11950 and not 0 on failure.
11951
bd405bbc
CW
119522011-05-03 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11955 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11956 disk; otherwise grub_fs_probe will not fall back to the next
11957 filesystem.
11958 (grub_pxefs_open): Likewise, for consistency.
11959 Reported and tested by: Ezekiel Grave.
11960
4ebff753
CW
119612011-05-03 Colin Watson <cjwatson@ubuntu.com>
11962
11963 * tests/partmap_test.in: Don't hardcode path to parted.
11964 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11965
8f942553
CW
119662011-05-01 Colin Watson <cjwatson@ubuntu.com>
11967
11968 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11969 of `ls' to find out which devices are available.
11970
3c62402d
VS
119712011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11974 than source address for efi mmap buffer.
11975
723f63f2
VS
119762011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11979 wrong action on non-detecting the magic.
11980
68797f92
VS
119812011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11984 already supplied by another part of the module (fixes compilation on
11985 FreeBSD).
11986
6be8715d
VS
119872011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11990 match the one used by mdadm.
11991
e91dba5b
CW
119922011-04-21 Colin Watson <cjwatson@ubuntu.com>
11993
11994 * po/README: Add instructions for creating po/LINGUAS.
11995
c85140b3
CW
119962011-04-21 Colin Watson <cjwatson@ubuntu.com>
11997
11998 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11999 #551428.
12000
12001 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
12002 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
12003 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
12004 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
12005 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
12006 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
12007 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
12008 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
12009 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
12010 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
12011 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
12012 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
12013 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
12014 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
12015 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
12016 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
12017 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
12018 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
12019 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
12020 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
12021 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
12022 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
12023
92051871
CW
120242011-04-21 Colin Watson <cjwatson@ubuntu.com>
12025
12026 * grub-core/kern/emu/getroot.c
12027 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
12028 test that was incorrectly reintroduced in r3214.
12029 Reported by: Ian Dall. Fixes Savannah bug #33133.
12030
b13f79a4
CW
120312011-04-21 Colin Watson <cjwatson@ubuntu.com>
12032
12033 Fix stack pointer handling in 16-bit relocator.
12034
12035 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
12036 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
12037 Fixes Ubuntu bug #683904.
12038
9b710a88
VS
120392011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 * configure.ac: Bump version to 1.99~rc2.
12042
d97e7b59
VS
120432011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
12046 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
12047 * grub-core/lib/x86_64/setjmp.S: Likewise.
12048 * grub-core/lib/mips/setjmp.S: Likewise.
12049 * grub-core/lib/powerpc/setjmp.S: Likewise.
12050 * grub-core/lib/sparc64/setjmp.S: Likewise.
12051
0624551c
VS
120522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
12055 * grub-core/lib/efi/datetime.c: Likewise.
12056
e8f28d4c
VS
120572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
12060 New function.
12061 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
12062 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
12063 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
12064
bba79a15
VS
120652011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
12068 bitmap.
12069 (grub_gfxterm_term_init): Likewise.
12070
abc474ef
VS
120712011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 Take into account the decorations the computing menu entry width.
12074
12075 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12076 (grub_gfxmenu_create_box): Register get_border_width.
12077 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12078 if available.
12079 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12080 get_border_width.
12081
e74b3947
EP
120822011-04-18 Endres Puschner <code@e7p.de>
12083
12084 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12085 Don't skip first class.
12086
34faa595
VS
120872011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12090 chunks.
12091 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12092
93a777e3
VS
120932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 Complete 64-bit division support.
12096
12097 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12098 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12099 * include/grub/misc.h (grub_divmod64): Rename to ...
12100 (grub_divmod64_full): ... this.
12101 (grub_divmod64): New inline function.
12102
a5102d94
VS
121032011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12106
f3fb7b36
VS
121072011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12110 performing the necessary test.
12111
9ac718b0
VS
121122011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12115 (kfreebsd.elf): Likewise.
12116 (pc-chainloader.elf): Likewise.
12117 (ntldr.elf): Likewise.
12118
50d2cc5a
VS
121192011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 Identify RAID by its UUID rather than (guessed) name.
12122
12123 * grub-core/disk/raid.c (ascii2hex): New function.
12124 (grub_raid_open): Accept mduuid/%s specification.
12125 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12126 (get_mdadm_uuid): ... this.
12127 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12128
e03f7bea
VS
121292011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12132 to negative size.
12133
e74c3112
CW
121342011-04-13 Colin Watson <cjwatson@ubuntu.com>
12135
12136 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12137 btrfs subvolume.
12138 * util/grub.d/20_linux_xen.in: Likewise.
12139
78fa584f
CW
121402011-04-13 Colin Watson <cjwatson@ubuntu.com>
12141
12142 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12143 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12144
12145 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12146 Build a list of relevant visible mounts using the mnt_id and
12147 parent_mnt_id fields, and then scan that list at the end.
12148
9d5f8162
CW
121492011-04-12 Colin Watson <cjwatson@ubuntu.com>
12150
12151 * docs/grub.texi (normal): New section.
12152 (normal_exit): New section.
12153 (Embedded configuration): Add reference to normal.
12154 (GRUB only offers a rescue shell): Likewise.
12155 * docs/grub-dev.texi (Error Handling): Fix typo.
12156
09a9d66f
CW
121572011-04-12 Colin Watson <cjwatson@ubuntu.com>
12158
12159 * NEWS: Drop obsolete entry about probe-only btrfs support.
12160
0c676933
CW
121612011-04-12 Colin Watson <cjwatson@ubuntu.com>
12162
12163 * util/import_gcry.py: Fix typo.
12164
ec9f5e0d
VS
121652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * NEWS: Add btrfs support.
12168
fe6b2cba
VS
121692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
121702011-04-11 Colin Watson <cjwatson@ubuntu.com>
12171
12172 BtrFS support. Written by me (Vladimir) with important bugfixes and
12173 even more important testing by Colin.
12174
12175 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12176 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12177 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12178 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12179 mem_input_off and mem_input. All users updated to accept in-RAM input.
12180 (gzio_seek): New function.
12181 (test_zlib_header): Likewise.
12182 (grub_gzio_read): Likewise.
12183 (grub_zlib_decompress): Likewise.
12184 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12185 Accept partial and non-virtual mounts.
12186 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12187 avoid receiving /dev/dm-X as device.
12188 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12189 Handle bind and partial mounts.
12190 * grub-core/lib/crc.c: New file.
12191 * include/grub/deflate.h: Likewise.
12192 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12193 proto.
12194 * include/grub/lib/crc.h: New file.
12195
e745cf0c
VS
121962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12197
12198 Implement automatic module license checking according to new GNU
12199 guidelines.
12200
12201 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12202 (grub_dl_load_core): Use grub_dl_check_license.
12203 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12204 (GRUB_MOD_LICENSE): Likewise.
12205 (GRUB_MOD_DUAL_LICENSE): Likewise.
12206 All modules updated.
12207
2a9bc016
CW
122082011-04-11 Colin Watson <cjwatson@ubuntu.com>
12209
12210 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12211 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12212 loaders.
12213 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12214
8a3bc88e
VS
122152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12218
af869a4a
VS
122192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12222 failed.
12223
9ee8d94f
VS
122242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12225
12226 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12227 parenthesis in the middle of the filename.
12228
b01abe3e
VS
122292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12232 rather than trying to put initrd way too high.
12233 Reported by: Ryan Lortie <desrt@desrt.ca>
12234
335bda1e
VS
122352011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12238 improperly removed string.
12239
5ca1a64d
VS
122402011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12243 is_disk.
12244 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12245 (open_device) Likewise.
12246 (grub_util_biosdisk_close): Likewise.
d8ce9995 12247 Reported by: Mark Korenberg.
5ca1a64d 12248
cbac5b1e
AK
122492011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12250
12251 * util/grub-mkconfig_lib.in: Add missing quotes.
12252
088cdb65
CW
122532011-04-10 Colin Watson <cjwatson@ubuntu.com>
12254
12255 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12256 is NULL.
12257
8b8a81fa
VS
122582011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 Dynamically count the number of lines for the lower banner.
12261
12262 * grub-core/normal/menu_entry.c (per_term_screen): New member
12263 num_entries.
12264 (print_down): Use num_entries.
12265 (update_screen): Likewise.
12266 (grub_menu_entry_run): Set num_entries.
12267 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12268 num_entries.
12269 (grub_print_message_indented): Move real part to ...
12270 (grub_print_message_indented_real): ... here. Additional argument
12271 dry_run.
12272 (draw_border): Additional argument num_entries.
12273 (print_message): Additional argument dry_run.
12274 (print_entries): Receive menu viewer data.
12275 (grub_menu_init_page): New argment num_entries.
12276 (menu_text_set_chosen_entry): Use num_entries.
12277 (grub_menu_try_text): Likewise.
12278 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12279 All users updated.
12280 (grub_ucs4_count_lines): New function.
12281 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12282 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12283 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12284 (grub_term_border_height): Likewise.
12285 (grub_term_num_entries): Likewise.
12286
277f955b
VS
122872011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12288
12289 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12290 Remove now unused string.
12291
536ce85a
CW
122922011-04-09 Colin Watson <cjwatson@ubuntu.com>
12293
12294 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12295 build system.
12296 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12297
12298 (Comment): Fix typo.
12299 (Getting started): General copy-editing.
12300 (Typical Development Experience): Likewise.
12301 (Error Handling): Likewise.
12302 (Video API): Likewise.
12303
2cf09e32
CW
123042011-04-09 Colin Watson <cjwatson@ubuntu.com>
12305
12306 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12307 throughout.
12308
1ec652f4
VS
123092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12312 directory.
12313
2c583728
CW
123142011-04-08 Colin Watson <cjwatson@ubuntu.com>
12315
12316 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12317 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12318 "development".
12319
d7a565e9
VS
123202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12323 grub_strcpy since the lines aren't necessarily 0-terminated.
12324
7c2e4909
VS
123252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12328 root on legacy.
12329
34c09785
VS
123302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12333 (GRUB_MOD_INIT): DEVICE isn't optional.
12334
6a6f8058
VS
123352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12338 word on new line if it's too long anyway. Fixes a hang.
12339
2e335e90
VS
123402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12343 const.
12344 * util/grub-setup.c (main): Reuse md device name if available.
12345 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12346 not GRUB name as argument.
12347 Based on patch by: Florian Wagner <fwagner>.
12348
10a7a867
VS
123492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12352 Place mbi on low memory for better compatibility.
12353
7a3d6cd9
VS
123542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12357
18dd6b47
VS
123582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
123592011-04-08 Colin Watson <cjwatson@ubuntu.com>
12360
12361 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12362 * conf/Makefile.common: Likewise.
18dd6b47 12363
3c0e3f14
VS
123642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12365
f7148863
VS
12366 * grub-core/normal/menu.c: Add missing include.
12367
123682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12371
6d1fa41f
MZ
123722011-04-08 Martin Zuther <mzuther@mzuther.de>
12373
12374 * util/grub-mkconfig.in: Ignore emacsen backup.
12375
478182a8
VS
123762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12379 on open.
12380 (grub_util_biosdisk_close): Likewise.
12381
72a89a54
VS
123822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12385 const attribute and use grub_isdigit.
12386
b5ebecfa
A
123872011-04-06 Andrey <dev_null@ukr.net>
12388
12389 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12390 gcc warning.
12391
7755f66e
VS
123922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12395 useful grub_dprintf's.
12396
461121ff
VS
123972011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12398
12399 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12400
2a961775
VS
124012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12404
adf594cc
VS
124052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 Output errors if theme loading failed.
12408
12409 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12410 grub_gfxterm_fullscreen on error paths to ...
12411 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12412 theme loading error.
12413
665900a3
VS
124142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12417 space for older compilers.
12418 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12419
a562b479
VS
124202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12423 and report them as not RAID members since they are useless for GRUB.
12424 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12425
850e9373
VS
124262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 Increase LVM implementation robustness in order not to crash on
12429 configurations like pvmove. Previously code assumed that in some places
12430 only lvs or only pvs are used whereas it seems that they are used
12431 interchangeably.
12432
12433 * grub-core/disk/lvm.c (read_node): New function.
12434 (read_lv): Use read_node.
12435 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12436 Match volumes only at the end when all lvs are found. Take both
12437 pvs (first) and lvs (second) into account.
12438 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12439 mirror_* into node_*. All users updated.
12440 (grub_lvm_stripe): Merge this ...
12441 (grub_lvm_mirror): ... and this ...
12442 (grub_lvm_node): ... into this. All users updated.
12443
6f332153
VS
124442011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12447 of function to allow further scanning for LVMs.
12448
829ea451
VS
124492011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12452 on failed seek as it breaks open fd reusage.
12453
09ceb9a5
VS
124542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * util/grub-install.in: Add a recommendation to use --recheck before
12457 reporting bugs.
12458
67e11623
VS
124592011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12462 are obtained.
12463
caee5efd
VS
124642011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 GRUB developper manual based on existing Internals section and
12467 contributions by the various authors with active copyright assignment.
12468
12469 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12470 * docs/font_char_metrics.png: New file.
12471 * docs/font_char_metrics.txt: Likewise.
12472 * docs/grub-dev.texi: Likewise.
12473 * docs/grub.texi (Internals): Move from here ...
12474 * docs/grub-dev.texi: ... here.
12475
2cccc747
CW
124762011-04-01 Colin Watson <cjwatson@ubuntu.com>
12477
12478 Store the loopback device as data on loopback grub_disk structures,
12479 rather than the file it points to. This fixes use of freed memory
12480 if an existing loopback device is replaced.
12481
12482 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12483 disk->data, not dev->file.
12484 (grub_loopback_read): Adjust file assignment to match.
12485 Fixes Ubuntu bug #742967.
12486
186ae367
CW
124872011-04-01 Colin Watson <cjwatson@ubuntu.com>
12488
12489 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12490 when replacing an existing device.
12491
cfed2ad0
VS
124922011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12495 memory corruptions.
12496
12497 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12498 unsigned.
12499 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12500 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12501 (grub_jfs_read_inode): Likewise.
12502 (grub_jfs_opendir): Likewise. Remove now useless casts.
12503 (grub_jfs_getent): Likewise.
12504 Make ino a grub_uint32_t rather than int.
12505 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12506 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12507 division and module with bit operations.
12508 (grub_jfs_find_file): Make ino a grub_uint32_t.
12509 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12510
05d2ed32
CW
125112011-04-01 Colin Watson <cjwatson@ubuntu.com>
12512
12513 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12514 warning. (This was in fact always initialised before use, but GCC
12515 wasn't smart enough to prove that.)
12516 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12517
91dc6073
VS
125182011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12521 stack alignment.
12522 (efi_wrap_1): Likewise.
12523 (efi_wrap_2): Likewise.
12524 (efi_wrap_3): Likewise.
12525 (efi_wrap_4): Likewise.
12526 (efi_wrap_5): Likewise.
12527 (efi_wrap_6): Likewise.
12528 (efi_wrap_10): Likewise.
12529 Based on information by: Red Hat/Peter Jones.
12530
a8afc1d1
CW
125312011-03-31 Colin Watson <cjwatson@ubuntu.com>
12532
12533 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12534 set-but-not-used variable.
12535
a826cc7d
CW
125362011-03-31 Colin Watson <cjwatson@ubuntu.com>
12537
12538 * docs/grub.texi (Simple configuration): Be more explicit about
12539 GRUB_DEFAULT, and add an example.
12540 Reported by: Leslie Rhorer.
12541
875b67ba
CW
125422011-03-30 Colin Watson <cjwatson@ubuntu.com>
12543
12544 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12545 shell".
12546
fd7cd914
AS
125472011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12548
12549 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12550 * util/grub.d/20_linux_xen.in: Likewise.
12551
090b1b6a
VS
125522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * util/grub.d/10_linux.in: Try alternative config filenames where
12555 we parse config file.
12556 * util/grub.d/20_linux_xen.in: Likewise.
12557
baad885c
AS
125582011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12559
12560 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12561 * util/grub.d/20_linux_xen.in: Likewise.
12562
241e41f5
VS
125632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * grub-core/disk/raid.c (insert_array): Add few potentially
12566 useful grub_util_info.
12567 (grub_raid_register): Likewise.
12568
56445fb2
VS
125692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12572 Preserve partition number in mdadm code path.
12573
c871b1c6
VS
125742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12577 few potentially useful grub_util_info.
12578
5e631b4f
CW
125792011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12580
12581 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12582
2d5d0333
CW
125832011-03-30 Colin Watson <cjwatson@ubuntu.com>
12584
12585 * docs/grub.texi (default): Use @example rather than nested
12586 itemized lists to avoid breaking gendocs.
12587
3d7ed04e
CW
125882011-03-30 Colin Watson <cjwatson@ubuntu.com>
12589
12590 * docs/grub.texi (Future): Update.
12591
abf04200 125922011-03-30 Colin Watson <cjwatson@ubuntu.com>
12593
12594 * docs/grub.texi (Environment): New chapter.
12595 (Changes from GRUB Legacy): Link to "Environment block" section for
12596 details of limitations.
12597 (Simple configuration): Likewise. Link to documentation of gfxmode
12598 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12599 respectively.
12600 (Shell-like scripting): Note that normal variables are stored in the
12601 environment.
12602 (gettext): Link to documentation of lang and locale_dir.
12603 (list_env): New section.
12604 (load_env): New section.
12605 (save_env): New section.
12606
12607 (Reporting bugs): Fix typo.
12608
e1ad0edd
VS
126092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12612 the example.
12613
5d803174
VS
126142011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 * grub-core/term/at_keyboard.c (set_scancodes)
12617 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12618
2a2da1d0
CW
126192011-03-30 Colin Watson <cjwatson@ubuntu.com>
12620
12621 * docs/grub.texi (Menu-specific commands): Remove some semantics
12622 that were true in GRUB Legacy but not in GRUB 2.
12623 (submenu): New section.
12624 (false): New section.
12625 (read): New section.
12626 (true): New section.
12627
a7527639
CW
126282011-03-30 Colin Watson <cjwatson@ubuntu.com>
12629
12630 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12631
126322011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
12633
12634 * docs/grub.texi (Simple configuration): Explain some of the
12635 current limitations of grub-mkconfig.
8a748df2 12636 Reported by: Leslie Rhorer.
e30af029 12637
fc858482
VS
126382011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12639
12640 Old macs search for boot.efi rather than for bootia32.efi.
12641
12642 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12643 * util/grub-mkrescue.in: Likewise.
12644 Suggested by: Peter Jones.
12645
e1eb511d
VS
126462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12649
70e75364
VS
126502011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12653 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12654 (grub_lvm_mirror): New struct.
12655 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12656 (grub_lvm_iterate): Iterate only visible volumes.
12657 (grub_lvm_read): Factor out to ..
12658 (read_lv): ... this. Support mirrors.
12659 (grub_lvm_read): New wrapper function.
12660 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12661 stripped or mirrored.
12662
fc18f6a3
VS
126632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12666
5c650f4c
CW
126672011-03-29 Colin Watson <cjwatson@ubuntu.com>
12668
12669 * docs/grub.texi (loopback): New section.
12670
61d7156b
CW
126712011-03-29 Colin Watson <cjwatson@ubuntu.com>
12672
12673 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12674 removed -p option.
12675
994b8264
CW
126762011-03-29 Colin Watson <cjwatson@ubuntu.com>
12677
12678 * docs/grub.texi (BIOS installation): New section, partly based on
12679 previous text in other sections.
12680 (Installing GRUB using grub-install): Replace BIOS discussion with a
12681 cross-reference.
12682 (Images): Likewise.
12683
9e4d19e0
VS
126842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12687 [HAVE_DIOCGDINFO]: Add safety checks.
12688
a307c0b2
VS
126892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12692 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12693
b4db4f39
CW
126942011-03-29 Colin Watson <cjwatson@ubuntu.com>
12695
12696 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12697 real_sb->size is zero (e.g. RAID-0), get the disk size from
12698 real_sb->data_size instead.
12699 Fixes Ubuntu bug #743136.
12700
35e5f84c
VS
127012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12704 printf clauses for printing size and start.
12705
d2e29d81
VS
127062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12709 Reported and tested by: Timothy Nikkel.
12710
ed5587af
VS
127112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12714 (dirty_region_add_real): ... this.
12715 (dirty_region_add): Don't discard margin refresh when performing
12716 scheduled repaint.
12717
a1dc717c
VS
127182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * grub-core/lib/relocator.c (allocate_regstart)
12721 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12722 terminals are capabple of malloc-free operation.
12723 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12724 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12725
9f3677d3
VS
127262011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12727
12728 * util/grub-setup.c: Copy the partition table zone if floppy support
12729 is disabled, even if no partition table is found.
12730
12731 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12732 during POST if an invalid partition table is contained in the PBR
12733 of the active partition when GRUB is installed to a partition.
12734
24148725
CW
127352011-03-28 Colin Watson <cjwatson@debian.org>
12736
12737 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12738 comment.
12739
f329eda7
CW
127402011-03-28 Colin Watson <cjwatson@debian.org>
12741
12742 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12743 to be specific about what kind of RAID device we're scanning for.
12744
c482ad98
SG
127452011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12746
12747 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12748 return freed string.
12749
5ee04984
VS
127502011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12753
f4727da9
VS
127542011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 Use libgeom on FreeBSD to detect partitions.
12757
12758 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12759 (grub-mkrelpath): Likewise.
12760 (grub-script-check): Likewise.
12761 (grub-editenv): Likewise.
12762 (grub-mkpasswd-pbkdf2): Likewise.
12763 (grub-fstest): Likewise.
12764 (grub-mkfont): Likewise.
12765 (grub-mkdevicemap): Likewise.
12766 (grub-probe): Likewise.
12767 (grub-setup): Likewise.
12768 (grub-ofpathname): Likewise.
12769 (grub-mklayout): Likewise.
12770 (example_unit_test): Likewise.
12771 (grub-menulst2cfg): Likewise.
12772 * grub-core/Makefile.core.def (grub-emu): Likewise.
12773 (grub-emu-lite): Likewise.
12774 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12775 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12776 define HAVE_DIOCGDINFO.
12777 (follow_geom_up) [FreeBSD]: New function.
12778 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12779 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12780 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12781 unconditionally of HAVE_DIOCGDINFO.
12782
82fe6c75
VS
127832011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 Fix FreeBSD compilation problem.
12786
12787 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12788 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12789
4c6c9431
CW
127902011-03-24 Colin Watson <cjwatson@ubuntu.com>
12791
12792 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12793 Switch back to page zero before loading a kernel, since some kernel
12794 drivers expect that.
12795 Thanks to: Felix Kuehling.
12796
c7064d94
VS
127972011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12800 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12801 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12802
3f71cded
VS
128032011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12806 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12807
ef6de21a
VS
128082011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12811 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12812 malloc is disabled.
12813
8bc66a2c
VS
128142011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12817 for modules headers when counting the needed allocation size.
12818
5657722c
VS
128192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12822 if no ASCII character is found to prevent crash.
12823
41a85f55
AK
128242011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12825
12826 * grub-core/video/bitmap.c (match_extension): Ignore case.
12827
59e1e5f1
VS
128282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12831
bd4d051a
VS
128322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12833
12834 * grub-core/script/parser.y: Declare "time" as valid argument.
12835
bae7fcc1
PJ
128362011-03-23 Peter Jones <pjones@redhat.com>
12837
12838 Fix incorrect assert failure reporting.
12839
12840 * grub-core/tests/example_functional_test.c (example_test): Add
12841 a failure comment.
12842 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12843 (failure_start): ...this. Check that malloc succeeded.
12844 Don't call xvasprintf. Return failure struct.
12845 (failure_append_vtext): New function.
12846 (failure_append_text): Likewise.
12847 (add_failure): Likewise.
12848 (grub_test_assert_helper): Likewise.
12849 * include/grub/test.h (grub_test_assert_helper): New declaration.
12850 (grub_test_assert): Macro rewritten.
12851
537dc9be
VS
128522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12855
fa3e01bf
VS
128562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12859
b1d28404
VS
128602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12863 into GRUB-style one.
12864
2e3e2e09
VS
128652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12868 error and not grub_errno.
12869 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12870
ed57e557
VS
128712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12874 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12875
d1611f01
VS
128762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * grub-core/efiemu/i386/pc/cfgtables.c
12879 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12880 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12881 (grub_xnu_unlock): Likewise.
12882 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12883
7d4e39d6
VS
128842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12887 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12888 * grub-core/commands/hashsum.c (aliases): Likewise.
12889 * grub-core/commands/setpci.c (pci_registers): Likewise.
12890 * grub-core/disk/usbms.c (attach_hook): Likewise.
12891 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12892 (zio_checksum_table): Likewise.
12893 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12894 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12895 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12896 * grub-core/lib/relocator.c (leftovers): Likewise.
12897 (extra_blocks): Likewise.
12898 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12899 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12900 (modules_last): Likewise.
12901 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12902 (devices): Likewise.
12903 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12904 (modules_last): Likewise.
12905 * grub-core/normal/auth.c (users): Likewise.
12906 * grub-core/normal/context.c (initial_menu): Likewise.
12907 (current_menu): Likewise.
12908 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12909 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12910 (grub_serial_terminfo_input_template): Likewise.
12911 (grub_serial_terminfo_output_template): Likewise.
12912 (grub_serial_terminfo_input): Likewise.
12913 (grub_serial_terminfo_output): Likewise.
12914 (registered): Likewise.
12915 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12916
40fc4659
VS
129172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12920 grub_video_mode_type_t.
12921 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12922 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12923 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12924
2da48d28
VS
129252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 * util/grub-install.in: Correct the x86-64 name as x86_64.
12928
9b43bf39
CW
129292011-03-11 Colin Watson <cjwatson@ubuntu.com>
12930
12931 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12932 initial chunk read from the kernel always includes GRUB's multiboot
12933 header, which is now outside the first sector.
12934
be1a7ce0
CW
129352011-03-09 Colin Watson <cjwatson@ubuntu.com>
12936
12937 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12938 cached mmap_size, so that this works correctly when called multiple
12939 times.
12940 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12941
83a3c48d
CW
129422011-03-09 Colin Watson <cjwatson@ubuntu.com>
12943
12944 * docs/grub.texi (Simple configuration): Tidy up formatting.
12945
57d75699
SJ
129462011-03-07 Szymon Janc <szymon@janc.net.pl>
12947
12948 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12949 Set-but-not-used variable removed.
12950
028501a0
VS
129512011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 Workaround yet another IEEE1275 bug.
12954
12955 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12956 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12957 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12958 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12959 is set.
12960 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12961 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12962
d998657d
VS
129632011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12966 error.
12967
fee7cdd4
CW
129682011-02-11 Colin Watson <cjwatson@ubuntu.com>
12969
12970 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12971 empty, since in that case we can only generate either nothing or a
12972 syntactically invalid configuration file.
12973 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12974
97286eb5
CW
129752011-02-09 Colin Watson <cjwatson@ubuntu.com>
12976
12977 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12978 (Making a GRUB bootable CD-ROM): Likewise.
12979 (Invoking grub-mkrescue): New section.
12980 Reported by: Yann Dirson. Fixes Debian bug #612585.
12981
22b28eb3
CW
129822011-02-09 Colin Watson <cjwatson@ubuntu.com>
12983
12984 * util/grub-install.in: Remove unnecessary brackets from tr
12985 arguments.
12986 * util/grub.d/10_hurd.in: Likewise.
12987 * util/grub.d/10_kfreebsd.in: Likewise.
12988 * util/grub.d/10_linux.in: Likewise.
12989 * util/grub.d/20_linux_xen.in: Likewise.
12990 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12991
7e735e43
CW
129922011-02-08 Colin Watson <cjwatson@ubuntu.com>
12993
12994 * include/grub/file.h (not_easly_seekable): Rename to ...
12995 (not_easily_seekable): ... this. Update all users.
12996
800f1881
CW
129972011-01-28 Colin Watson <cjwatson@ubuntu.com>
12998
12999 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
13000 grub-mkrescue.
13001
3281d3d6
VS
130022011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * util/grub-mkimage.c (generate_image): Refuse to create the images
13005 bigger than the actual flash (512K) in Loongson machines. 512K is also
13006 the biggest chip supported by them.
13007
3533413c
VS
130082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
13011
73ae4f4f
VS
130122011-01-22 Anthony DeRobertis <anthony@derobert.net>
13013
13014 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
13015 super_offset field.
13016
37f4f608
VS
130172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * util/grub-install.in: Ignore install device on platforms
13020 where it doesn't make sense. Always use UUIDs except on pc, efi and
13021 sparc64.
13022 Reported by: Daniel Kahn Gillmor.
13023
03a4ccb5
VS
130242011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
13027
ffc8f4d8
VS
130282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
13031 (iterate_real): Don't rely on partition being non-NULL.
13032
80f23be7
VS
130332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
13036 supported platforms. Put a compile time assert for this rather than
13037 generate a warning with 32-bit shift.
13038
5d4f4dd5
VS
130392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
13042 logical expression more readable.
13043
e489601a
VS
130442011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
13047 even if some elements have a name.
13048 Reported by: Alexander GQ Gerasiov.
13049
96e0a6ea
CW
130502011-01-22 Colin Watson <cjwatson@ubuntu.com>
13051
13052 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
13053 path unreadable if `grub-probe -t abstraction' fails, for example if
13054 memberlist fails on an LVM volume group.
13055 Reported by: Darius Jahandarie.
13056
81431e2b
CW
130572011-01-22 Colin Watson <cjwatson@ubuntu.com>
13058
13059 * docs/grub.texi (Simple configuration): Document
13060 GRUB_PRELOAD_MODULES.
13061
5e79d66a
CW
130622011-01-17 Colin Watson <cjwatson@ubuntu.com>
13063
13064 * .bzrignore: Remove nonexistent grub-pbkdf2.
13065
646ada34
VS
130662011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * configure.ac: Bump version to 1.99~rc1.
13069
04360337
VS
130702011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13073 for safety.
13074
46c9db88
VS
130752011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13076
13077 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13078 module.
13079
130802011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13081
13082 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13083
4fbf1852
VS
130842011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13087 diskdevid.
13088
f1632d4d
VS
130892011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 Fix compilation on cygwin.
13092
13093 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13094 -R .drectve on cygwin.
13095 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13096 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13097 (COND_CYGWIN): New condition.
13098 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13099 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13100 not @TARGET_OBJ2ELF@.
13101 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13102 type to determine whether aux is to be used.
13103
0b5e127b
VS
131042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13107 realpath'ed device string.
13108 Handle floppy (somewhat).
13109 Issue error in unknown case rather than garbage.
13110 Reported by: Axel Beckert.
13111
173b71e9
VS
131122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * util/grub.d/00_header.in (load_video): Handle the case when no video
13115 drivers available.
13116 Thanks to: Axel Beckert.
13117
f8f479db
VS
131182011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13121 variable. Fixes problem on big endian platforms.
13122
8fc0a245
VS
131232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13126 It doesn't work well there.
13127
b8494fbe
VS
131282011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13131 warning.
13132 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13133 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13134 counter.
13135
b44a558c
VS
131362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 Use alias->path rather than buggy "canon".
13139
13140 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13141 (ofdisk_hash_add): New argument curcan. All users updated.
13142
51fa856c
CW
131432011-01-11 Colin Watson <cjwatson@ubuntu.com>
13144
13145 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13146
9da068a5
VS
131472011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13150 loadmask before doing any calculations. Use correct type for offset.
13151 (grub_linux_load64): Likewise.
13152
86205c94
CW
131532011-01-11 Colin Watson <cjwatson@ubuntu.com>
13154
13155 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13156 with NULL.
13157 (console_grub_equivalences_unshift): Likewise.
13158 Reported by: Daniel Dehennin.
13159
4531a206
VS
131602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13163 (set_env_limn_ro): Likewise.
13164 (GRUB_MOD_INIT): Likewise.
13165 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13166 ARRAY_SIZE while on it.
13167 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13168 * grub-core/normal/context.c (grub_env_export): Move from here ...
13169 * grub-core/kern/env.c (grub_env_export): ... here.
13170 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13171 prefix.
13172 * grub-core/kern/main.c (grub_main): Export root and prefix.
13173 * include/grub/env.h (grub_env_export): Export.
13174 Reported by: Seth Goldberg.
13175
45146057
VS
131762011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13179 Take into account space used by ELF sections and multiboot palette.
13180 Reported by: Grégoire Sutre.
13181
f093110b
VS
131822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * BUGS: New file.
13185
3395fe52
VS
131862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 Pass more appropriate video id to Linux.
13189
13190 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13191 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13192 fill have_vga.
13193 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13194 shift params->lfb_size.
13195 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13196
c2fa6cbb
VS
131972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13198
13199 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13200
b3ff6ff0
VS
132012011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13202
13203 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13204 separator and pass bootpath/devid even if only one of them is available.
13205 Reported by: Seth Goldberg.
13206
ae67942e
VS
132072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13210 implementations bug on them.
13211
13212 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13213 memory.
13214 (filter_memory_map): Likewise.
13215
d570097a
VS
132162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13217
13218 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13219 Reported by: nebuchadnezzar.
13220
a508e776
VS
132212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13224 Reported by: nebuchadnezzar.
13225
dcb883b1
VS
132262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 Submenu default support.
13229
13230 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13231 auto_boot. All users updated.
13232 Declared static.
13233 Handle chosen and default with submenus.
13234 (grub_menu_execute_with_fallback): Declared static.
13235 Don't notify failure if autobooted. Upper level does it.
13236 (menuentry_eq): New function.
13237 (get_entry_number): Use menuentry_eq.
13238 (show_menu): New parameter "autobooted". All users updated.
13239 (grub_show_menu): Likewise.
13240 * include/grub/normal.h (grub_show_menu): Likewise.
13241 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13242 (grub_menu_execute_with_fallback): Likewise.
13243
6fef99b4
VS
132442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * util/grub-mklayout.c (usage): Update help text.
13247
47a77af5
VS
132482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13251
ce6bb3ee
VS
132522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * util/grub-menulst2cfg.c (main): Trim the line.
13255
db87be2a
VS
132562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13259 (grub_machine_init): Don't check amount of low memory as reportedly
13260 INT 12h can be broken and if low memory is too low we wouldn't have
13261 gotten into grub_machine_init anyway.
13262
c49849cc
VS
132632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13266 (grub_machine_mmap_iterate): Take low memory into account
13267
b1969b30
VS
132682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13271 badfs.
13272 Reported by: TiCPU.
13273
cf0eaf13
VS
132742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13277 members errors.
13278
1f060f39
GS
132792011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13280
13281 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13282 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13283
a21e5672
GS
132842011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13285
13286 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13287 openbsd and netbsd types being in part_bsd module.
13288
c88172fa
VS
132892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13292 (_FILE_OFFSET_BITS): Likewise.
13293 Reported by: Seth Goldberg.
13294
53798c4b
GS
132952011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13296
13297 * configure.ac: Check for libdevmapper header.
13298
e7121b69
VS
132992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13302 avoid aliasing.
13303 (fzap_lookup): Likewise.
13304 (dnode_get): Likewise.
13305 (make_mdn): Likewise.
13306 (zfs_mount): Likewise.
13307 (fzap_iterate): Use temporary pointer to avoid aliasing.
13308 (grub_zfs_read): Likewise.
13309 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13310 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13311 pointers to avoid aliasing.
13312 (grub_cmd_xnu_kernel64): Likewise.
13313 (grub_xnu_load_driver): Likewise.
13314
fc836af9
VS
133152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13318 aliasing warning.
13319 (grub_cmd_terminal_output): Likewise.
13320 Reported and tested by: Grégoire Sutre.
13321
f9f37648
VS
133222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13323
13324 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13325 warning.
13326 Reported and tested by: Grégoire Sutre.
13327
ec1dfd63
VS
133282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * configure.ac: Do CPU substitution even if it's specified explicitly.
13331 Reported and tested by: Alain Greppin.
13332
9462775a
VS
133332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13336 Reported and tested by: Alain Greppin.
13337
0fd48e35
VS
133382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 Satisfy some bison versions need for inttypes.h.
13341
13342 * grub-core/lib/posix_wrap/inttypes.h: New file.
13343 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13344 (int16_t): Likewise.
13345 (int32_t): Likewise.
13346 (int64_t): Likewise.
13347 Reported and tested by: Alain Greppin.
13348
43f1bc83
VS
133492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13352 Silence spurious warning.
13353 Reported and tested by: Alain Greppin.
13354
64d1f041
SJ
133552011-01-07 Szymon Janc <szymon@janc.net.pl>
13356
13357 * docs/grub.texi (Support automatic decompression): Update with xz
13358 decompression support.
13359
25953e10
SJ
133602011-01-07 Szymon Janc <szymon@janc.net.pl>
13361
13362 Improve loaders' kernel command line handling.
13363
13364 * grub-core/lib/cmdline.c: New file.
13365 * include/grub/lib/cmdline.h: Likewise.
13366 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13367 grub_create_loader_cmdline to create kernel command line.
13368 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13369 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13370 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13371 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13372 (linux): Add lib/cmdline.c on common.
13373
e72d259f
VS
133742011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13377 inopos might be unaligned.
13378
c0cf26da
VS
133792011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13382 endian transformations.
13383 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13384 Based on report by: Doug Nazar.
13385
0ca09e6c
DN
133862011-01-07 Doug Nazar <nazard.michi@gmail.com>
13387
13388 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13389 array->members[i].start_sector.
13390 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13391
014b6806
VS
133922011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13395 Reported and tested by: Grégoire Sutre.
13396
415502c2
CW
133972011-01-06 Colin Watson <cjwatson@ubuntu.com>
13398
13399 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13400 avoid causing test failures by clearing the screen.
13401
71b6a2b7
CW
134022011-01-06 Colin Watson <cjwatson@ubuntu.com>
13403
13404 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13405 Fix prefix check to handle the case where dir ends with a slash
13406 (most significantly, "/" itself).
13407 Reported by: Michael Vogt.
13408
b3f8d28a
VS
134092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 Run terminfo_cls on initing terminfo output to clear the screen and
13412 move the cursor to (0,0).
13413
13414 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13415 Call grub_terminfo_output_init.
13416 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13417 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13418 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13419
4c3e4f37
VS
134202011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13423 only when needed.
13424
488f71f1
VS
134252011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13428 CTRL.
13429
18a38098
VS
134302011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13431
13432 The E820 type 5 is BADRAM, not EXEC_CODE.
13433
13434 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13435 (GRUB_E820_BADRAM): New define.
13436 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13437 into reserved. Propagate BADRAM.
13438 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13439 (GRUB_E820_BADRAM): New define.
13440
9eae2084
VS
134412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13444 Ignore the memory post-4G.
13445 (grub_relocator_firmware_alloc_region): Additional debug statement.
13446
ebc71d28
VS
134472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13448
13449 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13450 names.
13451 Reported by: David Pravec.
13452
446fa400
VS
134532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13456 BIOSes.
13457
a0159f37
VS
134582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13461 Prevent overflow.
13462 (grub_reed_solomon_recover): Likewise.
13463
e5146ca1
VS
134642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13467
134682011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13469
13470 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13471 variable.
13472
5b1bdf12
CW
134732011-01-04 Colin Watson <cjwatson@ubuntu.com>
13474
13475 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13476 descriptions of extract_legacy_entries_source and
13477 extract_legacy_entries_configfile.
13478 Reported by: Seung Soo, Ha.
13479
99d925aa
CW
134802011-01-03 Colin Watson <cjwatson@ubuntu.com>
13481
13482 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13483 on devices that do not implement function 0.
13484
4af0504b
DV
134852011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13486
13487 * grub-core/fs/hfsplus.c: Make parent unsigned.
13488 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13489 overflows.
13490 (grub_hfsplus_cmp_extkey): Likewise
13491
469ee10a
VS
134922011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * util/grub-install.in: Correctly use bootloader_id and not
13495 GRUB_DISTRIBUTOR on efibootmgr line.
13496
323a8e9c
VS
134972011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13500
1b394975
IC
135012010-12-31 Ian Campbell <ijc@hellion.org.uk>
13502
13503 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13504 Xen and reorder menu item wording to make it clearer that this entry
13505 will launch Xen. Print separate messages when loading Xen and
13506 Linux.
13507
275bff5f
VS
135082010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13511 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13512 loop in case of incorrect amiga partmap.
13513
307806cb
VS
135142010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13517 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13518 Reported by:EHeM.
13519
b12b923e
VS
135202010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13523 spurious warning.
13524 Reported by: crocket
13525
14b48a19
VS
135262010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13529 Preload EFIemu.
13530 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13531
693db2df
VS
135322010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13535 is loaded
13536 (grub_cmd_xnu_kextdir): Likewise.
13537 (grub_cmd_xnu_splash): Likewise.
13538
c7638645
VS
135392010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 Avoid using Reed-Solomon with 0 redundancy.
13542
13543 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13544 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13545 or 0 redundancy.
13546 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13547 (grub_reed_solomon_recover): Likewise.
13548
25dd4780
VS
135492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 Don't use disk subsystem in freebsd_boot.
13552
13553 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13554 (freebsd_biosdev): Likewise.
13555 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13556 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13557
0b2db943
VS
135582010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 Handling of files of unknown size is currently limited. They can't be
13561 used e.g. for initrd or modules. Moreover gzip handling of not
13562 easily seekable files is buggy. Disable unknown file size for now. May
13563 be inefficient but works.
13564
13565 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13566 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13567
5c408d0f
MP
135682010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13569
13570 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13571 floppy probe.
13572
190a011a
JD
135732010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13574
13575 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13576
022d01b8
SL
135772010-12-25 Shea Levy <shlevy>
13578
13579 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13580
c4855fdc
VS
135812010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13584 Windows Server 2008.
13585 Reported by: Devin Giddings.
13586
0354b867
VS
135872010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13590 writing an error message because of async power management.
13591 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13592 (grub_reboot): Likewise.
13593
ab66c69f
JU
135942010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13595
13596 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13597 keep unit tests from failing when they shouldn't.
13598
1426ef35
CW
135992010-12-21 Colin Watson <cjwatson@ubuntu.com>
13600
13601 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13602 previous patch increased the size of the RS code by 20 bytes (at
13603 least with gcc-4.4), so increase this by 20 bytes to match.
13604 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13605
20641b6b
CW
136062010-12-21 Colin Watson <cjwatson@ubuntu.com>
13607
13608 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13609 scratch area. Make sure to initialise chosen in standalone mode as
13610 well as non-standalone.
13611 Reported by: Robert Hooker and Andy Whitcroft.
13612 Tested by: Andy Whitcroft.
13613
d060ad60
CW
136142010-12-21 Colin Watson <cjwatson@ubuntu.com>
13615
13616 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13617 constructing a new unescaped string and passing it to grub_xputs in
13618 one go, rather than passing characters to grub_printf one at a time.
13619
b889cfad
CW
136202010-12-21 Colin Watson <cjwatson@ubuntu.com>
13621
13622 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13623 initialising utf16.
13624
4e01b6c8
CW
136252010-12-21 Colin Watson <cjwatson@ubuntu.com>
13626
13627 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13628 comment. Add an extra layer of quotation, requiring the output of
13629 this function to be used in a printf format string.
13630 (gettext_printf): New function.
13631 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13632 Extract translatable strings from here-documents and use a temporary
13633 variable instead, so that xgettext can find them.
13634 * util/grub.d/10_kfreebsd.in: Likewise.
13635 * util/grub.d/10_linux.in: Likewise.
13636 * util/grub.d/20_linux_xen.in: Likewise.
13637
13638 * po/grub.d.sed: New file.
13639 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13640 arguments. Set c-format flags on all strings extracted from
13641 util/grub.d/ (xgettext refuses to include these itself for strings
13642 it extracted from a shell file, but these really are c-format).
13643
5318fe98
VS
136442010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13647 Avoid next pointing to nowhere.
13648
6c85b743
VS
136492010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13652 rather than assuming than rootblock is exactly in the middle.
13653 (grub_affs_label): Likewise.
13654
a2a08a35
VS
136552010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13656
13657 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13658 reserved_first_sector to 0.
13659 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13660 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13661 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13662
7059d1ec
VS
136632010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 Fix handling of UTF-16 UDF labels.
13666
13667 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13668 (read_string): .. here.
13669 (grub_udf_label): Use read_string.
13670
30aff4cb
BC
136712010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13672
13673 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13674 editor under argument scope.
13675 Reported by: Jordan Uggla
13676
5cf86f4b
VS
136772010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13680
32570200
CW
136812010-12-18 Colin Watson <cjwatson@ubuntu.com>
13682
13683 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13684 line, and other keys scroll an entire page (previous handling was
13685 for \r and \n to scroll a page and other keys to scroll two lines).
13686
e1dffcf2
VS
136872010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13690 Set ptrdest to correct get_physical_target_address rather than
13691 incorrect get_virtual_current_address.
13692
b04298cf 136932010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13694
13695 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13696 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13697
5367ecd3
CW
136982010-12-10 Colin Watson <cjwatson@ubuntu.com>
13699
13700 * .bzrignore: Ignore grub-core/rs_decoder.S.
13701
1fb430f8
CW
137022010-12-10 Colin Watson <cjwatson@ubuntu.com>
13703
13704 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13705 .mo/.mo.gz opening sequence to ...
13706 (grub_mofile_open_lang): ... here.
13707 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13708 * util/grub.d/00_header.in (grub_lang): Include country part of
13709 locale.
13710 Reported by: Mario Limonciello.
13711
a94a6671
RM
137122010-12-09 Robert Millan <rmh@gnu.org>
13713
13714 * NEWS: Document addition of ZFS support.
13715
24b7938b
CW
137162010-12-04 Colin Watson <cjwatson@ubuntu.com>
13717
13718 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13719 rather than `/ 2', as the latter requires -Wa,--divide which would
13720 require bumping our minimum binutils version.
13721
bddc3ef6
BC
137222010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13723
13724 * util/grub-script-check.c (main): Print script line number on
13725 error.
13726
bf78d5b2
RM
137272010-12-01 Robert Millan <rmh@gnu.org>
13728
13729 * grub-core/fs/zfs/zfs.c: New file.
13730 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13731 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13732 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13733 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13734
13735 * include/grub/zfs/dmu.h: Likewise.
13736 * include/grub/zfs/dmu_objset.h: Likewise.
13737 * include/grub/zfs/dnode.h: Likewise.
13738 * include/grub/zfs/dsl_dataset.h: Likewise.
13739 * include/grub/zfs/dsl_dir.h: Likewise.
13740 * include/grub/zfs/sa_impl.h: Likewise.
13741 * include/grub/zfs/spa.h: Likewise.
13742 * include/grub/zfs/uberblock_impl.h: Likewise.
13743 * include/grub/zfs/vdev_impl.h: Likewise.
13744 * include/grub/zfs/zap_impl.h: Likewise.
13745 * include/grub/zfs/zap_leaf.h: Likewise.
13746 * include/grub/zfs/zfs.h: Likewise.
13747 * include/grub/zfs/zfs_acl.h: Likewise.
13748 * include/grub/zfs/zfs_znode.h: Likewise.
13749 * include/grub/zfs/zil.h: Likewise.
13750 * include/grub/zfs/zio.h: Likewise.
13751 * include/grub/zfs/zio_checksum.h: Likewise.
13752
13753 * Makefile.util.def: Build ZFS into libgrubmods.
13754 * grub-core/Makefile.core.def: Build zfs.mod.
13755
3f0f3831
SJ
137562010-11-30 Szymon Janc <szymon@janc.net.pl>
13757
13758 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13759 variable.
13760 * grub-core/commands/wildcard.c (match_files): Likewise.
13761
3a4253b2
RM
137622010-11-30 Robert Millan <rmh@gnu.org>
13763
13764 * grub-core/loader/i386/bsd.c
13765 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13766 whether kernel is loaded using grub_loader_is_loaded(), rather
13767 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13768 certain error conditions.
13769
8c317b27
RM
137702010-11-30 Robert Millan <rmh@gnu.org>
13771
c5c9cd3e
RM
13772 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13773 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13774
49d3ab46
VS
137752010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 Avoid using tricks for initialising endian variables.
13778
13779 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13780 Make const.
13781 (GRUB_MOD_INIT): Don't byte-swap.
13782 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13783 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13784 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13785 (grub_swap_bytes32_compile_time): Likewise.
13786 (grub_cpu_to_le32_compile_time): Likewise.
13787 (grub_cpu_to_le16_compile_time): Likewise.
13788
f420a804
VS
137892010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13790
13791 * util/grub-setup.c (setup): Stop recommending --force. People who
13792 understand the dangers of blocklists are able to find this option
13793 anyway and the ones who don't shouldn't use it anyway.
13794
4e7db17b
RM
137952010-11-26 Robert Millan <rmh@gnu.org>
13796
13797 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13798 Update all users.
13799
9be57a0d
CW
138002010-11-26 Colin Watson <cjwatson@ubuntu.com>
13801
13802 Fix LVM-on-RAID probing.
13803
13804 * util/grub-probe.c (probe): Remember which disk was detected as
13805 RAID (perhaps an LVM physical volume). Use that disk's raidname
13806 rather than that of the top-level disk.
13807
2c7859b3 138082010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13809
d7647bb6
BC
13810 Fix cmdline argument quotes for setparams command of menuentry
13811 definitions.
7e623b0d
BC
13812
13813 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13814 quotes for arguments.
f866fe80 13815 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13816 grub_strchrsub function instead.
f866fe80 13817
7955bea0 13818 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13819
74f72a64
CW
138202010-11-24 Colin Watson <cjwatson@ubuntu.com>
13821
13822 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13823 effort by skipping "." and ".." entries up-front.
13824 Suggested by: Michael Lazarev.
13825
5a407278
CW
138262010-11-24 Colin Watson <cjwatson@ubuntu.com>
13827
13828 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13829 ldflags to ldadd, to fix link line ordering.
13830 (none_decompress): Likewise.
13831
3030d8ec
CW
138322010-11-24 Colin Watson <cjwatson@ubuntu.com>
13833
13834 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13835 platforms.
13836 (grub-emu-lite): Remove kern/emu/cache.S.
13837
b7fbac12
CW
138382010-11-23 Colin Watson <cjwatson@ubuntu.com>
13839
13840 * util/deviceiter.c (compare_devices): If the by-id link for a
13841 device couldn't be resolved, fall back to sorting by the by-id link
13842 rather than segfaulting.
13843 Reported and tested by: Daniel Mierswa.
13844
5225f328
CW
138452010-11-23 Colin Watson <cjwatson@ubuntu.com>
13846
13847 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13848 ldflags, to fix link line ordering.
13849
038b3ce8
CW
138502010-11-23 Colin Watson <cjwatson@ubuntu.com>
13851
13852 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13853 linkers are picky about this.
13854
bf16e98e
CW
138552010-11-23 Colin Watson <cjwatson@ubuntu.com>
13856
13857 * grub-core/Makefile.am (command.lst): Adjust sed expression
13858 ordering so that extended and priority commands aren't treated as
13859 ordinary commands.
13860
7242bab6
CW
138612010-11-23 Colin Watson <cjwatson@ubuntu.com>
13862
13863 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13864 Remove byte-swapping function calls, which are not valid in
13865 structure initialisers.
13866 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13867 non-const.
13868 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13869 grub_gpt_partition_type_bios_boot.
13870
14e8b279
CW
138712010-11-22 Colin Watson <cjwatson@ubuntu.com>
13872
13873 Fix test program build on GNU/kFreeBSD.
13874
13875 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13876 $(LIBNVPAIR)' library dependencies.
13877
e6f63338 138782010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13879
13880 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13881
cf8ffc38
CW
138822010-11-22 Colin Watson <cjwatson@ubuntu.com>
13883
13884 * util/grub-install.in: Remove excessive quoting that broke
13885 installations to RAID devices.
13886
7f8b0fd7
VS
138872010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13890 bootloader version instead of 0.
13891
dfd240b1
VS
138922010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13895 warning.
13896
7b61e609
VS
138972010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13900 retrieve the metadat sector if size isn't known.
13901 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13902
9dfe92d0
RM
139032010-11-18 Robert Millan <rmh@gnu.org>
13904
13905 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13906 with grub_memcmp().
13907
41cc919e
VS
139082010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13911 arrow.
13912 Reported by: Jordan Uggla.
13913
1afcc914
VS
139142010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 Make better UTF compliant.
13917
13918 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13919 sequences as incorrect.
13920 (grub_is_valid_utf8): Likewise.
13921 (grub_utf8_to_ucs4): Likewise.
13922 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13923 (grub_ucs4_to_utf8_alloc): Likewise.
13924 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13925
f1808884
VS
139262010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 Make legacy_source behave like source.
13929
13930 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13931 grub_show_menu.
13932 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13933
24ec575b
CW
139342010-11-16 Colin Watson <cjwatson@debian.org>
13935
13936 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13937 (-Wunused implies -Wunused-parameter, but not vice versa).
13938
72b7c7aa
CW
139392010-11-16 Colin Watson <cjwatson@ubuntu.com>
13940
13941 * configure.ac: Make error messages less confusing by testing for
13942 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13943 accepted, but produces a diagnostic if something else is wrong).
13944
e98937aa
VS
139452010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13948 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13949 (now unused).
13950 (grub_keyboard_controller_init)
13951 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13952 read the initial state since controller isn't inited yet.
13953
f6bbabc3
VS
139542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13957 allocate_regbeg may need to create new chunk header.
13958
22e7dbb2
VS
139592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 Fix quoting in legacy parser.
13962
13963 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13964 single quotes.
13965 (grub_legacy_parse): Likewise.
13966 Reported by: Jordan Uggla.
13967 Tested by: Jordan Uggla.
13968
03f80960
VS
139692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 Don't add -lgcc on i386 and x86_64.
13972
13973 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13974 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13975 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13976
779dc15b
VS
139772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 * configure.ac: Add -Wno-trampolines when supported.
13980
d20a3b37
MV
139812010-11-14 Modestas Vainius <modax@debian.org>
13982
13983 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13984 fakeraid.
13985
e5360933
GC
139862010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13987
13988 Add generic logical block size support for UDF.
13989
13990 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13991 (GRUB_UDF_BLKSZ): Removed.
13992 (struct grub_udf_data): New field "lbshift" to hold the logical block
13993 size of the file system in log2 format. All users updated.
13994 (sblocklist): Change type to unsigned.
13995 (grub_udf_mount): Change type of "sblklist" to unsigned.
13996 Move AVDP search before VRS recognition, because the latter requires
13997 knowledge of the logical block size, which is detected during the
13998 former.
13999 Detect and validate logical block size during AVDP search, adding
14000 support for block sizes 512, 1024 and 4096.
14001 Make VRS recognition independent of block size.
14002
cb0229c5
GC
140032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14004
14005 Properly handle deleted files on UDF.
14006
14007 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
14008 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
14009 set.
14010
406858a8
GC
140112010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
14012
14013 Support reading files larger than 2 GiB.
14014
14015 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
14016 "offset" to grub_off_t.
14017 (grub_udf_read_file): Likewise for parameter "pos".
14018
130da6a7
VS
140192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
14022 unavailable.
14023 (Simple configuration): Refer to Changes from GRUB Legacy about
14024 save_env availability.
14025
65e93f6b
VS
140262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 * util/grub-install.in: Ignore empty partition table detection
14029 instead of trying to include part_ module.
14030
1fd08bf1
VS
140312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
14034 LVM on RAID support.
14035
de1a024f
VS
140362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 Properly define WORDS_BIGENDIAN in wrapped environments.
14039
14040 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
14041 definition.
14042 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
14043
14044 Reported by: Manoel Rebelo Abranches.
14045 Tested by: Manoel Rebelo Abranches.
14046
bc5dd0b9
VS
140472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * util/grub-mkconfig.in: Fix quoting.
14050
58c184be
VS
140512010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 Support big ext2 files.
14054
14055 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
14056 (grub_ext2_read_block): Support triple indirect blocks.
14057 (grub_ext2_read_file): Use 64-bit types and read size_high.
14058 (grub_ext2_open): Read size_high.
14059 Reported by: Ximin Luo.
14060 Tested by: Manoel Rebelo Abranches.
14061
5f0c02b3
VS
140622010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * util/grub-install.in: Handle filenames containing spaces.
14065 Reported by: Jordan Uggla.
14066 Tested by: Jordan Uggla.
14067
4417aae6
VS
140682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * util/grub-mkconfig.in (grub_script_check): New variable.
14071 Use grub_script_check instead of grub-script-check.
14072 Reported by: Barry Jackson.
14073
7625a68e
VS
140742010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * docs/grub.texi (menu): Correct the order.
14077 Reported by: D. Hugh Redelmeier.
14078
10001ac5
VS
140792010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14082 jump.
14083
9c4cf53b
MRA
140842010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14085
10001ac5
VS
14086 * include/grub/elfload.h (grub_elf32_size): New parameter.
14087 All users updated.
9c4cf53b
MRA
14088 Return maximum segments alignment.
14089 (grub_elf64_size): Likewise.
14090 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14091 Return maximum segments alignment.
14092 (grub_elf64_size): Likewise.
14093 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14094 (grub_linux_claimmap_iterate): New function. Uses the
14095 "available" property in the "memory" node for memory allocation
14096 for kernel in the PowerPC loader.
9c4cf53b
MRA
14097 (grub_linux_load32): Correctly find linux entry point offset.
14098 (grub_linux_load64): Likewise.
14099
d2bf06bf
RM
141002010-11-07 Robert Millan <rmh@gnu.org>
14101
14102 On mips-yeeloong, build with -march=loongson2f when this flag is
14103 available (GCC >= 4.4).
14104 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14105 `-march=mips3'.
14106 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14107 or otherwise add -march=mips3.
14108
898c99a2
BC
141092010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14110
87220a68
BC
14111 Suppress shell expansion on echo '*' and echo "*" like cases.
14112 Reported by: Jordan Uggla.
898c99a2
BC
14113
14114 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14115 string arguments before shell expansion.
14116 * tests/grub_cmd_echo.in: New testcases.
14117
4f9b406a
RM
141182010-11-07 Robert Millan <rmh@gnu.org>
14119
14120 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14121 transition.
14122
80c6d25e
VS
141232010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14124
14125 * grub-core/kern/emu/hostdisk.c
14126 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14127
4a1a0153
VS
141282010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14131 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14132 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14133
34706ddc
VS
141342010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14137
6972dea9
VS
141382010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * util/grub-install.in: Replace useless recomendation to pass
14141 --modules with a recomendation to report a bug.
14142
9c693bd6
VS
141432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 Properly register serial terminfo.
14146 Reported by: Jordan Uggla
14147
14148 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14149 const.
14150 (grub_serial_terminfo_output_template): Likewise.
14151 (grub_cmd_serial): Register "serial" with terminfo.
14152 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14153 grub_serial_terminfo_output.
14154
6c9e4c0c
RM
141552010-11-05 Robert Millan <rmh@gnu.org>
14156
14157 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14158 needed).
14159
b9b3839f
RM
141602010-11-05 Robert Millan <rmh@gnu.org>
14161
14162 On Yeeloong, pass machine type information to Linux.
14163
14164 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14165 (LOONGSON_MACHTYPE): New macro, set to
14166 "machtype=lemote-yeeloong-2f-8.9inches".
14167 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14168 additional argument to Linux.
14169
1a3aaff4
RM
141702010-11-04 Robert Millan <rmh@gnu.org>
14171
14172 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14173 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14174 (its SATA disks are detected as slaveless IDE master drives on
14175 kFreeBSD).
14176 Reported by Carsten Aulbert.
14177
a75f4f62
CW
141782010-11-02 Colin Watson <cjwatson@ubuntu.com>
14179
14180 * util/bin2h.c (main): Fix spelling error in generated output.
14181
33b4b0c6
GS
141822010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14183
14184 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14185
2b36fbf4
VS
141862010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14189 vga= option is supplied.
14190
74aaf558
VS
141912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14194 * util/grub.d/10_kfreebsd.in: Likewise.
14195 * util/grub.d/10_linux.in: Likewise.
14196 * util/grub.d/20_linux_xen.in: Likewise.
14197
6428dec3
VS
141982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14201 argument as an argument to no-argument option.
14202
f8729d98
VS
142032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 * util/grub.d/10_linux.in: Add missing load_video with explicit
14206 GRUB_GFXPAYLOAD_LINUX.
14207
89d68fa6
VS
142082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14211
3a1197cd
VS
142122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14215 elements with invlid index.
14216 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14217 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14218 members.
14219 * include/grub/raid.h (grub_raid_member): New struct.
14220 (grub_raid_array): Transform devices and start_sector into usage of
14221 grub_raid_member. All users updated
14222 (allocated_devs): New member.
14223
71574288
VS
142242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14227 is modified
14228
8d40ec65
BC
142292010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14230
14231 NetBSD build fix for getline function conflict from gnulib.
14232
14233 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14234 components that depend on gnulib headers.
14235 (libgrubmods.a): Renamed from earlier libgrub.a.
14236 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14237
95b9257e
VS
142382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14241 install rather than creating a broken install.
14242
26c53dc6
VS
142432010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 * util/grub-setup.c (argp): Remove misleading example of installing to
14246 a partition.
14247
4171b3c5
VS
142482010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * util/grub-setup.c (setup): Clarify the error message.
14251
18568d18
VS
142522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14255
4f6a2e21
VS
142562010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * grub-core/kern/emu/misc.c
14259 (grub_make_system_path_relative_to_its_root)
14260 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14261
142622010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14263
14264 * grub-core/kern/emu/misc.c
14265 (grub_make_system_path_relative_to_its_root): Revert r2882.
14266
e138c458
VS
142672010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14270 useless field head. All users updated.
14271 (free_subchunk): Correct handling of IN_REGION subchunk.
14272
0cbcdf0e
CW
142732010-10-22 Colin Watson <cjwatson@ubuntu.com>
14274
14275 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14276 (Supported kernels): Likewise.
14277
b65ea155
GS
142782010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14279
14280 Make mktemp invocations portable.
14281
14282 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14283 exit if mktemp fails.
14284 * tests/grub_script_blockarg.in: Likewise.
14285 * tests/partmap_test.in: Likewise.
14286 * tests/util/grub-shell-tester.in: Likewise.
14287 * tests/util/grub-shell.in: Likewise.
14288 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14289 * Makefile.am: Likewise, and chain shell commands with `&&'
14290 instead of ';'.
14291 * util/grub-mkrescue.in: Use the same explicit template as above, and
14292 exit if mktemp fails.
14293
05f43cdd
BC
142942010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14295
14296 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14297 Linux kernel, reported by Dennis Schridde.
14298
800e6a9b
SJ
142992010-10-17 Szymon Janc <szymon@janc.net.pl>
14300
14301 * grub-core/normal/auth.c (grub_auth_check_authentication):
14302 Set-but-not-used variable removed.
14303
d82df574
VS
143042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14307 32-bit linux protocol.
14308
7bced458
VS
143092010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14312 cursor shape for sanity.
14313
5b027690
VS
143142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 * docs/grub.texi (Installation): Document buggy BIOS install.
14317
ba5f65cf
VS
143182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 * docs/grub.texi (Installation): Indent.
14321
fdf2ec9c
VS
143222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * util/grub-setup.c (setup): New parameter allow_floppy.
14325 (arguments): New member allow_floppy.
14326 (argp_parser): Handle --allow-floppy.
14327 (main): Pass allow_floppy.
14328 * util/grub-install.in: New option --allow-floppy passed though to
14329 grub-setup.
14330
861dfd4c
VS
143312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 * util/grub-install.in: Handle partitionless disks.
14334
f77a8c24
VS
143352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 * util/grub-setup.c (setup): Don't clean blocklists before readability
14338 verfification.
14339
27d9ee32
VS
143402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 * docs/grub.texi (Installation): Document embedding zone. Remove
14343 obsolete grub-install example.
14344
6bdda8f8
SJ
143452010-10-16 Szymon Janc <szymon@janc.net.pl>
14346
14347 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14348 Set-but-not-used variable ifdef'ed.
14349 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14350 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14351 variable removed.
14352 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14353 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14354 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14355 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14356 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14357 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14358 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14359 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14360 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14361 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14362 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14363 Likewise.
14364
e19b016b
VS
143652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14366
14367 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14368 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14369 enum value.
14370
6c8d3002
VS
143712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14374 synonym to _S5_. Needed for some DSDTs.
14375
c32b51c9
VS
143762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 Userspace ACPI parser debugging.
14379
14380 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14381 headers and add relevant defines. Don't include standard headers.
14382 (main) [GRUB_DSDT_TEST]: New function.
14383 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14384 Don't declare functions.
14385
fbfbeb39
VS
143862010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Remove dead grub_efi_mm_fini.
14389
14390 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14391 (ALLOCATED_PAGES_SIZE): Likewise.
14392 (MAX_ALLOCATED_PAGES): Likewise.
14393 (allocated_pages): Likewise.
14394 (grub_efi_allocate_pages): Don't record allocated pages.
14395 (grub_efi_free_pages): Likewise.
14396 (grub_efi_mm_init): Likewise.
14397 (grub_efi_mm_fini): Removed.
14398
65f7ed7c
VS
143992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14402 (grub_efi_mm_init): Take into account the memory map size increase.
14403
24977b44
VS
144042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14407 (serial_hw_put): Wait based on real time rather than port reads. Don't
14408 roken ports.
14409 * include/grub/serial.h (grub_serial_port): New field broken.
14410
1eb01cd2
RM
144112010-10-16 Robert Millan <rmh@gnu.org>
14412
14413 * grub-core/kern/emu/misc.c
14414 (grub_make_system_path_relative_to_its_root): Fix premature return
14415 when processing non-root ZFS filesystems.
5f8b440b 14416 Reported by Sergio Talens-Oliag.
1eb01cd2 14417
2d5fed60
RM
144182010-10-15 Robert Millan <rmh@gnu.org>
14419
14420 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14421 guarantee compressed ones are processed first.
14422
d0f4c1ea
VS
144232010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14426 grub_efiemu_autocore.
14427
d87c681f
VS
144282010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14431 rather than 0x1b.
14432 (grub_console_getkey): Use correct jae opcode rather than ja.
14433
219b3564
RM
144342010-10-12 Robert Millan <rmh@gnu.org>
14435
14436 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14437 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14438 variable. All references updated.
14439
14440 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14441
20c6bb7e
VS
144422010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 Correctly distinguish mdraid flavours.
14445
14446 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14447 (insert_array): New argument raid.
14448 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14449 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14450 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14451
74baff84
VS
144522010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14453
14454 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14455 handling of special keys.
14456
3ef068df 144572010-10-02 Aleš Nesrsta <starous@volny.cz>
14458
c7980ad9
VS
14459 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14460 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14461
a9455194 144622010-10-02 Aleš Nesrsta <starous@volny.cz>
14463
c7980ad9
VS
14464 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14465 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14466 users updated.
a9455194 14467 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14468 Use right endpoint when querying descriptor.
a9455194 14469
441cfe65
VS
144702010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 Clear out 0x80 color bit on EFI.
14473 Tested by: decoder
14474 Reported by: decoder and meta tech.
14475
14476 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14477 (grub_console_setcolorstate): Clear out 0x80 bit.
14478 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14479 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14480 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14481
bf26bcc4
VS
144822010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14485 Set to "auto".
14486
6e3c515d
VS
144872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14490 mo_file after freeing.
14491
e6d983ba
VS
144922010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14495
74ccb5b5
VS
144962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14499 flags.
14500
17821956
VS
145012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14504 usage.
14505
ee74fa48
VS
145062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14509
14510 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14511 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14512 and terminfo.h when needed.
14513 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14514 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14515 (terminfo): Enable only on terminfokernel.
14516 (extcmd): Likewise.
14517 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14518 * include/grub/lib/arg.h: Likewise.
14519 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14520 incorrect usage of ->.
14521
aa438e68
VS
145222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14525 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14526
57994012
VS
145272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 Fix coreboot compilation.
14530
14531 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14532 Take VBE info into account even if only text is supported.
14533 (fill_vbe_info): Take into account the case when only VGA text
14534 is supported.
14535 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14536 on coreboot, multiboot and qemu.
14537
2a406611
VS
145382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14541 debug messages.
14542 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14543
d33613fc
VS
145442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14547 parameters.
14548
44a1b432
VS
145492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14552 if they were BSD-style.
14553
edde54e6
VS
145542010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 * grub-core/boot/i386/pc/lnxboot.S: Replace
14557 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14558 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14559
b65830fa
VS
145602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 Write embedding zone using Reed-Solomon.
14563
14564 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14565 * grub-core/Makefile.am (rs_decoder.S): New target.
14566 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14567 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14568 (multiboot): Move to RS part.
14569 (post_reed_solomon): New label.
14570 (grub_boot_drive): Move to non-RS part since it's modified in memory
14571 on boot.
14572 Include rs_decoder.S.
14573 * grub-core/lib/reed_solomon.c: New file.
14574 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14575 New definition.
14576 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14577 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14578 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14579 * include/grub/partition.h (grub_partition_map): Change prototype of
14580 embed to allow returning additional sectors.
14581 * include/grub/reed_solomon.h: New file.
14582 * util/grub-setup.c (setup): Handle Reed-Solomon.
14583
0b4b227f
CW
145842010-09-28 Colin Watson <cjwatson@ubuntu.com>
14585
14586 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14587 i386 and x86-64 definedness tests.
14588
f772623b
YB
145892010-09-27 Yves Blusseau <blusseau@zetam.org>
14590
14591 Fix generation of kernel_syms.lst
14592
14593 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14594 ASM_PREFIX
14595
8e57a6ca
RM
145962010-09-26 Robert Millan <rmh@gnu.org>
14597
14598 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14599
14600 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14601 the pool is an array of devices, iterate through it and return the
14602 first device that passes a stat() test (instead of blindly returning
14603 the first one).
14604
f9130836
RM
146052010-09-26 Robert Millan <rmh@gnu.org>
14606
14607 Build fixes for GNU/kFreeBSD.
14608
14609 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14610 to programs that require ZFS conversion.
14611 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14612 kernels that don't have FLOPPY_MAJOR.
14613
96510faf
BC
146142010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14615
14616 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14617
449333eb
BC
146182010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14619
14620 Fix grub-emu build.
14621
14622 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14623 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14624 mdraid09 and mdraid1x.
14625
e1fd1939
CW
146262010-09-24 Colin Watson <cjwatson@ubuntu.com>
14627
14628 Re-enable grub-extras.
14629
14630 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14631 avoid confusing Automake. Run autogen only twice, once for the top
14632 level and once for grub-core. Add Makefile.util.def and
14633 Makefile.core.def from extra modules to the appropriate autogen
14634 invocations. If Makefile.common exists in an extra module, include
14635 it in both Makefile.util.am and grub-core/Makefile.core.am;
14636 similarly, include any Makefile.util.common file in Makefile.util.am
14637 and any Makefile.core.common file in grub-core/Makefile.core.am.
14638 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14639 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14640 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14641 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14642
14643 * gentpl.py (gvar_add): Turn GVARS into a set.
14644 (global_variable_initializers): Sort global variables on output.
14645 (vars_init): New function.
14646 (first_time): Likewise.
14647 (library): Ensure that non-global variable initialisations are
14648 emitted before the first time we emit code for a library block.
14649 Append to variables rather than setting them. Only emit
14650 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14651 each conditional path.
14652 (program): installdir() emits an Autogen macro, so must be passed to
14653 var_add rather than gvar_add.
14654 (data): Likewise.
14655 (script): Likewise.
14656 (rules): New function, centralising handling for different target
14657 types. Set up Guile association lists for first_time and vars_init,
14658 and send most output to a diversion so that variable initialisations
14659 can be emitted first.
14660 (module_rules): Use new rules function.
14661 (kernel_rules): Likewise.
14662 (image_rules): Likewise.
14663 (library_rules): Likewise.
14664 (program_rules): Likewise.
14665 (script_rules): Likewise.
14666 (data_rules): Likewise.
14667
14668 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14669
14670 * .bzrignore: Add contrib and grub-core/contrib. Remove
14671 grub-core/Makefile.gcry.am.
14672
1d12cf29
YB
146732010-09-24 Yves Blusseau <blusseau@zetam.org>
14674
14675 * grub-core/lib/LzFind.c: Add missing include.
14676 * grub-core/lib/LzmaEnc.c: Likewise.
14677 * grub-core/script/lexer.c: Likewise.
14678 * grub-core/script/yylex.l: Likewise.
14679 * util/grub-macho2img.c: Likewise.
14680 * util/grub-menulst2cfg.c: Likewise.
14681 * util/grub-mklayout.c: Likewise.
14682 * util/grub-mkpasswd-pbkdf2.c
14683 * util/grub-mkrelpath.c: Likewise.
14684 * util/resolve.c: Likewise.
14685
dd363028
BC
146862010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14687
14688 * Makefile.util.def (example_unit_test): Add
14689 grub-core/gnulib/libgnu.a.
14690
f5a109e2
GS
146912010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14692
14693 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14694
6d0fa83c
VS
146952010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14696
14697 Support xz compression on yeeloong.
14698
14699 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14700 * configure.ac: Check for LZMA.
14701 * grub-core/Makefile.core.def (xz_decompress): New target.
14702 (none_decompress): Likewise.
14703 * grub-core/boot/decompressor/minilib.c: New file.
14704 * grub-core/boot/decompressor/none.c: Likewise.
14705 * grub-core/boot/decompressor/xz.c: Likewise.
14706 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14707 * grub-core/kern/mips/cache_flush.S: Likewise.
14708 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14709 * grub-core/kern/mips/startup.S: Move first stage to ...
14710 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14711 nomacro.
14712 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14713 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14714 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14715 Allocate statically.
14716 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14717 Allocate statically or use scratch. Don't check CRC32.
14718 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14719 Allocate statically. Don't check CRC32.
14720 * include/grub/decompressor.h: New file.
14721 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14722 Removed.
14723 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14724 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14725 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14726 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14727 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14728 * util/grub-mkimage.c (grub_compression_t): New type.
14729 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14730 (image_target_desc): New field default_compression.
14731 (image_targets): Adjust yeeloong targets.
14732 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14733 (compress_kernel): New parameter comp.
14734 (generate_image): Likewise. Handle new compression case.
14735 (options): New option --compression
14736 (help): Likewise.
14737 (main): Handle new option.
14738
1b655af6
GS
147392010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14740
14741 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14742
8f03f0b5
CW
147432010-09-22 Colin Watson <cjwatson@ubuntu.com>
14744
14745 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14746 typo in __i386__ conditional.
14747
7835dfd3
VS
147482010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14751 include.
14752
e255597e
VS
147532010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14754
6d0fa83c 14755 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14756
14757 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14758 new tags as supported.
14759 (acpiv2_size): New function.
14760 (grub_multiboot_get_mbi_size): Take new tags into account.
14761 (grub_multiboot_make_mbi): Add new tags.
14762 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14763
6cc14051 147642010-09-21 Aleš Nesrsta <starous@volny.cz>
14765
14766 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14767 Added missing configuration of USB device.
14768
df7769d8
CW
147692010-09-21 Colin Watson <cjwatson@ubuntu.com>
14770
14771 * grub-core/normal/menu_entry.c (run): Make sure we always return
14772 a value.
14773
b031012d
CW
147742010-09-21 Colin Watson <cjwatson@ubuntu.com>
14775
14776 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14777 NumberOfPages is UINT64 according to the UEFI specification, not
14778 UINTN. Fix printf format.
14779
174de8f3
CW
147802010-09-21 Colin Watson <cjwatson@ubuntu.com>
14781
14782 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14783 `err' to grub_usb_err_t.
14784 Reported and tested by: KESHAV P.R.
14785
d7dbe923
CW
147862010-09-21 Colin Watson <cjwatson@ubuntu.com>
14787
14788 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14789 tpart non-const, so that we can assign to it. (Since this is a
14790 typedef, the constness refers to the pointer rather than what it
14791 points to.)
14792
8d5e2af3
CW
147932010-09-21 Colin Watson <cjwatson@ubuntu.com>
14794
14795 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14796 $(top_srcdir)/grub-core/gnulib as well as
14797 $(top_builddir)/grub-core/gnulib.
14798 Reported by: KESHAV P.R.
14799
5c527783
CW
148002010-09-21 Colin Watson <cjwatson@ubuntu.com>
14801
14802 * util/grub-install.in: Fix the bootloader ID option to be
14803 consistently --bootloader-id, not --bootloader_id.
14804 Reported by: KESHAV P.R.
14805
d309a16e
CW
148062010-09-21 Colin Watson <cjwatson@ubuntu.com>
14807
14808 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14809 check hash checksum." consistently translatable.
14810
b830cd16
YB
148112010-09-21 Yves Blusseau <blusseau@zetam.org>
14812
14813 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14814 $(top_builddir).
14815
c4fe27a8
CW
148162010-09-21 Colin Watson <cjwatson@ubuntu.com>
14817
14818 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14819 (GRUB_MOD_INIT): Register sha1sum command.
14820 (GRUB_MOD_FINI): Unregister sha1sum command.
14821
a4c1d277
YB
148222010-09-21 Yves Blusseau <blusseau@zetam.org>
14823
14824 Keep boot and grub directory names in sync with utils scripts
14825
14826 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14827 * config.h.in: Add previous macros.
14828 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14829 * util/grub-install.in: Use $bootdir and $grubdir variables.
14830
4eff79d2
CW
148312010-09-21 Colin Watson <cjwatson@ubuntu.com>
14832
14833 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14834 convert partition names to disk names if the new `convert' parameter
14835 is set.
14836 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14837 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14838 disk in its own right. This can happen with Xen disk images.
14839
934d7e44
YB
148402010-09-21 Yves Blusseau <blusseau@zetam.org>
14841
14842 * util/grub-editenv.c: Update strings to avoid warnings when generating
14843 grub.pot file.
14844 * util/grub-setup.c: Likewise.
934d7e44 14845
df3367cc
VS
148462010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * configure.ac: Change version to 1.99~beta0.
14849
77a94e98
VS
148502010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14851
14852 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14853 Add BADRAM.
14854 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14855 Likewise.
14856 * include/multiboot.h: Resynced with specification.
14857 * include/multiboot2.h: Likewise.
14858
269004c1
CW
148592010-09-21 Colin Watson <cjwatson@ubuntu.com>
14860
14861 Fix po directory handling.
14862
14863 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14864 * grub-core/gnulib/Makefile.am: Import gettext module.
14865 * m4/gnulib-cache.m4: Likewise.
14866 * m4/gnulib-comp.m4: Likewise.
14867 * m4/gettext.m4: New file, from gnulib.
14868 * m4/glibc2.m4: Likewise.
14869 * m4/iconv.m4: Likewise.
14870 * m4/intdiv0.m4: Likewise.
14871 * m4/intl.m4: Likewise.
14872 * m4/intldir.m4: Likewise.
14873 * m4/intlmacosx.m4: Likewise.
14874 * m4/intmax.m4: Likewise.
14875 * m4/inttypes-pri.m4: Likewise.
14876 * m4/lcmessage.m4: Likewise.
14877 * m4/lib-ld.m4: Likewise.
14878 * m4/lib-link.m4: Likewise.
14879 * m4/lib-prefix.m4: Likewise.
14880 * m4/lock.m4: Likewise.
14881 * m4/nls.m4: Likewise.
14882 * m4/po.m4: Likewise.
14883 * m4/printf-posix.m4: Likewise.
14884 * m4/progtest.m4: Likewise.
14885 * m4/threadlib.m4: Likewise.
14886 * m4/uintmax_t.m4: Likewise.
14887 * m4/visibility.m4: Likewise.
14888 * po/Makefile.am: Remove.
14889 * po/Makefile.in.in: New file, from gettext.
14890 ($(DOMAIN).pot-update): Support POTFILES-shell.
14891 * po/Makevars: New file.
14892 * po/POTFILES-shell: Rename to ...
14893 * po/POTFILES-shell.in: ... this. Update.
14894 * po/POTFILES: Rename to ...
14895 * po/POTFILES.in: ... this. Update.
14896 * po/Rules-quot: New file, from gettext.
14897 * po/boldquot.sed: Likewise.
14898 * po/en@boldquot.header: Likewise.
14899 * po/en@quot.header: Likewise.
14900 * po/insert-header.sin: Likewise.
14901 * po/quot.sed: Likewise.
14902 * po/remove-potcdate.sin: Likewise.
14903
3e0fa5d0
VS
149042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14905
14906 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14907
ade9bd66
VS
149082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * util/grub.d/20_linux_xen.in: Use submenus.
14911
fc55cc4c
VS
149122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 Support submenus.
14915
14916 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14917 parameter submenu. All users updated.
14918 * grub-core/normal/main.c (free_menu): Rename to ...
14919 (grub_normal_free_menu): ... this. Made global.
14920 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14921 if requested.
14922 * grub-core/normal/menu_entry.c (screen): New field submenu.
14923 (make_screen): Set submenu.
14924 (run): Open new context if requested.
14925 * include/grub/menu.h (grub_menu_entry): New field submenu.
14926 * include/grub/normal.h (grub_normal_free_menu): New proto.
14927
600cedf7
VS
149282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 Menu entries extractor.
14931
14932 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14933 variants.
14934 (GRUB_MOD_INIT): Register new variants.
14935 (GRUB_MOD_FINI): Unregister new variants.
14936 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14937 into grub_cmd_legacy_source.
14938 (grub_cmd_legacy_source): Implement extractor variants.
14939 (GRUB_MOD_INIT): Register new variants.
14940 (GRUB_MOD_FINI): Unregister new variants.
14941 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14942 as an extractor.
14943 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14944 search as an extractor.
14945 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14946 test as an extractor.
14947 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14948 as an extractor.
14949 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14950 (grub_env_new_context): New function.
14951 (grub_env_context_open): Likewise.
14952 (grub_env_extractor_open): Likewise.
14953 (grub_env_extractor_close): Likewise.
14954 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14955 grub_extractor_level.
14956 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14957 * include/grub/env.h (grub_env_extractor_open): New proto.
14958 (grub_env_extractor_close): Likewise.
14959 * include/grub/normal.h (grub_extractor_level): New external variable.
14960
7bda3a87
VS
149612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 Make cutmem accept a region specification.
14964 Suggested by: Samuel Thibault
14965
14966 * grub-core/mmap/mmap.c (parsemem): New function.
14967 (grub_cmd_cutmem): Handle new arguments.
14968
2ea57f88
VS
149692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 New command cutmem.
14972
14973 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14974 (GRUB_MOD_INIT): Register new command.
14975 (GRUB_MOD_FINI): Unregister new command.
14976
74342e31
VS
149772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 Support some annoying BSD and Minix subpartitions.
14980
14981 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14982 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14983 Properly handle concatenation.
14984 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14985 * grub-core/normal/completion.c (iterate_partition): Likewise.
14986 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14987 contain partition. All users updated.
14988 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14989 struct.
14990 (grub_openbsdlabel_partition_map): Likewise.
14991 (bsdlabel_partition_map_iterate): Rename to ..
14992 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14993 (bsdlabel_partition_map_iterate): New function.
14994 (netopenbsdlabel_partition_map_iterate): Likewise.
14995 (netbsdlabel_partition_map_iterate): Likewise.
14996 (openbsdlabel_partition_map_iterate): Likewise.
14997 (GRUB_MOD_INIT): Register new partmaps.
14998 (GRUB_MOD_FINI): Unregister new partmaps.
14999 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
15000 (grub_partition_msdos_iterate): ... this. All users updated.
15001 Don't support embedding other than in a minix partition.
15002 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
15003 proto.
15004 * include/grub/partition.h (grub_partition): New field msdostype.
15005 * util/grub-install.in: Handle openbsd and netbsd types being in
15006 part_bsd module.
15007
1e8d555b
VS
150082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
15011
15012 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
15013 * grub-core/Makefile.core.def (mdraid): Renamed to ...
15014 (mdraid09): ... this.
15015 (mdraid1x): New module.
15016 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
15017 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
15018
899d8af4
VS
150192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
15022 vsprintf.
15023
40901acd
CW
150242010-09-20 Colin Watson <cjwatson@ubuntu.com>
15025
15026 * grub-core/commands/efi/lsefimmap.c: Correct header.
15027 * NEWS: Update.
15028
dfe3b247
CW
150292010-09-20 Colin Watson <cjwatson@ubuntu.com>
15030
15031 * util/grub-editenv.c (argp_parser): Don't pass translated strings
15032 as printf format strings; the translations might contain '%' which
15033 could cause a crash.
15034 (main): Likewise.
15035 * util/grub-fstest.c (argp_parser): Likewise.
15036 * util/grub-setup.c (argp_parser): Likewise.
15037 (main): Likewise.
15038
3286a4b4
VS
150392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 Use argp in grub-fstest.
15042
15043 * util/grub-fstest.c: Don't include getopt.h.
15044 Include argp.h.
15045 (root): New variable.
15046 (args_count): Likewise.
15047 (nparm): Likewise.
15048 (num_disks): Likewise.
15049 (images): Likewise.
15050 (cmd): Likewise.
15051 (debug_str): Likewise.
15052 (args): Likewise.
15053 (options): Transformed to argp.
15054 (usage): Removed.
15055 (main): Split argument parsing into ...
15056 (argp_parser): ... this. Changed to argp format.
15057 (argp): New variable.
15058 (main): Use argp_parse.
15059
3dccbe4b
TG
150602010-09-20 Tristan Gingold <gingold@free.fr>
150612010-09-20 Robert Millan <rmh.grub@aybabtu.com>
150622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 * grub-core/commands/efi/lsefimmap.c: New file.
15065 * grub-core/Makefile.core.def (lsefimmap): New module.
15066 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
15067
38c259a7
VS
150682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 Pause the execution (10s max) if any errors are displayed so the user
15071 has a chance to see them.
15072
15073 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15074 (grub_print_error): Increment grub_err_printed_errors.
15075 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15076 execution if any errors were displayed.
15077 (show_menu): Remove old code for pause.
15078 * grub-core/normal/menu_entry.c (run): Likewise.
15079 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15080 users updated.
15081 (grub_normal_get_char_counter): Likewise.
15082 * include/grub/err.h (grub_err_printed_errors): New external variable.
15083 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15084
f218b09c
VS
150852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 Support multiboot VBE info.
15088
15089 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15090 Take VBE info into account.
15091 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15092 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15093 Call fill_vbe_info when appropriate.
15094 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15095 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15096 as supported.
15097 (grub_multiboot_get_mbi_size): Take new tags into account.
15098 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15099 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15100 Call fill_vbe_tag when appropriate.
15101 (grub_multiboot_make_mbi): Properly align tags.
15102 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15103 function.
15104 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15105 proto.
15106 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15107
a9cc5438
VS
151082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 Suport manual terminal geometry specification.
15111
15112 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15113 Save state in grub_ofconsole_terminfo_output.
15114 (grub_ofconsole_term): Use grub_terminfo_getwh.
15115 (grub_ofconsole_getwh): Removed.
15116 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15117 (grub_serial_term): Use grub_terminfo_getwh.
15118 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15119 (options): New struct.
15120 (OPTION_*): New enum.
15121 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15122 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15123 width and height.
15124 (grub_terminfo_getwh): New proto.
15125 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15126
1a8fed20
VS
151272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 Handle legacy "terminal" command.
15130
15131 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15132 and FLAG_TERMINAL.
15133 (legacy_commands): Add terminal and title.
15134 (grub_legacy_parse): Handle terminal. Simplify title handling.
15135
41e9c57d
VS
151362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15139 parameters overflow.
15140
61c874c5
CW
151412010-09-20 Colin Watson <cjwatson@ubuntu.com>
15142
15143 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15144 widthspec.h.
15145
15146 * docs/grub.texi (Shell-like scripting): Document `!'.
15147 (Network): Simplify using new i386-pc-pxe format. Mention
15148 grub-mknetdir.
15149
15150 * NEWS: Update.
15151
943682b4
CW
151522010-09-20 Colin Watson <cjwatson@ubuntu.com>
15153
15154 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15155 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15156 when needed.
15157
6d3d698d
CW
151582010-09-20 Colin Watson <cjwatson@ubuntu.com>
15159
15160 * grub-core/commands/efi/lsefisystab.c: Correct header.
15161 * grub-core/commands/efi/lssal.c: Likewise.
15162 * grub-core/commands/testload.c: Likewise.
15163
c982589f
CW
151642010-09-20 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * util/grub-mkrescue.in: Add explicit root argument to --set to
15167 prevent the UUID being interpreted as an argument to --set (matches
15168 previous change to prepare_grub_to_access_device).
15169
a63c31b6
CW
151702010-09-20 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15173 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15174 the verbosity of later #ifs.
15175 (find_partition_start): Define this function on FreeBSD too.
15176 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15177 function.
15178 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15179 on FreeBSD.
15180
6439b8ee
YB
151812010-09-20 Yves Blusseau <blusseau@zetam.org>
15182
15183 * util/grub-editenv.c: Use argp instead of getopt.
15184
c5930ec8
YB
151852010-09-20 Yves Blusseau <blusseau@zetam.org>
15186
15187 * util/grub-setup.c: Use argp instead of getopt.
15188
15c69261
YB
151892010-09-20 Yves Blusseau <blusseau@zetam.org>
15190
15191 Use gnulib-tool to create gnulib source files.
15192
15193 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15194 grub-core/gnulib directories
15195 * .bzignore: Add **/.deps and autogenerated gnulib files
15196 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15197 of gnulib macros, add grub-core/gnulib/Makefile
15198 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15199 include m4 directory to aclocal.
15200 * Makefile.util.def: Remove direct compilation of gnulib source files
15201 and use the new grub-core/gnulib/libgnu.a.
15202 * build-aux/config.rpath: move config.rpath from top directory to
15203 build-aux
15204 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15205 in gnulib headers
15206 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15207 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15208 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15209 header.
15210 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15211 string.
15212
e511c9f5
YB
152132010-09-20 Yves Blusseau <blusseau@zetam.org>
15214
15215 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15216 grub-core/genmod.sh and grub-core/gensyminfo.sh
15217
c2dede05
BC
152182010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15219
15220 Add a test for echo command options.
15221
15222 * tests/grub_cmd_echo.in: New test.
15223 * Makefile.util.def: Rules for new test.
15224
c55f5018
SJ
152252010-09-20 Szymon Janc <szymon@janc.net.pl>
15226
15227 Remove crc.mod and move crc command to hashsum.mod.
15228 Remove lib/crc.c - users updated to use gcrypt implementation.
15229
15230 * grub-core/commands/crc.c: Removed.
15231 * grub-core/Makefile.core.def (crc): Module removed.
15232 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15233 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15234 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15235 * grub-core/lib/crc.c: Removed.
15236 * include/grub/lib/crc.h: Removed.
15237 * Makefile.util.def (crc): Remove lib/crc.c
15238 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15239 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15240 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15241 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15242 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15243 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15244
e0337366
VS
152452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15248
742f9232
VS
152492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15250
15251 Split config.h for util and core.
15252
15253 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15254 (ADDR32): Likewise.
15255 (DATA32): Likewise.
15256 (BSS_START_SYMBOL): Likewise.
15257 (END_SYMBOL): Likewise.
15258 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15259 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15260 * config.h.in: New file.
15261 * configure.ac: Use config-util.h as config define file.
15262 Rename MACHINE into GRUB_MACHINE. All users updated.
15263 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15264 updated.
15265 (NESTED_FUNC_ATTR): Likewise.
15266 Substitue new variables.
15267 (COND_HAVE_ASM_USCORE): New conditional.
15268 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15269 (kernel_syms.lst): Use ASM_PREFIX.
15270 * grub-core/kern/emu/console.c: Include config-util.h.
15271 * grub-core/kern/emu/misc.c: Likewise.
15272 * grub-core/kern/emu/mm.c: Likewise.
15273 * include/grub/emu/misc.h: Likewise.
15274 * include/grub/libgcc.h: Likewise.
15275
39feb0e8
VS
152762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15279 constants usage.
15280 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15281 Fix GRUB_TERM_KEY_* constants usage.
15282 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15283
9af6dac3
VS
152842010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15285
15286 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15287 print pointer.
15288 * grub-core/bus/usb/uhci.c: Remove empty define.
15289 (grub_uhci_check_transfer): Add missing cast.
15290 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15291 print pointer.
15292 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15293 PRIuGRUB_SIZE.
15294 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15295
d6d94820
VS
152962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 * grub-core/Makefile.core.def (legacycfg): Add
15299 lib/i386/pc/vesa_modes_table.c on emu.
15300
3572f2b6
BC
153012010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15302
15303 Reduce number of temporary files generated by build system.
15304
15305 * grub-core/gencmdlist.sh: Removed.
15306 * grub-core/genfslist.sh: Removed.
15307 * grub-core/genhandlerlist.sh: Removed.
15308 * grub-core/genmodsrc.sh: Removed.
15309 * grub-core/genpartmaplist.sh: Removed.
15310 * grub-core/genparttoollist.sh: Removed.
15311 * grub-core/gentermiinallist.sh: Removed.
15312 * grub-core/genvideolist.sh: Removed.
15313
15314 * grub-core/genmod.sh.in: New file.
15315 * grub-core/gensyminfo.sh.in: New file.
15316
15317 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15318 * conf/Makefile.extra-dist: Update with new files.
15319 * gentpl.py: Remove rules related to unnecessary temporary files.
15320 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15321 and und-* files.
15322 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15323 genmod.sh scripts.
15324 * grub-core/bus/usb/uhci.c: Remove empty #define.
15325 * grub-core/genmoddep.awk: Updated with new syminfo format.
15326 * util/bash-completion.d/Makefile.am: Add config.log to
15327 CLEANFILES.
15328
c836b030
YB
153292010-09-19 Yves Blusseau <blusseau@zetam.org>
15330
15331 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15332
2f4e8053
BC
153332010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15334
15335 * util/grub-mkconfig.in: Check the config script for syntax errors
15336 before saving.
15337
75831c34
CW
153382010-09-19 Colin Watson <cjwatson@ubuntu.com>
153392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15342 platforms.
15343 * util/grub-install.in: Add EFI and IEEE1275 support.
15344 * util/i386/efi/grub-install.in: Removed.
15345 * util/ieee1275/grub-install.in: Likewise.
15346
eaf41b25
VS
153472010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15350 (grub_cmd_cmosclean): Likewise.
15351 (GRUB_MOD_INIT): Register command cmosclean.
15352 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15353 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15354
1a9130dd
CPE
153552010-09-18 Carles Pina i Estany <carles@pina.cat>
153562010-09-18 Aleš Nesrsta <starous@volny.cz>
153572010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 Add keyboard layouts support.
15360
15361 * Makefile.util.def (grub-mklayout): New file.
15362 (grub-kbdcomp): New script.
15363 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15364 Add keyboard_layouts.h.
15365 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15366 commands/boot.c on yeeloong.
15367 (keylayouts): New module.
15368 * grub-core/bus/usb/ohci.c
15369 * grub-core/bus/usb/uhci.c
15370 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15371 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15372 (attach_root_port): Likewise.
15373 (poll_nonroot_hub): Likewise.
15374 (grub_usb_poll_devices): Likewise.
15375 (detach_device): Close transfer.
15376 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15377 function.
15378 (grub_usb_bulk_setup_readwrite): Likewise.
15379 (grub_usb_bulk_finish_readwrite): Likewise.
15380 * grub-core/commands/keylayouts.c: New file.
15381 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15382 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15383 aliases.
15384 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15385 support scancode 2.
15386 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15387 * include/grub/keyboard_layouts.h: New file.
15388 * util/grub-mklayout.c: New file.
15389 * util/grub-kbdcomp.in: Likewise.
15390
a1d84a5e
VS
153912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15392
15393 Unify memory types.
15394
15395 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15396 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15397 types.
15398 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15399 (grub_upper_mem): Likewise.
15400 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15401 * include/grub/memory.h (grub_memory_type_t): New enum.
15402 All users updated.
15403
9696382e
VS
154042010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/Makefile.core.def (lsapm): New module.
15407 * grub-core/commands/i386/pc/lsapm.c: New file.
15408 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15409 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15410 Likewise.
15411 * include/grub/i386/pc/apm.h: New file.
15412 * include/multiboot.h (multiboot_apm_info): New struct.
15413
154142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 GRUB-legacy configuration file support.
15417
15418 * Makefile.util.def (grub-menulst2cfg): New util.
15419 * docs/man/grub-menulst2cfg.h2m: New file.
15420 * grub-core/Makefile.core.def (legacycfg): New module.
15421 * grub-core/commands/legacycfg.c: New file.
15422 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15423 (grub_normal_add_menu_entry): ... this.
15424 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15425 (grub_normal_set_password): ...this.
15426 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15427 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15428 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15429 * grub-core/lib/legacy_parse.c: New file.
15430 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15431 * include/grub/i386/pc/vesa_modes_table.h: New file.
15432 * include/grub/legacy_parse.h: Likewise.
15433 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15434 * util/grub-menulst2cfg.c: New file.
15435
bf8d1338
CW
154362010-09-17 Colin Watson <cjwatson@ubuntu.com>
15437
15438 * grub-core/kern/emu/hostdisk.c
15439 (convert_system_partition_to_system_disk): Initialise node.
15440
9c0bad2e
CW
154412010-09-17 Colin Watson <cjwatson@ubuntu.com>
15442
15443 * grub-core/kern/emu/hostdisk.c
15444 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15445 leak.
15446 Reported and based on patch by: Modestas Vainius.
15447
a939d135
CW
154482010-09-17 Colin Watson <cjwatson@ubuntu.com>
15449
15450 Fix DM-RAID probing with recent versions of device-mapper udev
15451 rules.
15452
15453 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15454 canonicalise device paths under /dev/mapper/.
15455 (convert_system_partition_to_system_disk): Compare the
15456 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15457 path, since device nodes under /dev/mapper/ are often symlinks.
15458
0f7ee3c9
YB
154592010-09-17 Yves Blusseau <blusseau@zetam.org>
15460
15461 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15462
10854d0d
YB
154632010-09-16 Yves Blusseau <blusseau@zetam.org>
15464
15465 * configure.ac: Avoid some annoying error messages if freetype-config
15466 program is not found.
15467
108538d8
CW
154682010-09-16 Colin Watson <cjwatson@ubuntu.com>
15469
15470 Support RAID on virtio devices, and others.
15471
15472 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15473 Rename to ...
15474 [__MINGW32__] (grub_find_device): ... this.
15475 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15476 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15477 reasonable default if dir is NULL.
15478 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15479 ...
15480 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15481 (grub_guess_root_device): Update callers.
15482 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15483
15484 * util/raid.c (grub_util_getdiskname): Remove.
15485 (grub_util_raid_getmembers): Use grub_find_device rather than
15486 grub_util_getdiskname.
15487
e5bfc130
CW
154882010-09-16 Colin Watson <cjwatson@ubuntu.com>
15489
15490 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15491 needing to be compiled with serial support.
15492 (ls): Indicate that multiple files are accepted.
15493 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15494 indicate that multiple files are accepted.
15495
be458ae2
CW
154962010-09-16 Colin Watson <cjwatson@ubuntu.com>
15497
15498 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15499 libgrub_a_init.c, and util/bash-completion.d/grub.
15500
cb731b5e
VS
155012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * util/grub-setup.c (setup): Fix incorrect container semantics.
15504
35139e8a
VS
155052010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15508 misusage.
15509 Reported by: J. Nick Terry
15510
e50fca4a
VS
155112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 Move embedding routines to partmap sources files.
15514
15515 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15516 [GRUB_UTIL]: New variable.
15517 (gpt_partition_map_iterate): Set part.parent.
15518 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15519 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15520 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15521 New function.
15522 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15523 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15524 (grub_partition_map) [GRUB_UTIL]: New field embed.
15525 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15526 (setup): Use ->embed.
15527
f00478b7
VS
155282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15531 function.
15532 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15533 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15534
2b94e3ff
YB
155352010-09-15 Yves Blusseau <blusseau@zetam.org>
15536
15537 Add function to get completions from usage.
15538
15539 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15540 completions from usage. Use LC_ALL=C to get options properly.
15541
2e04a006
VS
155422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * grub-core/gnulib/basename-lgpl.c: Imported.
15545 * grub-core/gnulib/basename.c: Likewise.
15546 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15547 * grub-core/gnulib/dirname.c: Likewise.
15548 * grub-core/gnulib/dirname.h: Likewise.
15549 * grub-core/gnulib/stripslash.c: Likewise.
15550
5dcdf93a
VS
155512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * grub-core/gnulib/error.c: Resynced.
15554 * grub-core/gnulib/getopt.c: Likewise.
15555 * grub-core/gnulib/getopt_int.h: Likewise.
15556 * grub-core/gnulib/regex.h: Likewise.
15557 * grub-core/gnulib/regex_internal.c: Likewise.
15558 * grub-core/gnulib/regex_internal.h: Likewise.
15559
014f47b7
SJ
155602010-09-15 Szymon Janc <szymon@janc.net.pl>
15561
15562 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15563 CRC calculations and validity checks.
15564 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15565 calculations.
15566
dd521a4a
SJ
155672010-09-15 Szymon Janc <szymon@janc.net.pl>
15568
15569 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15570
79c4eeb9
VS
155712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 Fix incorrect echo options handling.
15574 Reported by: Yves Blusseau.
15575
15576 * include/grub/command.h (grub_command_flags_t): New flags
15577 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15578 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15579 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15580
ed80f7d5
VS
155812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15584 users updated.
15585 (GRUB_COMMAND_FLAG_MENU): Likewise.
15586 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15587 (GRUB_COMMAND_FLAG_TITLE): Removed.
15588 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15589 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15590 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15591 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15592 (grub_command_flags_t): New enum. All users updated.
15593
5fe7620a
SG
155942010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15595
15596 Fix solaris compilation.
15597
15598 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15599 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15600 (grub-emu-list): Likewise.
15601
545b752f
VS
156022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 Remove deprecated root command.
15605
15606 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15607 updated.
15608
6c1a338c
VS
156092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 * util/i386/pc/grub-setup.c: Merge this ...
15612 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15613 * util/grub-setup.c: ... into this.
15614 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15615 New struct.
15616
156172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15620 possible.
15621
d2ea4551
VS
156222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15625 allocate p.
15626
3c3b5040
VS
156272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15630 explicit root argument to set to prevent UUID to be interpreted as
15631 argument to set.
15632
b71c3fae
VS
156332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15634
15635 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15636
275433e6
VS
156372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 Don't export grub_gate_a20.
15640
15641 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15642 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15643 to ...
15644 (grub_gate_a20): ... this. All users updated.
15645 * include/grub/i386/pc/init.h: Removed. All users updated.
15646
a5dbb1f1
VS
156472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 Create euro.pf2 which supports most European languages.
15650
15651 * Makefile.am (grubdata_DATA): Add euro.pf2.
15652 (euro.pf2): New target.
15653 (CLEANFILES): Add euro.pf2.
15654
62a747cb
VS
156552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 * configure.ac: Disable emu-usb by default to prevent inadvertent
15658 device takeover.
15659
608e43b1
VS
156602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15661
15662 Disable usbserial on grub-emu since our libusb code isn't good enough
15663 yet.
15664
15665 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15666 (usbserial_pl2303): Likewise.
15667 (usbserial_ftdi): Likewise.
15668
94564f81
VS
156692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 * include/grub/disk.h (grub_disk): Remove has_partitions.
15672 All users updated.
15673 * disk/loopback.c (grub_loopback): Remove has_partitions.
15674 All users updated.
15675 (options): Remove partitions. All users updated.
15676 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15677 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15678 actual partition table is found.
15679
3352800b
VS
156802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 Remove readability checks (too many false negatives).
15683
15684 * util/grub-install.in: Remove readability checks.
15685 * util/grub-mkconfig.in: Likewise.
15686 * util/grub.d/10_hurd.in: Likewise.
15687 * util/grub.d/10_kfreebsd.in: Likewise.
15688 * util/grub.d/10_linux.in: Likewise.
15689 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15690 way.
15691
2419f17a
VS
156922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 Enable acpi shutdown on all ACPI platforms.
15695
15696 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15697 on coreboo, multiboot and EFI.
15698 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15699 (grub_acpi_halt): Likewise.
15700 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15701 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15702 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15703 * grub-core/lib/i386/halt.c (grub_halt)
15704 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15705
0575c7c3
VS
157062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15709 context.
15710
54ac3cd1
VS
157112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15714 * grub-core/video/efi_uga.c: Likewise.
15715
b2a30ac5
VS
157162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 Filter devaliases and never open same device twice.
15719
15720 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15721 (last_ihandle): Likewise.
15722 (ofdisk_hash_ent): New member shortest.
15723 (ofdisk_hash_add): Add canonical path too.
15724 (scan): New function.
15725 (grub_ofdisk_iterate): Iterate over hashed entries.
15726 (compute_dev_path): Don't add :0.
15727 (grub_ofdisk_open): Don't really open the disk.
15728 (grub_ofdisk_close): Avoid closing unrelated disk.
15729 (grub_ofdisk_read): Implement reopen logic.
15730 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15731 New function.
15732 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15733 New proto.
15734
fb53b340
VS
157352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 Fix sparc64.
15738
15739 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15740 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15741 right address. Add sparc64_ieee1275_ldflags.
15742 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15743 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15744 to grub_host_to_target_addr
15745 (load_image): Likewise.
15746
f452b040
VS
157472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * grub-core/normal/completion.c (complete_file): Handle device
15750 containing slash.
15751 Fix based on patch by Doug Nazar.
15752
9b5b2541
VS
157532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 grub-mknetdir script.
15756
15757 * Makefile.util.def (grub-mknetdir): New module.
15758 * tests/util/grub-shell.in: Support boot=net
15759 * util/grub-mknetdir.in: New file.
15760
9d2be652
VS
157612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 videoinfo on non-vbe.
15764
15765 * grub-core/Makefile.core.def (vbeinfo): Removed.
15766 (vbetest): Removed.
15767 (videoinfo): New module.
15768 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15769 * grub-core/commands/i386/pc/vbetest.c: Removed.
15770 * grub-core/commands/videoinfo.c: New file.
15771 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15772 specification.
15773 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15774 as vbetest.
15775 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15776 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15777 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15778 mode_number. New parameter mode. All users updated.
15779 (grub_video_gop_iterate): New function.
15780 (grub_video_efi_gop): New member iterate.
15781 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15782 (grub_vbe_set_video_mode): Remove setting useless fields.
15783 (vbe2videoinfo): New function.
15784 (grub_video_vbe_iterate): Likewise.
15785 (grub_video_vbe_setup): Use vbe2videoinfo.
15786 (grub_video_vbe_print_adapter_specific_info): New function.
15787 (grub_video_vbe_adapter): New fields iterate and
15788 print_adapter_specific_info.
15789 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15790 All users updated.
15791 (grub_video_mode_info): New field mode_number.
15792 (grub_video_adapter): New fields iterate and
15793 print_adapter_specific_info.
15794
179503f5
TG
157952010-09-13 Tristan Gingold <gingold@free.fr>
157962010-09-13 Robert Millan <rmh.grub@aybabtu.com>
157972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 * grub-core/commands/efi/lsefisystab.c: New file.
15800 * grub-core/commands/efi/lssal.c: Likewise.
15801 * grub-core/Makefile.core.def (lsacpi): New module.
15802 (lsefisystab): Likewise.
15803 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15804 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15805 (grub_efi_sal_system_table): New struct.
15806 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15807 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15808 (grub_efi_sal_system_table_platform_features): Likewise.
15809 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15810 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15811 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15812 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15813
cf9827de
VS
158142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 Support explicit user claim that a device is BIOS-visible.
15817
15818 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15819 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15820 * grub-core/kern/emu/hostdisk.c
15821 (convert_system_partition_to_system_disk): Support mdX.
15822 (find_system_device): New parameter add. All users updated.
15823 (grub_util_biosdisk_is_present): New function.
15824 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15825 proto.
15826
53f0eb1f
VS
158272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 Search hints support.
15830
15831 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15832 All users updated.
15833
b23ffd70
YB
158342010-09-13 Yves Blusseau <blusseau@zetam.org>
15835
15836 Bash completion script for util commands
15837
15838 * Makefile.am: Add util/bash-completion.d directory
15839 * configure.ac: Likewise.
15840 * util/bash-completion.d/Makefile.am: New file.
15841 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15842
d547dc28
VS
158432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15846 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15847 Reported by: Yves Blusseau.
15848
2fc8ccb9
VS
158492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15852 partition size and offset.
15853
d8a84076
VS
158542010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15857
84fb3b3d
VS
158582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15861
768ec2e2
VS
158622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15865 (grub_xvasprintf): Likewise.
15866
4870900f
VS
158672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15868
15869 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15870
faca6bec
VS
158712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15872
15873 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15874 args ending with NULL.
15875
158762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15877
15878 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15879 pointer.
15880
3c70f225
SJ
158812010-09-11 Szymon Janc <szymon@janc.net.pl>
15882
15883 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15884
4df7996d
VS
158852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 Shutdown using ACPI.
15888
15889 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15890 * grub-core/commands/acpihalt.c: New file.
15891 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15892 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15893 (grub_acpi_halt): New proto.
15894 (GRUB_ACPI_SLP_EN): New const.
15895 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15896 (GRUB_ACPI_OPCODE_*): New enum.
15897 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15898
126b4c32
TG
158992010-09-11 Tristan Gingold <gingold@free.fr>
159002010-09-11 Robert Millan <rmh.grub@aybabtu.com>
159012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * commands/lsacpi.c: New file.
15904 * grub-core/Makefile.core.def (lsacpi): New module.
15905 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15906 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15907 (grub_acpi_madt_entry_header): New struct.
15908 (grub_acpi_madt): Likewise.
15909 (grub_acpi_madt_entry_interrupt_override): Likewise.
15910 (grub_acpi_madt_entry_sapic): Likewise.
15911 (grub_acpi_madt_entry_lsapic): Likewise.
15912 (grub_acpi_madt_entry_platform_int_source): Likewise.
15913 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15914 (PRIuGRUB_UINT32_T): Likewise.
15915 (PRIxGRUB_UINT64_T): Likewise.
15916
1aa4fe88
VS
159172010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 Implement loading palette on ieee1275_fb.
15920
15921 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15922 (have_setcolors): Likewise.
15923 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15924 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15925 (grub_video_ieee1275_set_palette): Implement.
15926
25761e13
VS
159272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
159282010-09-11 Colin Watson <cjwatson@ubuntu.com>
15929
15930 * util/grub-install.in (grub_partition): New variable.
15931 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15932 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15933 Fixes a bug reported by Yves Blusseau.
15934
050abaea
VS
159352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 Fix emu on mipsel.
15938
15939 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15940 =grub_cpu_flush_cache on all mips and not only yeeloong.
15941 * configure.ac (COND_mips): New conditional.
15942 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15943 platforms.
15944 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15945 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15946 [GRUB_LINKER_HAVE_INIT]: New function.
15947 (grub_emu_post_init): Likewise.
15948 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15949 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15950 * include/grub/cache.h (_mips): Include mips/cache.h.
15951 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15952 LVM and RAID prototypes.
15953 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15954 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15955 function.
15956
5ed7d816
CW
159572010-09-10 Colin Watson <cjwatson@ubuntu.com>
15958
15959 * util/grub-install.in: Don't try to verify core.img until after
15960 running grub-mkimage to create it.
15961
90367e04
RM
159622010-09-10 Robert Millan <rmh@gnu.org>
15963
15964 * util/grub.d/10_hurd.in: Add misc readability checks.
15965 * util/grub.d/10_kfreebsd.in: Likewise.
15966 * util/grub.d/10_linux.in: Likewise.
15967
c452fa66
CW
159682010-09-10 Colin Watson <cjwatson@ubuntu.com>
15969
15970 * util/grub-install.in: ${imgext} won't be defined here until the
15971 install branch is merged. For the meantime, only verify core.img on
15972 i386-pc and sparc64-ieee1275 platforms.
15973
c38fe9f4
RM
159742010-09-10 Robert Millan <rmh@gnu.org>
15975
15976 Solaris support in grub_find_zpool_from_dir(). Thanks
15977 Seth Goldberg for referring to getextmntent() facility.
15978
15979 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15980 `sys/mkdev.h'.
15981 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15982 `<sys/mnttab.h>'.
15983 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15984 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15985 method for finding zpool name.
15986
905f7773
CW
159872010-09-10 Colin Watson <cjwatson@ubuntu.com>
15988
15989 grub-fstest needs the host and hostfs modules while other utilities
15990 actively require those modules to be absent, so grub-fstest needs
15991 its own initialisation and finalisation code.
15992
15993 * Makefile.am (grub_fstest.pp): New target.
15994 (grub_fstest_init.lst): Likewise.
15995 (grub_fstest_init.c): Likewise.
15996 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15997
fb90b546
RM
159982010-09-10 Robert Millan <rmh@gnu.org>
15999
16000 * configure.ac: Check for `struct statfs.f_fstypename' and
16001 `struct statfs.f_mntfromname'.
16002
16003 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
16004 kFreeBSD-specific code.
16005
66d4bea5
RM
160062010-09-10 Robert Millan <rmh@gnu.org>
16007
16008 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
16009 on ZFS. Now non-main filesystems are supported as / too.
16010
b6a690ee
CW
160112010-09-09 Colin Watson <cjwatson@ubuntu.com>
16012
16013 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
16014 and grub-core/disk/host.c to ...
16015 (grub-fstest): ... here. Having the host disk implementation
16016 present confuses grub-probe and other utility programs.
16017
16018 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
16019 when writing to a file, not when writing to stdout.
16020
8901b00c 160212010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
16022
16023 * tests/partmap_test.in: New test for partitions.
16024 * Makefile.util.def: Rules for new test.
16025
7bf45fdd
RM
160262010-09-09 Robert Millan <rmh@gnu.org>
16027
16028 * util/grub-probe.c (probe): Fix a pair of unhandled error
16029 conditions.
16030
4dfbc574
RM
160312010-09-09 Robert Millan <rmh@gnu.org>
16032
16033 Basic Btrfs support (detection and UUID).
16034
16035 * grub-core/fs/btrfs.c: New file.
16036 * Makefile.util.def (library): Register btrfs.c.
16037 * grub-core/Makefile.core.def: Likewise.
16038
6b8e78ae
RM
160392010-09-08 Robert Millan <rmh@gnu.org>
16040
16041 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
16042 with (optional) parameters to specify device and relative path.
16043 * util/grub-install.in: Use is_path_readable_by_grub() to
16044 verify readability of a few critical files.
16045 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
16046 verify readability of grub.cfg.new.
16047
27f21a8b
VS
160482010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 Split minix.mod into minix.mod and minix2.mod.
16051
16052 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
16053 * grub-core/Makefile.core.def (minix2): New module.
16054 * grub-core/fs/minix.c: Use definitions instead of runtime version
16055 checking.
16056 * grub-core/fs/minix2.c: New file.
16057
c0e53ea5
YB
160582010-09-08 Yves Blusseau <blusseau@zetam.org>
16059
16060 Add new --boot-directory option to replace --root-directory
16061
16062 * util/grub-install.in: Add new --boot-directory option
16063 * util/grub-reboot.in: Likewise.
16064 * util/grub-set-default.in: Likewise.
16065
b9fe6ea2
YB
160662010-09-08 Yves Blusseau <blusseau@zetam.org>
16067
16068 * util/grub-mkconfig.in: Use new variable.
16069
d87aedff
YB
160702010-09-08 Yves Blusseau <blusseau@zetam.org>
16071
16072 * configure.ac: Define some useful variables.
16073
e55e8495
VS
160742010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16077 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16078 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16079 Use terminfo and don't use cursor-on/cursor-off unless it's known
16080 to work.
16081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16082 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16083
6fa6d675
CW
160842010-09-08 Colin Watson <cjwatson@ubuntu.com>
16085
16086 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16087 starts with "(,", fill the drive containing the loaded image in
16088 between those two characters, but expect that a full partition
16089 specification including partition map names will follow.
16090
92f2aef0
RM
160912010-09-08 Robert Millan <rmh@gnu.org>
16092
16093 * configure.ac: Remove `--enable-grub-fstest' option.
16094 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16095
16096 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16097 `grub-fstest' instead of `grub-probe' for readability verification.
16098 * util/grub-probe.c (probe): Remove readability verification kludge.
16099
99fd620d
RM
161002010-09-08 Robert Millan <rmh@gnu.org>
16101
16102 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16103 initializing `GRUB_FS'.
16104
058e30ac 161052010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16106
16107 Not command (!) support to GRUB script.
16108
16109 * tests/grub_script_not.in: New test.
16110 * Makefile.util.def: Rules for new test.
16111
16112 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16113 ! command as a special case.
16114 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16115
b61d05ed 161162010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16117
058e30ac 16118 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16119 grub_free.
b61d05ed 16120
4d69c786 161212010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16122
16123 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16124
aa3119c4 161252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16126
16127 * docs/grub.texi (Shell-like scripting): Documentation for break,
16128 continue, shift and return commands.
16129
db0f7e3d
VS
161302010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 Rename CD-ROM to cd on BIOS.
16133
16134 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16135 "cd".
16136 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16137
88b87c93
VS
161382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16141 * util/grub-probe.c (main): Likewise.
16142 * util/i386/pc/grub-setup.c (main): Likewise.
16143 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16144 Reported and debugged by: alexxy
16145
294f324d
VS
161462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16149 diagnostic info.
16150
d7ee3441
JS
161512010-09-05 Jo Shields <directhex@apebox.org>
16152
16153 * util/grub.d/30_os-prober.in: Add missing classes.
16154
d7e06c1f
VS
161552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * docs/grub.texi (Theme file format): Document new position format.
16158
fc157e53
VS
161592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16162 a table. Use @code instead of @verbatim.
16163
506e9a1c
CB
161642010-09-05 Colin D Bennett <colin@gibibit.com>
16165
16166 Gfxmenu documentation.
16167
16168 * docs/grub.texi (Theme file format): New chapter.
16169
f0aff67c
SJ
161702010-09-05 Szymon Janc <szymon@janc.net.pl>
16171
16172 * grub-core/Makefile.core.def (xzio): New module.
16173 * grub-core/io/xzio.c: New file.
16174 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16175 * grub-core/lib/xzembed/xz_config.h: Likewise.
16176 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16177 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16178 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16179 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16180 * grub-core/lib/xzembed/xz_private.h: Likewise.
16181 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16182 * include/grub/file.h (grub_file_filter_id): New compression filter
16183 GRUB_FILE_FILTER_XZIO.
16184
82a85062
VS
161852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16186
16187 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16188 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16189 size.
16190
3579415d
VS
161912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16192
16193 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16194 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16195
5124ae6d
VS
161962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 Uncompressed checksum support.
16199
16200 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16201 (check_list): New parameter uncompress.
16202 (grub_cmd_hashsum): Handle --uncompress.
16203
9aadb3d1
VS
162042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 Reintroduce testload.
16207
16208 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16209 from here ...
16210 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16211 (GRUB_MOD_INIT): New function.
16212 (GRUB_MOD_FINI): Likewise.
16213 * grub-core/Makefile.core.def (testload): New module.
16214
a17792c3
SJ
162152010-09-05 Szymon Janc <szymon@janc.net.pl>
16216
16217 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16218 (uint8_t): New type.
16219 (uint16_t): Likewise.
16220 (uint32_t): Likewise.
16221 (uint64_t): Likewise.
16222
b81e40a3
SJ
162232010-09-05 Szymon Janc <szymon@janc.net.pl>
16224
16225 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16226
fc2ef117
VS
162272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16230 Made static.
16231 (grub_gzfile_open): Removed. All users updated.
16232 (GRUB_MOD_INIT): New function.
16233 (GRUB_MOD_FINI): Likewise.
16234 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16235 (grub_file_filters_enabled): Likewise.
16236 (grub_file_open): Handle filters.
16237 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16238 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16239 * include/grub/file.h (grub_file_filter_id_t): New type.
16240 (grub_file_filter_t): Likewise.
16241 (grub_file_filters_all): New extern variable.
16242 (grub_file_filters_enabled): Likewise.
16243 (grub_file_filter_register): New inline function.
16244 (grub_file_filter_unregister): Likewise.
16245 (grub_file_filter_disable): Likewise.
16246 (grub_file_filter_disable_compression): Likewise.
16247 * include/grub/gzio.h: Removed.
16248
35ee15e0
BC
162492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16250
16251 Filename expansion support for wildcards in GRUB script.
16252
16253 * tests/grub_script_expansion.in: New test.
16254 * Makefile.util.def: Rule for new test.
16255
16256 * grub-core/commands/wildcard.c: New file, implements filename
16257 expansion support for GRUB script.
16258 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16259 * grub-core/script/argv.c: Cosmetic changes.
16260 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16261 Refactored to perform wildcard expansion on arguments.
16262 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16263 struct.
16264
16265 * tests/util/grub-shell.in: Fix quoting for read input.
16266
5f0c4aca
BC
162672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16268
16269 Support for updating environment variables with matched substrings
16270 of regexp.
16271
16272 * tests/grub_cmd_regexp.in: New test.
16273 * Makefile.util.def: Rule for new test.
16274
16275 * grub-core/commands/regexp.c: New option -s to update environment
16276 variables with regexp matches.
16277
3759a35f
SJ
162782010-09-04 Szymon Janc <szymon@janc.net.pl>
16279
16280 * include/grub/file.h (grub_file): New member not_easly_seekable.
16281 (grub_file_seekable): New inline function.
16282 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16283 easily seekable.
16284 (grub_gzio_open): Set not_easly_seekable.
16285 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16286 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16287
ed8c6dec
BC
162882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16289
16290 Support for options to appear multiple times on cmdline.
16291
16292 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16293 * grub-core/commands/extcmd.c: Support for repeatable option.
16294 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16295 repeatable option support.
16296
16297 Refactor menuentry into a regular command.
16298
16299 * grub-core/commands/menuentry.c: New file, menuentry command
16300 implementation.
16301 * grub-core/Makefile.core.def: Rule update for normal.mod.
16302 * grub-core/normal/main.c: Moved menuentry creation to
16303 grub-core/commands/menuentry.c.
16304 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16305 (grub_menu_execute_entry_real): Removed.
16306 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16307 function.
16308 (grub_script_execute_menuentry): Removed.
16309 * grub-core/script/parser.y (menuentry): Removed.
16310 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16311 * grub-core/script/yylex.l (menuentry): Removed.
16312 * include/grub/menu.h (grub_menu_init): New prototype.
16313 (grub_menu_fini): New prototype.
16314 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16315 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16316 (grub_script_execute_sourcecode): New prototype.
16317
dacd0cf0
BC
163182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16319
16320 "return" command for GRUB script functions.
16321
16322 * tests/grub_script_return.in: New test.
16323 * Makefile.util.def: Rules for new test.
16324
16325 * grub-core/script/execute.c (grub_script_return): New function.
16326 * grub-core/script/main.c: Register/unregister return commaond.
16327 * include/grub/script_sh.h (grub_script_return): New prototype.
16328
52e72f9d
BC
163292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16330
16331 "setparams" command to update positional parameters.
16332
16333 * tests/grub_script_setparams.in: New test.
16334 * Makefile.util.def: Rules for new test.
16335
16336 * grub-core/script/argv.c (grub_script_argv_make): New function.
16337 * grub-core/script/execute.c (replace_scope): New function.
16338 (grub_script_setparams): New function.
16339 * grub-core/script/lexer.c: Remove unused variables.
16340 * grub-core/script/main.c: Register/unregister setparams command.
16341 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16342 (grub_script_setparams): New prototype.
16343
25b60c91
BC
163442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16345
16346 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16347 grub_free order.
16348
37e7bf68
BC
163492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16350
16351 Support for passing block of commands as an argument to extcmds.
16352
16353 * Makefile.util.def: Rules for new test.
16354 * tests/grub_script_blockarg.in: New test.
16355 * grub-core/tests/test_blockarg.c: New file, block argument
16356 command used in the test.
16357
16358 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16359 (grub_register_extcmd_prio): New function prototype.
16360 (grub_extcmd_dispatcher): New function prototype.
16361 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16362 type.
16363 * include/grub/script_sh.h (struct grub_script): New members
16364 `children', `next_siblings' and `refcnt' for block arguments and
16365 reference counting.
16366 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16367 (grub_script_arg): New member `script' for block argument.
16368 (grub_script_argv): New member `script' for block argument.
16369 (grub_parser_param): New member `scripts' for block argument.
16370 (grub_script_mem_free): New extern function prototype.
16371 (grub_script_ref): New function prototype.
16372 (grub_script_unref): New function prototype.
16373
16374 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16375 extcmd form to support block arguments.
16376 * grub-core/script/argv.c: Block arguments support.
16377 * grub-core/script/execute.c: Likewise.
16378 * grub-core/script/lexer.c: Likewise.
16379 * grub-core/script/main.c: Likewise.
16380 * grub-core/script/script.c: Likewise.
16381 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16382 non-terminals.
16383
16384 * grub-core/commands/acpi.c: Update extcmd implementations with
16385 grub_extcmd_context_t.
16386 * grub-core/commands/cat.c: Likewise.
16387 * grub-core/commands/echo.c: Likewise.
16388 * grub-core/commands/extcmd.c: Likewise.
16389 * grub-core/commands/hashsum.c: Likewise.
16390 * grub-core/commands/hdparm.c: Likewise.
16391 * grub-core/commands/help.c: Likewise.
16392 * grub-core/commands/hexdump.c: Likewise.
16393 * grub-core/commands/i386/cpuid.c: Likewise.
16394 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16395 * grub-core/commands/i386/pc/halt.c: Likewise.
16396 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16397 * grub-core/commands/iorw.c: Likewise.
16398 * grub-core/commands/keystatus.c: Likewise.
16399 * grub-core/commands/loadenv.c: Likewise.
16400 * grub-core/commands/ls.c: Likewise.
16401 * grub-core/commands/lspci.c: Likewise.
16402 * grub-core/commands/memrw.c: Likewise.
16403 * grub-core/commands/probe.c: Likewise.
16404 * grub-core/commands/search_wrap.c: Likewise.
16405 * grub-core/commands/setpci.c: Likewise.
16406 * grub-core/commands/sleep.c: Likewise.
16407 * grub-core/disk/loopback.c: Likewise.
16408 * grub-core/hello/hello.c: Likewise.
16409 * grub-core/loader/i386/bsd.c: Likewise.
16410 * grub-core/loader/xnu.c: Likewise.
16411 * grub-core/term/gfxterm.c: Likewise.
16412 * grub-core/term/serial.c: Likewise.
16413 * grub-core/tests/lib/functional_test.c: Likewise.
16414
888d1500
BC
164152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16416
16417 Multi-line quoted strings support.
16418
16419 * grub-core/script/lexer.c (append_newline): Removed.
16420 (grub_script_lexer_yywrap): Refactored.
16421 (grub_script_lexer_init): Refactored.
16422 * grub-core/script/yylex.l (yywrap): New function.
16423 (grub_lexer_resplit): New function.
16424 (grub_lexer_unput): New function.
16425 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16426 and resplit.
16427 * tests/grub_script_echo1.in: Added few more testcases.
16428
dda060dd
VS
164292010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * grub-core/kern/misc.c: Don't add abort alias in utils.
16432 Reported by: echoline.
16433
6556eba9
BC
164342010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16435
16436 Add missing files into "make dist" tarball for other platforms.
16437
16438 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16439 * conf/Makefile.common (dist_noinst_DATA): New variable.
16440 * conf/Makefile.extra-dist: Added missing make dist files.
16441 * grub-core/Makefile.core.def: Likewise.
16442
c8e7bf5f
VS
164432010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 Compress grub_prefix.
16446
16447 * grub-core/boot/i386/pc/lnxboot.S: Use
16448 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16449 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16450 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16451 GRUB_MACHINE_PREFIX_END. All users updated.
16452 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16453 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16454 + 0x40.
16455 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16456 * util/grub-mkimage.c (image_target_desc): Change data_end to
16457 prefix_end. All users updated.
16458
a7c00cdb
VS
164592010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16462 value.
16463 (grub_openbsd_boot): Likewise.
16464 (grub_netbsd_boot): Likewise.
16465 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16466 (grub_xnu_boot): Likewise.
16467
9f915872
VS
164682010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16469
16470 * configure.ac: Clean LIBS variable after tests.
16471
efa1bee7
CW
164722010-09-02 Colin Watson <cjwatson@ubuntu.com>
16473
16474 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16475
61d720e5
VS
164762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16479 echo if libdevmapper will be used.
16480
ef8e0ec8
IT
164812010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16482
16483 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16484 constant for the same file.
16485
03e261d8
VS
164862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16489
c2a4eba6
CW
164902010-09-02 Colin Watson <cjwatson@ubuntu.com>
16491
16492 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16493 grub-core/*.pp.
16494
9056cbf3
CW
164952010-09-02 Colin Watson <cjwatson@ubuntu.com>
16496
16497 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16498 required by the boot protocol.
16499
16500 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16501 ebp and edi members.
16502 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16503 state.ebp and state.edi.
16504 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16505 %ebp and %edi according to grub_relocator32_ebp and
16506 grub_relocator32_edi respectively.
16507 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16508 and state.edi.
16509
529cc99a
VS
165102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 Add i386-pc-pxe image target.
16513
16514 * util/grub-mkimage.c (image_target_desc): New enum value
16515 IMAGE_I386_PC_PXE.
16516 (image_targets): New target i386-pc-pxe.
16517 (generate_image): Handle i386-pc-pxe image.
16518
9a093920
VS
165192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 Fix grub_pxe_scan.
16522
16523 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16524 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16525 All users updated.
16526 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16527 (grub_pxe_pxenv): Correct type.
16528
f9cefc4e
CW
165292010-09-01 Colin Watson <cjwatson@ubuntu.com>
16530
16531 * NEWS: Document most of the important changes since 1.98.
16532
4066f57f
CW
165332010-09-01 Colin Watson <cjwatson@ubuntu.com>
16534
16535 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16536 generated manual page) a little.
16537
da2891f9
CW
165382010-09-01 Colin Watson <cjwatson@ubuntu.com>
16539
16540 * docs/grub.texi: Add myself as an author.
16541
ad717fae
VS
165422010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 * Makefile.util.def (libgrub.a): Add missing sunpc.
16545 Reported by: Seth Goldberg.
16546
eefe8abd
VS
165472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 Interrupt wrapping and code simplifications.
16550
9494ef9a
VS
16551 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16552 x86_noieee1275 which are functionaly equivalent in this case.
16553 (grub-install): Make source on each platform explicit. Enable on
16554 all noemu.
16555 * gentpl.py (x86_efi_pc): Removed group.
16556 (x86_noefi): Likewise.
16557 (i386_noefi): Likewise.
16558 (x86_noieee1275): Likewise.
16559 (i386_noieee1275): Likewise.
16560 (i386_noefi_noieee1275): Likewise.
16561 (i386_pc_qemu_coreboot): Likewise.
16562 (i386_coreboot_multiboot): Likewise.
16563 (i386_pc_coreboot_multiboot_qemu): Likewise.
16564 (x86_noefi_mips): Likewise.
16565 (noieee1275): Likewise.
16566 (ieee1275_mips): Likewise.
16567 (noemu_noieee1275): Likewise.
16568 (cmos): New group.
16569 (usb): Likewise.
16570 (videoinkernel): Likewise.
16571 (videomodules): Likewise.
eefe8abd 16572 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16573 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16574 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16575 include/grub/loader.h, include/grub/msdos_partition.h,
16576 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16577 include/grub/machine/console.h, include/grub/machine/vga.h,
16578 include/grub/machine/vbe.h, include/grub/machine/init.h,
16579 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16580 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16581 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16582 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16583 * grub-core/Makefile.core.def (kernel): Explicit the source for
16584 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16585 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16586 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16587 Use videoinkernel tag.
16588 (usb): Enable on all usb.
16589 (usbserial_common): Likewise.
16590 (usbserial_pl2303): Likewise.
16591 (usbserial_ftdi): Likewise.
16592 (uhci): Enable on all x86.
16593 (ohci): Enable on all pci.
16594 (cmostest): Enable on all CMOS.
16595 (acpi): Include commands/acpi.c on all platforms.
16596 (halt): Add relevant lib/*/halt.c.
16597 (hdparm): Enable on all pci.
16598 (lspci): Likewise.
16599 (usbtest): Enable on all usb.
16600 (ata): Enable on all pci.
16601 (ata_pthru): Likewise.
16602 (usbms): Enable on all usb.
16603 (usb_keyboard): Likewise.
16604 (font): Use tag videomodules.
16605 (bufio): Likewise.
16606 (datetime): Use tag cmos. Enable on all noemu.
16607 (mmap): Use tags common and x86.
16608 (gfxterm): Use tag videomodules.
16609 (bitmap): Likewise.
16610 (bitmap_scale): Likewise.
16611 (video_fb): Likewise.
16612 (video): Likewise.
16613 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16614 adjust padding accordingly. All users updated.
16615 (grub_ohci_transaction): Fix bad format specification.
16616 (GRUB_MOD_INIT): Add asserts for struct size.
16617 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16618 (grub_alloc_td): Likewise.
16619 (grub_free_queue): Likewise.
16620 (grub_uhci_transfer): Likewise.
16621 (grub_uhci_transaction): Fix bad format specification.
16622 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16623 (grub_usb_bulk_readwrite): Likewise.
16624 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16625 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16626 Made static.
16627 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16628 Made static.
16629 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16630 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16631 Transformed into C.
16632 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16633 Moved from here ...
16634 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16635 ... here. Transformed into C. Made static.
16636 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16637 Moved from here ...
16638 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16639 ... here. Transformed into C. Made static.
16640 * grub-core/kern/i386/pc/startup.S
16641 (grub_biosdisk_check_int13_extensions): Moved from here ...
16642 * grub-core/disk/i386/pc/biosdisk.c
16643 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16644 Made static.
16645 * grub-core/kern/i386/pc/startup.S
16646 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16647 * grub-core/disk/i386/pc/biosdisk.c
16648 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16649 Transformed into C. Made static.
16650 * grub-core/kern/i386/pc/startup.S
16651 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16652 * grub-core/disk/i386/pc/biosdisk.c
16653 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16654 Transformed into C. Made static.
16655 * grub-core/kern/i386/pc/startup.S
16656 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16657 * grub-core/disk/i386/pc/biosdisk.c
16658 (grub_biosdisk_get_diskinfo_standard): ... here.
16659 Transformed into C. Made static.
16660 * grub-core/kern/i386/pc/startup.S
16661 (grub_biosdisk_get_num_floppies): Moved from here ...
16662 * grub-core/disk/i386/pc/biosdisk.c
16663 (grub_biosdisk_get_num_floppies): ... here.
16664 Transformed into C. Made static.
16665 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16666 New function.
16667 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16668 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16669 Transformed into C. Made static.
16670 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16671 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16672 Transformed into C. Made static.
16673 * grub-core/kern/i386/ieee1275/init.c: Removed.
16674 * grub-core/kern/i386/misc.S: Likewise.
16675 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16676 Splitted from here ...
16677 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16678 Transformed into C. Made static. All users updated.
16679 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16680 Transformed into C. Made static. All users updated.
16681 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16682 Moved from here...
16683 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16684 Transformed into C. Made static. All users updated.
16685 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16686 Moved from here...
16687 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16688 Transformed into C. Made static. All users updated.
16689 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16690 Removed (replaced by C version).
16691 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16692 Moved from here...
16693 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16694 Transformed into C. Made static.
16695 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16696 Moved from here...
16697 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16698 ... here. Transformed into C.
16699 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16700 Moved from here...
16701 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16702 ... here. Transformed into C.
16703 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16704 Moved from here...
16705 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16706 ... here. Transformed into C. Made static.
16707 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16708 Moved from here...
16709 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16710 ... here. Transformed into C.
21ed554b
VS
16711 * grub-core/kern/i386/pc/startup.S
16712 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16713 * grub-core/video/i386/pc/vbe.c
16714 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16715 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16716 Moved from here...
16717 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16718 ... here. Transformed into C.
16719 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16720 Moved from here...
16721 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16722 ... here. Transformed into C.
16723 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16724 Moved from here...
16725 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16726 ... here. Transformed into C.
16727 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16728 Moved from here...
16729 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16730 ... here. Transformed into C.
16731 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16732 Moved from here...
16733 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16734 ... here. Transformed into C. Made static.
16735 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16736 Moved from here...
16737 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16738 ... here. Transformed into C. Made static.
16739 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16740 Moved from here...
16741 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16742 ... here. Transformed into C. Made static.
16743 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16744 pxe_rm_entry as third argument.
16745 (grub_bios_interrupt): New function.
16746 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16747 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16748 of calling grub_stop.
16749 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16750 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16751 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16752 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16753 * grub-core/lib/i386/halt.c: Moved from here ...
16754 * grub-core/lib/i386/halt.c: ... here.
16755 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16756 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16757 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16758 grub_stop_floppy.
16759 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16760 * include/grub/i386/coreboot/init.h: Removed.
16761 * include/grub/i386/multiboot/init.h: Likewise.
16762 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16763 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16764 * include/grub/i386/pc/int.h: New file.
16765 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16766 (grub_pxe_scan): Removed.
16767 (grub_pxe_call): Update prototype.
16768 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16769 prototypes.
16770 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16771 * include/grub/i386/qemu/init.h: Removed.
16772 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16773 noreturn.
16774 (grub_halt): Likewise.
16775 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16776 (grub_reboot): Likewise.
16777 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16778 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16779 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16780
215dd471
RM
167812010-08-30 Robert Millan <rmh@gnu.org>
16782
16783 * NEWS: Document addition of ZFS support in `grub-install' and
16784 `grub-mkconfig'.
16785
ebd65b82
BC
167862010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16787
16788 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16789 dprintf output.
16790
11721d19
VS
167912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 Remove leftover embedding of font objects.
16794
16795 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16796 * util/grub-install.in (font): Removed.
16797 * util/grub-mkimage.c (generate_image): Remove font support. All users
16798 updated.
16799
37837d4e
VS
168002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 Remove leftover embedding of font objects.
16803
16804 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16805 * util/grub-install.in (font): Removed.
16806 * util/grub-mkimage.c (generate_image): Remove font support. All users
16807 updated.
16808
b4c1aae0
VS
168092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16812 Reported by: Ian Turner
b4c1aae0 16813
8920a08d
VS
168142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16817 timeout to avoid indefinite boot stalling.
16818
f21db033
VS
168192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16822 (grub_env_write_color_highlight): Likewise.
16823
9a9de209
VS
168242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 * grub-core/normal/term.c (print_more): Return to normal and not
16827 to standard state after printing "---MORE---".
16828
3dca01d7
VS
168292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16832 Mask out the bit 0x80 since it has other meaning that specifiing color.
16833
0b986c40
VS
168342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 New relocator. Allows for more kernel support and more straightforward
16837 loader writing.
16838
16839 * Makefile.am (BOOTTARGET): New variable.
16840 (QEMU32): Likewise.
16841 (linux.init.x86_64): New target.
16842 (linux.init.i386): Likewise.
16843 (multiboot.elf): Likewise.
16844 (kfreebsd.elf): Likewise.
16845 (kfreebsd.aout): Likewise.
16846 (pc-chainloader.elf): Likewise.
16847 (pc-chainloader.bin): Likewise.
16848 (ntldr.elf): Likewise.
16849 (ntldr.bin): Likewise.
16850 (multiboot2.elf): Likewise.
16851 (kfreebsd.init.x86_64): Likewise.
16852 (kfreebsd.init.i386): Likewise.
16853 (knetbsd.init.i386): Likewise.
16854 (kopenbsd.init.i386): Likewise.
16855 (knetbsd.init.x86_64): Likewise.
16856 (kopenbsd.init.x86_64): Likewise.
16857 (linux-initramfs.i386): Likewise.
16858 (linux-initramfs.x86_64): Likewise.
16859 (kfreebsd-mfsroot.i386.img): Likewise.
16860 (knetbsd.image.i386): Likewise.
16861 (kopenbsd.image.i386): Likewise.
16862 (kopenbsd.image.x86_64): Likewise.
16863 (knetbsd.miniroot-image.i386.img): Likewise.
16864 (kfreebsd-mfsroot.x86_64.img): Likewise.
16865 (knetbsd.image.x86_64): Likewise.
16866 (knetbsd.miniroot-image.x86_64.img): Likewise.
16867 (kfreebsd-mfsroot.i386.gz): Likewise.
16868 (bootcheck-kfreebsd-i386): Likewise.
16869 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16870 (bootcheck-kfreebsd-x86_64): Likewise.
16871 (knetbsd.miniroot-image.i386.gz): Likewise.
16872 (bootcheck-knetbsd-i386): Likewise.
16873 (bootcheck-kopenbsd-i386): Likewise.
16874 (bootcheck-kopenbsd-x86_64): Likewise.
16875 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16876 (bootcheck-knetbsd-x86_64): Likewise.
16877 (bootcheck-linux-i386): Likewise.
16878 (bootcheck-linux-x86_64): Likewise.
16879 (bootcheck-linux16-i386): Likewise.
16880 (bootcheck-linux16-x86_64): Likewise.
16881 (bootcheck-multiboot): Likewise.
16882 (bootcheck-multiboot2): Likewise.
16883 (bootcheck-kfreebsd-aout): Likewise.
16884 (bootcheck-pc-chainloader): Likewise.
16885 (bootcheck-ntldr): Likewise.
16886 (CLEANFILES): Add new targets.
16887 (BOOTCHECKS): New variable.
16888 (.PHONY): Add bootchecks.
16889 (SUCCESSFUL_BOOT_STRING): New variable.
16890 (BOOTCHECK_TIMEOUT): Likewise.
16891 (bootcheck): New target
16892 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16893 * configure.ac: Correct efiemu excuse.
16894 * docs/grub.texi (Supported kernels): New chapter.
16895 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16896 include/grub/mm_private.h. Simplify inclusion of
16897 include/grub/boot.h, include/grub/loader.h
16898 and include/grub/msdos_partition.h
16899 (KERNEL_HEADER_FILES) [i386_coreboot]:
16900 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16901 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16902 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16903 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16904 include/grub/machine/loader.h.
16905 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16906 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16907 extra_dist.
16908 (pci.mod): Enable on i386-multiboot.
16909 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16910 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16911 i386-qemu.
16912 (relocator.mod): Rewritten.
16913 (aout.mod): Enable on all x86.
16914 (bsd.mod): Likewise.
16915 (ntldr.mod): New module.
16916 (linux.mod): Use loader/i386/linux.c on all x86.
16917 (xnu.mod): Enable on all x86.
16918 (vga_text.mod): disable on EFI and QEMU.
16919 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16920 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16921 * grub-core/efiemu/loadcore.c: Likewise.
16922 * grub-core/efiemu/main.c: Likewise.
16923 (grub_efiemu_exit_boot_services): Removed.
16924 (grub_efiemu_finish_boot_services): Likewise.
16925 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16926 function.
16927 * grub-core/efiemu/i386/nocfgtables.c: New file.
16928 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16929 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16930 (grub_efi_finish_boot_services): Moved from here ...
16931 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16932 Fille finish memory map and related data.
16933 (finish_mmap_buf): New variable.
16934 (grub_efi_uintn_t finish_mmap_size): Likewise.
16935 (grub_efi_uintn_t finish_key): Likewise.
16936 (grub_efi_uintn_t finish_desc_size): Likewise.
16937 (grub_efi_uint32_t finish_desc_version): Likewise.
16938 (grub_efi_is_finished): Likewise.
16939 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16940 finished.
16941 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16942 (grub_elf64_phdr_iterate): Likewise.
16943 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16944 (grub_os_area_size): Likewise.
16945 (grub_machine_init): Don't reserve os area.
16946 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16947 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16948 * grub-core/kern/i386/loader.S: Removed.
16949 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16950 (grub_os_area_size): Likewise.
16951 (grub_machine_init): Don't reserve os area.
16952 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16953 Don't call grub_dl_unload_all.
16954 Don't include loader.S.
16955 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16956 Declare the memory after _end as available.
16957 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16958 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16959 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16960 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16961 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16962 * include/grub/mm_private.h (grub_mm_header): ... here.
16963 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16964 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16965 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16966 (grub_mm_region): ..here. Removed addr. Added pre_size.
16967 All users updated.
16968 * grub-core/kern/mm.c (base): Renamed to ...
16969 (grub_mm_base): ... this. Made global.
16970 (grub_real_malloc): Alloc from end of region.
16971 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16972 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16973 * grub-core/kern/powerpc/cache_flush.S: ... here.
16974 * grub-core/lib/efi/relocator.c: New file.
16975 * grub-core/lib/i386/relocator.c: Rewritten.
16976 * grub-core/lib/i386/relocator16.S: New file.
16977 * grub-core/lib/i386/relocator32.S: Likewise.
16978 * grub-core/lib/i386/relocator64.S: Likewise.
16979 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16980 * grub-core/lib/i386/relocator_common.S: New file.
16981 * grub-core/lib/ieee1275/relocator.c: Likewise.
16982 * grub-core/lib/mips/relocator.c: Rewritten.
16983 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16984 stylistic adjustments.
16985 * grub-core/lib/powerpc/relocator.c: New file.
16986 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16987 * grub-core/lib/relocator.c: Rewritten.
16988 * grub-core/lib/x86_64/relocator_asm.S: New file.
16989 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16990 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16991 (bsd_tag): New struct.
16992 (tags): New variable.
16993 (tags_last): Likewise.
16994 (netbsd_module): New struct.
16995 (netbsd_mods): New variable.
16996 (netbsd_mods_last): Likewise.
16997 (openbsd_opts): New parameter "serial".
16998 (OPENBSD_SERIAL_ARG): New definition.
16999 (netbsd_opts): New parameter "serial".
17000 (NETBSD_SERIAL_ARG): New definition.
17001 (grub_freebsd_add_meta): Reorganised into ...
17002 (grub_bsd_add_meta): ...this. All users updated.
17003 (grub_freebsd_add_mmap): Reorganised into ...
17004 (generate_e820_mmap): ...this...
17005 (grub_bsd_add_mmap): ...and this. All users updated.
17006 (grub_freebsd_list_modules): Use tags.
17007 (grub_netbsd_add_meta_module): New function.
17008 (grub_netbsd_list_modules): Likewise.
17009 (grub_freebsd_boot): Use relocator and finish EFI.
17010 (grub_openbsd_boot): Likewise.
17011 (grub_netbsd_setup_video): New function.
17012 (grub_netbsd_add_modules): Likewise.
17013 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
17014 and finish EFI.
17015 (grub_bsd_unload): Unload tags.
17016 (grub_bsd_load_aout): Use relocator.
17017 (grub_bsd_elf32_size_hook): New function.
17018 (grub_bsd_elf32_hook): Use relocator.
17019 (grub_bsd_elf64_size_hook): New function.
17020 (grub_bsd_elf64_hook): Use relocator.
17021 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
17022 (grub_bsd_load): Zero-out openbsd_ramdisk.
17023 (grub_bsd_load): Use relocator.
17024 (grub_cmd_openbsd): Support serial.
17025 (grub_cmd_netbsd): Support modules.
17026 (grub_cmd_freebsd_module): Use relocator.
17027 (grub_netbsd_module_load): New function.
17028 (grub_cmd_netbsd_module): Likewise.
17029 (grub_cmd_openbsd_ramdisk): Likewise.
17030 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
17031 kopenbsd_ramdisk.
17032 (GRUB_MOD_FINI): Unregister new commands.
17033 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
17034 (grub_freebsd_load_elfmodule_obj): Use relocator.
17035 (grub_freebsd_load_elfmodule): Likewise.
17036 (grub_freebsd_load_elf_meta): Likewise.
17037 (grub_netbsd_load_elf_meta): New function.
17038 (grub_openbsd_find_ramdisk): Likewise.
17039 * grub-core/loader/i386/bsd_helper.S: Removed.
17040 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
17041 * grub-core/loader/i386/bsd_trampoline.S: Removed.
17042 * grub-core/loader/i386/efi/linux.c: Likewise.
17043 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
17044 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
17045 (DEFAULT_VIDEO_MODE): Likewise.
17046 (real_mode_target): New variable.
17047 (prot_mode_target): Likewise.
17048 (initrd_mem_target): Likewise.
17049 (relocator): Likewise.
17050 (efi_mmap_buf): Likewise.
17051 (efi_mmap_size): Likewise.
17052 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
17053 (free_pages): Use relocator.
17054 (allocate_pages): Account for efi_mmap and use relocator. Return error.
17055 (grub_linux_setup_video): Return error.
17056 (grub_linux_trampoline_start): Removed.
17057 (grub_linux_trampoline_end): Likewise.
17058 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
17059 andd video parameters depending on firmware.
17060 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
17061 [GRUB_MACHINE_EFI]: Pass EFI parameters.
17062 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
17063 (grub_cmd_initrd): Use relocator.
17064 * grub-core/loader/i386/linux_trampoline.S: Removed.
17065 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
17066 (elf_sec_entsize): Likewise.
17067 (elf_sec_shstrndx): Likewise.
17068 (elf_sections): Likewise.
17069 (grub_multiboot_load): Use relocator.
17070 (grub_multiboot_get_mbi_size): Account for sections.
17071 (grub_multiboot_make_mbi): Use relocator and support sections.
17072 (grub_multiboot_add_elfsyms): New function.
17073 (grub_multiboot_free_mbi): Free sections.
17074 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17075 (grub_linux_real_target): Likewise.
17076 (grub_linux_real_chunk): Likewise.
17077 (grub_linux16_prot_size): Likewise.
17078 (grub_linux16_boot): Use relocator.
17079 (grub_linux_unload): Unload relocator.
17080 (grub_cmd_linux): Use relocator.
17081 (grub_cmd_initrd): Likewise.
17082 * grub-core/loader/i386/pc/ntldr.c: New file.
17083 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17084 Don't try to guess CPU frequency.
17085 (grub_xnu_set_video): Stretch bitmap.
17086 (grub_xnu_boot): Use relocator.
17087 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17088 (grub_linux_unload): Free relocator.
17089 (grub_linux_load32): Use relocator.
17090 (grub_linux_load64): Likewise.
17091 (grub_cmd_initrd): Likewise.
17092 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17093 (grub_multiboot_unload): Unload relocator.
17094 (grub_cmd_multiboot): Use relocator.
17095 (grub_cmd_module): Likewise.
17096 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17097 Use relocator and support sections.
17098 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17099 (elf_sec_entsize): Likewise.
17100 (elf_sec_shstrndx): Likewise.
17101 (elf_sections): Likewise.
17102 (grub_multiboot_load): Use relocator.
17103 (grub_multiboot_get_mbi_size): Account for sections.
17104 (grub_multiboot_make_mbi): Use relocator and support sections.
17105 (grub_multiboot_add_elfsyms): New function.
17106 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17107 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17108 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17109 Prototype changed. All users updated.
17110 (grub_xnu_align_heap): Simplified.
17111 (grub_xnu_writetree_toheap): Likewise.
17112 (grub_xnu_unload): Unload relocator.
17113 (grub_cmd_xnu_kernel): Use relocator.
17114 (grub_cmd_xnu_kernel64): Likewise.
17115 (grub_xnu_register_memory): Simplified.
17116 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17117 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17118 EFI is finished.
17119 (grub_console_checkkey): Likewise.
17120 (grub_console_getkey): Likewise.
17121 (grub_console_getwh): Likewise.
17122 (grub_console_getxy): Likewise.
17123 (grub_console_gotoxy): Likewise.
17124 (grub_console_cls): Likewise.
17125 (grub_console_setcolorstate): Likewise.
17126 (grub_console_setcursor): Likewise.
17127 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17128 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17129 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17130 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17131 * grub-core/tests/boot/kernel-8086.S: Likewise.
17132 * grub-core/tests/boot/kernel-i386.S: Likewise.
17133 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17134 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17135 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17136 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17137 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17138 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17139 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17140 * grub-core/tests/boot/linux.cfg: Likewise.
17141 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17142 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17143 * grub-core/tests/boot/linux16.cfg: Likewise.
17144 * grub-core/tests/boot/multiboot.cfg: Likewise.
17145 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17146 * grub-core/tests/boot/ntldr.cfg: Likewise.
17147 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17148 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17149 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17150 New definition.
17151 * include/grub/dl.h (grub_dl_unload_all): Removed.
17152 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17153 (grub_efi_finish_boot_services): Change prototype.
17154 (grub_efi_is_finished): New variable.
17155 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17156 Changed prototype.
17157 (grub_efiemu_finish_boot_services): Removed.
17158 (grub_machine_efiemu_init_tables): New prototype.
17159 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17160 (grub_elf64_phdr_iterate): Likewise.
17161 * include/grub/i386/bsd.h: Include relocator.h.
17162 (freebsd_tag_header): New struct.
17163 (grub_openbsd_bios_mmap): Removed.
17164 (grub_unix_real_boot): Removed.
17165 (grub_freebsd_load_elfmodule32): Changed prototype.
17166 (grub_freebsd_load_elfmodule_obj64): Likewise.
17167 (grub_freebsd_load_elf_meta32): Likewise.
17168 (grub_freebsd_load_elf_meta64): Likewise.
17169 (grub_freebsd_add_meta): Removed.
17170 (grub_netbsd_load_elf_meta32): New prototype.
17171 (grub_netbsd_load_elf_meta64): Likewise.
17172 (grub_bsd_add_meta): Likewise.
17173 (grub_openbsd_ramdisk_descriptor): New struct.
17174 (grub_openbsd_find_ramdisk32): New prototype.
17175 (grub_openbsd_find_ramdisk64): Likewise.
17176 * include/grub/i386/coreboot/loader.h: Removed.
17177 * include/grub/i386/efi/loader.h: Likewise.
17178 * include/grub/i386/ieee1275/loader.h: Likewise.
17179 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17180 to grub_uint32_t.
17181 * include/grub/i386/loader.h: Removed.
17182 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17183 value.
17184 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17185 (grub_phys_addr_t): New type.
17186 (grub_vtop): New inline function.
17187 (grub_map_memory): Likewise.
17188 (grub_unmap_memory): Likewise.
17189 * include/grub/i386/multiboot/loader.h: Removed.
17190 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17191 (NETBSD_BTINFO_CONSOLE): New definition.
17192 (NETBSD_BTINFO_SYMTAB): Likewise.
17193 (NETBSD_BTINFO_MODULES): Likewise.
17194 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17195 (grub_netbsd_bootinfo): New struct.
17196 (grub_netbsd_btinfo_common): Use explicit bitsize.
17197 (grub_netbsd_btinfo_mmap_entry): Removed.
17198 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17199 (grub_netbsd_btinfo_bootdisk): New struct.
17200 (grub_netbsd_btinfo_symtab): Likewise.
17201 (grub_netbsd_btinfo_serial): Likewise.
17202 (grub_netbsd_btinfo_modules): Likewise.
17203 (grub_netbsd_btinfo_framebuf): Likewise.
17204 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17205 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17206 Likewise.
17207 (grub_openbsd_bootargs): Use explicit bitsize.
17208 (grub_openbsd_bootarg_console): New struct.
17209 (GRUB_OPENBSD_COM_MAJOR): New definition.
17210 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17211 * include/grub/i386/pc/efiemu.h: Removed.
17212 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17213 * include/grub/i386/qemu/loader.h: Removed.
17214 * include/grub/i386/relocator.h: Rewritten.
17215 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17216 * include/grub/mips/memory.h: New file.
17217 * include/grub/mips/multiboot.h: Rewritten.
17218 * include/grub/mips/relocator.h: Rewritten.
17219 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17220 (grub_vtop): New function.
17221 (grub_map_memory): Likewise.
17222 (grub_unmap_memory): Likewise.
17223 * include/grub/misc.h (ALIGN_DOWN): New definition.
17224 * include/grub/mm.h (grub_mm_check_real): New proto.
17225 (GRUB_MM_CHECK): New definition.
17226 * include/grub/mm_private.h: New file.
17227 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17228 (grub_multiboot_get_mbi_size): Removed.
17229 (grub_multiboot_make_mbi): Change prottype.
17230 (grub_multiboot_set_accepts_video): New proto.
17231 (grub_multiboot_add_elfsyms): Likewise.
17232 (grub_multiboot_payload_eip): New variable.
17233 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17234 New prototype.
17235 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17236 New definition.
17237 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17238 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17239 * include/grub/powerpc/ieee1275/loader.h: Removed.
17240 * include/grub/powerpc/memory.h: New file.
17241 * include/grub/powerpc/relocator.h: Likewise.
17242 * include/grub/relocator.h: Likewise.
17243 * include/grub/relocator_private.h: Likewise.
17244 * include/grub/sparc64/ieee1275/loader.h: Removed.
17245 * include/grub/x86_64/memory.h: New file.
17246 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17247 (grub_xnu_heap_malloc): Likewise.
17248 (grub_xnu_heap_real_start): Removed.
17249 (grub_xnu_heap_start): Likewise.
17250 (grub_xnu_relocator): New variable.
17251 (grub_xnu_heap_target_start): Likewise.
17252 * tests/util/grub-shell.in: Support non-pc.
17253 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17254
5303b85d
VS
172552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17258 on malloc error.
17259 (grub_bidi_logical_to_visual): Check that malloc succeded.
17260 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17261 puts.
17262 (grub_xputs_normal): Likewise.
17263
d768d159
VS
172642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17265
17266 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17267 extra_dist.
17268
172692010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17270
17271 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17272
5bf84df4
VS
172732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17276
3626810e
VS
172772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17280 dprintf.
17281
a7363f53
BC
172822010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17283
17284 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17285
902f75f6
VS
172862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17287
17288 * grub-core/normal/term.c (print_more): Fix a memory leak.
17289 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17290 (grub_xputs_normal): Likewise.
17291
3c707967
VS
172922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17295 the begining of the string
17296
2053cc07
VS
172972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17298
17299 * grub-core/script/script.c (grub_script_parse): Free parsed on
17300 failure.
17301
46422ebf
VS
173022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17305 on failure.
17306
9e0fa3f6
VS
173072010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17310 return.
17311
3393cf16
VS
173122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17315 (scroll_up): Fix a memory leak.
17316
b17540cb
VS
173172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17320 errors.
17321
67140446
VS
173222010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 Handle USB pendrives exposed as floppies.
17325
17326 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17327 floppy.
17328 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17329 Check for partitions on all devices.
17330
e35e46fc
VS
173312010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17334 (readkey): Likewise.
17335
d24c6190
BC
173362010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17337
17338 Multiple variable names support to "export" command.
17339
17340 * normal/context.c (grub_cmd_export): "export" command supports
17341 multiple variable names.
17342
04ddcc6a
ST
173432010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17344
17345 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17346 --target=drive output to Mach device name.
17347
0c8b61d8
BC
173482010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17349
17350 New Automake based build system for GRUB.
17351
17352 * ABOUT-NLS: New file.
17353 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17354 in Makefile.util.def file.
17355 * Makefile.util.def: New file. Autogen build definitions file for
17356 GRUB host utils.
17357 * conf/Makefile.common: New file. Common variables for GRUB host
17358 utils and target modules.
17359 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17360 * docs/Makefile.am: New file. Automake file for docs.
17361 * gentpl.py: New file. Python script to generate Autogen
17362 template.
17363 * grub-core/Makefile.am: New file. GRUB target modules' rules
17364 that doesn't fit in Makefile.core.def file.
17365 * grub-core/Makefile.core.def: New file. Autogen build
17366 definitions file for GRUB target modules.
17367 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17368 specific setjmp.S file.
17369 * po/Makefile.am: New file.
17370
17371 * .bzrignore: New ignores.
17372 * INSTALL: New requirements, without Ruby.
17373 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17374 * autogen.sh: Updated to invoke autogen as necessary.
17375 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17376 and defines for Automake conditionals.
17377 * geninit.sh: Refactoring.
17378
17379 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17380 necessary.
17381 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17382 New prototype.
17383
17384 * include/grub/test.h: Fix functional test modules' naming.
17385 * grub-core/tests/example_functional_test.c: Fix test module name.
17386
17387 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17388 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17389 * util/grub-editenv.c: Likewise.
17390 * util/grub-fstest.c: Likewise.
17391 * util/grub-mkdevicemap.c: Likewise.
17392 * util/grub-mkfont.c: Likewise.
17393 * util/grub-mkimage.c: Likewise.
17394 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17395 * util/grub-probe.c: Likewise.
17396 * util/grub-script-check.c: Likewise.
17397 * util/i386/pc/grub-setup.c: Likewise.
17398 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17399
17400 * tests/util/grub-shell.in: Fix override directory path.
17401 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17402 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17403
17404 * util/lvm.c: Update #includes.
17405 * util/raid.c: Likewise.
17406 * util/resolve.c: Likewise.
17407 * grub-core/bus/emu/pci.c: Likewise.
17408 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17409 * grub-core/lib/posix_wrap/string.h: Likewise.
17410 * grub-core/kern/emu/main.c: Likewise.
17411
17412 * grub-core/gensymlist.sh: New file. Script for generating kernel
17413 symbols file.
17414 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17415
17416 * grub-core/gentrigtables.c: Fix unused variable warnings.
17417
17418 * Makefile.in: Removed.
17419 * conf/any-emu.rmk: Removed.
17420 * conf/common.rmk: Removed.
17421 * conf/i386-coreboot.rmk: Removed.
17422 * conf/i386-efi.rmk: Removed.
17423 * conf/i386-ieee1275.rmk: Removed.
17424 * conf/i386-multiboot.rmk: Removed.
17425 * conf/i386-pc.rmk: Removed.
17426 * conf/i386-qemu.rmk: Removed.
17427 * conf/i386.rmk: Removed.
17428 * conf/mips-yeeloong.rmk: Removed.
17429 * conf/mips.rmk: Removed.
17430 * conf/powerpc-ieee1275.rmk: Removed.
17431 * conf/sparc64-ieee1275.rmk: Removed.
17432 * conf/tests.rmk: Removed.
17433 * conf/x86-efi.rmk: Removed.
17434 * conf/x86_64-efi.rmk: Removed.
17435 * gendistlist.sh: Removed.
17436 * geninitheader.sh: Removed.
17437 * genkernsyms.sh.in: Removed.
17438 * genmk.rb: Removed.
17439 * gensymlist.sh.in: Removed.
17440 * mkinstalldirs: Removed.
17441 * boot: Moved ...
17442 * grub-core/boot: ... to here.
17443 * bus: Moved ...
17444 * grub-core/bus: ... to here.
17445 * commands: Moved ...
17446 * grub-core/commands: ... to here.
17447 * disk: Moved ...
17448 * grub-core/disk: ... to here.
17449 * efiemu: Moved ...
17450 * grub-core/efiemu: ... to here.
17451 * font: Moved ...
17452 * grub-core/font: ... to here.
17453 * fs: Moved ...
17454 * grub-core/fs: ... to here.
17455 * gencmdlist.sh: Moved ...
17456 * grub-core/gencmdlist.sh: ... to here.
17457 * genemuinit.sh: Moved ...
17458 * grub-core/genemuinit.sh: ... to here.
17459 * genemuinitheader.sh: Moved ...
17460 * grub-core/genemuinitheader.sh: ... to here.
17461 * genfslist.sh: Moved ...
17462 * grub-core/genfslist.sh: ... to here.
17463 * genhandlerlist.sh: Moved ...
17464 * grub-core/genhandlerlist.sh: ... to here.
17465 * genmoddep.awk: Moved ...
17466 * grub-core/genmoddep.awk: ... to here.
17467 * genmodsrc.sh: Moved ...
17468 * grub-core/genmodsrc.sh: ... to here.
17469 * genpartmaplist.sh: Moved ...
17470 * grub-core/genpartmaplist.sh: ... to here.
17471 * genparttoollist.sh: Moved ...
17472 * grub-core/genparttoollist.sh: ... to here.
17473 * genterminallist.sh: Moved ...
17474 * grub-core/genterminallist.sh: ... to here.
17475 * gentrigtables.c: Moved ...
17476 * grub-core/gentrigtables.c: ... to here.
17477 * genvideolist.sh: Moved ...
17478 * grub-core/genvideolist.sh: ... to here.
17479 * gettext: Moved ...
17480 * grub-core/gettext: ... to here.
17481 * gfxmenu: Moved ...
17482 * grub-core/gfxmenu: ... to here.
17483 * gnulib: Moved ...
17484 * grub-core/gnulib: ... to here.
17485 * hello: Moved ...
17486 * grub-core/hello: ... to here.
17487 * hook: Moved ...
17488 * grub-core/hook: ... to here.
17489 * io: Moved ...
17490 * grub-core/io: ... to here.
17491 * kern: Moved ...
17492 * grub-core/kern: ... to here.
17493 * lib: Moved ...
17494 * grub-core/lib: ... to here.
17495 * loader: Moved ...
17496 * grub-core/loader: ... to here.
17497 * mmap: Moved ...
17498 * grub-core/mmap: ... to here.
17499 * normal: Moved ...
17500 * grub-core/normal: ... to here.
17501 * partmap: Moved ...
17502 * grub-core/partmap: ... to here.
17503 * parttool: Moved ...
17504 * grub-core/parttool: ... to here.
17505 * script: Moved ...
17506 * grub-core/script: ... to here.
17507 * term: Moved ...
17508 * grub-core/term: ... to here
17509 * tests/example_functional_test.c: Moved ...
17510 * grub-core/tests/example_functional_test.c: ... to here.
17511 * tests/lib/functional_test.c: Moved ...
17512 * grub-core/tests/lib/functional_test.c: ... to here.
17513 * tests/lib/test.c: Moved ...
17514 * grub-core/tests/lib/test.c: ... to here.
17515 * video: Moved ...
17516 * grub-core/video: ... to here.
17517
645586e6
BC
175182010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17519
17520 Replace --enable-grub-emu-modules with grub-emu-lite.
17521
17522 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17523 cache.S.
17524
17525 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17526 * kern/emu/full.c: New file. For grub-emu specific initialization.
17527 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17528 * kern/emu/main.c: Call initialization function grub_emu_init.
17529
17530 * Makefile.in: Include grub-emu-lite in install.
17531 * commands/parttool.c: Use grub_no_autoload to differentiate
17532 between grub-emu and grub-emu-lite.
17533 * include/grub/misc.h: New variable grub_no_autoload.
17534
17535 * conf/any-emu.rmk: New rules for grub-emu-lite.
17536 * configure.ac: Remove --enable-grub-emu-modules.
17537 * genmk.rb: Cleanup unnecessary rules.
17538 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17539
17540 * normal/main.c: Don't load list files on grub-emu-lite.
17541 * util/misc.c (grub_arch_sync_caches): Removed.
17542
f86a4030
CW
175432010-08-23 Colin Watson <cjwatson@ubuntu.com>
17544
17545 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17546 grub-mkimage rather than grub-mkelfimage.
17547 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17548
06776944
VS
175492010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17552 a key after CapsLock or NumLock. It's just a qemu bug.
17553
df262419
VS
175542010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17555
17556 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17557 needed by libusb wrapper.
17558
b40ea81b
ST
175592010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17560
17561 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17562
dee50575
VS
175632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17566 --nounzip is passed.
17567
fb1d7b79
VS
175682010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 USB hotunplugging and USB serial support.
17571
17572 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17573 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17574 (grub_uhci_transfer): Respect timeout and set *actual.
17575 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17576 non-standard length.
17577 (grub_usb_device_attach): Autoload modules.
17578 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17579 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17580 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17581 users updated.
17582 (grub_usb_add_hub): Fill nports and children.
17583 (attach_root_port): Receive hub instead of controller.
17584 All users updated. Fill hub->devices.
17585 (grub_usb_root_hub): Allocate hub->devices.
17586 (detach_device): New function.
17587 (poll_nonroot_hub): Fill children and detach devices.
17588 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17589 actual arguments. All users updated.
17590 (grub_usb_bulk_read_extended): New function.
17591 * bus/usb/serial/common.c: New file.
17592 * bus/usb/serial/ftdi.c: Likewise.
17593 * bus/usb/serial/pl2303.c: Likewise.
17594 * commands/terminal.c (handle_command): Support wildcard.
17595 * commands/usbtest.c: Output "Unknown" instead of empty string.
17596 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17597 (usbserial_common_mod_SOURCES): New variable.
17598 (usbserial_common_mod_CFLAGS): Likewise.
17599 (usbserial_common_mod_LDFLAGS): Likewise.
17600 (pkglib_MODULES): Add usbserial_pl2303.mod.
17601 (usbserial_pl2303_mod_SOURCES): New variable.
17602 (usbserial_pl2303_mod_CFLAGS): Likewise.
17603 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17604 (pkglib_MODULES): Add usbserial_ftdi.mod.
17605 (usbserial_ftdi_mod_SOURCES): New variable.
17606 (usbserial_ftdi_mod_CFLAGS): Likewise.
17607 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17608 (pkglib_MODULES): Add serial.mod.
17609 (serial_mod_SOURCES): New variable.
17610 (serial_mod_CFLAGS): Likewise.
17611 (serial_mod_LDFLAGS): Likewise.
17612 * conf/i386-pc.rmk: Likewise.
17613 * conf/mips-yeeloong.rmk: Likewise.
17614 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17615 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17616 * disk/usbms.c (first_available_slot): New variable.
17617 (grub_usbms_attach): Don't reuse free slots due to potential cache
17618 problems.
17619 * include/grub/serial.h: Moved to ..
17620 * include/grub/ns8250.h: ...this.
17621 * include/grub/serial.h: New file.
17622 * include/grub/term.h (grub_term_poll_usb): New variable.
17623 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17624 readkey. All users updated.
17625 (grub_terminfo_output_state): Pass term to put.
17626 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17627 (grub_usb_controller_dev): Add timeout and actual arguments to
17628 transfer. All users updated.
17629 (grub_usb_interface): New field detach_data.
17630 (grub_usb_device): New fields children and nports.
17631 (grub_usb_ep_type_t): New type.
17632 (grub_usb_get_ep_type): New function.
17633 (grub_usb_bulk_read_extended): Likewise.
17634 * include/grub/usbdesc.h (grub_usb_desc): New type.
17635 * include/grub/usbserial.h: New file.
17636 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17637 * kern/term.c (grub_term_poll_usb): New variable.
17638 (grub_getkey): Call grub_term_poll_usb if set.
17639 (grub_checkkey): Likewise.
17640 (grub_getkeystatus): Likewise.
17641 * term/serial.c: Moved controller-specific parts to ...
17642 * term/ns8250.c: ... here.
17643 * term/serial.c: Mostly rewritten.
17644 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17645 according to spec.
17646
21a313de
RM
176472010-08-20 Robert Millan <rmh@gnu.org>
17648
17649 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17650 a separate module and maybe other interesting combinations.
17651
17652 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17653 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17654 (kfreebsd_entry): Add generic filesystem module load routine.
17655 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17656
63c734a6
CW
176572010-08-20 Colin Watson <cjwatson@ubuntu.com>
17658
17659 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17660 "numcenter" (I misunderstood the purpose of this entry).
17661 * docs/grub.texi (sendkey): Likewise.
17662
c4d16542
CW
176632010-08-20 Colin Watson <cjwatson@ubuntu.com>
17664
17665 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17666 status flag options; simply omitting the option is equivalent and
17667 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17668 (keysym_table): Rename "num5numlock" to "numlock".
17669 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17670 can uniformly say that only the last of multiple `sendkey'
17671 invocations has any effect.
17672 * docs/grub.texi (sendkey): New section.
17673
93541d66
CW
176742010-08-19 Colin Watson <cjwatson@ubuntu.com>
17675
17676 * commands/i386/pc/sendkey.c (options): Fix three typos.
17677
b4ece5e1
VS
176782010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17679
17680 Implement sendkey support.
17681
17682 * commands/i386/pc/sendkey.c: New file.
17683 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17684 (sendkey_mod_SOURCES): New variable.
17685 (sendkey_mod_CFLAGS): Likewise.
17686 (sendkey_mod_LDFLAGS): Likewise.
17687
51f1f5af
CW
176882010-08-18 Colin Watson <cjwatson@ubuntu.com>
17689
17690 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17691 fix warnings from Autoconf.
17692
9da94e05
CW
176932010-08-18 Colin Watson <cjwatson@ubuntu.com>
17694
17695 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17696 to avoid false positives with some assemblers that output things
17697 like "someprefix_func" as part of their output.
17698
729a0f2e
RM
176992010-08-15 Robert Millan <rmh@gnu.org>
17700
17701 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17702 errors.
17703 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17704 grub_get_libzfs_handle() errors.
17705
f3710e08
RM
177062010-08-14 Robert Millan <rmh@gnu.org>
17707
17708 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17709 filesystem is not ZFS.
17710
7a3c13de
BC
177112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17712
17713 Fix for misspelled color names defaulting to black/black (bug
17714 reported by Doug Nazar)
17715
17716 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17717 status to prototype.
17718 * normal/color.c (grub_parse_color_name_pair): Return failure
17719 status.
17720 (grub_env_write_color_normal): Ignore bad color names.
17721 (grub_env_write_color_highlight): Likewise.
17722 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17723
ab8ba50d
BC
177242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17725
17726 "shift" command support to GRUB script.
17727
17728 * include/grub/script_sh.h (grub_script_shift): New prototype.
17729 * script/execute.c (grub_script_shift): New function.
17730 * script/main.c (grub_script_init): Register shift command.
17731 (grub_script_fini): Unregister shift command.
17732 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17733
17734 * tests/grub_script_shift.in: New testcase.
17735 * conf/tests.rmk: Rules for new testcase.
17736
4d61999e
BC
177372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17738
17739 "continue" command support to GRUB script.
17740
17741 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17742 (grub_script_break): Continue support.
17743 * script/main.c (grub_script_init): Register continue command.
17744 (grub_script_fini): Unregister continue command.
17745
17746 * tests/grub_script_continue.in: New testcase.
17747 * conf/tests.rmk: Rules for new testcase.
17748
4df51e00
BC
177492010-08-12 BVK Chaitanya <bvk@dbook>
17750
17751 "break" command support to GRUB script.
17752
17753 * conf/common.rmk: Rule updates to grub-script-check.
17754 * include/grub/misc.h (grub_min): New function.
17755 * include/grub/script_sh.h (grub_script_init): New prototype.
17756 (grub_script_fini): New prototype.
17757 (grub_script_break): New prototype.
17758 * script/main.c (grub_script_init): New function.
17759 (grub_script_fini): New function.
17760 * script/execute.c (grub_script_break): New function.
17761 * normal/main.c: Calls to grub_script_{init,fini}.
17762 * util/grub-script-check.c (grub_script_break): New function.
17763
17764 * tests/grub_script_break.in: New testcase.
17765 * conf/tests.rmk: Rules for new test case.
17766
f12c8420
BC
177672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17768
17769 Function parameters support to GRUB script.
17770
17771 * script/yylex.l (VARIABLE): Regular expression update.
17772 * script/function.c (grub_script_function_call): Moved ...
17773 * script/execute.c (grub_script_function_call): ... to here.
17774 (grub_script_execute_arglist_to_argv): Removed.
17775 (grub_script_arglist_to_argv): New function.
17776 * script/argv.c: New file.
17777 (grub_script_argv_free): New function.
17778 (grub_script_argv_next): Likewise.
17779 (grub_script_argv_append): Likewise.
17780 (grub_script_argv_split_append): Likewise.
17781 * include/grub/script_sh.h (grub_script_argv): New struct.
17782 (grub_script_argv_free): New function.
17783 (grub_script_argv_next): Likewise.
17784 (grub_script_argv_append): Likewise.
17785 (grub_script_argv_split_append): Likewise.
17786
17787 * conf/common.rmk (normal.mod): New source script/argv.c.
17788
17789 * tests/grub_script_echo1.in: More tests.
17790 * tests/grub_script_vars1.in: Likewise.
17791 * tests/grub_script_functions.in: New test case.
17792 * conf/tests.rmk: Rules for new testcase.
17793
8022b748
BC
177942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17795
17796 Remove grub_script_cmdblock struct.
17797
17798 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17799 * script/parser.y: Likewise.
17800 * script/execute.c: Rename cmdblock suffix to cmdlist.
17801 * script/script.c: Likewise.
17802 * util/grub-script-check.c: Likewise.
17803
79a6ba61
YB
178042010-08-11 Yves Blusseau <blusseau@zetam.org>
17805
17806 * .bzrignore: add grub-macho2img
17807
d04b9414
VS
178082010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17811
f947ab49
VS
178122010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 Remove the dump of sm712 initialisation sequence.
17815
17816 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17817 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17818 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17819 (GRUB_VGA_CR_*): Added many registers.
17820 (GRUB_VGA_SR_*): Likewise.
17821 (GRUB_VGA_GR_*): Likewise.
17822 (grub_vga_write_arx): New function.
17823 (grub_video_hw_config): New struct.
17824 (grub_vga_set_geometry): New function.
17825 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17826 GRUB_PCI_CLASS_SUBCLASS_VGA.
17827 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17828 * video/sm712.c (grub_sm712_write_reg): New function
17829 (grub_sm712_read_reg): Likewise.
17830 (grub_sm712_sr_write): Likewise.
17831 (grub_sm712_gr_write): Likewise.
17832 (grub_sm712_cr_write): Likewise.
17833 (grub_sm712_write_arx): Likewise.
17834 (grub_sm712_cr_shadow_write): Likewise.
17835 (grub_sm712_write_dda_lookup): Likewise.
17836 (grub_video_sm712_setup): Initialise the video rather then
17837 blindly replay the dump.
17838 (main) [TEST]: Add a routine to be able to compile as standalone for
17839 tests.
17840 * video/sm712_init.c (sm712_init): Removed.
17841 (sm712_sr_seq1): New array.
17842 (sm712_sr_seq2): Likewise.
17843
f0206638
VS
178442010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * include/grub/vga.h: Add missing grub/pci.h include.
17847
2764da3b
YB
178482010-08-10 Yves Blusseau <blusseau@zetam.org>
17849
17850 * util/grub-macho2img.c (main): fix typo
17851
cf0c775e
VS
178522010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17855 (grub_vga_gr_read): Likewise.
17856 (grub_vga_cr_write): Likewise.
17857 (grub_vga_cr_read): Likewise.
17858 (grub_vga_sr_write): Likewise.
17859 (grub_vga_sr_read): Likewise.
17860 (grub_vga_palette_read): Likewise.
17861 (grub_vga_palette_write): Likewise.
17862 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17863 (grub_sm712_sr_read): New function.
17864 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17865 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17866
07f360e9
RM
178672010-08-09 Robert Millan <rmh@gnu.org>
17868
17869 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17870 out unused variables on non-ZFS build.
17871
346c2072
RM
178722010-08-08 Robert Millan <rmh@gnu.org>
17873
17874 Fix path generation for sub-filesystems in ZFS.
17875
17876 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17877 missing slash.
17878
71175420
RM
178792010-08-08 Robert Millan <rmh@gnu.org>
17880
17881 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17882
0d8286f3
RM
178832010-08-08 Robert Millan <rmh@gnu.org>
17884
17885 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17886 exist, issue a proper error message (rely on `ls' for translated
17887 strings).
17888
55dd2924
RM
178892010-08-08 Robert Millan <rmh@gnu.org>
17890
17891 Fix grub-probe invocation.
17892
17893 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17894
d3dd9e80
RM
178952010-08-04 Robert Millan <rmh@gnu.org>
17896
17897 * configure.ac: Remove checks for getfsstat() and getmntany().
17898 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17899 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17900 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17901 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17902 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17903 function.
17904 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17905 via find_mount_point_from_dir() and getfsstat() / getmntany().
17906
0de22aa9
RM
179072010-08-04 Robert Millan <rmh@gnu.org>
17908
17909 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17910 (grub_find_zpool_from_mount_point): Merge into ...
17911 (grub_find_zpool_from_dir): ... this.
17912 * kern/emu/misc.c: Likewise.
17913
17914 * kern/emu/misc.c
17915 (grub_make_system_path_relative_to_its_root): Replace
17916 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17917 with grub_find_zpool_from_dir().
17918 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17919
62858144
RM
179202010-08-04 Robert Millan <rmh@gnu.org>
17921
17922 Support OpenSolaris in ZFS device resolution.
17923
17924 * configure.ac: Check for getmntany().
17925 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17926 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17927 support.
17928
9dd6fd50
RM
179292010-08-03 Robert Millan <rmh@gnu.org>
17930
17931 Fix grub-emu build.
17932
17933 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17934 * include/grub/emu/misc.h: ... here.
17935
17936 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17937 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17938
17939 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17940 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17941 (grub_get_libzfs_handle): Move to ...
17942 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17943 (grub_get_libzfs_handle): ... here.
17944
c9f7ff97
BC
179452010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17946
17947 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17948 as command name case.
17949
a870a783
CW
179502010-08-02 Colin Watson <cjwatson@ubuntu.com>
17951
17952 * disk/raid.c (insert_array): Select unique numbers for named arrays
17953 as well, for use as keys in the disk cache.
17954
c7db243b
RM
179552010-08-01 Robert Millan <rmh@gnu.org>
17956
17957 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17958 kFreeBSD device name, except on ZFS where the filesystem label is
17959 used.
17960 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17961 `/boot/zfs/zpool.cache'.
17962 Set mountfrom kernel variable using ${kfreebsd_device}.
17963
f7abdefb
RM
179642010-08-01 Robert Millan <rmh@gnu.org>
17965
17966 Make it even harder to use uninitialized `libzfs_handle' (and
17967 make the interface a bit simpler).
17968
17969 * include/grub/util/misc.h (grub_util_init_libzfs)
17970 (libzfs_handle): Remove.
17971 (grub_get_libzfs_handle): New prototype.
17972
17973 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17974 attribute.
17975 (grub_util_init_libzfs): Remove.
17976 (grub_get_libzfs_handle): New function.
17977
17978 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17979 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17980 accessing `libzfs_handle' directly.
17981
c882acc0
RM
179822010-08-01 Robert Millan <rmh@gnu.org>
17983
17984 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17985 (grub_find_zpool_from_mount_point): New function prototypes.
17986
17987 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17988 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17989
17990 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17991 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17992 `static' attribute.
17993
17994 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17995 finding zpool from mount point into ...
17996 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17997
17998 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17999 requested path is part of a ZFS pool, use
18000 grub_find_zpool_from_mount_point() to detect its filesystem name,
18001 and generate a path with `/fsname@path' syntax.
18002
8bfe31d8
CW
180032010-08-01 Colin Watson <cjwatson@ubuntu.com>
18004
18005 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
18006 (void) rather than () so that this is a proper prototype.
18007
553df63d
VS
180082010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
18011
8687cf07
VS
180122010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
18015 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
18016
ea9be8ea
CW
180172010-08-01 Colin Watson <cjwatson@ubuntu.com>
18018
18019 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
18020
6eea041a
CW
180212010-08-01 Colin Watson <cjwatson@ubuntu.com>
18022
18023 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
18024
2cfb45df
CW
180252010-08-01 Colin Watson <cjwatson@ubuntu.com>
18026
18027 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
18028 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
18029 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
18030 disable gfxpayload.
18031 (Shell-like scripting): Add real content.
18032 (Serial terminal): Suggest `terminal_input serial; terminal_output
18033 serial' rather than putting the two commands on separate lines,
18034 since console input will be inoperative after the first command.
18035 (menuentry): Document --class, --users, and --hotkey options.
18036 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
18037 Vladimir Serbinenko).
18038
7decd202
VS
180392010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
180402010-08-01 Colin Watson <cjwatson@ubuntu.com>
18041
18042 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
18043
c882acc0
RM
180442010-08-01 Robert Millan <rmh@gnu.org>
18045
18046 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
18047 (grub_find_zpool_from_mount_point): New function prototypes.
18048
18049 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
18050 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
18051
18052 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
18053 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
18054 `static' attribute.
18055
18056 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
18057 finding zpool from mount point into ...
18058 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
18059
18060 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
18061 requested path is part of a ZFS pool, use
18062 grub_find_zpool_from_mount_point() to detect its filesystem name,
18063 and generate a path with `/fsname@path' syntax.
18064
deb0caa3
RM
180652010-08-01 Robert Millan <rmh@gnu.org>
18066
18067 Prevent accidental use of uninitialized libzfs_handle.
18068
18069 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18070 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18071 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18072
ce04ef47
CW
180732010-08-01 Colin Watson <cjwatson@ubuntu.com>
18074
18075 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18076 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18077
ebf53056
RM
180782010-08-01 Robert Millan <rmh@gnu.org>
18079
18080 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18081
3710bb6b
RM
180822010-07-31 Robert Millan <rmh@gnu.org>
18083
18084 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18085
8072efeb
RM
180862010-07-31 Robert Millan <rmh@gnu.org>
18087
18088 * kern/emu/misc.c: Add missing license header.
18089
3169f4c7
RM
180902010-07-31 Robert Millan <rmh@gnu.org>
18091
18092 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18093
18094 * include/grub/util/libnvpair.h: Include `<config.h>'.
18095 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18096 declaring libnvpair prototypes ourselves.
18097 * include/grub/util/libzfs.h: Include `<config.h>'.
18098 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18099 declaring libzfs prototypes ourselves.
18100
18101 (libzfs_handle): Moved to ...
18102 * include/grub/util/misc.h (libzfs_handle): ... here.
18103 Include `<grub/util/libzfs.h>'.
18104
c9a00aee
RM
181052010-07-30 Robert Millan <rmh@gnu.org>
18106
18107 * include/grub/emu/misc.h: Add missing license header.
18108
a184f9c8
RM
181092010-07-30 Robert Millan <rmh@gnu.org>
18110
18111 Enable `grub-probe -t device' resolution on ZFS.
18112
18113 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18114 * include/grub/util/libnvpair.h: New file.
18115 * include/grub/util/libzfs.h: New file.
18116
18117 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18118 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18119 `<grub/util/libnvpair.h>'.
18120 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18121
18122 (find_mount_point_from_dir): New static function.
18123 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18124 function.
18125 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18126 find_root_device_from_libzfs() before ressorting to find_root_device().
18127
18128 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18129 prototype.
18130 * util/misc.c: Include `<grub/util/libzfs.h>'.
18131 (grub_util_init_libzfs): New function.
18132 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18133 [HAVE_LIBZFS] (fini_libzfs): New static function.
18134 (grub_util_init_libzfs): New function.
18135 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18136
f7790cdd
RM
181372010-07-30 Robert Millan <rmh@gnu.org>
18138
18139 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18140 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18141 `warn_unused_result' attribute.
18142 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18143 (grub_xasprintf, grub_xvasprintf): Likewise.
18144 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18145
0806b63c
RM
181462010-07-29 Robert Millan <rmh@gnu.org>
18147
18148 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18149 (probe): Handle `PRINT_FS_LABEL'.
18150 (main): Handle `-t fs_label'.
18151
9f841f5c
RM
181522010-07-29 Robert Millan <rmh@gnu.org>
18153
18154 * configure.ac: Remove grub-mkisofs checks.
18155
46371121
VS
181562010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18159 Reported by: Lennart Sorensen.
18160
181612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18162
18163 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18164 prior to terminal_input/terminal_output separation. It's been over 1.5
18165 years and those versions weren't widely deployed.
18166
a9600892
CW
181672010-07-22 Colin Watson <cjwatson@ubuntu.com>
18168
18169 * disk/raid.c (insert_array): Don't count named arrays when looking
18170 for unused array numbers.
697e053c 18171 Reported and tested by: Michael Guntsche.
a9600892 18172
c03507df
CW
181732010-07-20 Colin Watson <cjwatson@ubuntu.com>
18174
18175 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18176 implementation of this so that grub-emu links again, with a note
18177 that this should support hotplugging in the future.
18178
b26f1c11
CW
181792010-07-20 Colin Watson <cjwatson@ubuntu.com>
18180
18181 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18182
efc9d7f1
CW
181832010-07-20 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18186 handle on failure.
18187 (grub_loopback_close): Remove empty function.
18188 (grub_loopback_dev): Remove close method.
18189
dd8ff5c9
CW
181902010-07-20 Colin Watson <cjwatson@ubuntu.com>
18191
18192 Disable EFI cursor when the EFI console becomes inactive.
18193
18194 * term/efi/console.c (grub_efi_console_init): New function.
18195 (grub_efi_console_fini): New function.
18196 (grub_console_term_output): Register init and fini methods.
18197
5e3bec67
VS
181982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18199
18200 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18201 sh script.
18202
afaec079
VS
182032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18204
18205 * disk/loopback.c (grub_loopback): Replace filename with file.
18206 (delete_loopback): Handle new semantics.
18207 (grub_cmd_loopback): Likewise.
18208 (grub_loopback_iterate): Likewise.
18209 (grub_loopback_close): Likewise.
18210
a6a11f3c
VS
182112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18214 with -p "".
18215 Reported by: Tito Keitel.
18216
64a638b0
VS
182172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18218
18219 * docs/grub.texi (Naming convention): Document new naming convention.
18220
ab8ba957
VS
182212010-07-20 Vadim Solomin <vadic052@gmail.com>
182222010-07-20 Colin Watson <cjwatson@ubuntu.com>
18223
18224 Generate device.map in something closer to the old ordering.
18225
18226 * util/deviceiter.c (struct device): New declaration.
18227 (compare_file_names): Rename to ...
18228 (compare_devices): ... this. Sort by kernel name in preference to
18229 the stable by-id name, but keep the latter as a fallback comparison.
18230 Update header comment.
18231 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18232 of `struct device' rather than of plain file names.
18233
a29d6a4b
TF
182342010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18235
18236 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18237 on i386.
18238
39d824e8
VS
182392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18242 hardcoding size.
18243 (setv1table): Likewise.
18244
f058276b
FZ
182452010-07-20 Colin Watson <cjwatson@ubuntu.com>
18246
18247 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18248 removing the homehost if present.
18249 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18250 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18251 removing the homehost if present.
18252 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18253 if possible.
18254 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18255
18256 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18257 parameter. Set its pointer target to 0.
18258 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18259 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18260 `data_offset' value from the superblock for 1.x metadata.
18261 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18262 data on the device.
18263 (insert_array): Record the start sector of data on the device.
18264 (grub_raid_register): Pass start_sector parameters to
18265 grub_raid_list->detect and insert_array.
18266 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18267 member.
18268 (struct grub_raid): Add start_sector parameter to `detect'.
18269
18270 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18271 __attribute__ ((packed)), leaving a comment.
18272 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18273 (grub_mdraid_detect_09): ... here and ...
18274 (grub_mdraid_detect_1x): ... here.
18275
182762010-07-20 Peter Henn <peter.henn@web.de>
18277
18278 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18279 chunk size and disk size, which are already given as sector counts
18280 as distinct from the 0.90 units. Fetch the correct device number
18281 from the role table instead of using the table index.
18282
182832010-07-20 Felix Zielcke <fzielcke@z-51.de>
18284
18285 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18286 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18287 (WriteMostly1): New macro.
18288 Set array->name to NULL for metadata format 0.90. Add support for
18289 metadata 1.x. Fix some comments.
18290 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18291 few comments.
18292 * util/getroot.c (grub_util_get_grub_dev): Add support for
18293 /dev/md/name style devices.
18294
4b761da9
CW
182952010-07-20 Colin Watson <cjwatson@ubuntu.com>
18296
18297 * .bzrignore: Ignore 20_linux_xen.
18298
5771289a
CW
182992010-07-17 Colin Watson <cjwatson@ubuntu.com>
18300
18301 * util/import_unicode.py: Remove unnecessary imports.
18302
5dab68df
AN
183032010-07-17 Aleš Nesrsta <starous@volny.cz>
18304
18305 Hotplugging and USB hub support.
18306
18307 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18308 (grub_ohci): Likewise.
18309 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18310 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18311 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18312 (GRUB_OHCI_CTRL_EDS): Likewise.
18313 (GRUB_OHCI_BULK_EDS): Likewise.
18314 (GRUB_OHCI_TDS): Likewise.
18315 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18316 (grub_ohci_ed_phys2virt): New function.
18317 (grub_ohci_virt_to_phys): Likewise.
18318 (grub_ohci_td_phys2virt): Likewise.
18319 (grub_ohci_td_virt2phys): Likewise.
18320 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18321 attachment.
18322 (grub_ohci_find_ed): New function.
18323 (grub_ohci_alloc_td): Likewise.
18324 (grub_ohci_free_td): Likewise.
18325 (grub_ohci_free_tds): Likewise.
18326 (grub_ohci_transfer): Use previously allocated memory.
18327 (grub_ohci_portstatus): Reset status changed bit.
18328 (grub_ohci_detect_dev): Supply status changed.
18329 (grub_ohci_fini_hw): Free memory.
18330 (grub_ohci_restore_hw): Reallocate memory.
18331 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18332 Reset status change.
18333 (grub_uhci_detect_dev): Supply status_change.
18334 * bus/usb/usb.c (attach_hooks): New var.
18335 (grub_usb_device_attach): New function.
18336 (grub_usb_register_attach_hook_class): Likewise.
18337 (grub_usb_unregister_attach_hook_class): Likewise.
18338 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18339 (grub_usb_add_hub): Reset connection changed bit.
18340 (attach_root_port): New function.
18341 (grub_usb_root_hub): Likewise.
18342 (poll_nonroot_hub): Likewise.
18343 (grub_usb_poll_devices): Likewise.
18344 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18345 * disk/usbms.c (grub_usbms_open): Use device hooks.
18346 (grub_usbms_iterate) :Poll devices.
18347 (grub_usbms_finddevs): Split into ...
18348 (grub_usbms_attach): ... this ...
18349 (grub_usbms_attach): ... and this.
18350 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18351 in detect_dev.
18352 (grub_usb_interface): New fields attached and detach_hook.
18353 (grub_usb_attach_hook_class): New type.
18354 (grub_usb_attach_desc): New struct.
18355 (grub_usb_register_attach_hook_class): New function.
18356 (grub_usb_unregister_attach_hook_class): Likewise.
18357 (grub_usb_poll_devices): Likewise.
18358 (grub_usb_device_attach): Likewise.
18359 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18360 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18361
3222efaf
VS
183622010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18365 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18366 delta determination style. Works with most NetBSD partitions too.
18367
139b714a
VS
183682010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18369
18370 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18371 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18372
986aad56
VS
183732010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18374
18375 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18376
99be513c
AB
183772010-07-14 Anton Blanchard <anton@samba.org>
18378
18379 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18380 ET_DYN files.
18381
18075f62
GS
183822010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18383
18384 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18385
8d9a5b15
GS
183862010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18387
18388 * kern/partition.c (grub_partition_check_containment): New function to
18389 check that a partition is physically contained in a parent. Since
18390 offsets are relative (and non-negative), this reduces to checking that
18391 the partition ends before its parent.
18392 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18393 (grub_partition_iterate): Likewise.
18394 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18395 comments.
18396 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18397 partitions that start before their parent, and add debug printfs.
18398
19563c25
CW
183992010-07-13 Colin Watson <cjwatson@ubuntu.com>
18400
18401 * Makefile.in (.SUFFIX): Spell correctly, as ...
18402 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18403 bare module name without `.mod', e.g. `test') tried to invoke a
18404 Modula-2 compiler.
18405
1a1f1e67
CW
184062010-07-13 Colin Watson <cjwatson@ubuntu.com>
18407
18408 * README: Point to the Info manual.
18409
811b0dca
JS
184102010-07-13 Jiro SEKIBA <jir@unicus.jp>
18411
18412 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18413 2nd superblock position from partition size.
18414
e4f4eafc
CW
184152010-07-10 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18418 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18419 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18420 outputs.
18421
4274c30f
VS
184222010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18423
18424 Restructure SCSI .id handling.
18425 Reported and tested by: Aleš Nesrsta.
18426
18427 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18428 (grub_atapi_dev): Changed .name to "ata". New field .id.
18429 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18430 (grub_usbms_dev): New field .id.
18431 * disk/scsi.c (grub_scsi_iterate): Generate name.
18432 (grub_scsi_open): Parse name.
18433 * include/grub/scsi.h (grub_make_scsi_id): New function.
18434 (grub_scsi_dev): Change iterate and open to number instead of naming
18435 busses. All users updated.
18436 (grub_scsi): Remove name. Add .bus.
18437
5bc24388
VS
184382010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18439
18440 * commands/help.c (grub_cmd_help): Fix a typo.
18441
249975ba
VS
184422010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18443
18444 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18445 Reported and tested by: Colin Watson.
18446
3eaac1a1
VS
184472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18448
18449 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18450 in this context.
18451
becce1b1
VS
184522010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18455
f7bf0918
CW
184562010-07-07 Colin Watson <cjwatson@ubuntu.com>
18457
18458 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18459 indentation.
18460
0b0f9620
CW
184612010-07-06 Colin Watson <cjwatson@ubuntu.com>
18462
18463 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18464 and disk/raid6_recover.c.
18465 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18466 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18467
1e545469
CW
184682010-07-06 Colin Watson <cjwatson@ubuntu.com>
18469
18470 * term/gfxterm.c (repaint_schedulded): Rename to ...
18471 (repaint_scheduled): ... this. Update all callers.
18472 (repaint_was_schedulded): Rename to ...
18473 (repaint_was_scheduled): ... this. Update all callers.
18474
5357687a
CW
184752010-07-06 Colin Watson <cjwatson@ubuntu.com>
18476
18477 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18478 which we expect to be handled by upper layers.
18479
29d7e783
BC
184802010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18481
18482 * bus/usb/usbhub.c: #include time.h header.
18483
37582066
CW
184842010-07-06 Colin Watson <cjwatson@ubuntu.com>
18485
18486 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18487 entry_name also for entries without stat blocks (e.g. ".."); fixes
18488 corruption of the first entry in a directory.
18489
c8c06953
CW
184902010-07-06 Colin Watson <cjwatson@ubuntu.com>
18491
18492 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18493 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18494 doesn't work otherwise.
18495
e75056f1
CW
184962010-07-05 Colin Watson <cjwatson@ubuntu.com>
18497
18498 * docs/grub.texi (Features): Update list of supported file systems.
18499 (GNU/Linux): Update for GRUB 2.
18500 (Serial terminal): Remove mention of --disable-serial, which was a
18501 GRUB Legacy configure option. Update instructions to use
18502 `terminal_input' and `terminal_output' rather than `terminal'.
18503 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18504 configuration' and `Installing GRUB using grub-install'.
18505 (Menu entry editor): Update for GRUB 2.
18506 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18507 Document new -a, -u, and -v options.
18508 (initrd): New section.
18509 (initrd16): New section.
18510 (linux): New section.
18511 (linux16): New section.
18512 (search): The `var' argument to `--set' is optional.
18513 (GRUB only offers a rescue shell): Go into a little more detail on
18514 drive ordering.
18515
5cf69151
CW
185162010-07-05 Colin Watson <cjwatson@ubuntu.com>
18517
18518 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18519
e3f90044
CW
185202010-07-05 Colin Watson <cjwatson@ubuntu.com>
18521
18522 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18523 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18524
38d8f4f3
CW
185252010-07-05 Colin Watson <cjwatson@ubuntu.com>
18526
18527 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18528 install_prefix, in line with install_dos_part and install_bsd_part.
18529 Add new prefix variable, which is copied to install_prefix after
18530 comparing core.img in memory with the one read from disk in the
18531 no-embedding case, and use that rather than overwriting
18532 install_prefix immediately when installing to a partition.
18533 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18534 Bicakci.
18535
57ebd41e
GS
185362010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18537
18538 * configure.ac: Avoid == in test command, it's not portable.
18539 * util/grub.d/30_os-prober.in: Likewise.
18540
cb7f64b2
CW
185412010-07-04 Colin Watson <cjwatson@ubuntu.com>
18542
18543 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18544
6b654bb0
GS
185452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18546
18547 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18548 multiple (top-level) partmaps.
18549
72a2026d
VS
185502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18553 Reported by: Tino Keitel.
72a2026d 18554
df3eb88f
VS
185552010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18556
18557 Bidi and diacritics support.
18558
18559 * Makefile.in (widthspec.bin): New target.
18560 (widthspec.h): Likewise.
18561 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18562 * autogen.sh: Generate unidata.c.
18563 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18564 * commands/ls.c (grub_ls_list_devices): Likewise.
18565 (grub_ls_list_files): Likewise.
18566 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18567 (grub_mini_cmd_lsmod): Likewise.
18568 * commands/read.c: Likewise.
18569 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18570 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18571 * lib/arg.c (grub_arg_show_help): Likewise.
18572 * lib/crypto.c (grub_password_get): Likewise.
18573 * normal/auth.c (grub_username_get): Likewise.
18574 * normal/misc.c (grub_normal_print_device_info): Likewise.
18575 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18576 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18577 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18578 (normal/charset.c_DEPENDENCIES): New variable.
18579 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18580 (pkglib_MODULES): Remove charset.mod.
18581 (charset_mod_SOURCES): Removed.
18582 (charset_mod_CFLAGS): Likewise.
18583 (charset_mod_LDFLAGS): Likewise.
18584 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18585 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18586 and term/tparm.c.
18587 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18588 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18589 (kernel_img_HEADERS): Add terminfo.h.
18590 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18591 Fill ->font. Reverse ascii bitmaps.
18592 (grub_font_get_xheight): New function.
18593 * font/font.c (grub_font_get_string_width): Moved from here ...
18594 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18595 * font/font.c (grub_font_draw_string): Moved from here ...
18596 * gfxmenu/font.c (grub_font_draw_string): ... here.
18597 * font/font.c (grub_font_dup_glyph): New function.
18598 (grub_font_blit_glyph): Likewise.
18599 (grub_font_blit_glyph_mirror): Likewise.
18600 (blit_comb): Likewise.
18601 (grub_font_construct_dry_run): Likewise.
18602 (grub_font_get_constructed_device_width): Likewise.
18603 (grub_font_construct_glyph): Likewise.
18604 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18605 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18606 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18607 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18608 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18609 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18610 (grub_font_get_xheight): New proto.
18611 (grub_font_get_constructed_device_width): Likewise.
18612 (grub_font_construct_glyph): Likewise.
18613 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18614 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18615 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18616 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18617 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18618 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18619 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18620 (grub_console_getcharwidth): Likewise.
18621 * include/grub/misc.h (grub_xputs): New proto.
18622 (grub_puts): Inlined.
18623 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18624 (grub_normal_get_line_counter): Removed.
18625 (grub_install_newline_hook): Likewise.
18626 (grub_normal_get_char_counter): New proto.
18627 (grub_normal_reset_more): Likewise.
18628 (grub_xputs_normal): Likewise.
18629 * include/grub/powerpc/ieee1275/console.h: Removed.
18630 * include/grub/sparc64/ieee1275/console.h: Likewise.
18631 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18632 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18633 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18634 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18635 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18636 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18637 (grub_term_input): Pass reference to self. All users updated.
18638 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18639 Pass reference to self. New fields normal_color, highlight_color and
18640 data. All users updated.
18641 (grub_putchar): Removed.
18642 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18643 (grub_unicode_estimate_width): New function.
18644 (grub_term_getcharwidth): Add defaults.
18645 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18646 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18647 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18648 (grub_cls): Remove EXPORT_FUNC.
18649 (grub_setcolorstate): Inline.
18650 (grub_newline_hook): Removed.
18651 * include/grub/terminfo.h: Rewritten. All users updated.
18652 * include/grub/unicode.h: New file.
18653 * include/grub/video.h (grub_video_signed_rect): New type.
18654 * kern/emu/console.c (grub_console_highlight_color): Removed.
18655 (grub_console_normal_color): Likewise.
18656 (grub_console_standard_color): Made static.
18657 (grub_ncurses_putchar): Remove mapping.
18658 (grub_ncurses_getcharwidth): Removed.
18659 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18660 (grub_ncurses_setcolor): Removed.
18661 (grub_ncurses_getcolor): Likewise.
18662 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18663 (grub_console_putchar): ... this.
18664 (grub_console_putchar): Handle argument difference.
18665 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18666 console_init_early and console_init_lately.
18667 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18668 * kern/misc.c (grub_puts): Removed.
18669 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18670 (grub_vsnprintf_real): Remove str = NULL support.
18671 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18672 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18673 * kern/term.c (grub_putcode): Renamed to ...
18674 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18675 (grub_putchar): Removed.
18676 (grub_xputs_dumb): New function.
18677 (grub_xputs): New variable.
18678 * lib/charset.c: Move from here ...
18679 * normal/charset.c: ... to here.
18680 (grub_ucs4_to_utf8): New function.
18681 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18682 (join_types): New variable.
18683 (unpack_join): New function.
18684 (bidi_types): New variable.
18685 (unpack_bidi): New function.
18686 (get_bidi_type): Likewise.
18687 (get_join_type): Likewise.
18688 (is_mirrored): Likewise.
18689 (grub_unicode_get_comb_type): Likewise.
18690 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18691 (is_type_after): Likewise.
18692 (grub_unicode_aglomerate_comb): Likewise.
18693 (bidi_line_wrap): Likewise.
18694 (grub_bidi_line_logical_to_visual): Likewise.
18695 (grub_bidi_logical_to_visual): Likewise.
18696 (grub_unicode_mirror_code): Likewise.
18697 (grub_unicode_shape_code): Likewise.
18698 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18699 Don't use grub_putchar.
18700 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18701 (grub_normal_reader_init): Likewise.
18702 (grub_xputs_saved): New variable.
18703 (GRUB_MOD_INIT): Set grub_xputs.
18704 (GRUB_MOD_FINI): Restore grub_xputs.
18705 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18706 (menu_init): Avoid printing gfxmenu error.
18707 (show_menu): Use grub_normal_get_char_counter.
18708 * normal/menu_entry.c (update_screen): Fix out-of-array.
18709 (complete): Avoid NULL dereferencing.
18710 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18711 * normal/menu_text.c (print_spaces): Removed.
18712 (grub_print_ucs4): Likewise.
18713 (grub_print_message_indented): Use grub_print_ucs4.
18714 (print_message): Use grub_putcode.
18715 (print_entry): Hanlde diacritics.
18716 * normal/term.c (term_state): New type.
18717 (grub_more_lines): Removed.
18718 (term_states): New variable.
18719 (grub_normal_line_counter): Renamed to ..
18720 (grub_normal_char_counter): ...this. All users updated.
18721 (grub_normal_get_line_counter): Renamed to ...
18722 (grub_normal_get_char_counter): ... this.
18723 (grub_normal_reset_more): New function.
18724 (process_newline): Removed.
18725 (print_more): New function.
18726 (grub_install_newline_hook): Removed.
18727 (map_code): New function.
18728 (grub_puts_terminal): Use grub_print_ucs4.
18729 (putglyph): New function.
18730 (putcode_real): Likewise.
18731 (grub_putcode): Use putcode_real.
18732 (get_maxwidth): New function.
18733 (get_startwidth): Likewise.
18734 (print_ucs4_terminal): Likewise.
18735 (find_term_state): Likewise.
18736 (put_glyphs_terminal): Likewise.
18737 (print_backlog): Likewise.
18738 (print_ucs4_real): Likewise.
18739 (grub_print_ucs4): Likewise.
18740 (grub_xputs_normal): Likewise.
18741 * term/efi/console.c (grub_console_putchar): Output diacritics.
18742 (grub_console_getcharwidth): Removed.
18743 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18744 * term/gfxterm.c (clear_char): Free chars.
18745 (scroll_up): Avoid leaking memory.
18746 (grub_gfxterm_putchar): Support diacritics.
18747 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18748 * term/i386/pc/console.c (grub_console_term_output): Declare as
18749 GRUB_TERM_CODE_TYPE_VGA.
18750 * term/i386/pc/vga.c (grub_vga_term): Declare as
18751 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18752 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18753 GRUB_TERM_CODE_TYPE_VGA.
18754 * term/i386/vga_common.c (map_char): Removed.
18755 (grub_console_putchar): Likewise.
18756 (grub_console_getcharwidth): Likewise.
18757 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18758 (colors): Reordered to match terminfo.
18759 (grub_ofconsole_normal_color): Removed.
18760 (grub_ofconsole_writeesc): Likewise.
18761 (grub_ofconsole_highlight_color): Likewise.
18762 (grub_ofconsole_getcharwidth): Likewise.
18763 (grub_ofconsole_setcolorstate): Likewise.
18764 (grub_ofconsole_setcolor): Likewise.
18765 (grub_ofconsole_getcolor): Likewise.
18766 (grub_ofconsole_readkey): Renamed to ...
18767 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18768 key.
18769 (grub_ofconsole_checkkey): Removed.
18770 (grub_ofconsole_getkey): Likewise.
18771 (grub_ofconsole_getxy): Likewise.
18772 (grub_ofconsole_gotoxy): Likewise.
18773 (grub_ofconsole_cls): Likewise.
18774 (grub_ofconsole_refresh): Likewise.
18775 (grub_ofconsole_terminfo_input): New struct.
18776 (grub_ofconsole_terminfo_output): Likewise.
18777 (grub_ofconsole_term_input): Use terminfo.
18778 (grub_ofconsole_term_output): Likewise.
18779 (grub_console_init): Split into ...
18780 (grub_console_init_early): ...this and ...
18781 (grub_console_init_lately): ...this. Use terminfo.
18782 (grub_ofconsole_putchar): Renamed to ...
18783 (put): ... this. Remove mapping.
18784 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18785 * term/serial.c: Simplify using terminfo.
18786 (xpos): Removed.
18787 (ypos): Likewise.
18788 (keep_track): Likewise.
18789 (registered): Likewise.
18790 (input_buf): Likewise.
18791 (npending): Likewise.
18792 (serial_translate_key_sequence): Likewise.
18793 (fill_input_buf): Likewise.
18794 (grub_serial_checkkey): Likewise.
18795 (grub_serial_getkey): Likewise.
18796 (grub_serial_getxy): Likewise.
18797 (grub_serial_gotoxy): Likewise.
18798 (grub_serial_putchar): Likewise.
18799 (grub_serial_cls): Likewise.
18800 (grub_serial_setcolorstate): Likewise.
18801 (grub_serial_setcursor): Likewise.
18802 (serial_hw_init): Use serial_hw_fetch.
18803 (grub_serial_terminfo_input): New variable.
18804 (grub_serial_terminfo_output): Likewise.
18805 (grub_serial_term_input): Use terminfo.
18806 (grub_serial_term_output): Likewise.
18807 * term/terminfo.c (putstr): Use put.
18808 (grub_terminfo_all_free): New function
18809 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18810 (grub_terminfo_output_register): New function.
18811 (grub_terminfo_output_unregister): Likewise.
18812 (grub_terminfo_getxy): Likewise.
18813 (grub_terminfo_readkey): Likewise.
18814 (grub_terminfo_checkkey): Likewise.
18815 (grub_terminfo_getkey): Likewise.
18816 (grub_terminfo_input_init): Likewise.
18817 (print_terminfo): Likewise.
18818 (grub_cmd_terminfo): Handle encoding.
18819 (grub_terminfo_gotoxy): Track position.
18820 (grub_terminfo_cls): Likewise.
18821 (grub_terminfo_putchar): Likewise.
18822 (grub_terminfo_setcolorstate): Handle colors
18823 (grub_terminfo_cursor_on): This ...
18824 (grub_terminfo_cursor_off): ... and this merged into ...
18825 (grub_terminfo_setcursor): ... this.
18826 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18827 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18828 * unicode/BidiMirroring.txt: Likewise.
18829 * unicode/UnicodeData.txt: Likewise.
18830 * unicode/COPYING: Likewise.
18831 * util/grub-editenv.c (grub_putchar): Removed.
18832 (grub_xputs_real): New function.
18833 (grub_xputs): New variable.
18834 * util/grub-fstest.c (grub_putchar): Removed.
18835 (grub_xputs_real): New function.
18836 (grub_xputs): New variable.
18837 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18838 (grub_xputs_real): New function.
18839 (grub_xputs): New variable.
18840 * util/grub-probe.c (grub_putchar): Removed.
18841 (grub_xputs_real): New function.
18842 (grub_xputs): New variable.
18843 * util/grub-script-check.c (grub_putchar): Removed.
18844 (grub_xputs_real): New function.
18845 (grub_xputs): New variable.
18846 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18847 (grub_xputs_real): New function.
18848 (grub_xputs): New variable.
18849 * util/import_unicode.py: New file.
18850 * util/grub-mkfont.c (ft_errmsgs): New array.
18851 (grub_glyph_info): Make bitmap a pointer.
18852 (file_formats): New type WIDTH_SPEC.
18853 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18854 (options): Add width-spec.
18855 (help): Likewise.
18856 (add_char): Renamed to ...
18857 (add_glyph): ... this.
18858 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18859 (glyph_replace): New type.
18860 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18861 (add_char): New function.
18862 (add_subst): Likewise.
18863 (process_cursive): Likewise.
18864 (add_font): Handle GSUB.
18865 (write_font_width_spec): New function.
18866 (main): Sort glyphs.
18867 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18868 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18869 * kern/term.c (grub_cls): Moved from here...
18870 * normal/term.c (grub_cls): ... here.
18871
50f0bcda
CW
188722010-07-02 Colin Watson <cjwatson@ubuntu.com>
18873
18874 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18875 suitable for using within the format argument of printf when
18876 converting grub_size_t.
18877 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18878 "x" to convert grub_size_t arguments.
18879
40372103
VS
188802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18883 too long captions.
18884 (list_get_minimal_size): Take selection box into account.
18885
942a10c7
VS
188862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18889 NULL font.
18890
2bdb2892
CW
188912010-07-02 Colin Watson <cjwatson@ubuntu.com>
18892
18893 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18894 devices when iterating over /dev/disk/by-id; they will be handled
18895 later if appropriate, which they aren't always (e.g. LVM).
18896
e03ed6c1
CW
188972010-07-02 Colin Watson <cjwatson@ubuntu.com>
18898
18899 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18900 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18901 fails.
18902 (grub_halt): Likewise.
18903 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18904 reset-all fails.
18905 (grub_halt): Don't return, even if all of shut-down, power-off, and
18906 poweroff fail.
18907
47695765
CW
189082010-07-02 Colin Watson <cjwatson@ubuntu.com>
18909
18910 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18911 arguments, not three.
18912
507736c8
CW
189132010-07-02 Colin Watson <cjwatson@ubuntu.com>
18914
18915 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18916 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18917 LVM-on-RAID is handled correctly.
18918
e3c8cd37
CW
189192010-07-02 Colin Watson <cjwatson@ubuntu.com>
18920
18921 * docs/grub.texi (Changes from GRUB Legacy): New section.
18922 (Future): Fix typo.
18923
8d4a2fec
CW
189242010-07-02 Colin Watson <cjwatson@ubuntu.com>
18925
18926 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18927 grub.d/README accidentally ends up executable for one reason or
18928 another. Ignore it.
18929
1c4827be
VS
189302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18933 (gpt_partition_map_iterate): Support non-512B sectors.
18934
d9a0c941
VS
189352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18938 Tested by: Seth Goldberg.
18939
48f27e87
VS
189402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18941
18942 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18943 Properly align mbi.
18944 Reported by: Seth Goldberg.
18945
b0c4f956
VS
189462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * util/grub-mkrescue.in: Avoid module duplication.
18949
105a2e8c
SF
189502010-07-01 Sean Finney <seanius@seanius.net>
18951
18952 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18953
5944958c
SF
189542010-07-01 Sean Finney <seanius@seanius.net>
18955
18956 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18957
189582010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 * disk/lvm.c (grub_lvm_checkvalue): New function.
18961 (grub_lvm_check_flag): Likewise.
18962
b79889ba
RM
189632010-07-01 Robert Millan <rmh@gnu.org>
18964
18965 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18966 Support 'p' as partition separator on kernel of FreeBSD (used
18967 with GPT labels).
18968 (grub_util_biosdisk_get_grub_dev): Likewise.
18969
ec1d04f1
VS
189702010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18971
18972 Yeeloong firmware port.
18973
18974 * boot/mips/yeeloong/fwstart.S: New file.
18975 * bus/cs5536.c (gpiodump): New const.
18976 (set_io_space): New function.
18977 (set_iod): Likewise.
18978 (set_p2d): Likewise.
18979 (grub_cs5536_init_geode): Likewise.
18980 * commands/mips/yeeloong/lsspd.c: New file.
18981 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18982 (serial_mod_SOURCES): New variable.
18983 (serial_mod_CFLAGS): Likewise.
18984 (serial_mod_LDFLAGS): Likewise.
18985 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18986 term/terminfo.c and term/tparm.c.
18987 (pkglib_IMAGES): Add fwstart.img.
18988 (fwstart_img_SOURCES): New variable.
18989 (fwstart_img_CFLAGS): Likewise.
18990 (fwstart_img_ASFLAGS): Likewise.
18991 (fwstart_img_LDFLAGS): Likewise.
18992 (fwstart_img_FORMAT): Likewise.
18993 (pkglib_MODULES): Add lsspd.mod.
18994 (lsspd_mod_SOURCES): New variable.
18995 (lsspd_mod_CFLAGS): Likewise.
18996 (lsspd_mod_LDFLAGS): Likewise.
18997 (pkglib_MODULES): Add halt.mod.
18998 (halt_mod_SOURCES): New variable.
18999 (halt_mod_CFLAGS): Likewise.
19000 (halt_mod_LDFLAGS): Likewise.
19001 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
19002 (serial_mod_SOURCES): Removed.
19003 (serial_mod_CFLAGS): Likewise.
19004 (serial_mod_LDFLAGS): Likewise.
19005 * disk/ata.c (check_device): New function.
19006 (grub_ata_device_initialize): Use check_device.
19007 (grub_ata_iterate): Recheck devices.
19008 (grub_ata_open): Likewise.
19009 (grub_atapi_iterate): Likewise.
19010 (grub_atapi_open): Likewise.
19011 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
19012 (GRUB_ATA_CH1_PORT1): Likewise.
19013 (GRUB_ATA_CH0_PORT2): Likewise.
19014 (GRUB_ATA_CH1_PORT2): Likewise.
19015 * include/grub/mips/loongson.h: New file.
19016 * include/grub/mips/yeeloong/ec.h: Likewise.
19017 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
19018 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
19019 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
19020 * include/grub/misc.h (grub_halt): Declare as noreturn.
19021 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
19022 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
19023 (UART_ENABLE_FIFO_TRIGGER1): New definition.
19024 (UART_ENABLE_DTRRTS): Likewise.
19025 (UART_ENABLE_MODEM): Removed.
19026 (UART_ENABLE_OUT2): New const.
19027 * include/grub/term.h (grub_term_register_input_active): New function.
19028 (grub_term_register_output_active): Likewise.
19029 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
19030 argument.
19031 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
19032 (init_pci): New function.
19033 (grub_machine_init): Execute platform init when firmware. Init serial.
19034 (grub_halt): Implement.
19035 (grub_exit): Likewise.
19036 (grub_reboot): Likewise.
19037 * term/serial.c (serial_hw_init): Update macros.
19038 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
19039 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
19040 (image_targets): New target mipsel-yeeloong-flash.
19041 (generate_image): Support IMAGE_YEELOONG_FLASH.
19042 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
19043 (grub_video_sm712_setup): Init card.
19044 (grub_video_sm712_set_palette): Removed.
19045 * video/sm712_init.c: New file.
19046
ff4a70d2
CW
190472010-06-30 Colin Watson <cjwatson@ubuntu.com>
19048
19049 * Makefile.in (install-local): Temporarily prepend $(builddir) to
19050 PATH when running help2man and then run it on the unadorned
19051 executable names, rather than passing $(builddir)/* paths to
19052 help2man. This avoids the build directory ending up in generated
19053 manual pages.
19054
1246efeb
CW
190552010-06-29 Colin Watson <cjwatson@ubuntu.com>
19056
19057 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
19058 to avoid accidents when debugging with 'sh -x'.
19059 * util/grub-mkrescue.in: Likewise.
19060 * util/grub.d/00_header.in: Likewise.
19061 * util/grub.d/10_hurd.in: Likewise.
19062 * util/grub.d/10_kfreebsd.in: Likewise.
19063 * util/grub.d/10_linux.in: Likewise.
19064 * util/grub.d/10_netbsd.in: Likewise.
19065 * util/grub.d/10_windows.in: Likewise.
19066 * util/grub.d/20_linux_xen.in: Likewise.
19067 * util/grub.d/30_os-prober.in: Likewise.
19068 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19069
1ba9b889
CW
190702010-06-29 Colin Watson <cjwatson@ubuntu.com>
19071
19072 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19073 last character in the buffer.
19074 Reported by: Vladimir Serbinenko.
19075
dccaf99d
RM
190762010-06-29 Robert Millan <rmh@gnu.org>
19077
19078 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19079 (Command-line and menu entry commands): Document `badram' command.
19080
d500ed12
RM
190812010-06-28 Robert Millan <rmh@gnu.org>
19082
19083 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19084 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19085 command using ${GRUB_BADRAM} as parameter.
19086
20bc84a6
CW
190872010-06-28 Colin Watson <cjwatson@ubuntu.com>
19088
19089 * docs/grub.texi (Device map): New section.
19090 (Themes): New section (stub).
19091 * Makefile.in (docs/grub.info): The info documentation now builds
19092 without errors. Make sure it stays that way.
19093
4045dee1
VS
190942010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 Use normal parser for menu entries.
19097 Reported by: Thomas Frauendorfer
19098
19099 * include/grub/parser.h (grub_parser_execute): Don't export.
19100 * normal/menu.c (grub_menu_execute_entry_real): New function.
19101 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19102
bca58c7b
CW
191032010-06-28 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * docs/grub.texi (Embedded configuration): New section (replacing
19106 old "Preset Menu" stub).
19107 (Images): New section.
19108 (configfile): Note that any menu entries defined in `file' are shown
19109 immediately.
19110
dec53e63
JT
191112010-06-28 Josh Triplett <josh@joshtriplett.org>
19112
19113 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19114
c06e40f7
CW
191152010-06-28 Colin Watson <cjwatson@ubuntu.com>
19116
19117 * util/grub-install.in: Add --debug-image= option.
19118
cb88052b
CW
191192010-06-28 Colin Watson <cjwatson@ubuntu.com>
19120
19121 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19122 possible on Linux.
19123
19124 * util/deviceiter.c (check_device): Rename to ...
19125 (check_device_readable_unique): ... this. Update all callers.
19126 Maintain and check a list of which devices (by canonicalized name)
19127 have already been seen.
19128 (clear_seen_devices): New function.
19129 (compare_file_names) [__linux__]: New function.
19130 (grub_util_iterate_devices): Clear the list of seen devices on exit
19131 and (just in case) on entry.
19132 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19133 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19134 seen-devices list, superseded by general code in check_device.
19135
bbe34652
CW
191362010-06-28 Colin Watson <cjwatson@ubuntu.com>
19137
19138 * commands/cat.c (options): New variable.
19139 (grub_cmd_cat): Parse options. If the --dos option is given, print
19140 DOS-style "\r\n" line endings as simple newlines (Debian bug
19141 #586358).
19142 (GRUB_MOD_INIT): Use extcmd.
19143 (GRUB_MOD_FINI): Likewise.
19144 * docs/grub.texi (cat): Document --dos.
19145
412e09f3
VS
191462010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 XEN with Linux grub-mkconfig support.
19149
19150 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19151 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19152 GRUB_CMDLINE_XEN_DEFAULT.
19153 * util/grub.d/20_linux_xen.in: New file.
19154
53f3ef38 191552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19156
19157 Initialise VGA video on qemu ourselves.
19158
19159 * boot/i386/qemu/boot.S: Don't call 0xc000.
19160 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19161 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19162 (kernel_img_HEADERS): Add pci.h.
19163 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19164 * configure.ac: Force unifont on qemu and yeeloong.
19165 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19166 (grub_vga_palette_write): Use correct register.
19167 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19168 Call grub_qemu_init_cirrus.
19169 * kern/i386/qemu/init.c: New file.
19170 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19171
19172 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19173
c75be4fb
PR
191742010-06-26 Pavel Roskin <proski@gnu.org>
19175
19176 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19177 13.
19178
d8034603
CW
191792010-06-26 Colin Watson <cjwatson@ubuntu.com>
19180
19181 * docs/grub.texi (Simple configuration): Explain that
19182 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19183 set to `true' to disable their respective recovery entries, not
19184 merely set.
19185
3fa06487
CW
191862010-06-26 Colin Watson <cjwatson@ubuntu.com>
19187
19188 Make the `source' command slightly faster.
19189
19190 * normal/main.c (grub_normal_execute): Don't re-read list files when
19191 nested.
19192
e9b29642
CW
191932010-06-23 Colin Watson <cjwatson@ubuntu.com>
19194
19195 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19196 field position and mask size to red fields from mode_info, not
19197 green.
19198 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19199 Remove redundant tag->common.framebuffer_type assignment.
19200 Reported by: Seth Goldberg.
19201
e726542f
CW
192022010-06-23 Colin Watson <cjwatson@ubuntu.com>
19203
19204 Sync up other versions of the Linux loader with Robert Millan's
19205 change of 2010-01-09, "Make loader output a bit more user-friendly".
19206
19207 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19208 grub_dprintf().
19209 (grub_cmd_linux): Likewise.
19210 (grub_cmd_initrd): Likewise.
19211 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19212 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19213
d6e98a17
CW
192142010-06-21 Colin Watson <cjwatson@ubuntu.com>
19215
19216 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19217 larger than MEMORY_MAP_SIZE.
19218
14d3f08e
BC
192192010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19220
19221 Fix parallel build.
19222
19223 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19224 dependency.
19225 * script/parser.y: #include grub_script.tab.h header.
19226
4f9613a3
VS
192272010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 Support >3GiB and <16MiB RAM in i386-qemu.
19230
19231 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19232 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19233 (grub_lower_mem): Removed.
19234 (grub_upper_mem): Likewise.
19235 (mem_size): Made static.
19236 (above_4g): New variable.
19237 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19238 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19239 support.
19240
05e51879
VS
192412010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 Cirrus 5446 and Bochs video cards support.
19244
19245 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19246 video_bochs.mod
19247 (video_cirrus_mod_SOURCES): New variable.
19248 (video_cirrus_mod_CFLAGS): Likewise.
19249 (video_cirrus_mod_LDFLAGS): Likewise.
19250 (video_bochs_mod_SOURCES): Likewise.
19251 (video_bochs_mod_CFLAGS): Likewise.
19252 (video_bochs_mod_LDFLAGS): Likewise.
19253 * include/grub/vga.h: New file.
19254 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19255 (grub_video_fb_set_page_t): New type.
19256 (grub_video_fb_setup): New prototype.
19257 (grub_video_fb_swap_buffers): Likewise.
19258 (grub_video_fb_get_info_and_fini): Likewise.
19259 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19260 (CRTC_DATA_PORT): Likewise.
19261 (CRTC_CURSOR): Likewise.
19262 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19263 (CRTC_CURSOR_ADDR_LOW): Likewise.
19264 (CRTC_CURSOR_DISABLE): Likewise.
19265 (update_cursor): Use grub_vga_cr_write.
19266 (grub_vga_text_setcursor): Likewise.
19267 * video/bochs.c: New file.
19268 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19269 (palette): Likewise.
19270 (palette_size): Likewise.
19271 (framebuffer): New variable.
19272 (grub_video_fb_init): Use 'framebuffer'.
19273 (grub_video_fb_fini): Likewise.
19274 (grub_video_fb_get_info): Likewise.
19275 (grub_video_fb_get_palette): Likewise.
19276 (grub_video_fb_set_palette): Likewise.
19277 (grub_video_fb_set_viewport): Likewise.
19278 (grub_video_fb_get_viewport): Likewise.
19279 (grub_video_fb_map_color): Likewise.
19280 (grub_video_fb_map_rgb): Likewise.
19281 (grub_video_fb_map_rgba): Likewise.
19282 (grub_video_fb_unmap_color): Likewise.
19283 (grub_video_fb_unmap_color_int): Likewise.
19284 (grub_video_fb_fill_rect): Likewise.
19285 (grub_video_fb_blit_bitmap): Likewise.
19286 (grub_video_fb_blit_render_target): Likewise.
19287 (grub_video_fb_scroll): Likewise.
19288 (grub_video_fb_create_render_target): Likewise.
19289 (grub_video_fb_doublebuf_blit_init): Likewise.
19290 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19291 (doublebuf_pageflipping_update_screen): New function.
19292 (doublebuf_pageflipping_init): Likewise.
19293 (grub_video_fb_setup): Likewise.
19294 (grub_video_fb_swap_buffers): Likewise.
19295 (grub_video_fb_get_info_and_fini): Likewise.
19296 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19297 All users updated.
19298 (doublebuf_pageflipping_commit): Restructured into ...
19299 (doublebuf_pageflipping_set_page): ... this.
19300 (doublebuf_pageflipping_update_screen): Removed.
19301 (doublebuf_pageflipping_init): Likewise.
19302 (double_buffering_init): Likewise.
19303 (grub_video_vbe_setup): Use grub_video_fb_setup.
19304 (grub_video_vbe_swap_buffers): Removed.
19305 (grub_video_vbe_set_active_render_target): Likewise.
19306 (grub_video_vbe_get_active_render_target): Likewise.
19307 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19308 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19309 grub_video_fb_set_active_render_target and
19310 grub_video_fb_get_active_render_target.
19311 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19312 (SEQUENCER_DATA_PORT): Likewise.
19313 (MAP_MASK_REGISTER): Likewise.
19314 (CRTC_ADDR_PORT): Likewise.
19315 (CRTC_DATA_PORT): Likewise.
19316 (START_ADDR_HIGH_REGISTER): Likewise.
19317 (START_ADDR_LOW_REGISTER): Likewise.
19318 (GRAPHICS_ADDR_PORT): Likewise.
19319 (GRAPHICS_DATA_PORT): Likewise.
19320 (READ_MAP_REGISTER): Likewise.
19321 (INPUT_STATUS1_REGISTER): Likewise.
19322 (INPUT_STATUS1_VERTR_BIT): Likewise.
19323 (get_map_mask): Use grub_vga_sr_read.
19324 (set_map_mask): Use grub_vga_sr_write.
19325 (set_read_map): Use grub_vga_gr_write.
19326 (set_start_address): Use grub_vga_cr_write.
19327 * video/sm712.c (framebuffer): Remove leftover fields.
19328
4321c64a
CW
193292010-06-20 Colin Watson <cjwatson@ubuntu.com>
19330
19331 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19332 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19333 instead. Replace the gfxterm backend check with a check that
19334 ${GRUB_PREFIX}/video.lst is non-empty.
19335 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19336 again.
19337 (load_video): New generated function. Call it before loading
19338 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19339 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19340 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19341 * docs/grub.texi (Simple configuration): Document
19342 GRUB_VIDEO_BACKEND.
19343
193442010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 Use video functions in linux and xnu loaders.
19347
19348 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19349 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19350 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19351 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19352 loader/i386/pc/linux.c.
19353 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19354 (find_line_len): Removed.
19355 (find_framebuf): Likewise.
19356 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19357 * loader/i386/efi/xnu.c: Removed.
19358 * loader/i386/pc/xnu.c: Moved from here...
19359 * loader/i386/xnu.c: ...here.
19360
19361 Enable priorities in video drivers.
19362
19363 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19364 (grub_video_adapter): New field prio.
19365 (grub_video_register): Respect prio when inserting.
19366 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19367 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19368 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19369 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19370 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19371 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19372 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19373
19374 Fix SDL driver ID.
19375
19376 * include/grub/video.h (grub_video_driver_id_t): New value
19377 GRUB_VIDEO_DRIVER_SDL.
19378 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19379
7d24e434
CW
193802010-06-17 Colin Watson <cjwatson@ubuntu.com>
19381
19382 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19383 argument to printf.
19384 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19385
c88a83f6
CW
193862010-06-17 Colin Watson <cjwatson@ubuntu.com>
19387
19388 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19389 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19390
094dfb69
CW
193912010-06-17 Colin Watson <cjwatson@ubuntu.com>
19392
19393 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19394 directly, and recommend grub-install instead.
19395 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19396
2164da6b
CW
193972010-06-17 Colin Watson <cjwatson@ubuntu.com>
19398
19399 Fix i386-pc prefix handling with nested partitions (Debian bug
19400 #585068). Note that the case where the core image is booted using
19401 multiboot and relocated from its original location still requires
19402 more work.
19403
19404 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19405 with "(,", fill the boot drive in between those two characters, but
19406 expect that a full partition specification including partition map
19407 names will follow.
19408 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19409 specified, write a prefix without the drive name but including a
19410 full partition specification.
19411
044e2e60
CW
194122010-06-16 Colin Watson <cjwatson@ubuntu.com>
19413
19414 * util/grub-mkconfig.in: Ignore non-option arguments, for
19415 compatibility with older versions (before 2010-06-12) which did the
19416 same. In particular, this makes it easier to ship an update-grub
19417 wrapper which is compatible with that used with GRUB Legacy (Debian
19418 bug #586056).
19419
5591324f
GS
194202010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19421
19422 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19423 for manual page generation.
19424
662e24d5
GS
194252010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19426
19427 * po/POTFILES: Remove leftover commands/handler.c.
19428
8d70754e
CW
194292010-06-14 Colin Watson <cjwatson@ubuntu.com>
19430
19431 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19432 left this script non-functional.
19433
41160e2e
CW
194342010-06-14 Colin Watson <cjwatson@ubuntu.com>
19435
19436 * docs/man/grub-emu.h2m: New file.
19437
b5309cc1
CW
194382010-06-13 Colin Watson <cjwatson@ubuntu.com>
19439
19440 * docs/grub.texi (Commands): Document reduced command set in rescue
19441 mode.
19442 (cpuid): New section.
19443
fcb2d090
GS
194442010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19445
19446 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19447 new partition naming style.
19448 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19449
96e5c556
BC
194502010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19451
19452 Add "-o grub.iso" like cmdline options support.
19453
19454 * util/grub-install.in: Improve cmdline option parsing.
19455 * util/grub-mkconfig.in: Likewise.
19456 * util/grub-mkrescue.in: Likewise.
19457 * util/grub-reboot.in: Likewise.
19458 * util/grub-set-default.in: Likewise.
19459 * util/i386/efi/grub-install.in: Likewise.
19460 * util/ieee1275/grub-install.in: Likewise.
19461 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19462
c16be99b
CW
194632010-06-12 Colin Watson <cjwatson@ubuntu.com>
19464
19465 * .bzrignore: Ignore 41_custom.
19466
ce08a9fb
TS
194672010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19468
19469 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19470
7beac90c
CW
194712010-06-12 Colin Watson <cjwatson@ubuntu.com>
19472
19473 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19474 prototype declarations.
19475
19476 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19477 generating fs, partmap, and video lists.
19478 * include/grub/fs.h (grub_fs_register): Omit prototype if
19479 GRUB_LST_GENERATOR is defined.
19480 * include/grub/partition.h (grub_partition_map_register): Likewise.
19481 * include/grub/video.h (grub_video_register): Likewise.
19482
1c8f0f8d
JM
194832010-06-12 Javier Martín <lordhabbit@gmail.com>
19484
19485 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19486
a6085973
TS
194872010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19488
19489 * util/grub-mkrescue.in: Support --xorriso argument.
19490
25c56d29
VS
194912010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19492
19493 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19494 Suggested by: Thomas Schmitt.
19495
e03e4b24
VS
194962010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19497
19498 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19499 Suggested by: Thomas Schmitt.
19500
57711df6
VS
195012010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19502
19503 custom.cfg support.
19504
19505 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19506 * util/grub.d/41_custom.in: New file.
19507
ee62c427
CW
195082010-06-12 Colin Watson <cjwatson@ubuntu.com>
19509
19510 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19511 been merged back into normal.
19512
283af07a
CW
195132010-06-11 Colin Watson <cjwatson@ubuntu.com>
19514
19515 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19516 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19517
56a0d956
CW
195182010-06-11 Colin Watson <cjwatson@ubuntu.com>
19519
19520 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19521 when generating manual pages.
19522 * docs/man/grub-bin2h.h2m: New file.
19523 * docs/man/grub-editenv.h2m: New file.
19524 * docs/man/grub-fstest.h2m: New file.
19525 * docs/man/grub-install.h2m: New file.
19526 * docs/man/grub-macho2img.h2m: New file.
19527 * docs/man/grub-mkconfig.h2m: New file.
19528 * docs/man/grub-mkdevicemap.h2m: New file.
19529 * docs/man/grub-mkfont.h2m: New file.
19530 * docs/man/grub-mkimage.h2m: New file.
19531 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19532 * docs/man/grub-mkrelpath.h2m: New file.
19533 * docs/man/grub-mkrescue.h2m: New file.
19534 * docs/man/grub-ofpathname.h2m: New file.
19535 * docs/man/grub-pe2elf.h2m: New file.
19536 * docs/man/grub-probe.h2m: New file.
19537 * docs/man/grub-reboot.h2m: New file.
19538 * docs/man/grub-script-check.h2m: New file.
19539 * docs/man/grub-set-default.h2m: New file.
19540 * docs/man/grub-setup.h2m: New file.
19541
3a37e322
VS
195422010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 Use FOR_* macros instead of *_iterate whenever possible.
19545
19546 * commands/handler.c: Removed.
19547 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19548 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19549 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19550 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19551 (grub_probe_SOURCES): Remove kern/parser.c.
19552 (util/grub-script-check.c_DEPENDENCIES): Removed.
19553 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19554 and grub_script_check_init.c.
19555 (grub_script_check_init.lst): Removed.
19556 (grub_script_check_init.h): Likewise.
19557 (grub_script_check_init.c): Likewise.
19558 (pkglib_MODULES): Remove handler.mod and sh.mod.
19559 (handler_mod_SOURCES): Removed.
19560 (handler_mod_CFLAGS): Likewise.
19561 (handler_mod_LDFLAGS): Likewise.
19562 (normal_mod_SOURCES): Remove normal/handler.c.
19563 Add script/main.c, script/script.c, script/execute.c,
19564 script/function.c, script/lexer.c, grub_script.tab.c
19565 and grub_script.yy.c.
19566 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19567 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19568 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19569 (grub_setup_SOURCES): Remove kern/parser.c.
19570 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19571 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19572 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19573 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19574 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19575 (grub_setup_SOURCES): Remove kern/parser.c.
19576 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19577 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19578 * include/grub/command.h (grub_command_iterate): Removed.
19579 (FOR_COMMANDS): New macro.
19580 * include/grub/dl.h (grub_dl): New member next.
19581 (grub_dl_iterate): Removed.
19582 (grub_dl_head): New variable declaration.
19583 (FOR_DL_MODULES): New macro.
19584 * include/grub/fs.h: Include list.h.
19585 (grub_fs): Make next first element.
19586 (grub_fs_list): New variable declaration.
19587 (grub_fs_register): Make inline.
19588 (grub_fs_unregister): Likewise.
19589 (grub_fs_iterate): Removed.
19590 (FOR_FILESYSTEMS): New macro.
19591 * include/grub/handler.h: Removed.
19592 * include/grub/list.h (grub_list_hook_t): Removed.
19593 (grub_list_test_t): Likewise.
19594 (grub_list_pop): Likewise.
19595 (grub_list_iterate): Likewise.
19596 (grub_list_insert): Likewise.
19597 (FOR_LIST_ELEMENTS): New macro.
19598 * include/grub/parser.h (grub_parser_class): Removed.
19599 (grub_parser_register): Likewise.
19600 (grub_parser_unregister): Likewise.
19601 (grub_parser_get_current): Likewise.
19602 (grub_parser_set_current): Likewise.
19603 (grub_register_rescue_parser): Likewise.
19604 (grub_rescue_parse_line): New function.
19605 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19606 * include/grub/script_sh.h (grub_script_function_list): New variable
19607 declaration.
19608 (FOR_SCRIPT_FUNCTIONS): New macro.
19609 (grub_script_function_iterate): Removed.
19610 (grub_normal_parse_line): New prototype.
19611 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19612 (FOR_DISABLED_TERM_INPUTS): Likewise.
19613 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19614 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19615 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19616 element.
19617 (grub_video_register): Inline.
19618 (grub_video_unregister): Likewise.
19619 (grub_video_adapter_list): New variable declaration.
19620 (grub_video_iterate): Removed.
19621 (FOR_VIDEO_ADAPTERS): New macro.
19622 * kern/dl.c (grub_dl_list): Removed. All users updated.
19623 (grub_dl_iterate): Removed.
19624 * kern/fs.c (grub_fs_list): Make global.
19625 (grub_fs_register): Removed.
19626 (grub_fs_unregister): Likewise.
19627 (grub_fs_iterate): Likewise.
19628 * kern/handler.c: Removed.
19629 * kern/list.c (grub_list_pop): Removed.
19630 (grub_list_iterate): Likewise.
19631 (grub_list_insert): Likewise.
19632 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19633 (grub_prio_list_insert): Don't use grub_list_insert.
19634 * kern/main.c (grub_register_rescue_parser): Don't call
19635 grub_register_rescue_parser.
19636 * kern/parser.c (grub_parser_class): Removed.
19637 (grub_parser_execute): Use grub_rescue_parse_line.
19638 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19639 (grub_rescue_parser): Removed.
19640 (grub_register_rescue_parser): Likewise.
19641 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19642 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19643 (grub_auth_check_authentication): Likewise.
19644 * normal/completion.c (iterate_command): Removed.
19645 (grub_normal_do_completion): Use FOR_COMMANDS.
19646 * normal/handler.c: Removed.
19647 * normal/main.c (read_config_file): Remove parser changing.
19648 (grub_normal_execute): Don't call read_handler_list.
19649 (grub_normal_read_line_real): Statically allocate prompt.
19650 (grub_cmdline_run): Use grub_normal_parse_line.
19651 (GRUB_MOD_FINI): Don't call free_handler_list.
19652 * normal/menu_entry.c (run): Likewise.
19653 * script/function.c (grub_script_function_list): Make global.
19654 (grub_script_function_iterate): Removed.
19655 * script/main.c (grub_normal_parse_line): Make global.
19656 (grub_sh_parser): Removed.
19657 (GRUB_MOD_INIT): Likewise.
19658 (GRUB_MOD_FINI): Likewise.
19659 * tests/lib/functional_test.c (grub_functional_test): Use
19660 FOR_LIST_ELEMENTS.
19661 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19662 (grub_test_run): Use FOR_LIST_ELEMENTS.
19663 * tests/lib/unit_test.c (main): Likewise.
19664 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19665 grub_list_pop.
19666 * util/grub-fstest.c (grub_term_input_class): Removed.
19667 (grub_term_output_class): Likewise.
19668 * util/grub-probe.c: Likewise.
19669 * util/i386/pc/grub-setup.c: Likewise.
19670 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19671 * util/grub-script-check.c (main): Don't call grub_init_all and
19672 grub_fini_all.
19673 * video/video.c (grub_video_adapter_list): Make global.
19674 (grub_video_register): Removed.
19675 (grub_video_unregister): Likewise.
19676 (grub_video_iterate): Likewise.
19677
6289c3a7
VS
196782010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19681 reported by Henrique Ferreiro.
19682
91460247
RM
196832010-06-09 Robert Millan <rmh@gnu.org>
19684
19685 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19686 ones, when both are available.
19687
0ea7c4f9
GS
196882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19689
19690 Make --version uniform and avoid hard-coded program name.
19691
19692 * util/grub-mkimage.c (main): Use `program_name' instead of
19693 hard-coded string.
19694 * util/i386/pc/grub-setup.c (main): Likewise.
19695 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19696 * util/grub-install.in: Save the basename of $0 in $self, and use the
19697 latter in informational messages. Use the same format for --version
19698 as the binary programs.
19699 * util/grub-mkconfig.in: Likewise.
19700 * util/grub-mkrescue.in: Likewise.
19701 * util/grub-reboot.in: Likewise.
19702 * util/grub-set-default.in: Likewise.
19703 * util/i386/efi/grub-install.in: Likewise.
19704 * util/ieee1275/grub-install.in: Likewise.
19705 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19706
e8a6f3b6
GS
197072010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19708
19709 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19710 embedding area. Use <= instead of == when checking for non-emptiness.
19711
f4d095d7
GS
197122010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19713
19714 * configure.ac: Add `.' to the directories searched for unifont.
19715
50e532ca
CW
197162010-06-08 Colin Watson <cjwatson@ubuntu.com>
19717
19718 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19719 grub_script.yy.h.
19720
d39f3dec
CW
197212010-06-08 Colin Watson <cjwatson@ubuntu.com>
19722
19723 * docs/grub.texi (History): Expand to cover GRUB 2.
19724 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19725 commands, not `terminal'.
19726 (serial): Likewise.
19727 (terminal_input): New section.
19728 (terminal_output): New section.
19729 (uppermem): New section (stub).
19730 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19731
6ef0ddb4
CW
197322010-06-08 Colin Watson <cjwatson@ubuntu.com>
19733
19734 * docs/grub.texi (Security): Menu entries are unrestricted by
19735 default, not restricted to superusers as I had previously thought.
19736 Reword to account for this.
19737
e0f4c438
CW
197382010-06-07 Colin Watson <cjwatson@ubuntu.com>
19739
19740 * kern/emu/misc.c (device_mapper_null_log): New function.
19741 (grub_device_mapper_supported): New function.
19742 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19743 prototype.
19744 * kern/emu/hostdisk.c (find_partition_start): Check whether
19745 device-mapper is supported before trying to use it.
19746 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19747
da908200
CW
197482010-06-07 Colin Watson <cjwatson@ubuntu.com>
19749
19750 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19751 (File name syntax): Likewise.
19752 (help): --all is no longer supported in GRUB 2. Be more precise
19753 about pattern matching.
19754
fb55c3ac
CW
197552010-06-07 Colin Watson <cjwatson@ubuntu.com>
19756
19757 * normal/completion.c (grub_normal_do_completion): When completing
19758 arguments to "set" and the current word contains an equals sign,
19759 skip to after the equals sign before starting completion.
19760
258c2573
CW
197612010-06-07 Colin Watson <cjwatson@ubuntu.com>
19762
19763 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19764
ee75515e
CW
197652010-06-07 Colin Watson <cjwatson@ubuntu.com>
19766
19767 * docs/grub.texi (Network): New section.
19768 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19769 `(nd)' as in GRUB Legacy.
19770 (pxe_unload): New section.
19771
a6a700aa
CW
197722010-06-07 Colin Watson <cjwatson@ubuntu.com>
19773
19774 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19775 in the rescue shell, so recommend using `set' instead. Thanks,
19776 Jordan Uggla.
19777
4003dd38
CW
197782010-06-07 Colin Watson <cjwatson@ubuntu.com>
19779
19780 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19781 (password): New section.
19782 (password_pbkdf2): New section.
19783 (search): New section.
19784 (Security): New section.
19785 (Troubleshooting): New section, currently very incomplete.
19786 (Invoking grub-mkpasswd-pbkdf2): New section.
19787 (Internals): New section, currently very incomplete.
19788
e1cbcc40
CW
197892010-06-07 Colin Watson <cjwatson@ubuntu.com>
19790
19791 * util/grub.d/00_header.in: Add some more quoting (of
19792 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19793 work again.
19794 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19795
db8fa1ad
CW
197962010-06-07 Colin Watson <cjwatson@ubuntu.com>
19797
19798 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19799 to `count', fixing variable shadowing that broke the -c option.
19800
198012010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19802
19803 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19804 in case they contain spaces.
19805
f28a9212
CW
198062010-06-04 Colin Watson <cjwatson@ubuntu.com>
19807
19808 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19809 "part_" to partmap module names, in line with grub-install.
19810 Reported by: Jindřich Makovička (Debian bug #584426).
19811
9cdfe32f
CW
198122010-06-04 Colin Watson <cjwatson@ubuntu.com>
19813
19814 * util/grub-mkimage.c: Make target-related error messages slightly
19815 more helpful; -O talks about "format". Explicitly point to the use
19816 of -O if no target is specified.
19817 Reported by: Didier Raboud (Debian bug #584415).
19818
795b593a
CW
198192010-06-03 Colin Watson <cjwatson@ubuntu.com>
19820
19821 * INSTALL: Document several build requirements for optional features
19822 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19823
9d9b5833
GS
198242010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19825
19826 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19827 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19828 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19829
0819fec8
CW
198302010-06-02 Colin Watson <cjwatson@ubuntu.com>
19831
19832 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19833 Thanks to Jordan Uggla for spotting this.
19834
49396b4f
VS
198352010-06-02 Aleš Nesrsta <starous@volny.cz>
19836
19837 Finally make USB usable.
19838
19839 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19840 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19841 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19842 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19843 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19844 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19845 (GRUB_OHCI_FSMPS): Likewise.
19846 (GRUB_OHCI_PERIODIC_START): Likewise.
19847 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19848 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19849 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19850 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19851 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19852 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19853 (grub_ohci_transaction): Likewise.
19854 (grub_ohci_transfer): Improve condition detection algorithms.
19855 Handle toggle property. Program the transactions correctly.
19856 Improve error handling. Various important fixups.
19857 (grub_ohci_portstatus): Put register writes in right order.
19858 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19859 (grub_uhci_transfer): Don't show "failed" message on success.
19860 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19861 array.
19862 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19863 determine its size.
19864 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19865 before initialization is completed. Use IN direction for empty
19866 transfers. Use last_trans and compute toggle.
19867 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19868 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19869 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19870 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19871 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19872 (grub_usb_device): Increase toggle to 256.
19873 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19874 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19875 GRUB_USBMS_SUBCLASS_SFF8070.
19876 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19877 (grub_scsi_inquiry): New member page and alloc_length.
19878 (grub_scsi_request_sense): New structure.
19879 (grub_scsi_request_sense_data): Likewise.
19880 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19881 control.
19882 * disk/scsi.c (grub_scsi_request_sense): New function.
19883 (grub_scsi_test_unit_ready): Likewise.
19884 (grub_scsi_inquiry): Fill new fields.
19885 (grub_scsi_read_capacity): Likewise.
19886 (grub_scsi_read10): Add request sense at the end.
19887 (grub_scsi_read12): Likewise.
19888 (grub_scsi_write10): Likewise.
19889 (grub_scsi_write12): Likewise.
19890 (grub_scsi_open): Add Test Unit Ready.
19891 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19892 Support additional subclasses. Con't clear halt yet. Activate the
19893 proper config. Calculate LUNs correctly.
19894 (grub_usbms_transfer): Various important fixups.
19895
198962010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19899 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19900 (grub_ohci_fini_hw): New function.
19901 (grub_ohci_restore_hw): Likewise.
19902 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19903 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19904 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19905
199062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 Dedicated DMA allocations.
19909
19910 * bus/pci.c (grub_memalign_dma32): New function
19911 (grub_dma_free): Likewise.
19912 (grub_dma_get_virt): Likewise.
19913 (grub_dma_get_phys): Likewise.
19914 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19915 (grub_ohci_pci_iter): Use dma32_alloc.
19916 (grub_ohci_transfer): Likewise.
19917 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19918 (grub_usb_bulk_readwrite): Likewise.
19919 * include/grub/pci.h: Add declarations.
19920
199212010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 CS5536 support.
19924
19925 * bus/cs5536.c: New file.
19926 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19927 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19928 (cs5536_mod_SOURCES): New variable.
19929 (cs5536_mod_CFLAGS): Likewise.
19930 (cs5536_mod_LDFLAGS): Likewise.
19931 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19932 machine/pci.h.
19933 (kernel_img_SOURCES): Add bus/cs5536.c.
19934 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19935 usb_keyboard.mod.
19936 (usb_mod_SOURCES): New variable.
19937 (usb_mod_CFLAGS): New variable.
19938 (usb_mod_LDFLAGS): New variable.
19939 (usbtest_mod_SOURCES): New variable.
19940 (usbtest_mod_CFLAGS): New variable.
19941 (usbtest_mod_LDFLAGS): New variable.
19942 (ohci_mod_SOURCES): New variable.
19943 (ohci_mod_CFLAGS): New variable.
19944 (ohci_mod_LDFLAGS): New variable.
19945 (usbms_mod_SOURCES): New variable.
19946 (usbms_mod_CFLAGS): New variable.
19947 (usbms_mod_LDFLAGS): New variable.
19948 (usb_keyboard_mod_SOURCES): New variable.
19949 (usb_keyboard_mod_CFLAGS): New variable.
19950 (usb_keyboard_mod_LDFLAGS): New variable.
19951 * include/grub/smbus.h: New file.
19952 * include/grub/cs5536.h: New file.
19953
0b35b2a9
CW
199542010-06-02 Colin Watson <cjwatson@ubuntu.com>
19955
19956 * util/grub.d/00_header.in: Add safety check to make sure that
19957 ${locale_dir} exists before trying to probe it.
19958
ca0afd5b
CW
199592010-06-02 Colin Watson <cjwatson@ubuntu.com>
19960
19961 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19962 per the GNU Coding Standards; this is now too obscure to be worth
19963 documenting.
19964 (QNX): Likewise.
19965 (chainloader): Remove cross-reference to `SCO UnixWare'.
19966
1c41aa78
CW
199672010-06-02 Colin Watson <cjwatson@ubuntu.com>
19968
19969 * docs/grub.texi (Chain-loading): New section.
19970 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19971 adjusted for GRUB 2.
19972 (SCO UnixWare): Likewise.
19973 (QNX): Likewise.
19974 (chainloader): Add reference to `Block list syntax'.
19975 (drivemap): New section.
19976 (parttool): New section.
19977
bb8ea0f5
CW
199782010-06-02 Colin Watson <cjwatson@ubuntu.com>
19979
19980 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19981 the grub shell'.
19982 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19983 (Installing GRUB using grub-install): Remove reference to the grub
19984 shell; mention `grub-mkimage' and `grub-setup' instead.
19985 (Invoking grub-install): Likewise.
19986 (Interface): Add reference to `Menu entry editor'.
19987 (serial): Remove `--device' option.
19988
288dd6ed
CW
199892010-06-02 Colin Watson <cjwatson@ubuntu.com>
19990
19991 * docs/grub.texi (Configuration): New section, documenting
19992 configuration file generation using grub-mkconfig. I've left a slot
19993 for documenting the full shell scripting format but have not yet
19994 started on writing that up.
19995 (Invoking grub-mkconfig): New section.
19996
34c9f0e9
CW
199972010-06-02 Colin Watson <cjwatson@ubuntu.com>
19998
19999 * docs/grub.texi (direntry): Remove grub-terminfo reference.
20000 (GNU GRUB manual): Likewise.
20001 (General commands): Update description of `terminfo' for GRUB 2.
20002
9121567e
CW
200032010-06-02 Colin Watson <cjwatson@ubuntu.com>
20004
20005 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
20006 (GRUB_MOD_INIT): Fix capitalisation.
20007 * docs/grub.texi (Command-line and menu entry commands): Document
20008 gettext and gptsync commands.
20009
ab631611
CW
200102010-06-02 Colin Watson <cjwatson@ubuntu.com>
20011
20012 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
20013 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
20014
bde4a9ac
CW
200152010-06-01 Colin Watson <cjwatson@ubuntu.com>
20016
20017 Add btrfs probing support, currently only in the single-device case.
20018
20019 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
20020 function.
20021 (grub_guess_root_device): Call find_root_device_from_mountinfo
20022 before looking in /dev.
20023
b1d17e10
VS
200242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
20027 GRUB_DISK_SIZE_UNKNOWN.
20028 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
20029
dfbfe004
JS
200302010-05-31 Jiro SEKIBA <jir@unicus.jp>
20031
20032 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
20033 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
20034 corrupted or not synced properly.
20035
c2ffc8e9
VS
200362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20037
20038 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
20039 Reported by: Seth Goldberg.
20040
56293166
VS
200412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20042
20043 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
20044 addition of dest.
20045 Reported by: Seth Goldberg.
20046
7620e7de
VS
200472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20048
20049 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
20050 Reported by: Seth Goldberg.
20051
c837af3f
VS
200522010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
20055 64-bit address as signed on MIPS.
20056
c7c75cf4
CW
200572010-05-28 Colin Watson <cjwatson@ubuntu.com>
20058
20059 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
20060 to the empty string.
20061
fa4b8490
BC
200622010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
20063
20064 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
20065
20066 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
20067 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
20068 * kern/misc.c (__enable_execute_stack): Disable on
20069 GRUB_MACHINE_EMU.
20070
a33075b9
CW
200712010-05-28 Colin Watson <cjwatson@ubuntu.com>
20072
20073 Make grub-probe work with symbolic links under /dev/mapper as well
20074 as with real block devices. The Linux world seems to be (at best)
20075 in transition here, and GRUB shouldn't get caught in the middle.
20076
20077 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20078 /dev/mapper.
20079
d8708134
CW
200802010-05-27 Colin Watson <cjwatson@ubuntu.com>
20081
20082 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20083 input files (in which case exit zero).
20084
db2102a0
CW
200852010-05-27 Colin Watson <cjwatson@ubuntu.com>
20086
20087 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20088 return NULL for various reasons even if it has a maximum-length
20089 buffer: for example, there might be a symlink loop, or the path
20090 might exceed PATH_MAX. If this happens, return NULL.
20091
5fdba519
RM
200922010-05-27 Robert Millan <rmh@gnu.org>
20093
20094 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20095 partmap module to handle cross-partmap setups.
20096 Reported by Orestes Mas. Gràcies!
20097
d1d368e4
CW
200982010-05-27 Colin Watson <cjwatson@ubuntu.com>
20099
20100 * util/grub-mkrescue.in: Initialise override_dir rather than
20101 assuming that it's unset or empty in the environment.
20102
95ac3c73
GS
201032010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20104
20105 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20106 variable index into p_index to suppress a warning with -Wshadow.
20107
7d8c0213
BC
201082010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20109
20110 * INSTALL: Added flex >= 2.5.35 requirement.
20111
db4d5813
VS
201122010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20115
f24f4300
VS
201162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 cmostest support.
20119
20120 * commands/i386/cmostest.c: New file.
20121 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20122 (cmostest_mod_SOURCES): New variable.
20123 (cmostest_mod_CFLAGS): Likewise.
20124 (cmostest_mod_LDFLAGS): Likewise.
20125 * conf/i386-pc.rmk: Likewise.
20126 * docs/grub.texi (Vendor power-on keys): New section.
20127 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20128 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20129 and GRUB_BUTTON_CMOS_ADDRESS.
20130 * util/grub.d/00_header.in: Handle powering-on by separate button.
20131
ad603f61
VS
201322010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20135 Removed drawing_scrollbar argument. All users updated
20136 Fixes #29792.
20137 Reported by Jo Shields
20138
3ecb080a
VS
201392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20140
20141 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20142 buffer since gfxterm handles double repaint.
20143
5f2316c1
VS
201442010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20147 * term/gfxterm.c (real_scroll): Likewise.
20148
9a25f885
VS
201492010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20150
20151 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20152 before calling BIOS.
20153
39fbb79a
VS
201542010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20155
20156 * include/grub/i18n.h: Always enable grub_gettext.
20157
228cfa97
VS
201582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20161 partition naming style.
20162
21717c8f
CW
201632010-05-21 Colin Watson <cjwatson@ubuntu.com>
20164
20165 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20166 not the first option.
20167
c0f48e65
CW
201682010-05-20 Colin Watson <cjwatson@ubuntu.com>
20169
20170 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20171
96779aec
CW
201722010-05-20 Colin Watson <cjwatson@ubuntu.com>
20173
20174 * util/misc.c: Move inclusion of <limits.h> to ...
20175 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20176
fa9d256e
GS
201772010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20178
20179 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20180 Fix merge error in NetBSD code.
20181 (find_partition_start) [__NetBSD__]: Likewise.
20182
123b7a85
BC
201832010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20184
20185 Fix grub-mkrescue usage unit testing.
20186
20187 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20188
74276c0d
CF
201892010-05-18 Christian Franke <franke@computer.org>
20190
20191 * util/grub.d/10_windows.in: Use path names instead of
20192 drive letters to prevent warning from Cygwin 1.7.
20193 Add drivemap command to menuentry if needed.
20194
c4f7b523
ST
201952010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20196
20197 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20198 gnumach and gnumach.gz.
20199
95b97950
VS
202002010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 * include/grub/i18n.h (gettext): Inline instead of using #define.
20203 (grub_gettext): Likewise.
20204 (_): Likewise.
20205
01b8d2d7
VS
202062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20209 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20210 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20211 (main): Add a slash after pkglibdirroot.
20212
654e1d1e
VS
202132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * util/grub-install.in: Add missing "in" keyword.
20216
26966aeb
VS
202172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20218
20219 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20220 Reported by: Seth Goldberg.
20221
75006747
VS
202222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20223
20224 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20225
74cbf5bd
CW
202262010-05-18 Colin Watson <cjwatson@ubuntu.com>
20227
20228 * configure.ac: Check for Linux device-mapper support.
20229
20230 * util/hostdisk.c (device_is_mapped): New function.
20231 (find_partition_start): New function, partly broken out from
20232 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20233 device-mapper support added.
20234 (linux_find_partition): Use find_partition_start.
20235 (convert_system_partition_to_system_disk): Add `st' argument.
20236 Support Linux /dev/mapper/* devices if device-mapper support is
20237 available; only DM-RAID devices are understood at present.
20238 (find_system_device): Add `st' argument. Pass it to
20239 convert_system_partition_to_system_disk.
20240 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20241 find_system_device and convert_system_partition_to_system_disk. Use
20242 find_partition_start.
20243
20244 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20245 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20246 * util/deviceiter.c [__linux__]: Define MINOR.
20247 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20248 * util/mkdevicemap.c (grub_putchar): New function.
20249 (grub_getkey): New function.
20250 (grub_refresh): New function.
20251 (main): Set debug=all if -v -v is used.
20252
355b51e9
CW
202532010-05-18 Colin Watson <cjwatson@ubuntu.com>
20254
20255 Fix build with non-GNU libcs.
20256
20257 * util/misc.c (canonicalize_file_name): Move to ...
20258 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20259 grub_make_system_path_relative_to_its_root.
20260
7fb5c25f
CW
202612010-05-18 Colin Watson <cjwatson@ubuntu.com>
20262
20263 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20264 we handle finding grub-mkimage. Default to finding grub-mkimage in
20265 ${bindir} with program_transform_name applied, and provide a
20266 --grub-mkimage option to override this.
20267
1d3293d6
VS
202682010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 Remove grub-mkisofs.
20271
20272 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20273 (grub_mkisofs_SOURCES): Removed.
20274 (grub_mkisofs_CFLAGS): Removed.
20275 * util/mkisofs/defaults.h: Removed.
20276 * util/mkisofs/eltorito.c: Likewise.
20277 * util/mkisofs/exclude.h: Likewise.
20278 * util/mkisofs/hash.c: Likewise.
20279 * util/mkisofs/include/: Likewise.
20280 * util/mkisofs/include/fctldefs.h: Likewise.
20281 * util/mkisofs/include/mconfig.h: Likewise.
20282 * util/mkisofs/include/prototyp.h: Likewise.
20283 * util/mkisofs/include/statdefs.h: Likewise.
20284 * util/mkisofs/iso9660.h: Likewise.
20285 * util/mkisofs/joliet.c: Likewise.
20286 * util/mkisofs/match.c: Likewise.
20287 * util/mkisofs/match.h: Likewise.
20288 * util/mkisofs/mkisofs.c: Likewise.
20289 * util/mkisofs/mkisofs.h: Likewise.
20290 * util/mkisofs/msdos_partition.h: Likewise.
20291 * util/mkisofs/multi.c: Likewise.
20292 * util/mkisofs/name.c: Likewise.
20293 * util/mkisofs/rock.c: Likewise.
20294 * util/mkisofs/tree.c: Likewise.
20295 * util/mkisofs/write.c: Likewise.
20296
5dde9afe
VS
202972010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20298
20299 Unify grub-mkimage accross platforms.
20300
20301 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20302 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20303 (grub_mkelfimage_SOURCES): Removed.
20304 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20305 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20306 (bin_UTILITIES): Add grub-mkimage.
20307 (grub_mkimage_SOURCES): New variable.
20308 (kernel_img_HEADERS): Remove machine/kernel.h.
20309 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20310 (pkglib_PROGRAMS): Add kernel.img.
20311 (kernel_img_HEADERS): Add machine/kernel.h.
20312 (kernel_img_FORMAT): Removed.
20313 (bin_UTILITIES): Remove grub-mkimage.
20314 (grub_mkimage_SOURCES): Removed.
20315 (grub_mkimage_CFLAGS): Likewise.
20316 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20317 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20318 (pkglib_PROGRAMS): Add kernel.img.
20319 (bin_UTILITIES): Remove grub-mkimage.
20320 (grub_mkimage_SOURCES): Removed.
20321 (grub_mkimage_CFLAGS): Likewise.
20322 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20323 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20324 (pkglib_PROGRAMS): Add kernel.img.
20325 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20326 (pkglib_PROGRAMS): Add kernel.img.
20327 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20328 (grub_mkimage_SOURCES): Removed.
20329 (grub_mkimage_CFLAGS): Likewise.
20330 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20331 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20332 (pkglib_PROGRAMS): Add kernel.img.
20333 (bin_UTILITIES): Remove grub-mkimage.
20334 (grub_mkimage_SOURCES): Removed.
20335 (grub_mkimage_CFLAGS): Likewise.
20336 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20337 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20338 (grub_mkimage_SOURCES): Removed.
20339 (grub_mkimage_CFLAGS): Likewise.
20340 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20341 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20342 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20343 (grub_pe32_optional_header): ... this.
20344 (grub_pe64_optional_header): ... and this. All users updated.
20345 (GRUB_PE32_PE32_MAGIC): Split into ..
20346 (GRUB_PE32_PE32_MAGIC): .. this.
20347 (GRUB_PE32_PE64_MAGIC): .. and this.
20348 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20349 * include/grub/elf.h (PT_GNU_STACK): New definition.
20350 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20351 * include/grub/i386/efi/kernel.h: Likewise.
20352 * include/grub/i386/kernel.h: Likewise.
20353 * include/grub/i386/pc/kernel.h: Likewise.
20354 * include/grub/i386/qemu/boot.h: Likewise.
20355 * include/grub/mips/kernel.h: Likewise.
20356 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20357 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20358 * include/grub/powerpc/kernel.h: Likewise.
20359 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20360 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20361 * include/grub/sparc64/kernel.h: Likewise.
20362 * include/grub/x86_64/efi/kernel.h: Likewise.
20363 * include/grub/x86_64/kernel.h: Likewise.
20364 * include/grub/offsets.h: New file.
20365 * include/grub/kernel.h (grub_module_info): Split into ...
20366 (grub_module_info32): ... this.
20367 (grub_module_info64): ... and this.
20368 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20369 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20370 (grub_boot_blocklist): Moved from here ...
20371 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20372 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20373 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20374 * include/grub/types.h (grub_target_to_host16): Removed.
20375 (grub_target_to_host32): Likewise.
20376 (grub_target_to_host64): Likewise.
20377 (grub_host_to_target16): Likewise.
20378 (grub_host_to_target32): Likewise.
20379 (grub_host_to_target64): Likewise.
20380 (grub_host_to_target_addr): Likewise.
20381
20382 Support grub-mkrescue for efi, coreboot and qemu.
20383
20384 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20385 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20386 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20387 * util/grub-mkrawimage.c: Moved from here ...
20388 * util/grub-mkimage.c: ... here. All users updated.
20389 (ALIGN_ADDR): Use image_target.
20390 (TARGET_NO_FIELD): New const.
20391 (image_target_desc): New type.
20392 (image_targets): New array.
20393 (grub_target_to_host64): Use image_target.
20394 (grub_target_to_host32): Likewise.
20395 (grub_target_to_host16): Likewise.
20396 (grub_host_to_target64): Likewise.
20397 (grub_host_to_target32): Likewise.
20398 (grub_host_to_target16): Likewise.
20399 (grub_host_to_target_addr): Likewise.
20400 (generate_image): Handle multiimage.
20401 (main): Require -O parameter. All users updated.
20402 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20403 util/efi/grub-mkimage.c
20404 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20405 New option --rom-directory.
20406 Use xorriso.
20407 * util/i386/efi/grub-mkimage.c: Removed.
20408 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20409 (grub_target_to_host32): Likewise.
20410 (grub_target_to_host64): Likewise.
20411 (grub_host_to_target16): Likewise.
20412 (grub_host_to_target32): Likewise.
20413 (grub_host_to_target64): Likewise.
20414 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20415 (grub_target_to_host32): Likewise.
20416 (grub_target_to_host64): Likewise.
20417 (grub_host_to_target16): Likewise.
20418 (grub_host_to_target32): Likewise.
20419 (grub_host_to_target64): Likewise.
20420
f4fc97d0
BC
204212010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20422
20423 Source tree is reorganized for emu build.
20424
20425 * include/grub/util/console.h: Move from here...
20426 * include/grub/emu/console.h: ...to here.
20427 * include/grub/util/getroot.h: Move from here...
20428 * include/grub/emu/getroot.h: ...to here.
20429 * include/grub/util/hostdisk.h: Move from here...
20430 * include/grub/emu/hostdisk.h: ...to here.
20431 * util/console.c: Move from here...
20432 * kern/emu/console.c: ...to here.
20433 * util/getroot.c: Move from here...
20434 * kern/emu/getroot.c: ...to here.
20435 * util/grub-emu.c: Move from here...
20436 * kern/emu/main.c: ...to here.
20437 * util/hostdisk.c: Move from here...
20438 * kern/emu/hostdisk.c: ...to here.
20439 * util/hostfs.c: Move from here...
20440 * kern/emu/hostfs.c: ...to here.
20441 * util/mm.c: Move from here...
20442 * kern/emu/mm.c: ...to here.
20443 * util/pci.c: Move from here...
20444 * bus/emu/pci.c: ...to here.
20445 * util/sdl.c: Move from here...
20446 * video/emu/sdl.c: ...to here.
20447 * util/time.c: Move from here...
20448 * kern/emu/time.c: ...to here.
20449 * util/usb.c: Move from here...
20450 * bus/usb/emu/usb.c: ...to here.
20451
20452 * include/grub/emu/misc.h: New header for grub-emu functions.
20453 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20454
20455 * conf/any-emu.rmk: Rule updates for above renames.
20456 * conf/common.rmk: Likewise.
20457 * conf/i386-pc.rmk: Likewise.
20458 * conf/i386-qemu.rmk: Likewise.
20459 * conf/mips.rmk: Likewise.
20460 * conf/sparc64-ieee1275.rmk: Likewise.
20461 * conf/x86-efi.rmk: Likewise.
20462
20463 * disk/lvm.h: #include updates for above renames.
20464 * util/grub-mkrelpath.c: Likewise.
20465 * util/grub-probe.c: Likewise.
20466 * util/i386/pc/grub-setup.c: Likewise.
20467 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20468 * kern/emu/console.c: Likewise.
20469 * kern/emu/getroot.c: Likewise.
20470 * kern/emu/hostdisk.c: Likewise.
20471 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20472
20473 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20474 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20475 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20476 * util/misc.c: Remove grub-emu functions.
20477
cced9145
VS
204782010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 Fix gfxmenu crash.
20481 Reported by: Thorsten Grützmacher.
20482
20483 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20484 timeout hook.
20485 (circprog_set_property): Register and unregister timeout hook.
20486 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20487 (label_destroy): Free template. and unregister hook.
20488 (label_set_state): New function.
20489 (label_set_property): Handle templates and hooks.
20490 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20491 timeout hook.
20492 (progress_bar_set_property): Register and unregister timeout hook.
20493 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20494 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20495 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20496 (update_timeout_visit): Removed.
20497 (update_timeouts): New function.
20498 (redraw_timeouts): Likewise.
20499 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20500 (grub_gfxmenu_clear_timeout): Likewise.
20501 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20502 (grub_gfxmenu_timeout_notify): Likewise.
20503 (grub_gfxmenu_timeout_notifications): New external variable.
20504 (grub_gfxmenu_timeout_register): New function.
20505 (grub_gfxmenu_timeout_unregister): Likewise.
20506
c6e5caab
VS
205072010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20508
20509 Transform (broken) vga terminal into (working) vga video driver.
20510
20511 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20512 video/i386/pc/vga.c.
20513 * include/grub/video.h (grub_video_driver_id):
20514 Add GRUB_VIDEO_DRIVER_VGA.
20515 * term/i386/pc/vga.c: Renamed to ...
20516 * video/i386/pc/vga.c: ...this
20517 (DEBUG_VGA): Removed.
20518 (CHAR_WIDTH): Likewise.
20519 (CHAR_HEIGHT): Likewise.
20520 (TEXT_WIDTH): Likewise.
20521 (TEXT_HEIGHT): Likewise.
20522 (DEFAULT_FG_COLOR): Likewise.
20523 (DEFAULT_BG_COLOR): Likewise.
20524 (colored_char): Likewise.
20525 (xpos): Likewise.
20526 (ypos): Likewise.
20527 (cursor_state): Likewise.
20528 (fg_color): Likewise.
20529 (bg_color): Likewise.
20530 (text_buf): Likewise.
20531 (page): Likewise.
20532 (font): Likewise.
20533 (framebuffer): New variable.
20534 (set_read_map): Disabled.
20535 (setup): New variable.
20536 (is_target): Likewise.
20537 (grub_vga_mod_init): Likewise.
20538 (grub_vga_mod_fini): Likewise.
20539 (check_vga_mem): Likewise.
20540 (write_char): Likewise.
20541 (write_cursor): Likewise.
20542 (scroll_up): Likewise.
20543 (grub_vga_putchar): Likewise.
20544 (grub_vga_getcharwidth): Likewise.
20545 (grub_vga_getwh): Likewise.
20546 (grub_vga_getxy): Likewise.
20547 (grub_vga_gotoxy): Likewise.
20548 (grub_vga_cls): Likewise.
20549 (grub_vga_setcolorstate): Likewise.
20550 (grub_vga_setcursor): Likewise.
20551 (grub_video_vga_init): New function.
20552 (grub_video_vga_setup): Likewise.
20553 (grub_video_vga_fini): Likewise.
20554 (update_target): Likewise.
20555 (grub_video_vga_blit_bitmap): Likewise.
20556 (grub_video_vga_blit_render_target): Likewise.
20557 (grub_video_vga_set_active_render_target): Likewise.
20558 (grub_video_vga_get_active_render_target): Likewise.
20559 (grub_video_vga_swap_buffers): Likewise.
20560 (grub_video_vga_set_palette): Likewise.
20561 (grub_video_vga_get_info_and_fini): Likewise.
20562 (grub_vga_term): Removed.
20563 (grub_video_vga_adapter): New variable.
20564 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20565 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20566
2bf61a98
VS
205672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 * video/readers/jpeg.c: Indented.
20570
09ddcd11
VS
205712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20572
20573 Various jpeg cleanups.
20574
20575 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20576 (grub_jpeg_decode_quan_table): Use sizeof.
20577 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20578
e5507505
PH
205792010-05-05 Peter Hurley <No e-mail available> (tiny change)
20580
20581 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20582 tables. Ignore non-last ac bit.
20583 (grub_jpeg_decode_quan_table): Likewise.
20584
7e720a9b
VS
205852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20586
20587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20588 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20589 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20590 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20591 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20592 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20593
a7fc080b
VS
205942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20595
20596 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20597 error.
20598
2bf6012d
VS
205992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20602
265d68cd
VS
206032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20606 condition.
20607
206082010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20609
20610 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20611 part.
20612
265d68cd 206132010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20614
20615 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20616 pointers.
20617
265d68cd 206182010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20619
20620 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20621
d1b61374
CF
206222010-05-01 Christian Franke <franke@computer.org>
20623
20624 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20625 Remove broken Cygwin path conversion.
20626 * util/misc.c: [__CYGWIN__] Add include and define.
20627 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20628 for Cygwin 1.7.
20629 (make_system_path_relative_to_its_root): Simplify loop, replace early
20630 return by break.
20631 [__CYGWIN__] Add conversion to win32 path.
20632 Include "/" case in trailing slash removal.
20633
3558c6e9
VS
206342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20635
20636 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20637 Reported by: Seth Goldberg
20638
f5f3ff93
VS
206392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 * commands/help.c (grub_cmd_help): Fix a typo.
20642 Reported by: Seth Goldberg
20643
d8b5cd40
VS
206442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20645
20646 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20647 name and add N_.
20648 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20649 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20650 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20651 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20652 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20653 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20654 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20655 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20656 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20657 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20658 * normal/context.c (GRUB_MOD_INIT): Likewise.
20659 * normal/main.c (GRUB_MOD_INIT): Likewise.
20660 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20661 * term/serial.c (GRUB_MOD_INIT): Likewise.
20662 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20663
88c14915
VS
206642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20665
20666 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20667 extra == 0.
20668
165134bc
VS
206692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 * commands/iorw.c: New file.
20672 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20673 (iorw_mod_SOURCES): New variable.
20674 (iorw_mod_CFLAGS): Likewise.
20675 (iorw_mod_LDFLAGS): Likewise.
20676
c5ac9b32
VS
206772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 Hotkey support
20680
20681 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20682 * normal/main.c (hotkey_aliases): New variable.
20683 (grub_normal_add_menu_entry): Parse "--hotkey".
20684 * normal/menu_text.c (run_menu): Handle hotkeys.
20685
ce60689c
VS
206862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20687
20688 * kern/i386/coreboot/init.c (grub_machine_init): Call
20689 grub_machine_mmap_init on qemu.
20690
0359d006
VS
206912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 * boot/i386/qemu/boot.S: Add a missing .code16.
20694
7819a456
VS
206952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20696
20697 Use LBIO on coreboot.
20698
20699 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20700 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20701 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20702 New declaration.
20703 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20704 grub_machine_mmap_init on coreboot.
20705 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20706 GRUB_LINUXBIOS_MEMBER_LINK.
20707 (grub_machine_mmap_iterate): Fix declaration.
20708 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20709
7210dca9
VS
207102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 Split coreboot and multiboot ports.
20713
20714 * conf/i386-multiboot.rmk: New file.
20715 * configure.ac: Add multiboot port.
20716 * include/grub/i386/multiboot/boot.h: New file.
20717 * include/grub/i386/multiboot/console.h: Likewise.
20718 * include/grub/i386/multiboot/init.h: Likewise.
20719 * include/grub/i386/multiboot/kernel.h: Likewise.
20720 * include/grub/i386/multiboot/loader.h: Likewise.
20721 * include/grub/i386/multiboot/memory.h: Likewise.
20722 * include/grub/i386/multiboot/serial.h: Likewise.
20723 * include/grub/i386/multiboot/time.h: Likewise.
20724 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20725 * loader/multiboot.c: Likewise.
20726 * loader/multiboot_mbi2.c: Likewise.
20727 * util/grub-mkrescue.in: Generate multiboot rescue.
20728
6f8aaf68
VS
207292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20730
3080f7a7
VS
20731 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20732
207332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20736
20737 * commands/terminal.c (abstract_terminal): New struct.
20738 (handle_command): New function. Based on grub_cmd_terminal_input.
20739 (grub_cmd_terminal_input): Use handle_command.
20740 (grub_cmd_terminal_output): Use handle_command.
20741
a8ebb841
BC
207422010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20743
20744 Fix comment handling.
20745
20746 * tests/grub_script_comments.in: New testcase.
20747 * conf/tests.rmk: Rules for new testcase.
20748 * script/yylex.l: Updated flex rules.
20749
bb06ba08
ST
207502010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20751
20752 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20753 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20754 if argc is 1.
bb06ba08 20755
cc9d2425
VS
207562010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20759 autogen issues.
20760
460d8402
CF
207612010-04-26 Christian Franke <franke@computer.org>
20762
20763 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20764 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20765 (grub_get_prefix): Remove function.
20766 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20767 make_system_path_relative_to_its_root ().
20768 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20769
553c01f9
CF
207702010-04-24 Christian Franke <franke@computer.org>
20771
20772 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20773 (kernel_img_LDFLAGS): Remove -static-libgcc.
20774
2aec1692
CF
207752010-04-24 Christian Franke <franke@computer.org>
20776
20777 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20778 and CHECK_END_SYMBOL if grub-emu is built.
20779 Unset TARGET_OBJ2ELF if grub-emu is built
20780 without module support.
20781
f67dc308
JS
207822010-04-24 Jiro SEKIBA <jir@unicus.jp>
20783
20784 Nilfs2 support.
20785
20786 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20787 (grub_fstest_SOURCES): Likewise.
20788 (pkglib_MODULES): Add nilfs2.mod.
20789 (nilfs2_mod_SOURCES): New variable.
20790 (nilfs2_mod_CFLAGS): Likewise.
20791 (nilfs2_mod_LDFLAGS): Likewise.
20792 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20793 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20794 * fs/nilfs2.c: New file.
20795
4ba8d354
VS
207962010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20799 is not supported.
20800
0d2c20c6
GS
208012010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20802
20803 Add grub-mkconfig support for NetBSD.
20804
20805 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20806 * util/grub-mkconfig.in: export new NetBSD specific variables.
20807 * po/POTFILES-shell: added 10_netbsd.in.
20808 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20809
bc4a2d83
BC
208102010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20811
20812 Fix emu build with grub-emu-pci and grub-emu-modules.
20813
20814 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20815 functions.
20816 * include/grub/libpciaccess.h: New file.
20817 * conf/any-emu.rmk: Update kernel headers for emu build.
20818
f48c87aa
VS
208192010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20820
20821 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20822
18959385
VS
208232010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20824
20825 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20826
0037de3f
VS
208272010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20828
20829 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20830 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20831 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20832 util/ieee1275/ofpath.c.
20833 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20834 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20835 * include/grub/sparc64/ieee1275/boot.h
20836 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20837 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20838 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20839 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20840 const char *.
20841 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20842 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20843 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20844 install.
20845
38e55e90
GS
208462010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20847
20848 * util/grub-mkconfig.in: Corrected two == equality tests.
20849 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20850 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20851 expect a number appended to it.
20852 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20853 expects a number appended to it.
20854
a9e6ff28
VS
208552010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20858
0b830b8f
VS
208592010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 * util/hostdisk.c (make_device_name): Change to new partition naming.
20862
0973daeb
VS
208632010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20864
20865 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20866
460d8402 208672010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20868
20869 * Makefile.in: Add missing localedir setting.
20870
0b456309
CW
208712010-04-14 Colin Watson <cjwatson@ubuntu.com>
20872
20873 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20874 mistake in r2156. Noticed by Anthony Fok.
20875
20876 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20877 @localedir@.
20878 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20879
08f46d62
BC
208802010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20881
20882 Fix a spurious, uninitialized variable warning.
20883
20884 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20885 Initialize variable, shdr.
20886 (grub_freebsd_load_elfmodule): Likewise.
20887 (grub_freebsd_load_elf_meta): Likewise.
20888
8c4a72d4
BC
208892010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20890
20891 Fix for escaped dollar in double quoted strings.
20892
20893 * script/yylex.l: Updated flex rules.
20894 * conf/tests.rmk: Rule for new testcase.
20895 * tests/grub_script_dollar.in: New testcase.
20896
ce44826e
CPE
208972010-04-13 Carles Pina i Estany <carles@pina.cat>
208982010-04-13 Colin Watson <cjwatson@ubuntu.com>
20899
20900 Enclose all translated strings in grub.cfg in single quotes, and
20901 escape them appropriately (Ubuntu bug #552921).
20902
20903 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20904 * util/grub.d/10_hurd.in: Use it.
20905 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20906 * util/grub.d/10_linux.in (linux_entry): Likewise.
20907
4b0cd8f8
VS
209082010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20909
20910 Fix cygwin compilation.
20911
20912 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20913 * include/grub/misc.h (__register_frame_info)
20914 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20915 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20916 * kern/misc.c (__register_frame_info)
20917 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20918 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20919
01fcf061
VS
209202010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20923
5d04b11e
VS
209242010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20925
20926 Unify libgcc processing.
20927
20928 * Makefile.in (kernel_img_LDFLAGS): New variable.
20929 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20930 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20931 overwriting.
20932 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20933 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20934 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20935 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20936 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20937 overwriting. Remove -lgcc and -static-libgcc
20938 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20939 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20940 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20941 (kernel_img_LDFLAGS): Append instead of overwriting.
20942 Remove -lgcc and -static-libgcc
20943 * conf/sparc64-ieee1275.rmk: Likewise.
20944 * include/grub/powerpc/libgcc.h: Move to ...
20945 * include/grub/libgcc.h: .. this.
20946 * include/grub/libgcc.h: Don't export most of the function on x86.
20947 (__bswapsi2): New export.
20948 (__bswapdi2): Likewise.
20949 * include/grub/mips/libgcc.h: Removed.
20950 * include/grub/sparc64/libgcc.h: Likewise.
20951
b7f3ac29
VS
209522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20953
20954 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20955 disk_info_msg (conflicts with gettexting into languages with cases).
20956
2c7031b1
GS
209572010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20958
20959 Add grub-probe support for NetBSD.
20960
20961 * util/getroot.c (find_root_device): Convert block device to
20962 character device on NetBSD.
20963 * util/probe.c (probe): Require character device on NetBSD.
20964 * util/hostdisk.c: NetBSD specific headers.
20965 (configure_device_driver): new function to tune device driver
20966 parameters (currently only for NetBSD floppy driver).
20967 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20968 via disklabel ioctl).
20969 (open_device): call configure_device_driver on NetBSD.
20970 (convert_system_partition_to_system_disk): NetBSD specific code.
20971 (device_is_wholedisk): Likewise.
20972 (grub_util_biosdisk_get_grub_dev): Likewise.
20973 (make_device_name): Fixed a typo in bsd_part_str.
20974 * configure.ac: check for opendisk() and getrawpartition() on
20975 NetBSD and set LIBUTIL.
20976 * Makefile.in: add LIBUTIL to LIBS.
20977
f516290c
BC
209782010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20979
20980 Documentation fix.
20981
20982 * util/grub-script-check.c: Better help message.
20983
d8dcc0df
BC
209842010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20985
20986 Fix FreeBSD build.
20987
20988 * configure.ac: Flex version check.
20989 * conf/common.rmk: Add -Wno-error to sh.mod.
20990 * script/yylex.l: Remove all #pragma.
20991
6734334a
VS
209922010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20993
20994 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20995 prototype.
20996 Reported by: Seth Goldberg.
20997
daea6abd
VS
209982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
21001 Rename "module" to "module2".
21002 Reported by: Seth Goldberg.
21003
f2fd9d2b
VS
210042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
21007 EXPORT_FUNC.
21008 Reported by: Seth Goldberg.
21009
be124579
VS
210102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21011
21012 * lib/posix_wrap/locale.h: Add missing file.
21013 Reported by: Seth Goldberg.
21014
ef5da797
VS
210152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21016
21017 grub-emu module load support.
21018
21019 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
21020 NO_DYNAMIC_MODULES switched to this.
21021 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
21022 (CFLAGS): Likewise.
21023 * conf/any-emu.rmk: Generate symlist.
21024 (kernel_img_HEADERS): Add util/datetime.h.
21025 (kernel_img_HEADERS) [sdl]: Add sdl.h.
21026 (kernel_img_HEADERS) [libusb]: Add libusb.h.
21027 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
21028 kern/$(target_cpu)/cache.S.
21029 * configure.ac (grub-emu-modules): New option.
21030 * genmk.rb: Handle multiple source lists.
21031 * include/grub/sdl.h: New file.
21032 * include/grub/libusb.h: Likewise.
21033 * util/grub-emu.c (main): Hanle (host) root.
21034 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
21035 GRUB_ERR_UNKNOWN_DEVICE.
21036 * util/misc.c: Move mm functions to ...
21037 * util/mm.c: ... here. All users updated.
21038
47822096
VS
210392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
21042 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
21043 missing files.
21044 (maintainer-clean): Remove libgcrypt-grub.
21045
5d7e7445
VS
210462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
21049
25f4e252
EC
210502010-04-09 EFI Coder <eficoder@hotmail.com>
21051
21052 * normal/menu_text.c (print_message): Clean up the message and show
21053 the Fn information when on EFI
21054 * term/efi/console.c (grub_console_checkkey): Add F4 support.
21055
027de555
VS
210562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
21059 All users updated.
21060 * normal/crypto.c (read_crypto_list): Likewise.
21061 * normal/dyncmd.c (read_command_list): Likewise.
21062 * normal/term.c (read_terminal_list): Likewise.
21063 * normal/main.c (read_lists): Use explicit prefix.
21064 (read_lists_hook): Use read_lists.
21065 (grub_normal_execute): Likewise.
21066
47779711
VS
210672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21070 Reported by: Thomas Schmitt.
21071 Add -no-emul-boot to grub-mkisofs parameters.
21072
1118c32e
VS
210732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 * font/font.c: Indented.
21076
7d652447
BC
210772010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21078
21079 Elif support to GRUB script (by Deepak Vankadaru).
21080
21081 * tests/grub_script_if.in: New testcase.
21082 * conf/tests.rmk: Rule for new testcase.
21083 * script/parser.y: Grammar rules for elif.
21084
34bb22df
BC
210852010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21086
21087 While and until loops support to GRUB script.
21088
21089 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21090 (grub_script_create_cmdwhile): New function prototype.
21091 (grub_script_execute_cmdwhile): New function prototype.
21092 * script/execute.c (grub_script_execute_cmdwhile): New function.
21093 * script/parser.y (command): New commands.
21094 (whilecmd): New grammar rule.
21095 (untilcmd): New grammar rule.
21096 * script/script.c (grub_script_create_cmdwhile): New function.
21097 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21098 function.
21099
21100 * tests/grub_script_while1.in: New testcase.
21101 * conf/tests.rmk: Rule for new testcase.
21102
e215d8e0
VS
211032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21106 as *.jpg.
21107
d7c43ba1
MV
211082010-04-09 Mario Vazquez <mariovazq@gmail.com>
21109
21110 GRUB_BACKGROUND support.
21111
21112 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21113 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21114
d64795c0
VS
211152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21118 Idea by: Mario Vazquez
d64795c0
VS
21119
21120 * util/grub.d/00_header.in: Load pf2 and image modules.
21121
f267f83a
VS
211222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 grub-mkconfig multiple terminal support.
21125
21126 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21127 * util/grub.d/00_header.in: Likewise.
21128
b7841ceb
VS
211292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21132 we use cd $(srcdir).
21133
df60998c
CW
211342010-04-08 Colin Watson <cjwatson@ubuntu.com>
21135
21136 * util/grub.d/10_linux.in: Only use the first word of
21137 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21138 spaces in GRUB_DISTRIBUTOR.
21139 * util/grub.d/10_kfreebsd.in: Likewise.
21140 * util/grub.d/10_hurd.in: Likewise.
21141
fa09c82e
BC
211422010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21143
14e18ae3 21144 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21145
21146 * tests/util/grub-shell.in: Remove -serial stdio option.
21147
daf892b3
BC
211482010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21149
21150 POSIX header file wrappers.
21151
21152 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21153 equivalents.
21154 * lib/posix_wrap/ctype.h: Likewise.
21155 * lib/posix_wrap/errno.h: Likewise.
21156 * lib/posix_wrap/langinfo.h: Likewise.
21157 * lib/posix_wrap/limits.h: Likewise.
21158 * lib/posix_wrap/localcharset.h: Likewise.
21159 * lib/posix_wrap/stdint.h: Likewise.
21160 * lib/posix_wrap/stdio.h: Likewise.
21161 * lib/posix_wrap/stdlib.h: Likewise.
21162 * lib/posix_wrap/string.h: Likewise.
21163 * lib/posix_wrap/sys/types.h: Likewise.
21164 * lib/posix_wrap/unistd.h: Likewise.
21165 * lib/posix_wrap/wchar.h: Likewise.
21166 * lib/posix_wrap/wctype.h: Likewise.
21167 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21168 (grub_script.yy.h): Likewise.
21169 * script/yylex.l: Remove POSIX emulation #defines.
21170 * Makefile.in (POSIX_CFLAGS): New variable.
21171 (GNULIB_UTIL_CFLAGS): Likewise.
21172
21173 Regexp support.
21174
21175 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21176 (regexp_mod_SOURCES): New variable.
21177 (regexp_mod_CFLAGS): Likewise.
21178 (regexp_mod_LDFLAGS): Likewise.
21179 * commands/regexp.c: New file.
21180 * gnulib/regcomp.c: New file. Imported from gnulib.
21181 * gnulib/regex.c: Likewise.
21182 * gnulib/regex_internal.c: Likewise.
21183 * gnulib/regex_internal.h: Likewise.
21184 * gnulib/regexec.c: Likewise.
21185 * gnulib/regex.h: Likewise.
21186
974ac4f7
VS
211872010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21188
21189 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21190 unsupported video mode types.
21191
2622c3ff
VS
211922010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21193
21194 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21195
064cb524
VS
211962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21197
21198 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21199 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21200
a8c3b552
VS
212012010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 Remove unused grub_vga_get_font.
21204
21205 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21206 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21207
187bbe3d
GS
212082010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21209
21210 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21211 * include/grub/misc.h: Likewise.
21212
b9396631
GS
212132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21214
21215 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21216 for which failure is fatal.
21217
50479feb
GS
212182010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21219
21220 * util/grub-install.in: Use mkdir -p to create grub directory.
21221 * util/i386/efi/grub-install.in: Likewise.
21222 * util/ieee1275/grub-install.in: Likewise.
21223
b1654fdf
GS
212242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21225
21226 * Makefile.in (LEX): new variable.
21227
bd5a6415
GS
212282010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21229
21230 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21231 `=' and added double quotes on operands of this equality test.
21232
3db3a82b
VS
212332010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21234
21235 * Makefile.in (uninstall): Remove a leftover debug echo.
21236 Reported by: Grégoire Sutre
21237
38023412
VS
212382010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21239
21240 MIPS multiboot2 support.
21241
21242 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21243 (multiboot2_mod_SOURCES): New variable.
21244 (multiboot2_mod_CFLAGS): Likewise.
21245 (multiboot2_mod_LDFLAGS): Likewise.
21246 (multiboot2_mod_ASFLAGS): Likewise.
21247 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21248 definition.
21249 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21250 (MULTIBOOT_MBI_REGISTER): Likewise.
21251 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21252 (MULTIBOOT_ELF32_MACHINE): Likewise.
21253 (MULTIBOOT_ELF64_MACHINE): Likewise.
21254 * include/grub/mips/multiboot.h: New file.
21255 * include/grub/video.h (grub_video_driver_id): New type
21256 GRUB_VIDEO_DRIVER_SM712.
21257 (grub_video_get_info_and_fini): Export.
21258 (grub_video_get_palette): Likewise.
21259 (grub_video_get_driver_id): Likewise.
21260 * include/multiboot2.h: Resynced with spec.
21261 * loader/i386/multiboot.c: Moved from here ...
21262 * loader/multiboot.c: ... here. All users updated.
21263 (grub_multiboot_boot): Use platform-specific macros.
21264 * loader/i386/multiboot_elfxx.c: Moved from here ...
21265 * loader/multiboot_elfxx.c: ... here. All users updated.
21266 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21267 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21268 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21269
47674667
VS
212702010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 Import gnulib argp module.
21273
21274 * gnulib/argp-ba.c: New file.
21275 * gnulib/argp-eexst.c: Likewise.
21276 * gnulib/argp-fmtstream.c: Likewise.
21277 * gnulib/argp-fmtstream.h: Likewise.
21278 * gnulib/argp-fs-xinl.c: Likewise.
21279 * gnulib/argp-help.c: Likewise.
21280 * gnulib/argp-namefrob.h: Likewise.
21281 * gnulib/argp-parse.c: Likewise.
21282 * gnulib/argp-pin.c: Likewise.
21283 * gnulib/argp-pv.c: Likewise.
21284 * gnulib/argp-pvh.c: Likewise.
21285 * gnulib/argp-version-etc.c: Likewise.
21286 * gnulib/argp-version-etc.h: Likewise.
21287 * gnulib/argp-xinl.c: Likewise.
21288 * gnulib/argp.h: Likewise.
21289
495442ed
VS
212902010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 * kern/device.c (grub_device_iterate): Clear errors after failed
21293 opening device.
21294
f9fd65df
VS
212952010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21298 returned by firmware.
21299
af09641e
VS
213002010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21303 compilation on coreboot and qemu
21304
016883a5
VS
213052010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * include/multiboot2.h: Resync with spec.
21308
f97e1f7d
VS
213092010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21310
21311 Multiboot2 tag support
21312
21313 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21314 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21315 Remove loader/multiboot_loader.c.
21316 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21317 (grub_multiboot2_real_boot): Likewise.
21318 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21319 (grub_get_multiboot_mmap_count): New proto.
21320 (grub_fill_multiboot_mmap): Likewise.
21321 (grub_multiboot_set_video_mode): Likewise.
21322 (grub_multiboot_set_console): Likewise.
21323 (grub_multiboot_load): Likewise.
21324 (grub_multiboot_load_elf): Likewise.
21325 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21326 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21327 * include/multiboot.h: Resynced with specification.
21328 * include/multiboot2.h: Resynced with specification.
21329 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21330 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21331 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21332 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21333 users updated.
21334 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21335 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21336 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21337 Removed.
21338 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21339 Moved from here...
21340 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21341 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21342 Moved from here...
21343 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21344 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21345 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21346 All users updated.
21347 * loader/i386/multiboot_mbi2.c: New file.
21348
3506b90b
VS
213492010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 Resync with gnulib.
21352
21353 * Makefile.in (GNULIB_CFLAGS): New variable.
21354 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21355 (grub_script_check_CFLAGS): New variable.
21356 * gnulib/alloca.h: Resync with gnulib.
21357 * gnulib/error.c: Likewise.
21358 * gnulib/error.h: Likewise.
21359 * gnulib/fnmatch.c: Likewise.
21360 * gnulib/fnmatch_loop.c: Likewise.
21361 * gnulib/getdelim.c: Likewise.
21362 * gnulib/getline.c: Likewise.
21363 * gnulib/getopt.c: Likewise.
21364 * gnulib/getopt1.c: Likewise.
21365 * gnulib/getopt_int.h: Likewise.
21366 * gnulib/gettext.h: Likewise.
21367 * gnulib/progname.c: Likewise.
21368 * gnulib/progname.h: Likewise.
21369
394a3120
GS
213702010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21371
21372 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21373 which is the case with --disabled-nls.
21374
21375 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21376 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21377 * util/misc.c: Likewise.
21378 * util/mkisofs/mkisofs.c: Likewise.
21379 * util/mkisofs/mkisofs.h: Likewise.
21380
969d1c78
VS
213812010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 Simplify Apple CC support.
21384
21385 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21386 Add 0 byte at the end not to have a symbol with empty target.
21387 * mmap/i386/pc/mmap_helper.S: Likewise.
21388 * genmk.rb: Ignore errors 2030 and 2050.
21389 * kern/i386/pc/startup.S: Use LOCAL when possible.
21390
8d2977bb
BC
213912010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21392
21393 Testcase and the fix for final semicolon on cmdline.
21394
21395 * tests/grub_script_final_semicolon.in: New testcase.
21396 * conf/tests.rmk: Rules for the new testcase.
21397 * script/parser.y: Grammar fix.
21398
a7bd6915
BC
213992010-03-26 BVK Chaitanya <bvk@localhost>
21400
21401 Blank lines testcase for GRUB script.
21402
21403 * tests/grub_script_blanklines.in: New testcase.
21404 * conf/tests.rmk: Rules for the new testcase.
21405
e4ff6628
VS
214062010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 Don't use __FILE__.
21409
21410 * genmk.rb: Add -DGRUB_FILE to all C targets.
21411 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21412 * include/grub/list.h: Likewise.
21413 * include/grub/misc.h: Likewise.
21414 * include/grub/mm.h: Likewise.
21415 * include/grub/test.h: Likewise.
21416 * kern/mm.c: Likewise.
21417 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21418
6a5cf6b6
VS
214192010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 Sunpc partitions support.
21422
21423 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21424 (grub_fstest_SOURCES): Likewise.
21425 (pkglib_MODULES): Add part_sunpc.mod.
21426 (part_sunpc_mod_SOURCES): New variable.
21427 (part_sunpc_mod_CFLAGS): Likewise.
21428 (part_sunpc_mod_LDFLAGS): Likewise.
21429 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21430 * partmap/sunpc.c: New file.
21431
746d9045
BC
214322010-03-26 BVK Chaitanya <bvk@localhost>
21433
21434 For loop support to GRUB script.
21435
21436 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21437 (grub_script_create_cmdfor): New function prototype.
21438 (grub_script_execute_cmdfor): New function prototype.
21439 * script/execute.c (grub_script_execute_cmdfor): New function.
21440 * script/parser.y (command): New for command.
21441 (forcmd): New grammar rule.
21442 * script/script.c (grub_script_create_cmdfor): New function.
21443 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21444 function.
21445 * tests/grub_script_for1.in: New testcase.
21446 * conf/tests.rmk: Rules for new testcase.
21447
18486b18
VS
214482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21449
21450 Nested partitions
21451
21452 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21453 'partition' is NULL, grub_partition_get_start already does that.
21454 * commands/loadenv.c (check_blocklists): Likewise.
21455 (write_blocklists): Likewise.
21456 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21457 (grub_fstest_SOURCES): Likewise.
21458 (pkglib_MODULES): Add part_bsd.mod.
21459 (part_bsd_mod_SOURCES): New variable.
21460 (part_bsd_mod_CFLAGS): Likewise.
21461 (part_bsd_mod_LDFLAGS): Likewise.
21462 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21463 (grub_emu_SOURCES): Likewise.
21464 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21465 * include/grub/bsdlabel.h: New file.
21466 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21467 'get_name'.
21468 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21469 (grub_partition_map_list): New variable.
21470 (grub_partition_map_register): Inline.
21471 (grub_partition_map_unregister): Likewise.
21472 (FOR_PARTITION_MAPS): New macro.
21473 (grub_partition_map_iterate): Removed.
21474 (grub_partition_get_start): Handle nested partitions.
21475 * include/grub/msdos_partition.h: Remove bsd-related entries.
21476 (grub_pc_partition): Remove.
21477 * kern/disk.c (grub_disk_close): Free partition data.
21478 (grub_disk_adjust_range): Handle nested partitions.
21479 * kern/partition.c (grub_partition_map_probe): New function.
21480 (grub_partition_probe): Parse name to number, handle subpartitions.
21481 (get_partmap): New function.
21482 (grub_partition_iterate): Handle subpartitions.
21483 (grub_partition_get_name): Likewise.
21484 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21485 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21486 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21487 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21488 Set 'number'.
21489 (acorn_partition_map_probe): Remove.
21490 (acorn_partition_map_get_name): Likewise.
21491 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21492 Set 'number'.
21493 Set 'index' to 0 since there can be only one partition entry per sector.
21494 (amiga_partition_map_probe): Remove.
21495 (amiga_partition_map_get_name): Likewise.
21496 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21497 Set 'number'.
21498 Set 'offset' and 'index' to real positions of partitions.
21499 (apple_partition_map_probe): Remove.
21500 (apple_partition_map_get_name): Likewise.
21501 * partmap/bsdlabel.c: New file.
21502 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21503 Set 'number'.
21504 Allocate 'data' so it can be correctly freed.
21505 Set 'index' to offset inside sector.
21506 (gpt_partition_map_probe): Remove.
21507 (gpt_partition_map_get_name): Likewise.
21508 * partmap/msdos.c (grub_partition_parse): Remove.
21509 (pc_partition_map_iterate): Don't force raw access.
21510 Set 'number'.
21511 Make 'ext_offset' a local variable.
21512 (pc_partition_map_probe): Remove.
21513 (pc_partition_map_get_name): Remove.
21514 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21515 Set 'number'.
21516 (sun_partition_map_probe): Remove.
21517 (sun_partition_map_get_name): Likewise.
21518 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21519 (grub_pcpart_type): Likewise.
21520 * util/hostdisk.c (open_device): Handle new numbering scheme.
21521 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21522 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21523 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21524 * util/grub-install.in: Insert all subpartition modules.
21525 * util/ieee1275/grub-install.in: Likewise.
21526
a3940f88
AG
215272010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21528
21529 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21530 grammar.
21531
21b99926 215322010-03-24 Colin Watson <cjwatson@ubuntu.com>
21533
21534 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21535
bed1d352
CW
215362010-03-21 Colin Watson <cjwatson@ubuntu.com>
21537
21538 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21539 match where 'make install' puts them.
21540 * util/i386/efi/grub-install.in: Likewise.
21541
c9f58427
CW
215422010-03-19 Colin Watson <cjwatson@ubuntu.com>
21543
21544 * .bzrignore: Add gentrigtables, grub-script-check,
21545 grub_script_check_init.c, grub_script_check_init.h, and
21546 trigtables.c.
21547
f84afb27
VS
215482010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * kern/parser.c: Indented.
21551
ed0e3d30
VS
215522010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21555
0ea81d98
VS
215562010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21559 alpha_mask_size == 0 case.
21560
0cdc2a09
BC
215612010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21562
21563 GRUB shell lexer and parser improvements.
21564
21565 * conf/any-emu.rmk: Build rule updates.
21566 * conf/common.rmk: Likewise.
21567 * conf/i386-coreboot.rmk: Likewise.
21568 * conf/i386-efi.rmk: Likewise.
21569 * conf/i386-ieee1275.rmk: Likewise.
21570 * conf/i386-pc.rmk: Likewise.
21571 * conf/powerpc-ieee1275.rmk: Likewise.
21572 * conf/x86_64-efi.rmk: Likewise.
21573
21574 * configure.ac: Configure check for flex.
21575
21576 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21577 types.
21578 (grub_lexer_param): Struct member updates.
21579 (grub_parser_param): Likewise.
21580 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21581 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21582 (grub_script_lexer_init): Prototype update.
21583 (grub_script_lexer_record_start): Likewise.
21584 (grub_script_lexer_record_stop): Likewise.
21585 (grub_script_lexer_yywrap): New function prototype.
21586 (grub_script_lexer_fini): Likewise.
21587 (grub_script_execute_argument_to_string): Removed by...
21588 (grub_script_execute_argument_to_argv): ...better version.
21589
21590 * script/execute.c (ROUND_UPTO): New macro.
21591 (grub_script_execute_cmdline): Out of memory fixes.
21592 (grub_script_execute_menuentry): Likewise.
21593 (grub_script_execute_argument_to_string): Removed. Update all
21594 users by...
21595 (grub_script_execute_argument_to_argv): ...better version.
21596 * script/function.c (grub_script_function_create): Use
21597 grub_script_execute_argument_to_argv instead of
21598 grub_script_execute_argument_to_string.
21599
21600 * script/lexer.c (check_varstate): Removed.
21601 (check_textstate): Removed.
21602 (grub_script_lexer_record_start): Likewise.
21603 (grub_script_lexer_record_stop): Likewise.
21604 (recordchar): Replaced with...
21605 (grub_script_lexer_record): ...new function.
21606 (nextchar): Removed.
21607 (grub_script_lexer_init): Rewritten.
21608 (grub_script_yylex): Rewritten.
21609 (append_newline): New function.
21610 (grub_script_lexer_yywrap): New function.
21611 (grub_script_lexer_fini): New function.
21612 (grub_script_yyerror): Sets error flag.
21613
21614 * script/yylex.l: New file.
21615 (grub_lexer_yyfree): Wrapper for flex yyffre.
21616 (grub_lexer_yyalloc): Likewise.
21617 (grub_lexer_yyrealloc): Likewise.
21618 * script/parser.y: Refactored.
21619
21620 * script/script.c (grub_script_arg_add): Out of memory fixes.
21621 (grub_script_add_arglist): Likewise.
21622 (grub_script_create_cmdline): Likewise.
21623 (grub_script_create_cmdmenu): Likewise.
21624 (grub_script_add_cmd): Likewise.
21625 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21626 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21627 unnecessary code.
21628
21629 * tests/grub_script_echo1.in: New testcase.
21630 * tests/grub_script_vars1.in: New testcase.
21631 * tests/grub_script_echo_keywords.in: New testcase.
21632
1d63a066
VS
216332010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21634
21635 Remove some redundancy in build system.
21636
21637 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21638 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21639 (TARGET_LDFLAGS): Add -nostdlib.
21640 (TARGET_IMG_LDFLAGS): Likewise.
21641 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21642 anything since mmap isn't available.
21643 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21644 Add util/time.c.
21645 (pkglib_MODULES): Remove reboot.mod.
21646 (reboot_mod_SOURCES): Removed.
21647 (reboot_mod_CFLAGS): Likewise.
21648 (reboot_mod_LDFLAGS): Likewise.
21649 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21650 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21651 (DEFSYMFILES): Add kernel_syms.lst.
21652 (kernel_img_HEADERS): Add common headers.
21653 (symlist.c): New target.
21654 (kernel_syms.lst): Likewise.
21655 (pkglib_MODULES): Add memdisk.mod.
21656 (memdisk_mod_SOURCES): New variable.
21657 (memdisk_mod_CFLAGS): Likewise.
21658 (memdisk_mod_LDFLAGS): Likewise.
21659 (pkglib_MODULES): Add reboot.mod.
21660 (reboot_mod_SOURCES): New variable.
21661 (reboot_mod_CFLAGS): Likewise.
21662 (reboot_mod_LDFLAGS): Likewise.
21663 (pkglib_MODULES): Add date.mod.
21664 (date_mod_SOURCES): New variable.
21665 (date_mod_CFLAGS): Likewise.
21666 (date_mod_LDFLAGS): Likewise.
21667 (pkglib_MODULES): Add datehook.mod.
21668 (datehook_mod_SOURCES): New variable.
21669 (datehook_mod_CFLAGS): Likewise.
21670 (datehook_mod_LDFLAGS): Likewise.
21671 (pkglib_MODULES): Add lsmmap.mod.
21672 (lsmmap_mod_SOURCES): New variable.
21673 (lsmmap_mod_CFLAGS): Likewise.
21674 (lsmmap_mod_LDFLAGS): Likewise.
21675 (pkglib_MODULES): Add boot.mod.
21676 (boot_mod_SOURCES): New variable.
21677 (boot_mod_CFLAGS): Likewise.
21678 (boot_mod_LDFLAGS): Likewise.
21679 * conf/i386-coreboot.rmk: Removed redundant parts.
21680 * conf/i386-ieee1275.rmk: Likewise.
21681 * conf/i386-pc.rmk: Likewise.
21682 * conf/mips-yeeloong.rmk: Likewise.
21683 * conf/mips.rmk: Likewise.
21684 * conf/powerpc-ieee1275.rmk: Likewise.
21685 * conf/sparc64-ieee1275.rmk: Likewise.
21686 * conf/x86_64-efi.rmk: Likewise.
21687 * conf/i386-coreboot.rmk: Moved qemu parts ..
21688 * conf/i386-qemu.rmk: ... here
21689 * conf/i386-efi.rmk: Moved common parts to...
21690 * conf/x86-efi.rmk: ... here.
21691 * conf/i386.rmk: Added modules common to all x86 variants.
21692 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21693 * disk/memdisk.c: Remove grub/machine/kernel.h.
21694 * gensymlist.sh.in: Include symbol.h.
21695 * hook/datehook.c: Correct module name.
21696 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21697 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21698 * include/grub/i386/efi/serial.h: New file.
21699 * include/grub/x86_64/efi/serial.h: Likewise.
21700 * util/time.c: Likewise.
21701 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21702
463ac55f
CK
217032010-03-14 Colin King <colin.king@ubuntu.com>
217042010-03-14 Colin Watson <cjwatson@ubuntu.com>
21705
21706 Shrink the pre-partition-table part of boot.img by eight bytes.
21707
21708 * boot/i386/pc/boot.S (ERR): New macro.
21709 (chs_mode): Use ERR.
21710 (geometry_error): Likewise.
21711 (hd_probe_error): Remove. This is only used once, so we wrwite
21712 it inline instead.
21713 (read_error): Instead of printing read_error_string, just set up
21714 %si and fall through to ...
21715 (error_message): ... this new function, also used by ERR.
21716
08e46ede
CW
217172010-03-14 Colin Watson <cjwatson@ubuntu.com>
21718
21719 Speed up consecutive hostdisk operations on the same device.
21720
21721 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21722 (grub_util_biosdisk_open): Initialise disk->data.
21723 (struct linux_partition_cache): New structure.
21724 (linux_find_partition): Cache partition start positions; these are
21725 expensive to compute on every read and write.
21726 (open_device): Cache open file descriptor in disk->data, so that we
21727 don't have to reopen it and flush the buffer cache for consecutive
21728 operations on the same device.
21729 (grub_util_biosdisk_close): New function.
21730 (grub_util_biosdisk_dev): Set `close' member.
21731
21732 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21733 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21734 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21735 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21736 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21737
4a6d2d06
VS
217382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 Compile parts of grub-emu as modules.
21741
21742 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21743 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21744 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21745 (all-local): Add $(GRUB_EMU).
21746 (install-local): Install $(GRUB_EMU).
21747 (uninstall): Uninstall $(GRUB_EMU).
21748 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21749 * kern/dl.c: Likewise.
21750 * commands/sleep.c: Not include machine/time.h.
21751 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21752 (COMMON_CFLAGS): Likewise.
21753 (sbin_UTILITIES): Remove grub-emu.
21754 (grub_emu_SOURCES): Removed.
21755 (kernel_img_RELOCATABLE): New variable.
21756 (pkglib_PROGRAMS): Add kernel.img.
21757 (kernel_img_SOURCES): New variable
21758 (kernel_img_CFLAGS): Likewise.
21759 (kernel_img_LDFLAGS): Likewise.
21760 (TARGET_NO_STRIP): Likewise.
21761 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21762 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21763 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21764 (grub-emu): New target.
21765 (GRUB_EMU): New variable.
21766 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21767 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21768 * loader/xnu.c: Likewise.
21769 * include/grub/pci.h: Likewise.
21770 * genemuinit.sh: New file.
21771 * genemuinitheader.sh: Likewise.
21772 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21773 Support TARGET_NO_DYNAMIC_MODULES.
21774 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21775 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21776 * disk/loopback.c: Likewise.
21777 * font/font_cmd.c: Likewise.
21778 * partmap/acorn.c: Likewise.
21779 * partmap/amiga.c: Likewise.
21780 * partmap/apple.c: Likewise.
21781 * partmap/gpt.c: Likewise.
21782 * partmap/msdos.c: Likewise.
21783 * partmap/sun.c: Likewise.
21784 * parttool/msdospart.c: Likewise.
21785 * term/gfxterm.c: Likewise.
21786 * video/bitmap.c: Likewise.
21787 * video/readers/jpeg.c: Likewise.
21788 * video/readers/png.c: Likewise.
21789 * video/readers/tga.c: Likewise.
21790 * video/video.c: Likewise.
21791 * util/grub-emu.c (read_command_list): Removed.
21792 (main): Don't call util_init_nls.
21793 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21794 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21795
91fdd2ed
VS
217962010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21797
21798 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21799 date.mod, datehook.mod.
21800 (datetime_mod_SOURCES): New variable.
21801 (datetime_mod_CFLAGS): Likewise.
21802 (datetime_mod_LDFLAGS): Likewise.
21803 (date_mod_SOURCES): Likewise.
21804 (date_mod_CFLAGS): Likewise.
21805 (date_mod_LDFLAGS): Likewise.
21806 (datehook_mod_SOURCES): Likewise.
21807 (datehook_mod_CFLAGS): Likewise.
21808 (datehook_mod_LDFLAGS): Likewise.
21809 * conf/sparc64-ieee1275.rmk: Likewise.
21810 * lib/ieee1275/datetime.c: New file.
21811
873ccae6
VS
218122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21815 (ieee1275_fb_mod_SOURCES): New variable.
21816 (ieee1275_fb_mod_CFLAGS): Likewise.
21817 (ieee1275_fb_mod_LDFLAGS): Likewise.
21818 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21819 New proto.
21820 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21821 (HEAP_MAX_ADDR): Likewise.
21822 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21823 type.
21824 Correct stop condition.
21825 (grub_ieee1275_devices_iterate): New function.
21826 * video/ieee1275.c: New file.
21827
601c97c0
VS
218282010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21829
21830 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21831
21832 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21833 as scratch.
21834 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21835 SCRATCH_PAD_DISKBOOT as scratch.
21836 (bootit): Pass Openfirmware pointer in %o4.
21837 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21838 of 0x200000.
21839 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21840 with util/grub-mkrawimage.c.
21841 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21842 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21843 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21844 (grub_aout_load) [GRUB_UTIL]: Likewise.
21845 * include/grub/kernel.h (grub_modules_get_end): New proto.
21846 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21847 (SCRATCH_PAD_BOOT): New definition.
21848 (SCRATCH_PAD_DISKBOOT): Likewise.
21849 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21850 * include/grub/sparc64/ieee1275/ieee1275.h
21851 (grub_ieee1275_original_stack): New variable
21852 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21853 New definition
21854 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21855 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21856 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21857 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21858 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21859 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21860 (grub_platform_image_format_t): New type.
21861 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21862 * kern/main.c (grub_modules_get_end)
21863 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21864 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21865 (codestart): Switch stacks.
21866 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21867 variable.
21868 (grub_heap_init): Use grub_modules_get_end.
21869 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21870 stack.
21871 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21872 (main): Likewise.
21873 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21874
d68b491e
TG
218752010-03-14 Thorsten Glaser <tg@mirbsd.org>
21876
21877 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21878
4e02ed50
MK
218792010-03-08 Matt Kraai <kraai@ftbfs.org>
21880
21881 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21882 bug #559005).
21883
1f15fc1e
VS
218842010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21885
21886 * genmoddep.awk: Output all missing symbols and not only first.
21887
fce5d8ff
VS
218882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 * NEWS: Put the date of 1.98 release.
21891
d1e8a02f
VS
218922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21895 ft2build.h.
21896
696fd607
VS
218972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21898
21899 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21900 completition in the middle of string.
21901
33e2e6f3
VS
219022010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * util/grub-mkrescue.in: Use mktemp with explicit template.
21905
b1f6d291
VS
219062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21909
2ac227c7
VS
219102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21913 right pointer.
21914
8f9a632b
VS
219152010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21916
21917 Fix FreeBSD compilation.
21918
21919 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21920 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21921
60b03859
VS
219222010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21925
48a5a769
VS
219262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21929
3ab4bd77
VS
219302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21933
d116e0d8
RM
219342010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21935
21936 Support relative image path in theme file.
21937
21938 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21939 (image_set_property): Handle theme_dir and relative path.
21940
c7ef54aa
VS
219412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 * configure.ac: Alias amd64 to x86_64.
21944
fcee14ed
VS
219452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 * NEWS: mention multiboot on EFI.
21948
d0780363
VS
219492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21950
21951 * kern/main.c (grub_load_modules): Handle errors from init functions of
21952 embeded modules.
21953
41168ea4
VS
219542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21955
21956 * normal/autofs.c (autoload_fs_module): Handle errors.
21957
b54d93ac
VS
219582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21959
21960 Disable linux.mod on qemu-mips since it's not functional and leads
21961 to compilation failure.
21962
21963 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21964 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21965 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21966 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21967 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21968 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21969 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21970 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21971 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21972 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21973 Reported by: BVK Chaitanya
21974
fc8345da
JU
219752010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21976
21977 * INSTALL: Add gettext as a dependency and add qemu to a new section
21978 "Prerequisites for make-check".
21979
4760f979
CF
219802010-03-04 Christian Franke <franke@computer.org>
21981
21982 * util/grub-pe2elf.c: Add missing include "progname.h".
21983
f209b5b2
VS
219842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21985
21986 * normal/crypto.c (read_crypto_list): Fix a typo.
21987 Reported by: Seth Goldberg.
21988
b4b7be98
VS
219892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21992 Reported by: Seth Goldberg.
b4b7be98 21993
c0ee0385
VS
219942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21997 ascii.bitmaps.
21998
a8efbf64
VS
219992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22000
22001 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 22002 Reported by: Seth Goldberg.
a8efbf64 22003
08dcd913
VS
220042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 * util/i386/efi/grub-install.in: Copy gettext files.
22007
c4d0b332
VS
220082010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
22011
c6f2fe52
VS
220122010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 Wait for user entry basing on presence of output rather than on errors.
22015
22016 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
22017 (grub_install_newline_hook): Likewise.
22018 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
22019 * normal/menu.c (show_menu): Check line_counter to determine presence
22020 of output.
22021 * normal/term.c (grub_normal_line_counter): New variable.
22022 (grub_normal_get_line_counter): New function.
22023 (grub_install_newline_hook): Likewise.
22024
5382b1e4
VS
220252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22026
22027 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
22028
5519963b
VS
220292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
22030
22031 * configure.ac: Update version to 1.98.
22032
72b28631
VS
220332010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22034
22035 * util/grub.d/10_linux.in (linux_entry): Don't default to
22036 gfxpayload=keep if Linux doesn't support video handover.
22037
c140a180
VS
220382010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
22039
22040 Don't compile video modules on yeeloong since video subsystem is part
22041 of kernel.
22042
22043 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
22044 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
22045 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
22046 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
22047 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
22048 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
22049 * include/grub/bitmap_scale.h: Likewise.
22050 * include/grub/bufio.h: Likewise.
22051 * include/grub/font.h: Likewise.
22052 * include/grub/gfxterm.h: Likewise.
22053 * include/grub/video.h: Likewise.
22054 * include/grub/vbe.h: Don't include video_fb.h.
22055 * video/i386/pc/vbe.c: Include video_fb.h.
22056 * commands/i386/pc/vbetest.c: Include video.h.
22057
a0ca21c2
CW
220582010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
22059
22060 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
22061 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
22062 default entry if GRUB_SAVEDEFAULT=true. This allows using
22063 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
22064 saving a new default on every boot.
22065
4a8a763c
VS
220662010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22067
22068 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22069 * normal/term.c (read_terminal_list): Likewise.
22070 * normal/main.c (grub_normal_init_page): Likewise.
22071 (grub_normal_read_line_real): Likewise.
22072
607ffde2
VS
220732010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22074
22075 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22076 memory leak.
22077 Reported by: Seth Goldberg.
22078
2b8fa975
CW
220792010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22080
22081 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22082 duplicate declaration of `start'.
22083
618307dd
VS
220842010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22085
22086 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22087 filename.
22088 Reported by: Georgy Buranov
22089
7dd05b96 220902010-02-20 Carles Pina i Estany <carles@pina.cat>
22091
22092 * util/grub-mkrawimage.c (usage): Change string formatting to
22093 improve gettext.
22094
d1484a42
MRA
220952010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22096
22097 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22098 backspace keys.
22099
42b1d186
VS
221002010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22103 Reported by: Michael Suchanek.
22104
221052010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22106
22107 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22108 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22109
d9f31a41
VS
221102010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 Remove any reference to non-free fonts.
22113
22114 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22115 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22116 uses non-free components.
22117 * font/font.c (grub_font_get_name): Remove example name.
22118 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22119 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22120 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22121 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22122
2793c71e
GB
221232010-02-16 Georgy Buranov <gburanov@gmail.com>
22124
22125 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22126
402e3779
VS
221272010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22130 Double divisor.
22131 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22132 features.
22133 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22134
0dd1e0dd
VS
221352010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22136
22137 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22138
6fa7cfce
ST
221392010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22140
22141 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22142 * docs/grub.texi (Command-line and menu entry commands): Document play
22143 command.
22144
37c8483b
ST
221452010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22146
22147 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22148 parse arguments as inline tempo and notes. Move code for playing notes
22149 to...
22150 (play): ... new function.
22151
14da0fb7
ST
221522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22153
22154 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22155 grub_uint16_t instead of short.
22156 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22157 disk from little endian to cpu endianness.
22158
04459e70
ST
221592010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22160
22161 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22162 GRUB_TICKS_PER_SECOND instead of 120.
22163
a0876943
VS
221642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22165
22166 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22167 escape sequence after \e.
22168
e29f95dc
VS
221692010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22170
22171 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22172 non-ASCII characters.
22173
d27859b2
VS
221742010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22175
22176 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22177 set root in single quotes to prevent \, from being unescaped.
22178
bc028f2f
VS
221792010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 Prevent unknown commands from stopping menuentry execution.
22182
22183 * script/execute.c (grub_script_execute_cmdline): Print error after
22184 unknown command.
22185
095f5f82
VS
221862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22187
22188 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22189 Reported by: Pavel Pisa.
22190
8c717950
VS
221912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22192
22193 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22194
904935c3
VS
221952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 Merge grub_ieee1275_map_physical into grub_map and rename to
22198 grub_ieee1275_map
22199
22200 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22201 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22202 Remove.
22203 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22204 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22205 necessary.
22206 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22207
5b59a4e3
VS
222082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22209
22210 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22211 opening and not after.
22212
69e137e8
VS
222132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22216 constants.
22217
2c0fcc36
VS
222182010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22219
22220 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22221 (alloc_phys): Use ALIGN_UP instead of align_addr.
22222
8c6052ce
VS
222232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22226
17cec782
VS
222272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22228
22229 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22230
e0128bbd
VS
222312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22232
22233 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22234 verbose dprintf.
22235
ca62070b
VS
222362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22237
22238 Fix over-4GiB seek on sparc64.
22239
22240 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22241 Replace pos_i and pos_lo with pos. All users updated.
22242 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22243 New constant.
22244 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22245 Likewise.
22246 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22247 and pos_lo.
22248
bdca2607
VS
222492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22250
22251 * util/grub-mkrawimage.c (main): Call set_program_name.
22252
da278c4d
VS
222532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22254
22255 Properly align 64-bit targets.
22256
22257 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22258 (generate_image): Use ALIGN_ADDR.
22259
b274d734
VS
222602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22261
22262 Properly create cross-endian images.
22263
22264 * include/grub/types.h (grub_host_to_target_addr): New macro
22265 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22266
82da2062
VS
222672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22268
22269 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22270
7cae4377
VS
222712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22274
22275 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22276 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22277 (grub_linux_boot): Divide by 64K when on VESA.
22278
65a533e7
VS
222792010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22280
22281 Support GRUB_GFXPAYLOAD_LINUX.
22282
22283 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22284 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22285
dd01d397
VS
222862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22287
22288 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22289 to show messages instead of discarding them.
22290 Process errors after executing command and not before. Keep old method
22291 too as precaution.
22292
660960d6
VS
222932010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * configure.ac: Check for ft2build.h.
22296
62509f04
VS
222972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22298
22299 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22300
473df63d
VS
223012010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 * genkernsyms.sh.in: Use TARGET_CC.
22304
c98d2a13
CW
223052010-02-07 Colin Watson <cjwatson@ubuntu.com>
22306
22307 * NEWS: Update.
22308
6e14234c
VS
223092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22310
22311 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22312 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22313 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22314
b255e9cf
YB
223152010-02-07 Yves Blusseau <blusseau@zetam.org>
22316
6e14234c 22317 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22318
98e6959d
VS
223192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 Fix warnings in grub-emu when compiling with maximum warning options.
22322
22323 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22324 (grub_arch_modules_addr): Return 0 and not NULL.
22325 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22326 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22327 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22328 of disk to dsk to avoid shadowing.
74e4934e
VS
22329 (find_free_slot): Fix prototype.
22330 * util/getroot.c (grub_util_is_dmraid): Make static.
22331 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22332 Add missing prototype.
22333 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22334
74e31b5c
VS
223352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22336
22337 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22338 appropriately.
22339
6b2ad14b
VS
223402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22341
22342 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22343 code out.
22344
8f891adc
VS
223452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22348 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22349 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22350 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22351 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22352 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22353
74b45184
VS
223542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22355
22356 * include/grub/err.h (grub_err_printf): Don't export.
22357
a4bced77
VS
223582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22359
22360 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22361
007d0695
VS
223622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22363
22364 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22365 * kern/misc.c (grub_gettext_dummy): Make static.
22366
b6c0d9c2
VS
223672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22368
22369 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22370 by non-valid ones.
22371 * kern/term.c (grub_putchar): Likewise.
22372
f51a90d0
VS
223732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22374
22375 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22376 buggy hook call and memory leak.
22377
6846cec5
VS
223782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22379
22380 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22381
468d69fe
VS
223822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22383
22384 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22385
51906b8c
VS
223862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22387
22388 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22389 modevar.
22390 Return grub_errno on allocation error.
22391
09706ce5
VS
223922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22395
911df80c
YB
223962010-02-06 Yves Blusseau <blusseau@zetam.org>
22397
22398 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22399 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22400
3746a6bc
VS
224012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22402
22403 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22404 non-pxe disk.
22405 (grub_pxefs_open): Likewise.
22406
09706ce5
VS
224072010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22408
22409 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22410 * util/grub.d/10_kfreebsd.in: Likewise.
22411 * util/grub.d/10_linux.in: Likewise.
22412
7cc192d9
VS
224132010-02-06 Colin D Bennett <colin@gibibit.com>
22414
22415 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22416 (gfxmenu_mod_SOURCES): New variable.
22417 (gfxmenu_mod_CFLAGS): Likewise.
22418 (gfxmenu_mod_LDFLAGS): Likewise.
22419 * include/grub/term.h (grub_term_set_current_output): Declare
22420 argument as const.
22421 * docs/gfxmenu-theme-example.txt: New file.
22422 * gfxmenu/gfxmenu.c: Likewise.
22423 * gfxmenu/gui_box.c: Likewise.
22424 * gfxmenu/gui_canvas.c: Likewise.
22425 * gfxmenu/gui_circular_progress.c: Likewise.
22426 * gfxmenu/gui_image.c: Likewise.
22427 * gfxmenu/gui_label.c: Likewise.
22428 * gfxmenu/gui_list.c: Likewise.
22429 * gfxmenu/gui_progress_bar.c: Likewise.
22430 * gfxmenu/gui_string_util.c: Likewise.
22431 * gfxmenu/gui_util.c: Likewise.
22432 * gfxmenu/icon_manager.c: Likewise.
22433 * gfxmenu/model.c: Likewise.
22434 * gfxmenu/named_colors.c: Likewise.
22435 * gfxmenu/theme_loader.c: Likewise.
22436 * gfxmenu/view.c: Likewise.
22437 * gfxmenu/widget-box.c: Likewise.
22438 * include/grub/gfxmenu_model.h: Likewise.
22439 * include/grub/gfxmenu_view.h: Likewise.
22440 * include/grub/gfxwidgets.h: Likewise.
22441 * include/grub/gui.h: Likewise.
22442 * include/grub/gui_string_util.h: Likewise.
22443 * include/grub/icon_manager.h: Likewise.
22444
224452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22446
22447 Agglomerate scrolling in gfxterm.
22448
22449 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22450 (grub_virtual_screen_setup): Initialise 'total_screen'.
22451 (write_char): Split to ...
22452 (paint_char): ... this ...
22453 (write_char): ... and this.
22454 (paint_char): Handle delayed scrolling.
22455 (draw_cursor): Likewise.
22456 (scroll_up): Split to ...
22457 (real_scroll): ... this ...
22458 (scroll_up): ... and this.
22459 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22460 characters.
22461 (grub_gfxterm_refresh): Call real_scroll.
22462
224632010-02-06 Colin D Bennett <colin@gibibit.com>
22464
22465 * include/grub/misc.h (grub_iscntrl): New inline function.
22466 (grub_isalnum): Likewise.
22467 (grub_strtol): Likewise.
22468
224692010-02-06 Colin D Bennett <colin@gibibit.com>
22470
22471 * normal/menu_text.c (get_entry_number): Move from here ...
22472 * normal/menu.c (get_entry_number): ... moved here.
22473 * include/grub/menu.h (grub_menu_get_default_entry_index):
22474 New prototype.
22475 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22476 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22477 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22478 (grub_menu_viewer_should_return): Likewise.
22479 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22480 * normal/menu_text.c (run_menu): Enable menu switching.
22481 * normal/menu_viewer.c (should_return): New variable.
22482 (menu_viewer_changed): Likewise.
22483 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22484 (grub_menu_viewer_should_return): New function.
22485 (menuviewer_write_hook): Likewise.
22486 (grub_menu_viewer_init): Likewise.
22487
224882010-02-06 Colin D Bennet <colin@gibibit.com>
224892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22490
22491 Support for gfxterm in a window.
22492
22493 * include/grub/gfxterm.h: New file.
22494 * include/grub/video.h (struct grub_video_rect): New declaration.
22495 (grub_video_rect_t): Likewise.
22496 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22497 (refcount): New variable.
22498 (render_target): Likewise.
22499 (window): Likewise.
22500 (repaint_callback): Likewise.
22501 (grub_virtual_screen_setup): Use 'render_target'.
22502 (init_window): New function.
22503 (grub_gfxterm_init_window): Likewise.
22504 (grub_gfxterm_init): Check reference counter.
22505 Use init_window.
22506 (destroy_window): New function.
22507 (grub_gfxterm_destroy_window): Likewise.
22508 (grub_gfxterm_fini): Check reference counter.
22509 Use destroy_window.
22510 (redraw_screen_rect): Restore viewport.
22511 Use 'render_target' and 'window'.
22512 Call 'repaint_callback'.
22513 (write_char): Use 'render_target'.
22514 (draw_cursor): Likewise.
22515 (scroll_up): Restore viewport.
22516 Use 'render_target' and 'window'.
22517 Call 'repaint_callback'.
22518 (grub_gfxterm_cls): Likewise.
22519 (grub_gfxterm_refresh): Use 'window'.
22520 (grub_gfxterm_set_repaint_callback): New function.
22521 (grub_gfxterm_background_image_cmd): Use 'window'.
22522 (grub_gfxterm_get_term): New function.
22523 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22524
225252010-02-06 Colin D Bennett <colin@gibibit.com>
22526
22527 Bitmap scaling support.
22528
22529 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22530 (bitmap_scale_mod_SOURCES): New variable.
22531 (bitmap_scale_mod_CFLAGS): Likewise.
22532 (bitmap_scale_mod_LDFLAGS): Likewise.
22533 * include/grub/bitmap_scale.h: New file.
22534 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22535 (background_image_cmd_options): New variable.
22536 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22537 (cmd): Rename and change type to ...
22538 (background_image_cmd_handle): ... this. All users updated.
22539 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22540 * video/bitmap_scale.c: New file.
22541
225422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22543
22544 SDL support.
22545
22546 * Makefile.in (LIBSDL): New variable.
22547 (enable_grub_emu_sdl): Likewise.
22548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22549 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22550 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22551 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22552 * util/sdl.c: New file.
22553
225542010-02-06 Colin D Bennett <colin@gibibit.com>
225552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22556
22557 Double buffering support.
22558
22559 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22560 * include/grub/video.h: Update comment.
22561 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22562 New type.
22563 (grub_video_fb_doublebuf_blit_init): New prototype.
22564 * term/gfxterm.c (scroll_up): Support double buffering.
22565 (grub_gfxterm_refresh): Likewise.
22566 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22567 (grub_video_fb_doublebuf_blit_init): Likewise.
22568 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22569 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22570 'displayed_page', 'render_page' and 'update_screen'.
22571 (grub_video_vbe_fini): Free offscreen buffer.
22572 (doublebuf_pageflipping_commit): New function.
22573 (doublebuf_pageflipping_update_screen): Likewise.
22574 (doublebuf_pageflipping_init): Likewise.
22575 (double_buffering_init): Likewise.
22576 (grub_video_vbe_setup): Enable doublebuffering.
22577 (grub_video_vbe_swap_buffers): Implement.
22578 (grub_video_vbe_set_active_render_target): Handle double buffering.
22579 (grub_video_vbe_get_active_render_target): Likewise.
22580 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22581 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22582 (grub_video_vbe_enable_double_buffering): Likewise.
22583 (grub_video_vbe_swap_buffers): Use update_screen.
22584 (grub_video_set_mode): Use double buffering.
22585
225862010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22587
22588 * maintainance/gentrigtables.py: Remove.
22589 * lib/trig.c: Likewise.
22590
22591 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22592
22593 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22594 `trigtables.c'.
22595 (trigtables.c): New rule.
22596 (gentrigtables): Likewise.
22597 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22598
225992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22600
22601 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22602 integer constants.
22603
226042010-02-06 Colin D Bennet <colin@gibibit.com>
22605
22606 Trigonometry support.
22607
22608 * include/grub/trig.h: New file.
22609 * lib/trig.c: Likewise.
22610 * maintainance/gentrigtables.py: Likewise.
22611 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22612 (trig_mod_SOURCES): New variable.
22613 (trig_mod_CFLAGS): Likewise.
22614 (trig_mod_LDFLAGS): Likewise.
22615
5562834e
VS
226162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22617
22618 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22619 disk devices.
22620
4f8528fc
VS
226212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22622
22623 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22624 error.
22625
2b4068e9
VS
226262010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22627
22628 * util/hostdisk.c (open_device): Don't use partition device when reading
22629 before the partition.
22630 (grub_util_biosdisk_read): Don't read from partition and before the
22631 partition in single operation.
22632 (grub_util_biosdisk_write): Don't write to partition and before the
22633 partition in single operation.
22634
399f6e4d
TL
226352010-02-03 Torsten Landschoff <torsten@debian.org>
22636
22637 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22638 last sectors.
22639
996649b0
VS
226402010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22641
22642 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22643 CDROM reads.
22644 (grub_biosdisk_write): Refuse to write to CDROM.
22645
3b205d4d
VS
226462010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22647
22648 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22649
61e89d9d
VS
226502010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22651
22652 * font/font.c (find_glyph): Check that bmp_idx is available before
22653 using it.
22654 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22655 with (font == NULL).
22656
bf7fcba2
CS
226572010-01-28 Christian Schmitt <chris@ilovelinux.de>
22658
22659 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22660
f45d2663
BC
226612010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22662
22663 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22664 * util/grub-script-check.c (getline): Fix empty lines case.
22665
ec1444e6
RM
226662010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22667
22668 * Makefile.in (check): Exit with fail status when one of the tests
22669 fails.
22670 * tests/example_functional_test.c (example_test): Fix reversed assert.
22671 * tests/example_unit_test.c (example_test): Likewise.
22672
2e1cb9bb
CW
226732010-01-28 Colin Watson <cjwatson@ubuntu.com>
22674
22675 * util/grub.d/10_linux.in: This script does not use any of the
22676 contents of gettext.sh, only the external command `gettext', so stop
22677 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22678 the same prefix as GRUB.)
22679 * util/grub.d/10_kfreebsd.in: Likewise.
22680
63533ab0
VS
226812010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22684 of the line.
22685
989e1f93
VS
226862010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22687
22688 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22689 last sectors.
22690
e709ebe2
VS
226912010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22692
22693 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22694 having a 4KiB and not 32KiB buffer size.
22695
27dea7ed
RM
226962010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22697
22698 * util/hostfs.c: Include `<errno.h>'.
22699 (grub_hostfs_read): Handle errors from fseeko() and fread().
22700
67667b9c
RM
227012010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22702
22703 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22704 loop when using read hooks on files whose size isn't sector-aligned.
22705
c294d9d8
RM
227062010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22707
22708 Remove unused parameter.
22709
22710 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22711 (grub_iso9660_open): Remove initialization of `data->length'.
22712
af75a9f1
RM
227132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22714
22715 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22716 memleak conditions.
22717
254e2ce5 227182010-01-27 Carles Pina i Estany <carles@pina.cat>
22719
22720 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22721 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22722
b510928c 227232010-01-26 Carles Pina i Estany <carles@pina.cat>
22724
22725 * util/bin2h.c (usage): Fix warning (space after backslash).
22726
aa2f9dd2 227272010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22728
22729 * font/font.c: Include `grub/fontformat.h.
22730 Remove font file format constants.
22731 (grub_font_load): Use the new macros.
22732 * include/grub/fontformat.h: New file.
22733 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22734 (write_font_pf2): Use the new macros.
22735
94e7e712
RM
227362010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22737
22738 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22739 does.
22740
3973a59a
RM
227412010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22744
22745 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22746 (_start): Macroify `0x7F'.
22747
22748 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22749 (make_install_device): Use "(pxe)" as fallback prefix when booting
22750 via PXE.
22751
42e0cba3
GS
227522010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22753
22754 * configure.ac: Reset LIBS after check for libgcc symbols.
22755
847effd8
CW
227562010-01-25 Colin Watson <cjwatson@ubuntu.com>
22757
22758 * util/hostdisk.c (open_device): Add trailing newline to debug
22759 message.
22760
ea4a7e35
GS
227612010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22762
22763 * configure.ac: Check for `limits.h'.
22764 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22765
67951a53
RM
227662010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22767
22768 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22769 capitalize error strings.
22770
c273d4ce
ST
227712010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22772
22773 * util/grub.d/10_hurd.in: Add a recovery mode.
22774
69be5b74
VS
227752010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22776
22777 * configure.ac: Check for libgcc symbols with -nostdlib.
22778
fc9e5810
BC
227792010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22780
22781 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22782
4b358c0a
VS
227832010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22784
22785 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22786 stack since heap may be unavailable at that point.
22787 (grub_ofconsole_gotoxy): Likewise.
22788
454fcd1c
VS
227892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22790
22791 * configure.ac: Check for _restgpr_14_x.
22792 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22793 and _savegpr_* prototypes.
22794
566863ca
RM
227952010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22796
22797 Use generic grub_reboot() for i386-efi.
22798
22799 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22800 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22801 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22802
bf86e59a
VS
228032010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22804
22805 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22806 presence of "prefix" variable as it breaks when normal.mod is
22807 embedded.
22808
d645e0f8
VS
228092010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22810
22811 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22812 stack since heap is unavailable at that point.
22813
f9ab2e25
VS
228142010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22815
22816 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22817 (grub_freebsd_bootinfo): Rewritten.
22818 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22819
01fc7054
VS
228202010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22823
caab4fd6
RM
228242010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22825
22826 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22827 domain now.
22828
67eb1427
FZ
228292010-01-20 Felix Zielcke <fzielcke@z-51.de>
22830
22831 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22832 around for handling "/" to the correct fix. Fix a memory leak. Use
22833 xstrdup instead of strdup.
22834
a9ed4ff3
VS
228352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22838
228392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22840
22841 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22842
22843 * font/font.c (struct grub_font): New member 'bmp_idx'.
22844 (font_init): Initialise 'bmp_idx'.
22845 (load_font_index): Fill 'bmp_idx'.
22846 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22847
48209f4f
VS
228482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22849
22850 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22851 unnecessary calls.
22852
9f0a4bb7
VS
228532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 Move context handling out of the kernel.
22856
22857 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22858 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22859 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22860 * conf/i386-efi.rmk: Likewise.
22861 * conf/i386-ieee1275.rmk: Likewise.
22862 * conf/i386-pc.rmk: Likewise.
22863 * conf/powerpc-ieee1275.rmk: Likewise.
22864 * conf/sparc64-ieee1275.rmk: Likewise.
22865 * conf/x86_64-efi.rmk: Likewise.
22866 * include/grub/env.h: Include grub/menu.h.
22867 (grub_env_var_type): Removed.
22868 (grub_env_var): Replaced field 'type' with 'global'.
22869 (grub_env_find): New prototype.
22870 (grub_env_context_open): Remove EXPORT_FUNC.
22871 (grub_env_context_close): Likewise.
22872 (grub_env_export): Likewise.
22873 (grub_env_set_data_slot): Removed.
22874 (grub_env_get_data_slot): Likewise.
22875 (grub_env_unset_data_slot): Likewise.
22876 (grub_env_unset_menu): New prototype.
22877 (grub_env_set_menu): Likewise.
22878 (grub_env_get_menu): Likewise.
22879 * include/grub/env_private.h: New file.
22880 * include/grub/normal.h (grub_context_init): New prototype.
22881 (grub_context_fini): Likewise.
22882 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22883 * normal/context.c (grub_cmd_export): ... to here.
22884 * kern/env.c: Include env_private.h.
22885 (HASHSZ): Moved to include/grub/env_private.h.
22886 (grub_env_context): Likewise.
22887 (grub_env_sorted_var): Likewise.
22888 (current_context): Renamed from this ...
22889 (grub_current_context): ...to this. 'static' removed. All users updated.
22890 (grub_env_find): Removed 'static'.
22891 (grub_env_context_open): Moved to normal/context.c.
22892 (grub_env_context_close): Likewise.
22893 (grub_env_export): Likewise.
22894 (mangle_data_slot_name): Removed.
22895 (grub_env_set_data_slot): Likewise.
22896 (grub_env_get_data_slot): Likewise.
22897 (grub_env_unset_data_slot): Likewise.
22898 * kern/main.c (grub_set_root_dev): Don't export root.
22899 It will be done later.
22900 (grub_main): Don't export prefix.
22901 It will be done later.
22902 * normal/context.c: New file.
22903 * normal/main.c (free_menu): Use grub_env_unset_menu.
22904 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22905 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22906 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22907 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22908
8dd35b8c
VS
229092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22910
22911 setpci support.
22912
22913 * commands/setpci.c: New file.
22914 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22915 (setpci_mod_SOURCES): New variable.
22916 (setpci_mod_CFLAGS): Likewise.
22917 (setpci_mod_LDFLAGS): Likewise.
22918
449193d5
VS
229192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22920
22921 Byte-addressable PCI configuration space.
22922
22923 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22924 dword address.
22925 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22926 GRUB_PCI_REG_CACHELINE.
22927 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22928 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22929 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22930 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22931 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22932 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22933 grub_pci_make_address.
22934 (lock_rom_area): Likewise.
22935 * commands/lspci.c (grub_lspci_iter): Use macroses
22936 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22937 of grub_pci_make_address.
22938 * disk/ata.c (grub_ata_pciinit): Likewise.
22939 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22940 (GRUB_PCI_REG_VENDOR): Likewise.
22941 (GRUB_PCI_REG_DEVICE): Likewise.
22942 (GRUB_PCI_REG_COMMAND): Likewise.
22943 (GRUB_PCI_REG_STATUS): Likewise.
22944 (GRUB_PCI_REG_REVISION): Likewise.
22945 (GRUB_PCI_REG_CLASS): Likewise.
22946 (GRUB_PCI_REG_CACHELINE): Likewise.
22947 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22948 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22949 (GRUB_PCI_REG_BIST): Likewise.
22950 (GRUB_PCI_REG_ADDRESSES): Likewise.
22951 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22952 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22953 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22954 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22955 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22956 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22957 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22958 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22959 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22960 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22961 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22962 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22963 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22964 (GRUB_PCI_REG_MIN_GNT): Likewise.
22965 (GRUB_PCI_REG_MAX_LAT): Likewise.
22966 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22967 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22968 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22969 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22970 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22971 space.
22972
96d73208
RM
229732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22974
22975 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22976 can be reliably determined to be supported.
22977
d4484482
RM
229782010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22979
22980 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22981 that VESA is supported.
22982 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22983 supported.
22984
00308ecf
VS
229852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22986
22987 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22988
f66924a4
RM
229892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22990
22991 * util/misc.c (make_system_path_relative_to_its_root): Work around
22992 special-casing of "/", as previous incarnation of this routine did.
22993
cbca0ada
VS
229942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 Fix any-emu compilation.
22997
22998 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22999 * grub_bin2h_SOURCES: New variable.
23000
34a66d99
RM
230012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23002
23003 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
23004
94fabf58
RM
230052010-01-20 Robert Millan <rmh.grub@aybabtu.com>
23006
23007 * util/grub.d/00_header.in: Fix handling of locale_dir.
23008
02cf98ca
VS
230092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23010
23011 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
23012 as possible unifont location (Gentoo).
23013 Reported by: Alexander Brüning
23014
327dbcd7
VS
230152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23016
23017 Don't try to generate lists for kernel.img.
23018
23019 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
23020 (pkglib_MODULES): Remove kernel.img.
23021 (kernel_img_EXPORTS): Removed.
23022 (kernel_img_RELOCATABLE): New variable.
23023 * conf/x86_64-efi.rmk: Likewise.
23024 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
23025
ca467290
VS
230262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
23029 grub_xasprintf or grub_snprintf.
23030 (grub_vsprintf): Likewise.
23031 (grub_snprintf): New proto.
23032 (grub_vsnprintf): Likewise.
23033 (grub_xasprintf): Likewise.
23034 (grub_xvasprintf): Likewise.
23035 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
23036 (grub_sprintf): Removed.
23037 (grub_vsnprintf): New function.
23038 (grub_snprintf): Likewise.
23039 (grub_xvasprintf): Likewise.
23040 (grub_xasprintf): Likewise.
23041 (grub_vsprintf): Renamed to ...
23042 (grub_vsnprintf_real): ...this. New argument max_len.
23043
aca655fd
BC
230442010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
23045
23046 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
23047 fix grub-script-check warning.
23048
7ee92c32
VS
230492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23050
23051 * include/grub/font.h (grub_font_load): Fix prototype.
23052
f80927ca
VS
230532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
23056
119c50ea
VS
230572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23058
23059 * include/grub/x86_64/at_keyboard.h: New file.
23060
47d5f3c1
VS
230612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23062
23063 * loader/mips/linux.c: Include missing grub/i18n.h.
23064
55ff5266
RM
230652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23066
23067 * normal/menu.c (notify_execution_failure): Clarify error message.
23068
c893cc87
RM
230692009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23070
23071 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23072 return value (and revert all return statements). Update users.
23073
917dd370
CW
230742010-01-20 Dan Merillat <debian@dan.merillat.org>
23075
23076 * kern/device.c (grub_device_iterate): Allocate new part_ent
23077 structure based on sizeof (*p) rather than sizeof (p->next), to
23078 account for structure padding.
23079
23080 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23081 disk is NULL, which might happen for LVM physical volumes with no
23082 LVM signature.
23083
d4a4ee57
RM
230842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23085
23086 * loader/mips/linux.c (grub_cmd_initrd)
23087 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23088
230892009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23090
23091 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23092 (grub_video_video_init, grub_video_bitmap_init)
23093 (grub_font_manager_init, grub_term_gfxterm_init)
23094 (grub_at_keyboard_init): New extern declarations.
23095 (grub_machine_init): Initialize gfxterm and at_keyboard.
23096
23097 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23098
23099 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23100 `gfxterm.mod' into core image.
23101
23102 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23103 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23104 (kernel_img_FORMAT): Copy to ...
23105
23106 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23107 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23108 (kernel_img_FORMAT): ... here, and ...
23109
23110 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23111 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23112 (kernel_img_FORMAT): ... here.
23113
23114 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23115 and input (at_keyboard) terminals in kernel.
23116 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23117
23118 (pkglib_MODULES): Remove `pci.mod'.
23119 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23120 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23121 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23122 (at_keyboard_mod_LDFLAGS): Remove variables.
23123
231242010-01-11 Felix Zielcke <fzielcke@z-51.de>
23125
23126 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23127
231282009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23129
23130 * include/grub/mips/libgcc.h: Only export symbols for functions
23131 that libgcc provides.
23132
231332009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23134
23135 MIPS support.
23136
23137 * bus/bonito.c: New file.
23138 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23139 GRUB_PCI_NUM_DEVICES.
23140 * term/i386/pc/serial.c: Move to ...
23141 * term/serial.c: ... here. All users updated.
23142 * util/i386/pc/grub-mkimage.c: Move to ...
23143 * util/grub-mkrawimage.c: ... here. All users updated.
23144 * term/i386/pc/at_keyboard.c: Move to ...
23145 * term/at_keyboard.c: ... here. All users updated.
23146 * conf/mips-qemu-mips.rmk: New file.
23147 * conf/mips-yeeloong.rmk: Likewise.
23148 * conf/mips.rmk: Likewise.
23149 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23150 mipsel-qemu-mips.
23151 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23152 to port addresses.
23153 (grub_ata_pciinit): Support CS5536.
23154 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23155 * font/font_cmd.c (loadfont_command): Open file before passing it to
23156 grub_font_load.
23157 (pseudo_file_read): New function.
23158 (pseudo_file_close): Likewise.
23159 (pseudo_fs): New structure.
23160 (load_font_module): New function.
23161 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23162 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23163 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23164 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23165 * include/grub/i386/at_keyboard.h: Split into ...
23166 * include/grub/at_keyboard.h: ... this ...
23167 * include/grub/i386/at_keyboard.h: ... and this.
23168 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23169 New prototype.
23170 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23171 updated.
23172 (grub_elf64_size): Likewise.
23173 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23174 filename.
23175 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23176 * include/grub/i386/coreboot/serial.h: Rewritten.
23177 * include/grub/i386/ieee1275/serial.h: Include
23178 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23179 * include/grub/i386/pc/serial.h: Moved from here ...
23180 * include/grub/serial.h: ... to here. All users updated.
23181 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23182 (GRUB_PCI_NUM_BUS): Likewise.
23183 (GRUB_PCI_NUM_DEVICES): Likewise.
23184 (grub_pci_device_map_range): Add missing volatile keyword.
23185 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23186 * include/grub/mips/at_keyboard.h: New file.
23187 * include/grub/mips/cache.h: Likewise.
23188 * include/grub/mips/io.h: Likewise.
23189 * include/grub/mips/kernel.h: Likewise.
23190 * include/grub/mips/libgcc.h: Likewise.
23191 * include/grub/mips/pci.h: Likewise.
23192 * include/grub/mips/qemu-mips/boot.h: Likewise.
23193 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23194 * include/grub/mips/qemu-mips/loader.h: Likewise.
23195 * include/grub/mips/qemu-mips/memory.h: Likewise.
23196 * include/grub/mips/qemu-mips/serial.h: Likewise.
23197 * include/grub/mips/qemu-mips/time.h: Likewise.
23198 * include/grub/mips/relocator.h: Likewise.
23199 * include/grub/mips/time.h: Likewise.
23200 * include/grub/mips/types.h: Likewise.
23201 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23202 * include/grub/mips/yeeloong/boot.h: Likewise.
23203 * include/grub/mips/yeeloong/kernel.h: Likewise.
23204 * include/grub/mips/yeeloong/loader.h: Likewise.
23205 * include/grub/mips/yeeloong/memory.h: Likewise.
23206 * include/grub/mips/yeeloong/pci.h: Likewise.
23207 * include/grub/mips/yeeloong/serial.h: Likewise.
23208 * include/grub/mips/yeeloong/time.h: Likewise.
23209 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23210 * kern/elf.c (grub_elf32_size): New parameter. All users
23211 updated.
23212 (grub_elf64_size): Likewise.
23213 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23214 Load modules before saying "Welcome to GRUB!".
23215 Call grub_refresh after saying "Welcome to GRUB!".
23216 * kern/mips/cache.S: New file.
23217 * kern/mips/cache_flush.S: Likewise.
23218 * kern/mips/dl.c: Likewise.
23219 * kern/mips/init.c: Likewise.
23220 * kern/mips/qemu-mips/init.c: Likewise.
23221 * kern/mips/startup.S: Likewise.
23222 * kern/mips/yeeloong/init.c: Likewise.
23223 * kern/term.c (grub_putcode): Handle NULL terminal.
23224 (grub_getcharwidth): Likewise.
23225 (grub_getkey): Likewise.
23226 (grub_checkkey): Likewise.
23227 (grub_getkeystatus): Likewise.
23228 (grub_getxy): Likewise.
23229 (grub_getwh): Likewise.
23230 (grub_gotoxy): Likewise.
23231 (grub_cls): Likewise.
23232 (grub_setcolorstate): Likewise.
23233 (grub_setcolor): Likewise.
23234 (grub_getcolor): Likewise.
23235 (grub_refresh): Likewise.
23236 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23237 (write_jump): Add hatch nop.
23238 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23239 * lib/mips/setjmp.S: New file.
23240 * loader/mips/linux.c: Likewise.
23241 * term/i386/pc/at_keyboard.c: Move from here ...
23242 * term/at_keyboard.c: ... to here.
23243 * term/i386/pc/serial.c: Moved from here ...
23244 * term/serial.c: ... to here. All users updated.
23245 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23246 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23247 (serial_translate_key_sequence): Avoid deadlock.
23248 (grub_serial_getkey): Handle backspace.
23249 (grub_serial_putchar): Fix newline handling.
23250 * util/i386/pc/grub-mkimage.c: Move from here ...
23251 * util/grub-mkrawimage.c: ... to here. All users updated.
23252 (generate_image): New parameters 'font_path' and 'format'.
23253 Support embedding font.
23254 Use grub_host_to_target* instead of grub_cpu_to_le*.
23255 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23256 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23257 (options): New option "--font".
23258 (usage): Likewise.
23259 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23260 (main): Handle "--font".
23261 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23262 (grub_virtual_screen_setup): Set bg_color_display.
23263 (redraw_screen_rect): Use bg_color_display instead of incorrect
23264 bg_color.
23265 (grub_gfxterm_cls): Likewise.
23266 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23267 Support embedding config file.
23268 (add_segments): Likewise.
23269 (options): New option "--config".
23270 (main): Handle "--config".
23271 * video/sm712.c: New file.
23272
25c2b5b3
RM
232732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23274
23275 Fix parallel builds.
23276
23277 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23278 font.c depend on ascii.h).
23279
232802010-01-12 Carles Pina i Estany <carles@pina.cat>
23281
23282 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23283
232842010-01-11 Carles Pina i Estany <carles@pina.cat>
23285
23286 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23287 By default: disabled.
23288 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23289 parameter.
23290
232912010-01-10 Carles Pina i Estany <carles@pina.cat>
23292
23293 * font/font.c: Update copyright years.
23294 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23295
232962010-01-10 Carles Pina i Estany <carles@pina.cat>
23297
23298 * font/font.c: Include `ascii.h'.
23299 (ASCII_BITMAP_SIZE): New macro.
23300 (ascii_font_glyph): Define.
23301 (ascii_glyph_lookup): New function.
23302 (grub_font_get_string_width): Change comment. If glyph not found, use
23303 ascii_glyph_lookup.
23304 (grub_font_get_glyph_with_fallback): If glyph not available returns
23305 ascii_glyph_lookup.
23306 * util/grub-mkfont.c (file_formats): New enum.
23307 (options): Add `ascii-bitmaps' new option.
23308 (usage): Add `asii-bitmaps' new option.
23309 (write_font_ascii_bitmap): New function.
23310 (write_font): Rename to ...
23311 (write_font_p2): ... this. Remove print_glyphs call.
23312 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23313 used. Call print_glyphs.
23314 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23315
233162010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23317
23318 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23319 (grub_bin2h_SOURCES): New variable.
23320 * util/bin2h.c: New file.
23321
915fc1b8
VS
233222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23323
23324 * include/multiboot.h: Resynced with spec.
23325 * include/multiboot2.h: Likewise.
23326 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23327 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23328
9444b678
RM
233292010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23330
23331 * include/grub/term.h (grub_term_register_input,
23332 grub_term_register_output): Check return of terminal init()
23333 routines, and abort if errors are raised.
23334
23335 * commands/terminal.c: Update copyright year.
23336
cba98e8d
RM
233372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23338
23339 * commands/terminal.c (grub_cmd_terminal_input)
23340 (grub_cmd_terminal_output): Check return of terminal init()
23341 routines, and abort if errors are raised.
23342
6f7db5d6
VS
233432010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23344
23345 * include/grub/i386/bsd.h: Fix include pathes.
23346
262bff8d
VS
233472010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23348
23349 Add missing *BSD copyright headers.
23350
23351 * include/grub/aout.h: Add BSD licence.
23352 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23353 * include/grub/i386/freebsd_linker.h: ... here,
23354 * include/grub/i386/freebsd_reboot.h: ... here,
23355 * include/grub/i386/netbsd_bootinfo.h: ... here,
23356 * include/grub/i386/netbsd_reboot.h: ... here,
23357 * include/grub/i386/openbsd_bootarg.h: ... here,
23358 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23359 licence to each file.
23360
b2cab848
RM
233612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23362
23363 * acinclude.m4: Remove `nop' assembly instruction; it's not
23364 implemented by all architectures.
23365
2cb6be4b
RM
233662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23367
23368 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23369 ELILO. This is no longer necessary.
23370
a2eaee15
BC
233712010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23372
23373 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23374
23375 * util/grub-script-check.c: grub-script-check tool.
23376 * conf/common.rmk: Make rules for grub-script-check.
23377
88d17012
RM
233782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23379
23380 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23381 spotting it back in 2008. Shame on me for forgetting he did.
23382
23383 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23384
8040619d
RM
233852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23386
23387 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23388 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23389 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23390 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23391 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23392 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23393
a0c2a0f6
RM
233942010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23395
23396 * include/grub/test.h: Add license header.
23397 * tests/example_functional_test.c: Likewise.
23398 * tests/example_unit_test.c: Likewise.
23399 * tests/lib/functional_test.c: Likewise.
23400 * tests/lib/test.c: Likewise.
23401 * tests/lib/unit_test.c: Likewise.
23402
b0b13907
VS
234032010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 Use flag-based instead of hook-based video mode selection and "auto"
23406 keyword.
23407
23408 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23409 (grub_video_set_mode): Changed prototype. All users updated.
23410 (grub_video_check_mode_flag): New inline function.
23411 * video/video.c (parse_modespec): New function.
23412 (grub_video_set_mode): Parse flags and keywords.
23413
ea379330 234142010-01-17 Carles Pina i Estany <carles@pina.cat>
23415
23416 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23417 fprintf call.
23418
e15c215e
FZ
234192010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23420
23421 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23422
409ae1c9 234232010-01-16 Carles Pina i Estany <carles@pina.cat>
23424
23425 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23426 string.
23427 * util/grub-emu.c (usage): Likewise.
23428 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23429 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23430 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23431 * util/i386/pc/grub-setup.c (usage): Likewise.
23432
70a14d3d 234332010-01-16 Carles Pina i Estany <carles@pina.cat>
23434
23435 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23436 the message.
23437 (grub_util_info): Likewise.
23438 (grub_util_error): Likewise.
23439 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23440 and/or new lines in `grub_util_warna', `grub_util_info',
23441 `grub_util_error' calls.
23442 * util/getroot.c: Likewise.
23443 * util/grub-editenv.c: Likewise.
23444 * util/grub-emu.c: Likewise.
23445 * util/grub-fstest.c: Likewise.
23446 * util/grub-mkdevicemap.c: Likewise.
23447 * util/grub-mkfont.c: Likewise.
23448 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23449 * util/grub-mkrelpath.c: Likewise.
23450 * util/grub-pe2elf.c: Likewise.
23451 * util/grub-probe.c: Likewise.
23452 * util/hostdisk.c: Likewise.
23453 * util/i386/efi/grub-mkimage.c: Likewise.
23454 * util/i386/pc/grub-mkimage.c: Likewise.
23455 * util/i386/pc/grub-setup.c: Likewise.
23456 * util/ieee1275/ofpath.c: Likewise.
23457 * util/mkisofs/eltorito.c: Likewise.
23458 * util/mkisofs/rock.c: Likewise.
23459 * util/mkisofs/write.c: Likewise.
23460 * util/raid.c: Likewise.
23461 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23462 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23463
a0b766fc
VS
234642010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23465
23466 Enable multiboot on non-pc.
23467
23468 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23469 multiboot.mod and multiboot2.mod to ...
23470 * conf/i386.rmk (pkglib_MODULES): ... here.
23471 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23472 Moved to ...
23473 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23474 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23475 Moved to ...
23476 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23477 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23478 Moved to ...
23479 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23480 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23481 Moved to ...
23482 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23483 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23484 relocator.mod.
23485 (ata_mod_SOURCES): Removed.
23486 (ata_mod_CFLAGS): Likewise.
23487 (ata_mod_LDFLAGS): Likewise.
23488 (relocator_mod_SOURCES): Removed.
23489 (relocator_mod_CFLAGS): Likewise.
23490 (relocator_mod_ASFLAGS): Likewise.
23491 (relocator_mod_LDFLAGS): Likewise.
23492 Include i386.mk.
23493 * include/grub/x86_64/multiboot.h: New file.
23494 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23495 Terminate EFI.
23496
884ade56
VS
234972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23498
23499 Video multiboot support.
23500
23501 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23502 New prototype.
23503 * include/multiboot.h: Resynced with multiboot specification.
23504 * include/multiboot2.h: Likewise.
23505 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23506 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23507 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23508 (HAS_VGA_TEXT): Likewise.
23509 (accepts_video): New variable.
23510 (grub_multiboot_set_accepts_video): New function.
23511 (grub_multiboot_get_mbi_size): Account for video structures.
23512 (set_video_mode): New function.
23513 (retrieve_video_parameters): Likewise.
23514 (grub_multiboot_make_mbi): Fill video fields.
23515
0d90e8a6
VS
235162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23517
23518 Video driver ids.
23519
23520 * include/grub/video.h (grub_video_driver_id): New type.
23521 (grub_video_adapter): New member 'id'. All users updated.
23522 (grub_video_get_driver_id): New proto.
23523 * video/video.c (grub_video_get_driver_id): New function.
23524
5c71db1b 235252010-01-14 Carles Pina i Estany <carles@pina.cat>
23526
23527 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23528 `var=val'.
23529
cca15b52 235302010-01-14 Carles Pina i Estany <carles@pina.cat>
23531
23532 * normal/cmdline.c (print_completion): Gettextizze.
23533
c586fbb2 235342001-01-14 Carles Pina i Estany <carles@pina.cat>
23535
23536 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23537
ba2f6848 235382010-01-14 Carles Pina i Estany <carles@pina.cat>
23539
23540 * gettext/gettext.c (grub_gettext_translate): Push and pop
23541 grub_errno.
23542 (grub_gettext_delete_list): Change comment style.
23543 * kern/err.c (grub_error): Gettextizze.
23544 (grub_fatal): Gettextizze.
23545
0a46429a
RM
235462010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23547
23548 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23549 (grub_linux16_real_boot): ... this.
23550 * kern/i386/loader.S: Likewise.
23551 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23552 (grub_linux16_boot): New function. Switches to text mode and calls
23553 grub_linux16_real_boot().
23554
23555 * loader/i386/bsd.c: Include `<grub/video.h>'.
23556 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23557 text mode before calling grub_unix_real_boot().
23558
23559 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23560 (grub_multiboot_boot): Switch to text mode before calling
23561 grub_relocator32_boot().
23562
23563 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23564 (grub_chainloader_boot): Switch to text mode before calling
23565 grub_chainloader_real_boot().
23566
d6f93a66
RM
235672010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235682010-01-05 Colin Watson <cjwatson@ubuntu.com>
23569
23570 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23571 non-empty value.
23572
235732010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235742010-01-05 Colin Watson <cjwatson@ubuntu.com>
23575
23576 * util/grub.d/00_header.in: Define a "savedefault" function for use
23577 in menu entries.
23578 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23579
235802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235812010-01-05 Colin Watson <cjwatson@ubuntu.com>
23582
23583 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23584 saved_entry if boot_once is unset.
23585 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23586 previous saved entry (i.e. grub-reboot).
23587
235882009-12-08 Colin Watson <cjwatson@ubuntu.com>
23589
23590 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23591
235922009-12-08 Colin Watson <cjwatson@ubuntu.com>
23593
23594 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23595 `var=val'.
23596 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23597
235982009-12-08 Colin Watson <cjwatson@ubuntu.com>
23599
23600 * util/grub-reboot.in: Fix --version output.
23601 * util/grub-set-default.in: Likewise.
23602
236032009-12-08 Colin Watson <cjwatson@ubuntu.com>
23604
23605 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23606 blocks.
23607
236082009-12-08 Colin Watson <cjwatson@ubuntu.com>
23609
23610 * util/grub.d/00_header.in: Quote the value assigned to `default',
23611 in case it contains spaces.
23612
236132009-12-08 Colin Watson <cjwatson@ubuntu.com>
23614
23615 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23616 `save_default_entry' call from the macosx case to the linux case.
23617
236182009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
236192009-10-25 Colin Watson <cjwatson@ubuntu.com>
23620
23621 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23622 in `chosen' environment variable.
23623 * normal/menu_text.c (get_entry_number): Check if the variable
23624 matches the title of a menu entry.
23625 (run_menu): Pass menu to get_entry_number.
23626
23627 * util/grub-reboot.in: New file.
23628 * util/grub-set-default.in: New file.
23629 * conf/common.rmk (grub-reboot): New utility.
23630 (grub-set-default): New utility.
23631
23632 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23633 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23634 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23635 move it to `saved_entry' for the next boot. Load environment on
23636 initialisation.
23637 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23638 * util/grub.d/10_hurd.in: Likewise.
23639 * util/grub.d/10_linux.in (linux_entry): Likewise.
23640 * util/grub.d/10_windows.in: Likewise.
23641 * util/grub.d/30_os-prober.in: Likewise.
23642
23643 * util/grub-install.in: Create environment block.
23644 * util/i386/efi/grub-install.in: Likewise.
23645 * util/ieee1275/grub-install.in: Likewise.
23646 * util/sparc64/ieee1275/grub-install.in: Likewise.
23647
0934d184
BC
236482010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23649
23650 Unit testing framework for GRUB.
23651
23652 * Makefile.in: Test framework build rules for 'make check'.
23653 * conf/tests.rmk: Build rules for individual tests and framework.
23654
23655 * include/grub/test.h: Header file for whitebox tests.
23656 * tests/lib/functional_test.c: Framework support for whitebox
23657 functional tests.
23658 * tests/lib/test.c: Common whitebox testing code for unit and
23659 functional tests.
23660 * tests/lib/unit_test.c: Framework support for whitebox unit
23661 tests.
23662
23663 * tests/util/grub-shell-tester.in: Support utility for grub-script
23664 tests.
23665 * tests/util/grub-shell.in: Utility to execute grub-script
23666 commands in a Qemu instance.
23667
23668 * tests/example_functional_test.c: Example whitebox functional
23669 test.
23670 * tests/example_grub_script_test.in: Example grub-script test.
23671 * tests/example_scripted_test.in: Example scripted test.
23672 * tests/example_unit_test.c: Example whitebox unit test.
23673
9c4ffeeb
VS
236742010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23677 Add loader/i386/multiboot_mbi.c.
23678 (multiboot2_mod_SOURCES): Likewise.
23679 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23680 (multiboot2_mod_SOURCES): Likewise.
23681 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23682 (grub_multiboot_make_mbi): Likewise.
23683 (grub_multiboot_free_mbi): Likewise.
23684 (grub_multiboot_init_mbi): Likewise.
23685 (grub_multiboot_add_module): Likewise.
23686 (grub_multiboot_set_bootdev): Likewise.
23687 * loader/i386/multiboot.c (mbi): Removed.
23688 (mbi_dest): Likewise.
23689 (alloc_mbi): New variable.
23690 (grub_multiboot_payload_size): Removed. All users updated.
23691 (grub_multiboot_pure_size): New variable.
23692 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23693 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23694 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23695 (grub_fill_multiboot_mmap): Likewise.
23696 (grub_multiboot_get_bootdev): Likewise.
23697 (grub_multiboot): Use multiboot_mbi functions.
23698 * loader/i386/multiboot_mbi.c: New file.
23699
17383dfe
VS
237002010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23701
23702 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23703 it would result in module crash.
23704
c1f28820
VS
237052010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23708 (grub_ofconsole_getwh): Split to ...
23709 (grub_ofconsole_getwh): ... this.
23710 (grub_ofconsole_dimensions): ...and this.
23711 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23712
58655a16
RM
237132010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23714
23715 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23716
10891398
VS
237172010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23718
23719 * loader/i386/pc/multiboot2.c: Removed stalled file.
23720
0b8a223c
VS
237212010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23722
23723 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23724 Reported by: Grégoire Sutre
23725
92ab12b0
RM
237262010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23727
23728 * util/misc.c (canonicalize_file_name): New function.
23729 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23730 instead of realpath().
23731
a788afb6
CW
237322010-01-11 Colin Watson <cjwatson@ubuntu.com>
23733
23734 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23735 and make it clearer that it's optional. Based on confusion
23736 witnessed on IRC.
23737
ffa8e3d2
VS
237382010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23739
23740 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23741 in premature implicit newline.
23742
e9060a9d
VS
237432010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23746 which resulted in garbled command line at the end of screen.
23747
f0d0c0b7
RM
237482010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23749
23750 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23751 initialization with similar approach as with other Linux loaders.
23752
0e60bae7
RM
237532010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23754
23755 Fix i386-ieee1275 build.
23756
23757 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23758 and grub_term_height() for video_{width,height} initialization.
23759
237602010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23761
23762 Fix grub-emu build.
23763
23764 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23765
cdb3f378
RM
237662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
237672010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23768
23769 Support for multiple terminals.
23770
23771 * Makefile.in (pkglib_DATA): terminal.lst.
23772 (terminal.lst): New target.
23773 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23774 (GRUB_MOD_INIT(handler)): Likewise.
23775 (GRUB_MOD_FINI(handler)): Likewise.
23776 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23777 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23778 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23779 (grub_cmd_sleep): Use grub_term_save_pos.
23780 * commands/terminal.c: New file.
23781 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23782 commands/terminal.c and lib/charset.c.
23783 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23784 (pkglib_MODULES): Add terminal.mod.
23785 (terminal_mod_SOURCES): New variable.
23786 (terminal_mod_CFLAGS): Likewise.
23787 (terminal_mod_LDFLAGS): Likewise.
23788 * genhandlerlist.sh: Don't handle terminals.
23789 * genmk.rb: Generate terminal-*.lst.
23790 * genterminallist.sh: New file.
23791 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23792 (grub_is_valid_utf8): Likewise.
23793 (grub_utf8_to_ucs4_alloc): Likewise.
23794 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23795 (grub_menu_register_viewer): Changed argument.
23796 (grub_menu_try_text): New proto.
23797 (grub_gfxmenu_try_hook): New declaration.
23798 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23799 (grub_menu_init_page): Additional argument term.
23800 (grub_normal_init_page): Likewise.
23801 (grub_cmdline_get): Arguments simplified.
23802 (grub_utf8_to_ucs4_alloc): Removed.
23803 (grub_print_ucs4): Additional argument term.
23804 (grub_getstringwidth): Likewise.
23805 (grub_print_message_indented): Likewise.
23806 (grub_menu_text_register_instances): New proto.
23807 (grub_show_menu): Likewise.
23808 (read_terminal_list): Likewise.
23809 (grub_set_more): Likewise.
23810 * include/grub/parser.h: Include handler.h.
23811 * include/grub/reader.h: Rewritten.
23812 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23813 (GRUB_TERM_WIDTH): Changed to function.
23814 (GRUB_TERM_HEIGHT): Likewise.
23815 (GRUB_TERM_BORDER_WIDTH): Likewise.
23816 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23817 (GRUB_TERM_NUM_ENTRIES): Likewise.
23818 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23819 (GRUB_TERM_CURSOR_X): Likewise.
23820 (grub_term_input_class): Likewise.
23821 (grub_term_output_class): Likewise.
23822 (grub_term_outputs_disabled): New declaration.
23823 (grub_term_inputs_disabled): Likewise.
23824 (grub_term_outputs): Likewise.
23825 (grub_term_inputs): Likewise.
23826 (grub_term_register_input): Rewritten.
23827 (grub_term_register_output): Likewise.
23828 (grub_term_unregister_input): Likewise.
23829 (grub_term_unregister_output): Likewise.
23830 (FOR_ACTIVE_TERM_INPUTS): New macro.
23831 (FOR_DISABLED_TERM_INPUTS): Likewise.
23832 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23833 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23834 * include/grub/terminfo.h: Add oterm argument to all protypes.
23835 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23836 Use grub_rescue_run.
23837 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23838 All users updated.
23839 * kern/reader.c: Removed. All users updated.
23840 * kern/rescue_reader.c (grub_rescue_init): Removed.
23841 (grub_rescue_reader): Likewise.
23842 (grub_register_rescue_reader): Likewise.
23843 (grub_rescue_run): New function based on kern/reader.c.
23844 * kern/term.c: Adapted for multiterm.
23845 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23846 (grub_is_valid_utf8): Likewise.
23847 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23848 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23849 right terminal.
23850 * loader/i386/linux.c (grub_linux_boot): Likewise.
23851 * normal/auth.c (grub_username_get): New function.
23852 (grub_auth_check_authentication): Use grub_username_get.
23853 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23854 * normal/color.c: Adapt for multiterm.
23855 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23856 (grub_normal_init_page): Additional argument term.
23857 (read_lists): Call read_terminal_lists.
23858 (grub_enter_normal_mode): Call grub_cmdline_run.
23859 Handle grub_normal_exit_level.
23860 (grub_cmd_normal): Make reentrant.
23861 (grub_cmd_normal_exit): New function.
23862 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23863 * normal/menu.c: Adapt for multiterm.
23864 * normal/menu_entry.c: Likewise.
23865 * normal/menu_text.c: Likewise.
23866 * normal/menu_viewer.c: Removed. All users updated.
23867 * normal/term.c: New file.
23868 * util/console.c: Change order of includes to workaround a bug in
23869 ncurses headers.
23870 * term/terminfo.c: New argument oterm on all exported functions.
23871 All users updated.
23872 * util/grub-editenv.c (grub_term_input_class): Removed.
23873 (grub_term_output_class): Likewise.
23874
1a064917
RM
238752010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23876
23877 Make loader output a bit more user-friendly.
23878
23879 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23880 is being loaded. Likewise for the Hurd.
23881
23882 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23883 that kernel of FreeBSD ${version} is being loaded.
23884
23885 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23886 grub_dprintf().
23887 (grub_cmd_initrd): Likewise.
23888 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23889 that Linux ${version} is being loaded. Likewise for initrd.
23890
5ce0a83a 238912010-01-09 Carles Pina i Estany <carles@pina.cat>
23892
23893 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23894
809bbfeb 238952010-01-08 Carles Pina i Estany <carles@pina.cat>
23896
23897 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23898 (GRUB_MOD_INIT): Gettextizze.
23899 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23900 (GRUB_MOD_INIT): Gettextizze.
23901 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23902 (grub_cmd_linux): Capitalise Linux.
23903 (GRUB_MOD_INIT): Gettextizze.
23904 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23905 (grub_cmd_linux): Capitalise Linux.
23906 (GRUB_MOD_INIT): Gettextizze.
23907 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23908 (grub_cmd_linux): Capitalise Linux.
23909 (GRUB_MOD_INIT): Gettextizze.
23910 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23911 (GRUB_MOD_INIT): Gettextizze.
23912 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23913 (grub_cmd_linux): Capitalise Linux.
23914 (GRUB_MOD_INIT): Gettextizze.
23915 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23916 (grub_cpu_xnu_init): Gettextizze.
23917 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23918 (GRUB_MOD_INIT): Gettextizze.
23919 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23920 (GRUB_MOD_INIT): Gettextizze.
23921 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23922 (grub_linux_load64): Capitalise Linux.
23923 (GRUB_MOD_INIT): Gettextizze.
23924 * loader/xnu.c: Include `<grub/i18n.h>'.
23925 (GRUB_MOD_INIT): Gettextizze.
23926 * po/POTFILES: Add `loader/efi/appleloader.c',
23927 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23928 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23929 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23930 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23931 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23932 and `loader/xnu.c'.
23933
b394b2ca
RM
239342010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23935
23936 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23937
239382010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23939
23940 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23941 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23942 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23943
bc8b32b3
RM
239442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23945
23946 Reset Multiboot 2 support. New loader implements the draft in
23947 /branches/multiboot2 and shares as much code as possible with the
23948 production Multiboot 1 implementation.
23949
23950 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23951 * loader/multiboot2.c: Likewise.
23952 * loader/i386/multiboot_helper.S: Likewise.
23953 * include/multiboot2.h: Replace with latest version from the draft
23954 in /branches/multiboot2.
23955
23956 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23957 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23958 and `loader/multiboot2.c'.
23959 (pkglib_MODULES): Add `multiboot2.mod'.
23960 (multiboot2_mod_SOURCES): New variable.
23961 (multiboot2_mod_LDFLAGS): Likewise.
23962 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23963
23964 * conf/i386-pc.rmk: Likewise.
23965
23966 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23967 (multiboot_mod_SOURCES): Remove variable.
23968 (multiboot_mod_LDFLAGS): Likewise.
23969 (multiboot_mod_CFLAGS): Likewise.
23970
23971 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23972 `<multiboot2.h>' instead of `<multiboot.h>'.
23973 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23974 (MULTIBOOT_HEADER_MAGIC): New macros.
23975
23976 * loader/multiboot_loader.c (module_version_status): Remove variable.
23977 (find_multi_boot2_header): Remove function.
23978 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23979 logic. Always check for the Multiboot version we're compiling for.
23980 (grub_cmd_module_loader): Likewise.
23981 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23982 command instead of `multiboot'.
23983
5d2c52b8
RM
239842010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23985
23986 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23987 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23988 all users.
23989
53108d92
RM
239902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
239912010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23992
23993 Fix breakage introduced with previous commit.
23994
23995 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23996 commands.
23997 * normal/handler.c (read_handler_list): Revert part of previous commit
23998 affecting this file.
23999 * normal/main.c (read_lists): Move read_handler_list() call back to ...
24000 (grub_normal_execute): ... here.
24001
e2e936b2
RM
240022010-01-07 Robert Millan <rmh.grub@aybabtu.com>
24003
24004 Merge prefix-redefinition-fix branch.
24005
24006 * normal/autofs.c (read_fs_list): Make function capable of being
24007 run multiple times, gracefuly replacing the previous data
24008 structures.
24009 * normal/dyncmd.c (read_command_list): Likewise.
24010 * normal/handler.c (read_handler_list): Likewise.
24011 * normal/main.c (read_lists): New function. Calls all the
24012 list reading functions.
24013 (grub_normal_execute): Use read_lists() instead of calling all
24014 list reading functions explicitly. Register read_lists() as a
24015 variable hook attached to ${prefix}.
24016
607a3701
VS
240172010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24018
24019 Merge crypto branch.
24020
24021 * Makefile.in (pkglib_DATA): Add crypto.lst.
24022 (crypto.lst): New target.
24023 * commands/hashsum.c: New file.
24024 * commands/password.c (check_password): Use grub_crypto_memcmp.
24025 * commands/password_pbkdf2.c: New file.
24026 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
24027 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
24028 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
24029 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
24030 -I$(srcdir)/lib/libgcrypt_wrap.
24031 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
24032 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
24033 password_pbkdf2.mod.
24034 (crypto_mod_SOURCES): New variable.
24035 (crypto_mod_CFLAGS): Likewise.
24036 (crypto_mod_LDFLAGS): Likewise.
24037 (hashsum_mod_SOURCES): New variable.
24038 (hashsum_mod_CFLAGS): Likewise.
24039 (hashsum_mod_LDFLAGS): Likewise.
24040 (pbkdf2_mod_SOURCES): New variable.
24041 (pbkdf2_mod_CFLAGS): Likewise.
24042 (pbkdf2_mod_LDFLAGS): Likewise.
24043 (password_pbkdf2_mod_SOURCES): New variable.
24044 (password_pbkdf2_mod_CFLAGS): Likewise.
24045 (password_pbkdf2_mod_LDFLAGS): Likewise.
24046 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
24047 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
24048 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
24049 Include conf/gcry.rmk.
24050 * include/grub/auth.h: Rewritten.
24051 * include/grub/crypto.h: New file.
24052 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
24053 * include/grub/normal.h (read_crypto_list): New prototype.
24054 * lib/crypto.c: New file.
24055 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24056 * lib/pbkdf2.c: Likewise.
24057 * normal/auth.c (grub_auth_strcmp): Removed.
24058 (grub_iswordseparator): Likewise.
24059 (grub_auth_strword): Likewise.
24060 (is_authenticated): Use grub_strword.
24061 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
24062 and grub_strword. Pass entered password to authentication callback.
24063 * normal/crypto.c: New file.
24064 * normal/main.c: Call read_crypto_list.
24065 * util/grub-mkpasswd-pbkdf2.c: New file.
24066 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
24067
42841caa
VS
240682010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24069
24070 Fix descent and ascent calculation.
24071
24072 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24073 (options): New option "asce".
24074 (usage): Likewise.
24075 (add_char): Ignore invalid glyphs for descent calculation.
24076 Calculate ascent from actual content.
24077 (print_glyphs): Use 'asce'.
24078 (write_font): Likewise. Allow ascent override.
24079 (main): Handle "asce" option.
24080
e7730de7 240812010-01-06 Carles Pina i Estany <carles@pina.cat>
24082
24083 * kern/err.c: Include `<grub/i18n.h>'.
24084 (grub_print_error): Add full stop. Gettextizze.
24085 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24086 (grub_bsd_load_elf): Capitalise ELF.
24087 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24088 (grub_cmd_freebsd_module): Likewise.
24089 (grub_cmd_freebsd_module_elf): Likewise.
24090 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24091
40e3a41f 240922010-01-06 Carles Pina i Estany <carles@pina.cat>
24093
24094 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24095 * commands/search_file.c (HELP_MESSAGE): New macro.
24096 * commands/search_label.c (HELP_MESSAGE): Likewise.
24097 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24098 * po/POTFILES: Add `commands/search_file.c',
24099 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24100 `commands/search.c'.
24101
83507e68
RM
241022010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24103
24104 * config.rpath: Update from Gnulib.
24105
465c787b
YB
241062010-01-05 Yves Blusseau <blusseau@zetam.org>
24107
24108 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24109
6581dd3a
YB
241102010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24111
24112 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24113
3bff18c5
CW
241142010-01-05 Colin Watson <cjwatson@ubuntu.com>
24115
24116 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24117 arguments to fread so that we get a return value in bytes, rather
24118 than something that will normally be rounded down to 0.
24119 Adjust error handling to avoid producing garbage when size_t is not
24120 the same size as long long.
24121
a1368118
CW
241222010-01-05 Colin Watson <cjwatson@ubuntu.com>
24123
24124 * util/mkisofs/write.c (padblock_write): Check return value of
24125 fread.
24126
7c302978
RM
241272010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24128
24129 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24130 floppy images now.
24131
24132 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24133
e33ace06
RM
241342010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24135
24136 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24137 instead of manual alignment.
24138 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24139 verbose). Avoid attempts to read past end of the device
24140 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24141 but GRUB_DISK_CACHE_SIZE may exceed that).
24142
4b856776
RM
241432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24144
24145 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24146 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24147 it to upper layer.
24148
52c2d97f
VS
241492010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24150
24151 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24152 New constant.
24153 (grub_efi_piwg_device_path): New structure
24154 (grub_efi_piwg_device_path_t): New type.
24155 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24156 (devpath_1): Transform to a structure. All users updated.
24157 (devpath_2): Likewise.
24158 (devpath_3): Likewise.
24159 (devpath_4): Likewise.
24160 (devpath_5): Likewise.
24161
98ff6a54
VS
241622010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24163
24164 * loader/efi/appleloader.c: Restored. Update all users.
24165
3a73dcb6
RM
241662010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24167
24168 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24169
24170 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24171 (struct boot_blocklist): Move from here ...
24172 * include/grub/i386/pc/boot.h [ASM_FILE]
24173 (struct grub_boot_blocklist): ... to here. Update all users.
24174 (setup): Only initialize `start' member of `first_block'
24175 structure. Add assert() calls to verify the other members.
24176
24177 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24178 (generate_image): Fix broken blocklist length initialization.
24179 Add assert() call to verify blocklist `segment' field.
24180
ab0eeb0c
RM
241812010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24182
24183 * loader/efi/appleloader.c: Remove. Update all users.
24184
58bc8bd5
RM
241852010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 * boot/i386/pc/boot.S: Update copyright year.
24188 * boot/i386/pc/cdboot.S: Likewise.
24189 * boot/i386/pc/diskboot.S: Likewise.
24190 * boot/i386/pc/lnxboot.S: Likewise.
24191 * boot/i386/pc/pxeboot.S: Likewise.
24192 * bus/pci.c: Likewise.
24193 * commands/cmp.c: Likewise.
24194 * commands/help.c: Likewise.
24195 * commands/hexdump.c: Likewise.
24196 * commands/i386/pc/halt.c: Likewise.
24197 * commands/i386/pc/play.c: Likewise.
24198 * commands/i386/pc/vbeinfo.c: Likewise.
24199 * commands/ls.c: Likewise.
24200 * commands/test.c: Likewise.
24201 * disk/dmraid_nvidia.c: Likewise.
24202 * disk/i386/pc/biosdisk.c: Likewise.
24203 * disk/ieee1275/nand.c: Likewise.
24204 * disk/ieee1275/ofdisk.c: Likewise.
24205 * disk/lvm.c: Likewise.
24206 * disk/raid.c: Likewise.
24207 * disk/raid6_recover.c: Likewise.
24208 * disk/scsi.c: Likewise.
24209 * fs/affs.c: Likewise.
24210 * fs/cpio.c: Likewise.
24211 * fs/ext2.c: Likewise.
24212 * fs/hfs.c: Likewise.
24213 * fs/iso9660.c: Likewise.
24214 * fs/ntfs.c: Likewise.
24215 * fs/sfs.c: Likewise.
24216 * fs/udf.c: Likewise.
24217 * fs/ufs.c: Likewise.
24218 * fs/xfs.c: Likewise.
24219 * gencmdlist.sh: Likewise.
24220 * genmk.rb: Likewise.
24221 * include/grub/disk.h: Likewise.
24222 * include/grub/efi/api.h: Likewise.
24223 * include/grub/efi/efi.h: Likewise.
24224 * include/grub/efi/pe32.h: Likewise.
24225 * include/grub/elf.h: Likewise.
24226 * include/grub/fs.h: Likewise.
24227 * include/grub/i386/at_keyboard.h: Likewise.
24228 * include/grub/i386/pc/memory.h: Likewise.
24229 * include/grub/i386/pc/vbe.h: Likewise.
24230 * include/grub/i386/pci.h: Likewise.
24231 * include/grub/i386/tsc.h: Likewise.
24232 * include/grub/ieee1275/ieee1275.h: Likewise.
24233 * include/grub/ntfs.h: Likewise.
24234 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24235 * include/grub/sparc64/libgcc.h: Likewise.
24236 * include/grub/symbol.h: Likewise.
24237 * include/grub/types.h: Likewise.
24238 * include/multiboot2.h: Likewise.
24239 * io/gzio.c: Likewise.
24240 * kern/device.c: Likewise.
24241 * kern/disk.c: Likewise.
24242 * kern/efi/efi.c: Likewise.
24243 * kern/efi/mm.c: Likewise.
24244 * kern/elf.c: Likewise.
24245 * kern/file.c: Likewise.
24246 * kern/i386/dl.c: Likewise.
24247 * kern/i386/pc/init.c: Likewise.
24248 * kern/i386/pc/startup.S: Likewise.
24249 * kern/ieee1275/ieee1275.c: Likewise.
24250 * kern/ieee1275/init.c: Likewise.
24251 * kern/main.c: Likewise.
24252 * kern/mm.c: Likewise.
24253 * kern/powerpc/dl.c: Likewise.
24254 * kern/sparc64/dl.c: Likewise.
24255 * kern/x86_64/dl.c: Likewise.
24256 * lib/hexdump.c: Likewise.
24257 * loader/efi/appleloader.c: Likewise.
24258 * loader/i386/ieee1275/linux.c: Likewise.
24259 * loader/i386/pc/chainloader.c: Likewise.
24260 * loader/i386/pc/linux.c: Likewise.
24261 * loader/i386/pc/multiboot2.c: Likewise.
24262 * loader/ieee1275/multiboot2.c: Likewise.
24263 * loader/multiboot2.c: Likewise.
24264 * loader/multiboot_loader.c: Likewise.
24265 * loader/powerpc/ieee1275/linux.c: Likewise.
24266 * normal/completion.c: Likewise.
24267 * normal/menu_entry.c: Likewise.
24268 * partmap/apple.c: Likewise.
24269 * util/grub.d/10_hurd.in: Likewise.
24270 * util/hostfs.c: Likewise.
24271 * video/readers/png.c: Likewise.
24272
e2d70b5c
CW
242732010-01-03 Colin Watson <cjwatson@ubuntu.com>
24274
24275 * include/grub/misc.h (GNUC_PREREQ): New macro.
24276 (ATTRIBUTE_ERROR): New macro.
24277 * include/grub/list.h (grub_bad_type_cast_real): Use
24278 ATTRIBUTE_ERROR.
24279
a173283f 242802010-01-03 Carles Pina i Estany <carles@pina.cat>
24281
24282 * normal/menu_text.c (print_message): Change messages.
24283
7fa7ff74 242842010-01-03 Carles Pina i Estany <carles@pina.cat>
24285
24286 * normal/menu_entry.c (store_completion): Gettextizze.
24287
136d24f6 242882010-01-03 Carles Pina i Estany <carles@pina.cat>
24289
24290 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24291
f936862e 242922010-01-03 Carles Pina i Estany <carles@pina.cat>
24293
24294 * po/POTFILES: Sort correctly.
24295
29c44ad1 242962010-01-03 Carles Pina i Estany <carles@pina.cat>
24297
24298 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24299 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24300 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24301 full stop.
24302 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24303 summary. Gettextizze the strings.
24304 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24305 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24306 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24307 full stop.
24308 (GRUB_MOD_INIT): Remove command name from summary.
24309 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24310 summary.
24311 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24312 * term/i386/pc/serial.c (options): Add full stops.
24313 (GRUB_MOD_INIT): Remove command name from the summary.
24314
77a79592 243152010-01-03 Carles Pina i Estany <carles@pina.cat>
24316
24317 * commands/acpi.c: Gettextizze help strings and/or options. Include
24318 `grub/i18n.h' if needed.
24319 * commands/blocklist.c: Likewise.
24320 * commands/boot.c: Likewise.
24321 * commands/cat.c: Likewise.
24322 * commands/cmp.c: Likewise.
24323 * commands/configfile.c: Likewise.
24324 * commands/crc.c: Likewise.
24325 * commands/date.c: Likewise.
24326 * commands/echo.c: Likewise.
24327 * commands/efi/fixvideo.c: Likewise.
24328 * commands/efi/loadbios.c: Likewise.
24329 * commands/gptsync.c: Likewise.
24330 * commands/halt.c: Likewise.
24331 * commands/handler.c: Likewise.
24332 * commands/hdparm.c: Likewise.
24333 * commands/hexdump.c: Likewise.
24334 * commands/i386/cpuid.c: Likewise.
24335 * commands/i386/pc/drivemap.c: Likewise.
24336 * commands/i386/pc/halt.c: Likewise.
24337 * commands/i386/pc/pxecmd.c: Likewise.
24338 * commands/i386/pc/vbeinfo.c: Likewise.
24339 * commands/i386/pc/vbetest.c: Likewise.
24340 * commands/ieee1275/suspend.c: Likewise.
24341 * commands/keystatus.c: Likewise.
24342 * commands/loadenv.c: Likewise.
24343 * commands/ls.c: Likewise.
24344 * commands/lsmmap.c: Likewise.
24345 * commands/lspci.c: Likewise.
24346 * commands/memrw.c: Likewise.
24347 * commands/minicmd.c: Likewise.
24348 * commands/parttool.c: Likewise.
24349 * commands/password.c: Likewise.
24350 * commands/probe.c: Likewise.
24351 * commands/read.c: Likewise.
24352 * commands/reboot.c: Likewise.
24353 * commands/search.c: Likewise.
24354 * commands/sleep.c: Likewise.
24355 * commands/test.c: Likewise.
24356 * commands/true.c: Likewise.
24357 * commands/usbtest.c: Likewise.
24358 * commands/videotest.c: Likewise.
24359 * commands/xnu_uuid.c: Likewise.
24360 * disk/loopback.c: Likewise.
24361 * hello/hello.c: Likewise.
24362 * loader/i386/bsd.c: Likewise.
24363 * term/i386/pc/serial.c: Likewise.
24364 * po/POTFILES: Add new files.
24365
da8d5c53
CW
243662010-01-02 Colin Watson <cjwatson@ubuntu.com>
24367
24368 * term/i386/pc/at_keyboard.c
24369 (keyboard_controller_wait_untill_ready): Rename to ...
24370 (keyboard_controller_wait_until_ready): ... this. Update all users.
24371
33937904 243722010-01-01 Carles Pina i Estany <carles@pina.cat>
24373
24374 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24375 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24376 string using string width.
24377 * normal/menu_text.c (grub_print_message_indented): Use
24378 grub_print_spaces and not print_spaces.
24379 (print_timeout): Likewise.
24380 (print_spaces): Move to...
24381 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24382
3fd3b8d8
RM
243832010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24384
24385 Import from Gnulib.
24386
24387 * gnulib/getdelim.c: New file.
24388 * gnulib/getline.c: Likewise.
24389
33433555
VS
243902009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24391
24392 * include/grub/list.h (grub_assert_fail): Removed.
24393 (grub_bad_type_cast_real): New function.
24394 (grub_bad_type_cast): New macro.
24395 (GRUB_AS_LIST): Use grub_bad_type_cast.
24396 (GRUB_AS_LIST_P): Likewise.
e44721e8 24397 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24398 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24399 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24400 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24401 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24402
f5a51306
VS
244032009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24404
24405 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24406 Fix syntax error.
24407
90d1e879
RM
244082009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24409
24410 * configure.ac: Check for TARGET_CFLAGS initialization before we
24411 initialize it ourselves (sigh).
24412 Move a few modifications to TARGET_CFLAGS to be unconditional
24413 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24414 eh_frame)
24415
24416 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24417 * term/i386/pc/at_keyboard.c
24418 (keyboard_controller_wait_untill_ready): Likewise.
24419 (keyboard_controller_led): Rename `led_status' paramter to avoid
24420 name conflict.
24421
465b5a81 244222009-12-28 Carles Pina i Estany <carles@pina.cat>
24423
24424 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24425 quotes.
24426
c181849b
VS
244272009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24428
24429 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24430
9c8739a4
VS
244312009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24432
24433 * normal/menu_text.c (grub_print_message_indented): Prevent
24434 past-the-end-of-array dereference.
24435
3e74249c
VS
244362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24439 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24440
64fd18ed 244412009-12-27 Carles Pina i Estany <carles@pina.cat>
24442
24443 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24444 * normal/main.c (grub_normal_read_line): Remove a space from the
24445 default prompt.
24446
714af9b9 244472009-12-27 Carles Pina i Estany <carles@pina.cat>
24448
24449 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24450 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24451 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24452 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24453 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24454 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24455 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24456
82f3e412 244572009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24458
24459 * video/readers/jpeg.c (cmd): Declare.
24460 (grub_cmd_jpegtest): Use `grub_command_t' type.
24461 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24462 Assign to `cmd'.
24463 (GRUB_MOD_FINI): Use `cmd' to unregister.
24464 * video/readers/png.c (cmd): Declare.
24465 (grub_cmd_pngtest): Use `grub_command_t' type.
24466 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24467 Assign to `cmd'.
24468 (GRUB_MOD_FINI): Use `cmd' to unregister.
24469 * video/readers/tga.c (cmd): Declare.
24470 (grub_cmd_tgatest): Use `grub_command_t' type.
24471 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24472 Assign to `cmd'.
24473 (GRUB_MOD_FINI): Use `cmd' to unregister.
24474
82f3e412 244752009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24476
24477 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24478 stops.
24479 * kern/corecmd.c (grub_register_core_commands): Likewise.
24480 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24481 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24482 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24483 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24484 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24485 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24486 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24487 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24488 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24489 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24490 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24491 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24492 * normal/handler.c (insert_handler): Likewise.
24493 * normal/main.c (GRUB_MOD_INIT): Likewise.
24494 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24495
fdcdbb66 244962009-12-26 Carles Pina i Estany <carles@pina.cat>
24497
24498 * commands/help.c (grub_cmd_help): Print the command name before the
24499 summary.
24500 (GRUB_MOD_INIT): Remove command name from the summary.
24501 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24502 string as summary.
fdcdbb66 24503 * lib/arg.c (find_long): Print the command name before the summary.
24504 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24505 summary.
24506 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24507 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24508 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24509 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24510 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24511 * commands/date.c (GRUB_MOD_INIT): Likewise.
24512 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24513 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24514 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24515 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24516 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24517 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24518 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24519 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24520 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24521 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24522 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24523 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24524 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24525 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24526 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24527 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24528 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24529 * commands/password.c (GRUB_MOD_INIT): Likewise.
24530 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24531 * commands/read.c (GRUB_MOD_INIT): Likewise.
24532 * commands/search.c (GRUB_MOD_INIT): Likewise.
24533 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24534 * commands/test.c (GRUB_MOD_INIT): Likewise.
24535 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24536 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24537 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24538 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24539 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24540 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24541 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24542 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24543 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24544 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24545 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24546 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24547 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24548 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24549
9c288be2
VS
245502009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24551
24552 Use search command for preliminar UUID search.
24553
24554 * commands/search.c: Split into ...
24555 * commands/search_wrap.c: ...this
24556 * commands/search.c: ...and this.
24557 * commands/search_file.c: New file.
24558 * commands/search_label.c: New file.
24559 * commands/search_uuid.c: New file.
24560 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24561 Add commands/search_wrap.c, commands/search_file.c,
24562 commands/search_label.c and commands/search_uuid.c.
24563 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24564 (search_mod_SOURCES): Set to commands/search_wrap.c.
24565 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24566 search_label.mod.
24567 (search_fs_file_mod_SOURCES): New variable.
24568 (search_fs_file_mod_CFLAGS): Likewise.
24569 (search_fs_file_mod_LDFLAGS): Likewise.
24570 (search_label_mod_SOURCES): Likewise.
24571 (search_label_mod_CFLAGS): Likewise.
24572 (search_label_mod_LDFLAGS): Likewise.
24573 (search_fs_uuid_mod_SOURCES): New variable.
24574 (search_fs_uuid_mod_CFLAGS): Likewise.
24575 (search_fs_uuid_mod_LDFLAGS): Likewise.
24576 (fs_file_mod_SOURCES): Removed.
24577 (fs_file_mod_CFLAGS): Likewise.
24578 (fs_file_mod_LDFLAGS): Likewise.
24579 (fs_uuid_mod_SOURCES): Removed.
24580 (fs_uuid_mod_CFLAGS): Likewise.
24581 (fs_uuid_mod_LDFLAGS): Likewise.
24582 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24583 Set to util/grub-install.in.
24584 * disk/fs_file.c: Removed.
24585 * disk/fs_uuid.c: Likewise.
24586 * include/grub/search.h: New file.
24587 * util/grub-install.in: Handle sparc64.
24588 Create and use load.cfg.
24589 * util/sparc64/ieee1275/grub-install.in: Removed.
24590
db943399
VS
245912009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24594 Ignore return status if CF is cleared.
24595 (grub_biosdisk_get_diskinfo_standard): Likewise.
24596
3fdae612
RM
245972009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24598
24599 * term/i386/pc/at_keyboard.c
24600 (keyboard_controller_wait_untill_ready): New function.
24601 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24602 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24603 for keyboard polling, rather than duplicate the same loop. This
24604 saves a few bytes in code size.
24605
7ebaa2b4
VS
246062009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24607
24608 Support for (pxe[:server[:gateway]]) syntax and
24609 use environment variable for PXE.
24610
24611 * commands/i386/pc/pxecmd.c (options): Removed.
24612 (print_ip): Removed.
24613 (grub_cmd_pxe): Removed
24614 (grub_cmd_pxe_unload): New function.
24615 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24616 (grub_pxe_your_ip): Made static.
24617 (grub_pxe_default_server_ip): Likewise.
24618 (grub_pxe_default_gateway_ip): Likewise.
24619 (grub_pxe_blksize): Likewise.
24620 (parse_ip): New function.
24621 (grub_pxe_open): Support server and gateway specification.
24622 (grub_pxe_close): Free disk->data.
24623 (grub_pxefs_open): Use disk->data.
24624 (grub_pxefs_read): Likewise.
24625 (grub_env_write_readonly): New function.
24626 (set_mac_env): Likewise.
24627 (set_env_limn_ro): Likewise.
24628 (parse_dhcp_vendor): Likewise.
24629 (grub_pxe_detect): Set the environment variables.
24630 (set_ip_env): New function.
24631 (write_ip_env): Likewise.
24632 (grub_env_write_pxe_default_server): Likewise.
24633 (grub_env_write_pxe_default_gateway): Likewise.
24634 (grub_env_write_pxe_blocksize): Likewise.
24635 (GRUB_MOD_INIT(pxe)): Set environment variables.
24636 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24637 (grub_pxe_mac_addr_t): ... this. All users updated.
24638 (grub_pxe_your_ip): Removed.
24639 (grub_pxe_server_ip): Likewise.
24640 (grub_pxe_gateway_ip): Likewise.
24641 (grub_pxe_blksize): Likewise.
24642
ec5f98ab 246432009-12-25 Carles Pina i Estany <carles@pina.cat>
24644
24645 * commands/help.c: Include `<grub/i18n.h>'.
24646 (grub_cmd_help): Gettextizze.
24647 (GRUB_MOD_INIT): Likewise.
24648 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24649 (GRUB_MOD_INIT): Gettextizze.
24650 * commands/search.c: Include `<grub/i18n.h>'.
24651 (options): Gettextizze.
24652 (GRUB_MOD_INIT): Gettextizze.
24653 * lib/arg.c: Include `<grub/i18n.h>'.
24654 (help_options): Gettextizze.
24655 (find_long): Likewise.
24656 (grub_arg_show_help): Likewise.
24657 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24658 (read_command_list): Gettextizze.
24659 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24660 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24661
22815526
RM
246622009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24665 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24666 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24667 (led_status): New variable.
24668 (keyboard_controller_led): New function.
24669 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24670 update led status for caps lock, num lock and scroll lock.
24671
0ad46fd7
FZ
246722009-12-25 Felix Zielcke <fzielcke@z-51.de>
24673
24674 * util/hostdisk.c (open_device): Fix a comment.
24675
d0e158c2
RM
246762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24677
24678 * util/grub-install.in (host_os): New variable.
24679 * util/i386/efi/grub-install.in (host_os): Likewise.
24680
401c0ad6
RM
246812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24682
24683 * util/mkisofs/write.c (padblock_write): Abort when given an
24684 excedingly large embed image, instead of silently truncating it.
24685
d14d3370
RM
246862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24687
24688 * include/multiboot.h: Indentation fixes.
24689
eeed10b4
RM
246902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24691
24692 * include/multiboot.h (struct multiboot_aout_symbol_table)
24693 (struct multiboot_elf_section_header_table): New structure
24694 declarations (stolen from GRUB Legacy).
24695 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24696 table information.
24697
24698 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24699 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24700 type aliases.
24701
681c70ab
RM
247022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24703
24704 * include/multiboot.h: Make comments src2texi-friendly.
24705
e4d47d8d
RM
247062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24707
24708 For consistency with [multiboot]/docs/boot.S.
24709
24710 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24711 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24712 (MULTIBOOT_MAGIC2): Rename from this ...
24713 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24714
a0b70bda
RM
247152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24716
24717 * include/multiboot.h: Remove `<grub/types.h>'.
24718 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24719 types. Update all users.
24720
61ba42be 247212009-12-25 Carles Pina i Estany <carles@pina.cat>
24722
24723 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24724 `couldn't' and `can not' by `cannot'.
24725 * commands/i386/pc/drivemap.c: Likewise.
24726 * disk/ata.c: Likewise.
24727 * disk/ieee1275/nand.c: Likewise.
24728 * fs/affs.c: Likewise.
24729 * fs/fat.c: Likewise.
24730 * fs/hfs.c: Likewise.
24731 * fs/hfsplus.c: Likewise.
24732 * fs/iso9660.c: Likewise.
24733 * fs/jfs.c: Likewise.
24734 * fs/minix.c: Likewise.
24735 * fs/reiserfs.c: Likewise.
24736 * fs/sfs.c: Likewise.
24737 * fs/udf.c: Likewise.
24738 * fs/ufs.c: Likewise.
24739 * fs/xfs.c: Likewise.
24740 * loader/powerpc/ieee1275/linux.c: Likewise.
24741 * loader/sparc64/ieee1275/linux.c: Likewise.
24742 * util/grub-probe.c: Likewise.
24743 * util/misc.c: Likewise.
24744
7fd0baee 247452009-12-24 Carles Pina i Estany <carles@pina.cat>
24746
24747 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24748 grub_errno calls.
24749 * commands/acpi.c: Likewise.
24750 * commands/blocklist.c: Likewise.
24751 * commands/efi/loadbios.c: Likewise.
24752 * commands/i386/pc/drivemap.c: Likewise.
24753 * commands/loadenv.c: Likewise.
24754 * commands/memrw.c: Likewise.
24755 * commands/password.c: Likewise.
24756 * commands/videotest.c: Likewise.
24757 * disk/ata.c: Likewise.
24758 * disk/ata_pthru.c: Likewise.
24759 * disk/dmraid_nvidia.c: Likewise.
24760 * disk/ieee1275/nand.c: Likewise.
24761 * disk/ieee1275/ofdisk.c: Likewise.
24762 * disk/loopback.c: Likewise.
24763 * disk/lvm.c: Likewise.
24764 * disk/mdraid_linux.c: Likewise.
24765 * disk/raid.c: Likewise.
24766 * disk/raid6_recover.c: Likewise.
24767 * disk/scsi.c: Likewise.
24768 * efiemu/main.c: Likewise.
24769 * efiemu/mm.c: Likewise.
24770 * efiemu/pnvram.c: Likewise.
24771 * efiemu/symbols.c: Likewise.
24772 * font/font.c: Likewise.
24773 * fs/cpio.c: Likewise.
24774 * fs/hfsplus.c: Likewise.
24775 * fs/iso9660.c: Likewise.
24776 * fs/jfs.c: Likewise.
24777 * fs/minix.c: Likewise.
24778 * fs/ntfs.c: Likewise.
24779 * fs/ntfscomp.c: Likewise.
24780 * fs/reiserfs.c: Likewise.
24781 * fs/ufs.c: Likewise.
24782 * fs/xfs.c: Likewise.
24783 * gettext/gettext.c: Likewise.
24784 * include/grub/auth.h: Likewise.
24785 * kern/elf.c: Likewise.
24786 * kern/file.c: Likewise.
24787 * kern/ieee1275/init.c: Likewise.
24788 * kern/ieee1275/mmap.c: Likewise.
24789 * kern/ieee1275/openfw.c: Likewise.
24790 * kern/powerpc/dl.c: Likewise.
24791 * kern/sparc64/dl.c: Likewise.
24792 * lib/arg.c: Likewise.
24793 * loader/i386/bsd.c: Likewise.
24794 * loader/i386/bsdXX.c: Likewise.
24795 * loader/i386/efi/linux.c: Likewise.
24796 * loader/i386/efi/xnu.c: Likewise.
24797 * loader/i386/ieee1275/linux.c: Likewise.
24798 * loader/i386/linux.c: Likewise.
24799 * loader/i386/multiboot.c: Likewise.
24800 * loader/i386/pc/linux.c: Likewise.
24801 * loader/i386/pc/multiboot2.c: Likewise.
24802 * loader/i386/xnu.c: Likewise.
24803 * loader/ieee1275/multiboot2.c: Likewise.
24804 * loader/macho.c: Likewise.
24805 * loader/machoXX.c: Likewise.
24806 * loader/multiboot2.c: Likewise.
24807 * loader/multiboot_loader.c: Likewise.
24808 * loader/powerpc/ieee1275/linux.c: Likewise.
24809 * loader/sparc64/ieee1275/linux.c: Likewise.
24810 * loader/xnu.c: Likewise.
24811 * loader/xnu_resume.c: Likewise.
24812 * mmap/i386/pc/mmap.c: Likewise.
24813 * normal/menu_viewer.c: Likewise.
24814 * partmap/acorn.c: Likewise.
24815 * partmap/amiga.c: Likewise.
24816 * partmap/apple.c: Likewise.
24817 * script/lexer.c: Likewise.
24818 * term/gfxterm.c: Likewise.
24819 * term/i386/pc/serial.c: Likewise.
24820 * term/i386/pc/vga.c: Likewise.
24821 * term/ieee1275/ofconsole.c: Likewise.
24822 * term/terminfo.c: Likewise.
24823 * video/bitmap.c: Likewise.
24824 * video/efi_gop.c: Likewise.
24825 * video/efi_uga.c: Likewise.
24826 * video/fb/video_fb.c: Likewise.
24827 * video/i386/pc/vbe.c: Likewise.
24828 * video/readers/tga.c: Likewise.
24829 * video/video.c: Likewise.
24830
0ad46fd7 248312009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24832
24833 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24834 * commands/lspci.c: Likewise.
24835 * commands/probe.c: Likewise.
24836 * commands/xnu_uuid.c: Likewise.
24837 * conf/i386-coreboot.rmk: Likewise.
24838 * conf/i386-efi.rmk: Likewise.
24839 * conf/i386-ieee1275.rmk: Likewise.
24840 * conf/i386-pc.rmk: Likewise.
24841 * conf/powerpc-ieee1275.rmk: Likewise.
24842 * conf/sparc64-ieee1275.rmk: Likewise.
24843 * conf/x86_64-efi.rmk: Likewise.
24844 * fs/i386/pc/pxe.c: Likewise.
24845 * gettext/gettext.c: Likewise.
24846 * include/grub/efi/graphics_output.h: Likewise.
24847 * include/grub/i386/pc/memory.h: Likewise.
24848 * kern/env.c: Likewise.
24849 * kern/i386/qemu/startup.S: Likewise.
24850 * lib/i386/pc/biosnum.c: Likewise.
24851 * lib/i386/relocator.c: Likewise.
24852 * lib/i386/relocator_asm.S: Likewise.
24853 * lib/relocator.c: Likewise.
24854 * loader/i386/bsd.c: Likewise.
24855 * loader/i386/multiboot.c: Likewise.
24856 * loader/i386/pc/chainloader.c: Likewise.
24857 * loader/i386/xnu.c: Likewise.
24858 * loader/xnu.c: Likewise.
24859 * normal/main.c: Likewise.
24860 * normal/menu_text.c: Likewise.
24861 * util/getroot.c: Likewise.
24862 * util/grub-mkconfig_lib.in: Likewise.
24863 * util/grub.d/00_header.in: Likewise.
24864 * util/i386/pc/grub-mkimage.c: Likewise.
24865 * util/mkisofs/eltorito.c: Likewise.
24866 * util/mkisofs/exclude.h: Likewise.
24867 * util/mkisofs/hash.c: Likewise.
24868 * util/mkisofs/iso9660.h: Likewise.
24869 * util/mkisofs/joliet.c: Likewise.
24870 * util/mkisofs/mkisofs.c: Likewise.
24871 * util/mkisofs/mkisofs.h: Likewise.
24872 * util/mkisofs/multi.c: Likewise.
24873 * util/mkisofs/name.c: Likewise.
24874 * util/mkisofs/rock.c: Likewise.
24875 * util/mkisofs/tree.c: Likewise.
24876 * util/mkisofs/write.c: Likewise.
24877 * video/efi_gop.c: Likewise.
24878
009ec743
VS
248792009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24880
24881 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24882 size counting.
24883
0ad46fd7 248842009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24885
24886 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24887 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24888
d3d30ea0
VS
248892009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24890
24891 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24892 (GRUB_MOD_INIT(memrw)): Update help line.
24893
a34f5c70
VS
248942009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24895
24896 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24897 Use grub_extcmd_t. All users updated.
24898 (options): New variable.
24899 (grub_cmd_read): Restructure for readability. Support "-v" option.
24900 (grub_cmd_write): Restructure for readability.
24901
0ad46fd7 249022009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24903
24904 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24905
0ad46fd7 249062009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24907
24908 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24909 with the actual contents of the correspondending make variable.
24910 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24911 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24912 specifying `*.lst' and `efiemu??.o'
24913
0ad46fd7 249142009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24915
24916 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24917 after function name.
24918 Noticed by Rene Engelhard <rene@debian.org>.
24919
dc77a799
VS
249202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24923 (options): New variable.
24924 (iospace): Likewise.
24925 (grub_lspci_iter): List IO spaces if "-i" was given.
24926 (grub_cmd_lspci): Parse options.
24927 (GRUB_MOD_INIT(lspci)): Use extcmd.
24928 (GRUB_MOD_FINI(lspci)): Likewise.
24929
0ad46fd7 249302009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24931
24932 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24933 `function' keyword.
24934 Patch by Tony Mancill <tmancill@debian.org>.
24935
b5d5993b
VS
249362009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24937
24938 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24939 (grub_uhci_portstatus): Likewise.
24940 (grub_uhci_portstatus): Add necessary delay.
11d18281 24941 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24942
941903f2 249432009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24944
941903f2 24945 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24946 (GRUB_MOD_INIT): Likewise.
24947 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24948 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24949 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24950 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24951 (enable_rom_area): Likewise.
24952 (GRUB_MOD_INIT): Likewise.
24953 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24954 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24955 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24956 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24957 * commands/hexdump.c (options): Likewise.
24958 * commands/i386/cpuid.c (options): Likewise.
24959 (GRUB_MOD_INIT): Likewise.
24960 * commands/i386/pc/drivemap.c (options): Likewise.
24961 (GRUB_MOD_INIT): Likewise.
24962 * commands/i386/pc/halt (options): Likewise.
24963 (GRUB_MOD_INIT): Likewise.
24964 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24965 * commands/i386/pc/pxecmd.c (options): Likewise.
24966 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24967 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24968 * commands/keystatus.c (options): Likewise.
24969 (GRUB_MOD_INIT): Likewise.
24970 * commands/loadenv.c (options): Likewise.
24971 * commands/ls.c (options): Likewise.
24972 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24973 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24974 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24975 * commands/parttool.c (helpmsg): Likewise.
24976 * commands/probe.c (options): Likewise.
24977 * commands/read.c (GRUB_MOD_INIT): Likewise.
24978 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24979 * commands/search.c (options): Likewise.
24980 * commands/sleep.c (options): Likewise.
24981 * commands/test.c (GRUB_MOD_INIT): Likewise.
24982 * commands/true.c (GRUB_MOD_INIT): Likewise.
24983 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24984 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24985 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24986 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24987 `$(XGETTEXT)'.
98a50553 24988 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24989
0ad46fd7 249902009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24991
ef3c2c3a 24992 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24993 instead of specifying them explicit.
24994
7922f68b
RM
249952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24996
24997 * NEWS: Add grub-probe support for GNU/Hurd.
24998
537ce47f
RM
249992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25000
25001 * NEWS: gettext was added after 1.97.
25002
9b214e3a
RM
250032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25004
25005 * util/mkisofs/msdos_partition.h: New file (based on
25006 include/grub/msdos_partition.h).
25007 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
25008 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
25009 (ld_options, main): Recognize --protective-msdos-label.
25010 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
25011 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
25012 (padblock_write): If `use_protective_msdos_label' is set, patch a
25013 protective DOS-style label in the output image.
25014
25015 * util/grub-mkrescue.in: Use --protective-msdos-label.
25016
e9309813
RM
250172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25018
25019 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
25020 boot.
25021
0ae56929
RM
250222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25023
25024 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
25025 variables.
25026 (ld_options, main): Recognize `--embedded-boot'.
25027 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
25028 declarations.
25029 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
25030 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
25031 (padblock_write): Likewise. Rewrite to support embedded boot image.
25032
25033 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
25034 for BIOS-based disk boot instead of only ElTorito.
25035
b15937b1
RM
250362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25037
25038 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
25039 build (not needed for bootstrap).
25040
52cc3ce0
RM
250412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25042
25043 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
25044 from i386-pc build (not needed for bootstrap).
25045 Rewrite a pair of strings.
25046
36f5ff04
RM
250472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
25048
25049 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
25050
973c6c85 250512009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
25052
25053 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
25054
05d21547
AB
250552009-12-21 Andreas Born <futur.andy@googlemail.com>
25056
25057 * kern/env.c (grub_env_context_open): Mark exported variable for
25058 reexport.
25059
0175d51f
AB
250602009-12-21 Andreas Born <futur.andy@googlemail.com>
25061
25062 * kern/env.c (grub_env_export): Create nonexistent variables before
25063 exporting.
25064
7f39d92f 250652009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 25066
7f39d92f 25067 * include/grub/auth.h: Include `<grub/i18n.h>'.
25068 (GRUB_GET_PASSWORD): Gettextizze string.
25069 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25070 menu_text.c.
25071 (grub_utf8_to_ucs4_alloc): Fix indentation.
25072 (grub_print_ucs4): Likewise.
25073 (grub_getstringwidth): Likewise.
25074 (print_message_indented): New declaration.
25075 * normal/auth.c: Include `<grub/i18n.h>'.
25076 (grub_auth_check_authentication): Gettexttize string.
25077 * normal/cmdline.c: Include `<grub/i18n.h>'.
25078 (grub_cmdline_get): Gettextizze.
25079 * normal/color.c: Include `<grub/i18n.h>'.
25080 (grub_parse_color_name_pair): Gettexttize strings.
25081 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25082 string (use `print_message_indented').
25083 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25084 `include/grub/normal.h'.
25085 (print_message_indented): Renamed to ...
25086 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25087 used in normal/main.c).
25088 (print_message): Use `grub_print_message_indented' instead of
25089 `print_message_indented'.
25090 (print_timeout): Likewise.
25091 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25092 (grub_normal_print_device_info): Gettexttize strings.
25093 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25094
3041d898
VS
250952009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25096
25097 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25098 of arguments. Return number of tokens and not arguments. All users
25099 updated.
25100
de15bf8e
VS
251012009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25102
25103 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25104 non-MSDOS paritions.
25105
e0a6ca52
VS
251062009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25107
25108 * include/grub/types.h (UNUSED): Removed since it conflicts with
25109 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25110 Reported by Grégoire Sutre.
25111
b99518d1 251122009-12-19 Carles Pina i Estany <carles@pina.cat>
25113
25114 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25115 (grub_print_ucs4_alloc): Likewise.
25116 (grub_getstringwidth): Likewise.
25117 * normal/main.c (grub_normal_init_page): Gettextize version string.
25118 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25119 (getstringwidth): Renamed to ...
25120 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25121 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25122 (grub_print_ucs4): Remove `static' qualifer (now used in
25123 normal/main.c).
25124 * po/POTFILES: Add normal/main.c.
25125
bfd5e52b 251262009-12-19 Carles Pina i Estany <carles@pina.cat>
25127
25128 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25129 (print_message_indented): Add `margin_left' and `margin_right'
25130 parameters.
25131 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25132 strings.
25133 (print_timeout): Use `print_message_indented' to print the message.
25134 Deletes `second_stage' parameter.
25135 (run_menu): Update `print_timeout' calls.
25136
5a1ad2b9
VS
251372009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25138
25139 Fix console palette on OpenFirmware.
25140
25141 * term/ieee1275/ofconsole.c (MAX): Removed.
25142 (colors): Redone based on VGA palette.
25143 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25144 colors are supported.
25145 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25146
b045f00a
VS
251472009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25148
25149 Fix potential EfiEmu double prepare.
25150
25151 * efiemu/main.c (prepared): New variable
25152 (grub_efiemu_unload): Set prepare to '0'.
25153 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25154
25155 set_virtual_address_map support.
25156
25157 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25158 prototype.
25159 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25160 prototype.
25161 (grub_efiemu_crc32): Likewise.
25162 (grub_efiemu_crc64): Likewise.
25163 (grub_efiemu_set_virtual_address_map): Likewise.
25164 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25165 New definition.
25166 (grub_autoefi_set_virtual_address_map): Likewise.
25167 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25168 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25169 Restructure flow to accomodate it.
25170 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25171 (grub_efiemu_crc): Recompute CRC32.
25172 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25173 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25174 * efiemu/symbols.c (relocated_handle): New variable.
25175 (grub_efiemu_free_syms): Free relocated_handle.
25176 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25177 (grub_efiemu_write_sym_markers): New function.
25178 (grub_efiemu_set_virtual_address_map): Likewise.
25179
25180 Newer XNU parameters.
25181
25182 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25183 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25184 (grub_xnu_fill_devicetree): New prototype.
25185 (grub_xnu_heap_real_start): New variable.
25186 * loader/xnu.c (get_name_ptr): New function.
25187 (grub_xnu_load_driver): Fill namelen and name.
25188
25189 64-bit xnu support.
25190
25191 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25192 and 'loader/macho64.c'.
25193 * conf/i386-pc.rmk: Likewise.
25194 * conf/x86_64-efi.rmk: Likewise.
25195 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25196 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25197 * include/grub/macho.h (grub_macho_segment64): New structure.
25198 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25199 (grub_macho_size32): ... to this.
25200 (grub_macho32_get_entry_point): Renamed from ...
25201 (grub_macho_get_entry_point32): ... to this.
25202 (grub_macho_contains_macho64): New prototype.
25203 (grub_macho_size64): Likewise.
25204 (grub_macho_get_entry_point64): Likewise.
25205 (grub_macho32_load): Renamed from ...
25206 (grub_macho_load32): ... to this.
25207 (grub_macho32_filesize): Renamed from ...
25208 (grub_macho_filesize32): ... to this.
25209 (grub_macho32_readfile): Renamed from ...
25210 (grub_macho_readfile32): ... to this.
25211 (grub_macho_filesize64): New prototype.
25212 (grub_macho_readfile64): Likewise.
25213 (grub_macho_parse32): Likewise.
25214 (grub_macho_parse64): Likewise.
25215 * loader/macho.c: Split into ...
25216 * loader/machoXX.c: ... and this. Replace 32 with XX.
25217 * loader/macho32.c: New file.
25218 * loader/macho64.c: Likewise.
25219 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25220 (grub_cmd_xnu_kernel): Make 32-bit only.
25221 (grub_cmd_xnu_kernel64): New function.
25222 (grub_xnu_load_driver): Support Mach-O 64.
25223 (grub_cmd_xnu_mkext): Likewise.
25224 * util/grub.d/30_os-prober.in (osx_entry): New function.
25225 Generate entries for 64-bit boot too.
25226
25227 Eliminate ad-hoc tree format in XNU and EfiEmu.
25228
25229 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25230 * efiemu/pnvram.c: Rewritten to use environment variables.
25231 All users updated.
25232
25233 Inline utf16_to_utf8.
25234
25235 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25236 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25237 All users updated.
25238 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25239
25240 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25241 * commands/usbtest.c (grub_usb_get_string): ... move here.
25242 (usb_print_str): Fix error handling.
25243 * include/grub/usb.h (grub_usb_get_string): Remove.
25244
25245 UTF-8 to UTF-16 transformation.
25246
25247 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25248 (charset_mod_SOURCES): New variable.
25249 (charset_mod_CFLAGS): Likewise.
25250 (charset_mod_LDFLAGS): Likewise.
25251 * include/grub/utf.h: New file.
25252 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25253
25254 Support for device properties.
25255
25256 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25257 (grub_xnu_devprop_device_header): Likewise.
25258 (grub_xnu_devprop_device_descriptor): Likewise.
25259 (grub_xnu_devprop_add_device): New prototype.
25260 (grub_xnu_devprop_remove_device): Likewise.
25261 (grub_xnu_devprop_remove_property): Likewise.
25262 (grub_xnu_devprop_add_property_utf8): Likewise.
25263 (grub_xnu_devprop_add_property_utf16): Likewise.
25264 (grub_cpu_xnu_init): Likewise.
25265 (grub_cpu_xnu_fini): Likewise.
25266 (grub_cpu_xnu_unload): Likewise.
25267 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25268 (property_descriptor): Likewise.
25269 (devices): New variable.
25270 (grub_xnu_devprop_remove_property): New function.
25271 (grub_xnu_devprop_add_device): Likewise.
25272 (grub_xnu_devprop_remove_device): Likewise.
25273 (grub_xnu_devprop_add_property): Likewise.
25274 (grub_xnu_devprop_add_property_utf8): Likewise.
25275 (grub_xnu_devprop_add_property_utf16): Likewise.
25276 (hextoval): Likewise.
25277 (grub_cpu_xnu_fill_devprop): Likewise.
25278 (grub_cmd_devprop_load): Likewise.
25279 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25280 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25281 (cmd_devprop_load): New variable.
25282 (grub_cpu_xnu_init): New function.
25283 (grub_cpu_xnu_fini): Likewise.
25284 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25285 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25286 (grub_cmd_xnu_devtree): Likewise.
25287 (hextoval): New function.
25288 (unescape): Likewise.
25289 (grub_xnu_fill_devicetree): Likewise.
25290
25291 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25292 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25293
0945f181
VS
252942009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25295
25296 Workaround for broken ATI VBE.
25297
25298 * video/i386/pc/vbe.c (last_set_mode): New variable.
25299 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25300 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25301 (grub_video_vbe_setup): Don't check for reserved flag.
25302
0ad46fd7 253032009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25304
25305 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25306 the `find' command.
25307
c179ebe4
VS
253082009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25309
25310 UUID support for HFS.
25311
25312 * fs/hfs.c (grub_hfs_uuid): New function.
25313 (grub_hfs_fs): New value .uuid.
25314 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25315
0ad46fd7 253162009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25317
25318 Fix a segfault with parsing unknown long options.
25319
25320 * util/grub-mkrelpath.c (options): Zero terminate it.
25321
c4a3e41a
CPE
253222009-12-13 Carles Pina i Estany <carles@pina.cat>
25323
25324 * include/grub/misc.h (grub_puts): New declaration.
25325 (grub_puts_): Likewise.
a22008a6 25326 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25327 (grub_puts_): Likewise.
25328
2e8a7602
RM
253292009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25330
25331 * util/grub-probe.c (probe): Improve error message.
25332
b50b77b9
RM
253332009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25334
25335 * loader/i386/multiboot_elfxx.c
25336 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25337 initialization.
25338
253392009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 Relocator framework
25342
25343 * loader/i386/xnu_helper.S: Removed. All users updated.
25344 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25345 (relocator_mod_SOURCES): New variable.
25346 (relocator_mod_CFLAGS): Likewise.
25347 (relocator_mod_LDFLAGS): Likewise.
25348 (relocator_mod_ASFLAGS): Likewise.
25349 * conf/x86_64.rmk: Likewise.
25350 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25351 (grub_multiboot_payload_entry_offset): Likewise.
25352 (grub_multiboot_forward_relocator): Likewise.
25353 (grub_multiboot_forward_relocator_end): Likewise.
25354 (grub_multiboot_backward_relocator): Likewise.
25355 (grub_multiboot_backward_relocator_end): Likewise.
25356 (grub_multiboot_payload_eip): New variable.
25357 (grub_multiboot_payload_orig): Likewise.
25358 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25359 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25360 * include/grub/i386/memory.h
25361 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25362 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25363 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25364 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25365 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25366 * include/grub/i386/relocator.h: New file.
25367 * include/grub/x86_64/relocator.h: Likewise.
25368 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25369 (XNU_RELOCATOR): New macro.
25370 (grub_xnu_launcher_start): Remove.
25371 (grub_xnu_launcher_end): Likewise.
25372 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25373 (grub_xnu_heap_real_start): Remove.
25374 (grub_xnu_heap_start): Change to void *. All users updated.
25375 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25376 * lib/i386/relocator.c: New file.
25377 * lib/i386/relocator_asm.S: Likewise.
25378 * lib/i386/relocator_backward.S: Likewise.
25379 * lib/mips/relocator.c: Likewise.
25380 * lib/mips/relocator_asm.S: Likewise.
25381 * lib/relocator.c: Likewise.
25382 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25383 (entry): Removed.
25384 (playground): Likewise.
25385 (grub_multiboot_payload_orig): New variable.
25386 (grub_multiboot_payload_dest): Likewise.
25387 (grub_multiboot_payload_size): Likewise.
25388 (grub_multiboot_payload_eip): Likewise.
25389 (grub_multiboot_payload_esp): Likewise.
25390 (grub_multiboot_boot): Use grub_relocator32_boot.
25391 (grub_multiboot_unload): Free relocators.
25392 (grub_multiboot): Setup stack. Use relocators.
25393 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25394 (grub_multiboot_load_elfXX): Use relocators.
25395 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25396 (grub_multiboot_payload_size): Likewise.
25397 (grub_multiboot_payload_dest): Likewise.
25398 (grub_multiboot_payload_entry_offset): Likewise.
25399 (grub_multiboot_forward_relocator): Likewise.
25400 (grub_multiboot_backward_relocator): Likewise.
25401 (grub_multiboot_real_boot): Likewise.
25402 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25403 (grub_xnu_entry_point): Likewise.
25404 (grub_xnu_arg1): Likewise.
25405 (grub_xnu_stack): Likewise.
25406 (grub_xnu_launch): Removed.
25407 (grub_xnu_boot_resume): New function.
25408 (grub_xnu_boot): Use relocators.
25409 * loader/i386/xnu_helper.S: Removed.
25410 * loader/xnu.c (grub_xnu_heap_start): New variable.
25411 (grub_xnu_heap_size): Likewise.
25412 (grub_xnu_heap_malloc): Use relocators.
25413 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25414
29eb90c6
VS
254152009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25416
25417 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25418 anything.
25419
31027430
CPE
254202009-12-13 Carles Pina i Estany <carles@pina.cat>
25421
25422 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25423 GRUB_ERR_NONE before calling grub_env_set.
25424
dc0c71d9
RM
254252009-12-12 Robert Millan <rmh@aybabtu.com>
25426
25427 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25428 * genmk.rb (video): New variable.
25429 (CLEANFILES, VIDEOFILES): Add #{video}.
25430 (#{video}): New target rule.
25431 * genvideolist.sh: New file.
25432 * Makefile.in (pkglib_DATA): Add video.lst.
25433 (video.lst): New target rule.
25434 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25435 `video.lst'.
25436 * util/grub.d/30_os-prober.in: Replace `vbe' with
25437 ${GRUB_VIDEO_BACKEND}.
25438
2a4bfcf0
RM
254392009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25440
25441 * THANKS: Add David Miller.
25442
2a3aa4d5
RM
254432009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25444
25445 libpciaccess support.
25446
25447 * Makefile.in (LIBPCIACCESS): New variable.
25448 (enable_grub_emu_pci): Likewise.
25449 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25450 util/pci.c and commands/lspci.c.
25451 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25452 * configure.ac (grub-emu-pci): New option.
25453 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25454 (grub_pci_device_unmap_range): Likewise.
25455 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25456 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25457 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25458 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25459 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25460 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25461 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25462 * include/grub/pciutils.h: New file.
25463 * util/pci.c: Likewise.
25464
0ad46fd7 254652009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25466
25467 * util/misc.c: Don't include <errno.h> twice.
25468
0ad46fd7 254692009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25470
25471 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25472 name in an error message.
25473 (grub_biosdisk_rw): Likewise.
25474
2e59983c
VS
254752009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25476
25477 Eliminate NTFS 4Gib barrier.
25478
25479 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25480 (read_run_data): Likewise.
25481 (grub_ntfs_read_run_list): Likewise.
25482 (grub_ntfs_read_block): Likewise.
25483 (grub_ntfs_iterate_dir): Likewise.
25484 (read_mft): Likewise.
25485 (read_data): Likewise.
25486 Use COM_LOG_LEN.
25487 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25488 to avoid 64-bit division
25489 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25490 (grub_ntfs_rlst): Use grub_disk_addr_t.
25491
71ee178a
VS
254922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25493
25494 Eliminate grub-fstest 4Gib barrier.
25495
25496 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25497 (read_file): Fix error reporting.
25498
2520d4b8
VS
254992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25500
25501 Eliminate hexdump 4Gib barrier.
25502
25503 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25504 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25505
e1f27065
VS
255062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25507
25508 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25509 Fixes amarsh bug.
25510
1a0f7f45
RM
255112009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25512
25513 Remove miscellaneous files in distclean target.
25514
25515 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25516
c631d9fb
CW
255172009-12-09 Colin Watson <cjwatson@ubuntu.com>
25518
25519 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25520 if they're already set. This resolves the conflict between my
25521 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25522 fixing the --grub-probe option again.
25523 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25524 change on 2009-10-06, so that we now once again source
25525 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25526
7c7b6106
RM
255272009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25528
25529 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25530 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25531 `util/devicemap.c'.
25532
e3069ec1
CPE
255332009-12-08 Carles Pina i Estany <carles@pina.cat>
25534
25535 * include/grub/misc.h (grub_printf_): New declaration.
25536 * kern/misc.c (grub_printf_): New definition.
25537 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25538 instead of `grub_printf' and `_'.
25539 * normal/menu_entry.c (store_completion): Likewise.
25540 (run): Likewise.
25541 (grub_menu_entry_run): Likewise.
25542 * normal/menu_text.c (grub_wait_after_message): Likewise.
25543 (notify_booting): Likewise.
25544 (notify_fallback): Likewise.
25545 (notify_execution_failure): Likewise.
25546
d6ceebf1
CW
255472009-12-07 Colin Watson <cjwatson@ubuntu.com>
25548
25549 * configure.ac: Check for vasprintf.
25550 * util/misc.c (asprintf): Move allocation from here ...
25551 (vasprintf): ... to here. New function.
25552 (xasprintf): New function.
25553 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25554 prototypes.
25555 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25556 * util/grub-mkfont.c (write_font): Likewise.
25557 * util/grub-probe.c (probe): Likewise.
25558 * util/hostdisk.c (make_device_name): Likewise.
25559
de6daa8b
DM
255602009-12-06 David S. Miller <davem@sunset.davemloft.net>
25561
25562 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25563 anything even prefixed with 'cdrom' as a cdrom.
25564
0ad46fd7 255652009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25566
25567 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25568 mount points.
25569
98d3dc02
CPE
255702009-12-05 Carles Pina i Estany <carles@pina.cat>
25571
25572 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25573 grub_gettext_msg_list.
25574 (grub_gettext_gettranslation_from_position): Return const char *
25575 and not char *.
a2c1332b 25576 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25577 returns from the list if existing there.
25578 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25579 (grub_gettext_delete_list): Delete the list.
25580 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25581 lang environment variable is changed.
25582 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25583
b283f108
VS
255842009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25585
25586 Rename kernel.mod to kernel.img.
25587
25588 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25589 (kernel_mod_EXPORTS): Rename to ...
25590 (kernel_img_EXPORTS): ... this.
25591 (kernel_mod_SOURCES): Rename to ...
25592 (kernel_img_SOURCES): ... this.
25593 (kernel_mod_HEADERS): Rename to ...
25594 (kernel_img_HEADERS): ... this. All users updated.
25595 (kernel_mod_CFLAGS): Rename to ...
25596 (kernel_img_CFLAGS): ... this.
25597 (kernel_mod_ASFLAGS): Rename to ...
25598 (kernel_img_ASFLAGS): ... this.
25599 (kernel_mod_LDFLAGS): Rename to ...
25600 (kernel_img_LDFLAGS): ... this.
25601 * conf/x86_64-efi.rmk: Likewise.
25602 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25603 (read_kernel_image): ... this. All users updated.
25604 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25605
69055f8a
CPE
256062009-12-05 Carles Pina i Estany <carles@pina.cat>
25607
25608 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25609 (print_spaces): New function.
25610 (grub_print_ucs4): New function.
25611 (getstringwidth): New function.
25612 (print_message_indented): New function.
25613 (print_message): Gettexttize strings using print_message_indented.
25614 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25615 width.
25616 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25617 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25618 Gettextize.
25619 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25620 string.
25621 (run): Likewise.
25622 (grub_menu_entry_run): Likewise.
25623 * PO/POTFILES: Add normal/menu_entry.c.
25624
f616f51c
VS
256252009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25626
25627 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25628
57bbe3be
CPE
256292009-12-05 Carles Pina i Estany <carles@pina.cat>
25630
25631 * util/grub-install.in: Install gettext .mo files.
25632 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25633
013d67a1
CPE
256342009-12-05 Carles Pina i Estany <carles@pina.cat>
25635
25636 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25637 grub_dprintf.
25638
fb954db0
RM
256392009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25640
25641 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25642 non-firmware-dependant one in realmode.S takes precedence.
25643
6b8474f8
RM
256442009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25645
25646 * commands/halt.c: Replace misc arch-specific headers with
25647 `<grub/misc.h>'.
25648 * commands/reboot.c: Likewise.
25649 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25650 `<grub/misc.h>'.
25651 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25652 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25653 (kernel_img_SOURCES): ... to here.
25654
25655 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25656 * include/grub/i386/pc/init.h: Likewise.
25657 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25658 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25659
25660 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25661
25662 * include/grub/i386/halt.h: Remove.
25663 * include/grub/i386/reboot.h: Likewise.
25664
25665 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25666
4b2e6ca2
DM
256672009-12-03 David S. Miller <davem@sunset.davemloft.net>
25668
25669 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25670 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25671 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25672 "progname.h"
25673 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25674 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25675 (usage): Add missing comma in printf.
25676
5239348f
RM
256772009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25678
25679 Use the same reboot approach on i386 coreboot and qemu as we do on
25680 BIOS.
25681
25682 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25683 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25684 * kern/i386/reboot.c: Remove.
25685 * include/grub/i386/reboot.h (grub_reboot): Export function.
25686 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25687 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25688 0xf000:0xfff0 instead of 0xffff:0x0000.
25689 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25690 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25691
ef34cbd4
RM
256922009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25693
25694 Fix $srcdir != $objdir build.
25695
25696 * Makefile.in (po/%.po): Rewrite as ...
25697 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25698
dc9837ea
ST
256992009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25700
25701 Fix GNU/Hurd grub-install crash.
25702 * util/grub-probe.c (probe): Try to access `path' only when it is not
25703 NULL.
25704
2f857f98
VS
257052009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25706
25707 Correct module naming.
25708
25709 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25710 (GRUB_MOD_INIT(efi_uga)): ... to this
25711 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25712 (GRUB_MOD_FINI(efi_uga)): ... to this
25713 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25714 (GRUB_MOD_INIT(efi_gop)): ... to this
25715 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25716 (GRUB_MOD_FINI(efi_gop)): ... to this
25717
c5448046
RM
257182009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25719
25720 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25721 translatable.
25722 (usage): Translate `arg' strings using gettext().
25723 Thanks to Jordi Mallach for the suggestion.
25724
c85184ad
VS
257252009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25726
25727 GOP support. Based on patch from Bean
25728 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25729
25730 * video/efi_gop.c: New file.
25731 * include/grub/efi/graphics_output.h: Likewise.
25732 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25733 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25734 variables.
25735 * conf/x86_64-efi.rmk: Likewise.
25736
8a4c48d8
VS
257372009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25738
25739 Rename efi_fb to efi_uga.
25740
25741 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25742 'efi_uga.mod'.
25743 (efi_fb_mod_SOURCES): Rename this ...
25744 (efi_uga_mod_SOURCES): ... to this.
25745 (efi_fb_mod_CFLAGS): Rename this ...
25746 (efi_uga_mod_CFLAGS): ... to this.
25747 (efi_fb_mod_LDFLAGS): Rename this ...
25748 (efi_uga_mod_LDFLAGS): ... to this.
25749 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25750 'efi_uga.mod'.
25751 (efi_fb_mod_SOURCES): Rename this ...
25752 (efi_uga_mod_SOURCES): ... to this.
25753 (efi_fb_mod_CFLAGS): Rename this ...
25754 (efi_uga_mod_CFLAGS): ... to this.
25755 (efi_fb_mod_LDFLAGS): Rename this ...
25756 (efi_uga_mod_LDFLAGS): ... to this.
25757 * video/efi_fb.c: Move this ...
25758 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25759
fb6c1a7b
RM
257602009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25761
25762 * po/README: New file. Explain our PO file workflow.
25763
3bc7896c
RM
257642009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25765
25766 * po/ChangeLog: Remove. Move relevant entries back to ...
25767 * ChangeLog: ... here.
25768 * po/ca.po: Remove (now handled by TLP).
25769 * po/id.po: Likewise.
25770 * po/zh_CN.po: Likewise.
25771 * Makefile.in (LINGUAS): Initialize in a way that supports
25772 empty set.
25773
9ed4841d
RM
257742009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25775
25776 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25777 reliing on po/LINGUAS.
25778 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25779 (po/%.po): ... this.
25780
0ad46fd7 257812009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25782
25783 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25784 (main): Use `program_name' instead of nonexistent `progname'.
25785
e30dd392
FZ
257862009-11-26 Felix Zielcke <fzielcke@z-51.de>
25787
25788 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25789 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25790
7656de4f
RM
257912009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25792
25793 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25794 commit.
25795 * conf/i386-efi.rmk: Likewise.
25796 * conf/i386-ieee1275.rmk: Likewise.
25797 * conf/powerpc-ieee1275.rmk: Likewise.
25798 * conf/sparc64-ieee1275.rmk: Likewise.
25799 * conf/x86_64-efi.rmk: Likewise.
25800
db77c4d4
FZ
258012009-11-26 Felix Zielcke <fzielcke@z-51.de>
25802
25803 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25804
a755bb04
FZ
258052009-11-26 Felix Zielcke <fzielcke@z-51.de>
25806
25807 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25808
8a4c07fd
RM
258092009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25810
25811 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25812 (grub_mkdevicemap_SOURCES): New variable.
25813 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25814 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25815 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25816 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25817 (grub_mkdevicemap_SOURCES): Remove.
25818 * conf/i386-efi.rmk: Likewise.
25819 * conf/i386-ieee1275.rmk: Likewise.
25820 * conf/i386-pc.rmk: Likewise.
25821 * conf/powerpc-ieee1275.rmk: Likewise.
25822 * conf/sparc64-ieee1275.rmk: Likewise.
25823 * conf/x86_64-efi.rmk: Likewise.
25824 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25825 (usage): Fix strings to use `program_name'.
25826 (main): Initialize gettext.
25827 * util/grub-editenv.c: Likewise.
25828 * util/grub-emu.c: Likewise.
25829 * util/grub-fstest.c: Likewise.
25830 * util/grub-mkdevicemap.c: Likewise.
25831 * util/grub-mkfont.c: Likewise.
25832 * util/grub-mkrelpath.c: Likewise.
25833 * util/grub-pe2elf.c: Likewise.
25834 * util/grub-probe.c: Likewise.
25835 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25836 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25837 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25838
25839 * util/misc.c: Include `"progname.h"'.
25840 (progname): Remove variable.
25841 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25842
6f61ed55
FZ
258432009-11-25 Felix Zielcke <fzielcke@z-51.de>
25844
25845 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25846 printf and print a newline after the menuentry header line.
25847 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25848
f022876b
FZ
258492009-11-25 Felix Zielcke <fzielcke@z-51.de>
25850
25851 autoconf >= 2.60 support $(localedir).
25852
25853 * INSTALL: Note that autoconf 2.60 is required.
25854 * configure.ac (AC_PREREQ): Bump to 2.60.
25855 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25856 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25857
6717926e
YB
258582009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25859
25860 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25861 aclocal is run.
25862
08806a54
RM
258632009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25864
25865 * normal/main.c (grub_normal_read_line): Fix off-by-one
25866 buffer overflow.
25867
13b33fba
RM
258682009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25869
25870 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25871 "parser.grub" in grub_command_execute() call.
25872
4a8572e9
CPE
258732009-11-24 Carles Pina i Estany <carles@pina.cat>
25874
25875 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25876 * conf/i386-efi.rmk: Likewise.
25877 * conf/i386-ieee1275.rmk: Likewise.
25878 * conf/i386-pc.rmk: Likewise.
25879 * conf/powerpc-ieee1275.rmk: Likewise.
25880 * conf/sparc64-ieee1275.rmk: Likewise.
25881 * conf/x86_64-efi.rmk: Likewise.
25882 * gettext/gettex.c: Include <grub/i18n.h>.
25883 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25884 here ...
25885 * include/grub/i18n.h: ... to here
25886 * include/grub/i18n.h: ... to here.
25887 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25888 (grub_gettext_dummy): Move above user.
4a8572e9 25889
bee48093
FZ
258902009-11-24 Felix Zielcke <fzielcke@z-51.de>
25891
25892 * util/Makefile.in (install-local): Convert a `for' into a normal
25893 shell expansion.
25894
a031e91c
RM
258952009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25896
25897 * autogen.sh: Add automake call.
25898 * config.guess: Remove.
25899 * config.sub: Likewise.
25900 * install-sh: Likewise.
25901
26bec39d
FZ
259022009-11-24 Felix Zielcke <fzielcke@z-51.de>
25903
25904 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25905
8e2532fd
FZ
259062009-11-24 Felix Zielcke <fzielcke@z-51.de>
25907
25908 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25909 function to a normal shell `for'.
25910
fefa1b7d
FZ
259112009-11-24 Felix Zielcke <fzielcke@z-51.de>
25912
25913 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25914
4501250b
FZ
259152009-11-24 Felix Zielcke <fzielcke@z-51.de>
25916
25917 * util/grub-mkrelpath.c: New file.
25918 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25919 (grub_mkrelpath_SOURCES): New variable.
25920 * include/grub/util/misc.h: New function prototype.
25921 * util/misc.c (make_system_path_relative_to_its_root): New function.
25922
25923 * util/grub-mkconfig_lib.in (bindir): New variable.
25924 (grub_mkrelpath): Likewise.
25925 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25926
25927 * util/probe.c (probe): Make the file path relative to its root.
25928 Change a info message to use the GRUB path. Enable again the
25929 check if we can read the file with GRUB facilities.
25930
25931 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25932 to its root.
25933
11d9778b
FZ
259342009-11-24 Felix Zielcke <fzielcke@z-51.de>
25935
25936 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25937 platform.
25938
4465287d
FZ
259392009-11-24 Felix Zielcke <fzielcke@z-51.de>
25940
25941 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25942 strncmp().
25943
62b47f22
FZ
259442009-11-24 Felix Zielcke <fzielcke@z-51.de>
25945
25946 * util/getroot.c (grub_util_is_dmraid): New function.
25947 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25948 devices as normal ones, not as LVM.
25949
1eafb9b9 259502009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25951
25952 * conf/common.rmk: Add grub-gettext_lib target and updates
25953 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25954 LDFLAGS.
25955 * gettext/gettext.c: New file. (Reads mo files).
25956 * include/grub/file.h (grub_file_pread): New prototype.
25957 * include/grub/i18n.h (_): New prototype.
25958 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25959 prototypes.
25960 * kern/misc.c (grub_gettext_dummy): New function.
25961 * normal/menu_text.c: Include <grub/i18n.h>.
25962 * normal/menu_text.c (print_timeout): Gettexttize string.
25963 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25964 * po/POTFILES: Add `normal/menu_text.c'.
25965 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25966 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25967 gettext module and defines locale_dir and lang in grub.cfg.
25968 * NEWS: Add gettext support.
25969
0fdb2568
RM
259702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25971
25972 * util/hostdisk.c: Include `<grub/i18n.h>'.
25973 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25974 (make_device_name): Rewrite using asprintf.
25975 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25976 (find_system_device): If a device is not found, generate one just
25977 by reusing the OS path name.
25978 (read_device_map): Make it permissible for device.map not to exist.
25979
f515aa62
RM
259802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25981
25982 * script/sh/execute.c: Move from here ...
25983 * script/execute.c: ... to here. Update all users.
25984 * script/sh/function.c: Move from here ...
25985 * script/function.c: ... to here. Update all users.
25986 * script/sh/lexer.c: Move from here ...
25987 * script/lexer.c: ... to here. Update all users.
25988 * script/sh/main.c: Move from here ...
25989 * script/main.c: ... to here. Update all users.
25990 * script/sh/parser.y: Move from here ...
25991 * script/parser.y: ... to here. Update all users.
25992 * script/sh/script.c: Move from here ...
25993 * script/script.c: ... to here. Update all users.
25994
f84b481b
RM
259952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25996
25997 * configure.ac: Detect all `emu' platforms. Define
25998 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25999 --enable-grub-emu logic. Disable include/grub/machine
26000 symlink on `emu' platforms.
26001
26002 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
26003 * gensymlist.sh.in: Likewise.
26004
26005 * include/grub/i386/coreboot/machine.h: Remove file.
26006 * include/grub/i386/efi/machine.h: Likewise.
26007 * include/grub/i386/ieee1275/machine.h: Likewise.
26008 * include/grub/i386/pc/machine.h: Likewise.
26009 * include/grub/i386/qemu/machine.h: Likewise.
26010 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26011 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26012 * include/grub/x86_64/efi/machine.h: Likewise.
26013
26014 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
26015 * commands/halt.c: Likewise.
26016 * commands/reboot.c: Likewise.
26017 * include/grub/autoefi.h: Likewise.
26018 * include/grub/i386/at_keyboard.h: Likewise.
26019 * include/grub/i386/kernel.h: Likewise.
26020 * include/grub/i386/loader.h: Likewise.
26021 * include/grub/i386/pc/memory.h: Likewise.
26022 * kern/dl.c: Likewise.
26023 * kern/i386/coreboot/init.c: Likewise.
26024 * loader/i386/bsd.c: Likewise.
26025 * loader/i386/linux.c: Likewise.
26026 * loader/multiboot_loader.c: Likewise.
26027 * term/i386/pc/serial.c: Likewise.
26028 * term/usb_keyboard.c: Likewise.
26029
26030 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
26031 `<grub/machine/machine.h>'
26032 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
26033 * util/misc.c: Remove `<grub/machine/machine.h>' and
26034 `<grub/machine/time.h>'.
26035
26036 * Makefile.in (enable_grub_emu): Remove variable.
26037 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
26038
26039 * conf/any-emu.rmk: New file.
26040 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
26041 (grub_emu_init.c): Move from here ...
26042 * conf/any-emu.rmk: ... to here.
26043
26044 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
26045 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
26046 * conf/any-emu.rmk: ... to here.
26047
4efeab03
RM
260482009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26049
26050 * include/grub/parser.h (grub_parser_register): Document need
26051 of `name' parameter.
26052 * normal/main.c (grub_normal_read_line): Simplify prompt string.
26053 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
26054 "sh" to "grub".
26055
ea1dd8bf
RM
260562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26057
26058 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
26059 `$(XGETTEXT)'.
26060 * include/grub/i18n.h (N_): New macro.
26061 * util/mkisofs/mkisofs.h: Likewise.
26062 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
26063 around N_().
26064 (usage): Use gettext() to translate help strings when printing them.
26065
0c140626
RM
260662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
26067
26068 Based on patch from Bean
26069 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26070
26071 * video/efi_fb.c: New file.
26072 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26073 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26074 variables.
26075 * conf/x86_64-efi.rmk: Likewise.
26076
87d58298
RM
260772009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26078
26079 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26080 * util/i386/pc/grub-setup.c: Likewise.
26081
994cc3a3
ST
260822009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26083
26084 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26085 <hurd/fs.h>
26086 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26087 file_get_storage_info to implement grub_guess_root_device.
26088
26a61d6a
FZ
260892009-11-21 Felix Zielcke <fzielcke@z-51.de>
26090
26091 * Makefile.in (target): Use make's builtin $(shell) function
26092 instead of calling directly $(SHELL) to create the locale directories,
26093 inside the $(foreach) function.
26094
74ff1dd5
FZ
260952009-11-21 Felix Zielcke <fzielcke@z-51.de>
26096
26097 * util/grub-mkrescue.in: Print an error and usage if output option
26098 has not been given.
26099
0b787d0e
FZ
261002009-11-21 Felix Zielcke <fzielcke@z-51.de>
26101
26102 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26103 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26104 root and /boot are on different devices.
26105
1164b270
RM
261062009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26107
26108 Fix build for srcdir != objdir.
26109
26110 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26111 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26112 $(srcdir).
26113 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26114 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26115 reference for input.
26116
13774a2f
RM
261172009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26118
26119 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26120 or hardlinking it). Remove -J option, Joliet is not compatible with
26121 multiple source directories.
26122
efda854e
RM
261232009-11-21 Carles Pina i Estany <carles@pina.cat>
261242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26125
26126 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26127 (process_input_dir): New function. Process an arbitrary input
26128 directory.
26129 Misc adjustments to support both "override mode" and system-wide mode.
26130
6c09890c
FZ
261312009-11-20 Felix Zielcke <fzielcke@z-51.de>
26132
26133 * configure.ac (UNIFONT_BDF): Rename to ...
26134 (FONT_SOURCE): ... this. Update all users.
26135
a797824f
FZ
261362009-11-20 Felix Zielcke <fzielcke@z-51.de>
26137
26138 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26139 to the list of unifont files to look for.
26140
cd4f42b0
RM
261412009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26142
26143 Patch from Joe Auricchio <jauricchio@gmail.com>
26144 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26145 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26146 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26147
393c783d
FZ
261482009-11-19 Felix Zielcke <fzielcke@z-51.de>
26149
26150 * Makefile.in (install-local): Add a missing backslash.
26151
b2f1e327
FZ
261522009-11-19 Felix Zielcke <fzielcke@z-51.de>
26153
26154 * include/grub/x86_64/io.h: New file.
26155
f577f7a0
RM
261562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26157
26158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26159 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26160 Include `"progname.h"'.
26161 (main): Initialize gettext.
26162 * util/i386/pc/grub-setup.c: Gettexttize.
26163 * util/i386/pc/grub-mkimage.c: Likewise.
26164
26165 * Makefile.in (po/*.po): Redefine as ...
26166 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26167
3bc7896c
RM
26168 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26169
c37943b6
RM
261702009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26171
26172 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26173 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26174 (program_name): Remove.
26175 (main): Initialize gettext support.
6323f705
RM
26176 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26177 Include `<libintl.h>'.
26178 (_): New macro.
c37943b6
RM
26179
26180 * util/mkisofs/eltorito.c: Gettexttize.
26181 * util/mkisofs/joliet.c: Likewise.
26182 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26183 * util/mkisofs/multi.c: Likewise.
26184 * util/mkisofs/rock.c: Likewise.
26185 * util/mkisofs/tree.c: Likewise.
26186 * util/mkisofs/write.c: Likewise.
26187
3bc7896c
RM
26188 * po/POTFILES: Update with new files.
26189
5ce77c6e
RM
261902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26191
26192 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26193 * util/mkisofs/iso9660.h: Likewise.
26194 * util/mkisofs/joliet.c: Likewise.
26195 * util/mkisofs/mkisofs.c: Likewise.
26196 * util/mkisofs/mkisofs.h: Likewise.
26197 * util/mkisofs/rock.c: Likewise.
26198 * util/mkisofs/tree.c: Likewise.
26199 * util/mkisofs/write.c: Likewise.
26200
26201 * util/mkisofs/eltorito.c (rcsid): Remove.
26202 * util/mkisofs/hash.c: Likewise.
26203 * util/mkisofs/joliet.c: Likewise.
26204 * util/mkisofs/name.c: Likewise.
26205 * util/mkisofs/rock.c: Likewise.
26206 * util/mkisofs/tree.c: Likewise.
26207 * util/mkisofs/write.c: Likewise.
26208
1dabbc77
RM
262092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26210
26211 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26212 instead of static allocation.
26213 * util/mkisofs/match.h: Likewise.
26214
633877cb
RM
262152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26216
3bc7896c
RM
26217 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26218 and `util/grub.d/10_linux.in'.
633877cb
RM
26219 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26220 translatable Shell files.
26221
af1c0c85
RM
262222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26225
769ae37b
RM
262262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26227
26228 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26229 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26230 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26231 Add gettext initialization.
26232 (kfreebsd_entry): Make menuentry output translatable.
26233
262342009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26235
26236 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26237 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26238 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26239 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26240 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26241 * po/LINGUAS: New file.
769ae37b
RM
26242
262432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26244
26245 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26246 other things).
26247 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26248 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26249 bindtextdomain() calls for gettext initialization.
26250
262512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 * gnulib/progname.c: New file (imported from Gnulib).
26254 * gnulib/progname.h: Likewise.
26255 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26256 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26257 (usage): Replace `progname' with `program_name'.
26258 (main): Use set_program_name() for program name initialization.
26259
262602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26261
26262 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26263 from here ...
26264 * Makefile.in (CPPFLAGS): ... to here.
26265
262662009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26267
26268 * aclocal.m4: Move from here ...
26269 * acinclude.m4: ... to here.
26270 * autogen.sh: Add call to `aclocal'.
26271 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26272
262732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26274
26275 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26276 (LINGUAS): New variable.
26277 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26278 (install-local): Install MO files.
26279 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26280 * include/grub/i18n.h: New file.
3bc7896c
RM
26281 * po/POTFILES: New file.
26282 * po/ca.po: New file.
769ae37b
RM
26283 * util/grub.d/10_linux.in (bindir): New variable.
26284 Add gettext initialization.
26285 (linux_entry): Make menuentry output translatable.
26286 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26287 (usage): Make --help output translatable.
26288 (main): Initialize gettext.
26289
02c0a6ad
RM
262902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26291
26292 * import_gcry.py: New file (written by Vladimir with minor
26293 adjustments).
26294 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26295 ciphers.
26296 * INSTALL: Document that Python is required for bootstrap.
26297
262982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26299
26300 Import ciphers from libgcrypt 1.4.4.
26301
26302 * lib/libgcrypt/cipher/ChangeLog
26303 * lib/libgcrypt/cipher/ac.c
26304 * lib/libgcrypt/cipher/arcfour.c
26305 * lib/libgcrypt/cipher/bithelp.h
26306 * lib/libgcrypt/cipher/blowfish.c
26307 * lib/libgcrypt/cipher/camellia-glue.c
26308 * lib/libgcrypt/cipher/camellia.c
26309 * lib/libgcrypt/cipher/camellia.h
26310 * lib/libgcrypt/cipher/cast5.c
26311 * lib/libgcrypt/cipher/cipher.c
26312 * lib/libgcrypt/cipher/crc.c
26313 * lib/libgcrypt/cipher/des.c
26314 * lib/libgcrypt/cipher/dsa.c
26315 * lib/libgcrypt/cipher/ecc.c
26316 * lib/libgcrypt/cipher/elgamal.c
26317 * lib/libgcrypt/cipher/hash-common.c
26318 * lib/libgcrypt/cipher/hash-common.h
26319 * lib/libgcrypt/cipher/hmac-tests.c
26320 * lib/libgcrypt/cipher/md.c
26321 * lib/libgcrypt/cipher/md4.c
26322 * lib/libgcrypt/cipher/md5.c
26323 * lib/libgcrypt/cipher/primegen.c
26324 * lib/libgcrypt/cipher/pubkey.c
26325 * lib/libgcrypt/cipher/rfc2268.c
26326 * lib/libgcrypt/cipher/rijndael-tables.h
26327 * lib/libgcrypt/cipher/rijndael.c
26328 * lib/libgcrypt/cipher/rmd.h
26329 * lib/libgcrypt/cipher/rmd160.c
26330 * lib/libgcrypt/cipher/rsa.c
26331 * lib/libgcrypt/cipher/seed.c
26332 * lib/libgcrypt/cipher/serpent.c
26333 * lib/libgcrypt/cipher/sha1.c
26334 * lib/libgcrypt/cipher/sha256.c
26335 * lib/libgcrypt/cipher/sha512.c
26336 * lib/libgcrypt/cipher/tiger.c
26337 * lib/libgcrypt/cipher/twofish.c
26338 * lib/libgcrypt/cipher/whirlpool.c
26339
af2f93ac
RM
263402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26341
26342 Fix build for systems without error().
26343
26344 * gnulib/error.c: New file (imported from Gnulib).
26345 * gnulib/error.h: Likewise.
26346 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26347 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26348 (this variable is now used by error()).
26349
73fb3dd5
FZ
263502009-11-16 Felix Zielcke <fzielcke@z-51.de>
26351
814f5e96
FZ
26352 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26353 instead of relying that char is signed.
73fb3dd5 26354
a691ca33
VS
263552009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26356
26357 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26358 blocksize different from specified.
26359 (grub_pxefs_read): Likewise.
26360
2af8f0f4
FZ
263612009-11-16 Felix Zielcke <fzielcke@z-51.de>
26362
26363 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26364
26365 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26366 (grub_ata_readwrite): Likewise. Update 2 format strings.
26367 (grub_atapi_read): Likewise.
26368
26369 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26370 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26371 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26372 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26373 (ata_mod_LDFLAGS): Move from here ...
26374 * conf/i386.rmk: ... to here ...
26375 * conf/x86_64-efi.rmk: ... and here.
26376 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26377 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26378
83bdecaf
RM
263792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26380
26381 Relicense multiboot.h, with RMS' blessing.
26382
26383 * include/multiboot.h: Change to X11 license.
26384
fd6fd3d7
RM
263852009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26386
26387 Support --version in grub-mkisofs.
26388
26389 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26390 (OPTION_VERSION): New macro.
26391 (ld_options): Recognize --version.
26392 (usage): Move `program_name' from here ...
26393 (program_name): ... to here. Add `static' qualifier.
26394 (main): Recognize `OPTION_VERSION'.
26395
16a88c49
FZ
263962009-11-15 Felix Zielcke <fzielcke@z-51.de>
26397
26398 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26399 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26400
a4158476
RM
264012009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26402
26403 Fix help2man generation for mkisofs.
26404
26405 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26406 (usage): Send output to stdout (rather than stderr).
26407
fc2208b0
RM
264082009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26409
26410 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26411 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26412 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26413 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26414 (bin_SCRIPTS): Add `grub-mkfloppy'.
26415 (grub_mkfloppy_SOURCES): New variable.
26416
26417 * util/grub-mkrescue.in: New file.
26418 * util/i386/pc/grub-mkfloppy.in: New file.
26419
26420 * util/i386/coreboot/grub-mkrescue.in: Remove.
26421 * util/i386/pc/grub-mkrescue.in: Remove.
26422
8d0edf4a
RM
264232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26424
26425 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26426 from here ...
26427 * include/multiboot.h (struct multiboot_header): ... to here. Update
26428 all users.
26429 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26430 from here ...
26431 * include/multiboot.h (struct multiboot_info): ... to here. Update
26432 all users.
26433 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26434 from here ...
26435 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26436 Update all users.
26437 * include/grub/multiboot.h (struct grub_mod_list): Move
26438 from here ...
26439 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26440 Update all users.
26441
a73f5969
RM
264422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26443
26444 * include/multiboot2.h (multiboot_word): Rename from this ...
26445 (multiboot2_word): ... to this. Update all users.
26446 (multiboot_header): Rename from this ...
26447 (multiboot2_header): ... to this. Update all users.
26448 (multiboot_tag_header): Rename from this ...
26449 (multiboot2_tag_header): ... to this. Update all users.
26450 (multiboot_tag_start): Rename from this ...
26451 (multiboot2_tag_start): ... to this. Update all users.
26452 (multiboot_tag_name): Rename from this ...
26453 (multiboot2_tag_name): ... to this. Update all users.
26454 (multiboot_tag_module): Rename from this ...
26455 (multiboot2_tag_module): ... to this. Update all users.
26456 (multiboot_tag_memory): Rename from this ...
26457 (multiboot2_tag_memory): ... to this. Update all users.
26458 (multiboot_tag_unused): Rename from this ...
26459 (multiboot2_tag_unused): ... to this. Update all users.
26460 (multiboot_tag_end): Rename from this ...
26461 (multiboot2_tag_end): ... to this. Update all users.
26462
1c8927f0
RM
264632009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26464
26465 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26466 this platform we should support Multiboot1 first.
26467
26468 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26469 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26470 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26471
6e1e0d89
RM
264722009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26473
26474 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26475 of write calls (converting them to fwrite() if they aren't already).
26476 (get_torito_desc): Likewise.
26477 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26478
7f2b34d8
RM
264792009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26480
26481 * util/i386/pc/grub-install.in: Move from here ...
26482 * util/grub-install.in: ... to here. Update all users.
26483
c0ef3311
CW
264842009-11-11 Colin Watson <cjwatson@ubuntu.com>
26485
26486 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26487
e1f240ff
RM
264882009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26489
26490 Support for El Torito without floppy emulation.
26491
26492 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26493 (init_boot_catalog): Improve error handling.
26494 (get_torito_desc): Don't use floppy emulation unless requested by
26495 user. Patch boot information table when requested via
26496 `-boot-info-table'.
26497 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26498 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26499 (use_boot_info_table): New variables.
26500 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26501 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26502 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26503 `--eltorito-emul-floppy'.
26504 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26505 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26506 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26507 (use_boot_info_table, get_731): New prototypes.
26508 * util/mkisofs/write.c (get_731): New function.
26509
af7d4de5
FZ
265102009-11-11 Felix Zielcke <fzielcke@z-51.de>
26511
26512 Fix the generation of the man page.
26513
26514 * util/pc/i386/grub-install.in: Source
26515 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26516
2c55dbc0
RM
265172009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26518
26519 Large file support for grub-mkisofs.
26520
26521 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26522 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26523 (session_start): Upgrade type to `uint64_t'. Update all users.
26524 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26525 (struct directory_entry): Upgrade type of `starting_block' and
26526 `size' to `uint64_t'. Update all users.
26527 (struct deferred): Remove unused structure.
26528 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26529 Update all users.
26530 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26531 file is larger than `UINT32_MAX'.
26532 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26533 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26534 return value.
26535 (struct deferred_write): Upgrade type of `extent' and `size' to
26536 `uint64_t'. Update all users.
26537 (last_extent_written): Upgrade type to `uint64_t'. Update all
26538 users.
26539 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26540 Update all users. Upgrade type of `remain' to `int64_t' and
26541 `use' to `size_t'. Use error() to handle fread() errors.
26542 (write_files): Rely on write_one_file() rather than calling
26543 xfwrite() directly.
26544
6a9cead5
FZ
265452009-11-09 Felix Zielcke <fzielcke@z-51.de>
26546
26547 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26548
4825d790
RM
265492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26550
26551 * util/mkisofs/fnmatch.c: Remove.
26552 * util/mkisofs/getopt1.c: Likewise.
26553 * util/mkisofs/getopt.c: Likewise.
26554 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26555 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26556 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26557 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26558 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26559
26560 * configure.ac: Detect `mingw32msvc' host_os.
26561 Check for lstat(), getuid() and getgid().
26562
26563 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26564 instances of `u_char' with `uint8_t'.
26565
26566 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26567 [!HAVE_GETUID] (getuid): New function (stub).
26568 [!HAVE_GETGID] (getgid): Likewise.
26569 [!HAVE_LSTAT] (lstat): Likewise.
26570 [!S_IROTH] (S_IROTH): New macro (dummy).
26571 [!S_IRGRP] (S_IRGRP): Likewise.
26572
84b860d8
RM
265732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26576 conditional expression).
26577
66e9b712
RM
265782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26579
26580 Import from Gnulib.
26581
26582 * gnulib/fnmatch.c: New file.
26583 * gnulib/fnmatch.h: Likewise.
26584 * gnulib/fnmatch_loop.c: Likewise.
26585 * gnulib/getopt.c: Likewise.
26586 * gnulib/getopt.h: Likewise.
26587 * gnulib/getopt1.c: Likewise.
26588 * gnulib/getopt_int.h: Likewise.
26589 * gnulib/gettext.h: Likewise.
26590
34f4a5b0
RM
265912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26592
26593 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26594 * normal/handler.c (read_handler_list): Likewise.
26595
ac451143
RM
265962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26597
26598 Misc cleanup.
26599
26600 * kern/command.c (grub_register_command_prio): Use
26601 grub_zalloc() instead of explicitly zeroing data.
26602 * kern/list.c: Include `<grub/mm.h>'.
26603 (grub_named_list_find): Replace `0' with `NULL'.
26604 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26605 (fs_module_list): Change type to `grub_named_list_t'. Update all
26606 users.
26607 * normal/dyncmd.c (read_command_list): Add space between function
26608 call and parenthesis.
26609 * normal/handler.c (read_handler_list): Likewise.
26610
4089b167
RM
266112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26612
26613 * normal/auth.c (punishment_delay): Moved from here ...
26614 (grub_auth_strcmp): ... to here (inside function).
26615
325f5037
RM
266162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26617
26618 * include/grub/list.h (struct grub_named_list): Remove `const'
26619 qualifier from `name'.
26620 (struct grub_prio_list): Likewise.
26621
7aea29a3
RM
266222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26623
26624 * normal/auth.c: Include `<grub/time.h>'.
26625 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26626
3fd6f044
RM
266272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26628
26629 * normal/auth.c (punishment_delay): New variable.
26630 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26631 (grub_auth_check_authentication): Punish failed login attempts with
26632 an incremental (2^N) delay.
26633
a4cd68e4
RM
266342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26635
26636 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26637 path with $(srcdir).
26638
7ad12f43
VS
266392009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26640
26641 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26642
c1129f03
RM
266432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26644
26645 * util/i386/coreboot/grub-mkrescue.in: New file.
26646 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26647 variables.
26648
26649 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26650 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26651 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26652 requirements.
26653 * util/mkisofs/defaults.h: New file.
26654 * util/mkisofs/eltorito.c: Likewise.
26655 * util/mkisofs/exclude.h: Likewise.
26656 * util/mkisofs/fnmatch.c: Likewise.
26657 * util/mkisofs/getopt.c: Likewise.
26658 * util/mkisofs/getopt1.c: Likewise.
26659 * util/mkisofs/hash.c: Likewise.
26660 * util/mkisofs/include/fctldefs.h: Likewise.
26661 * util/mkisofs/include/mconfig.h: Likewise.
26662 * util/mkisofs/include/prototyp.h: Likewise.
26663 * util/mkisofs/include/statdefs.h: Likewise.
26664 * util/mkisofs/iso9660.h: Likewise.
26665 * util/mkisofs/joliet.c: Likewise.
26666 * util/mkisofs/match.c: Likewise.
26667 * util/mkisofs/match.h: Likewise.
26668 * util/mkisofs/mkisofs.c: Likewise.
26669 * util/mkisofs/mkisofs.h: Likewise.
26670 * util/mkisofs/multi.c: Likewise.
26671 * util/mkisofs/name.c: Likewise.
26672 * util/mkisofs/rock.c: Likewise.
26673 * util/mkisofs/tree.c: Likewise.
26674 * util/mkisofs/write.c: Likewise.
26675
ec8bb77d
VS
266762009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26677
26678 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26679 being insecure.
26680
3716b12c
RM
266812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26682
26683 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26684 `grub-mkimage' (and use $0 when possible).
26685
b97b7b91
RM
266862009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26687
26688 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26689 error message for excessively large memory map.
26690
04114812
RM
266912009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26692
26693 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26694 executable bit.
26695
e4eb2373
RM
266962009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26697
26698 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26699 message for coreboot users.
26700
c926e1d5 267012009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26702
26703 Fix build with GNU gold.
26704
26705 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26706 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26707 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26708 link addresses.
26709 * aclocal.m4: Likewise.
26710
86e5b1db 267112009-11-04 Felix Zielcke <fzielcke@z-51.de>
26712
26713 * configure.ac (AC_PREREQ): Bump to 2.59d.
26714 * INSTALL: Make it more clear when Autoconf and Ruby are
26715 needed and when to run `./autogen.sh'.
26716
246cd78f 267172009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26718
26719 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26720 OSes.
26721
4f9dfb37 267222009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26723
26724 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26725
b82bd5e1 267262009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26727
26728 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26729 giving it to GNU Mach.
26730
ff1a9bca 267312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26732
26733 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26734 GNU partition number to get internal GRUB partition number.
26735
61697d9c 267362009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26737
26738 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26739 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26740
a50569e1 267412009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26742
26743 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26744 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26745 case.
26746
5b153867 267472009-11-01 Felix Zielcke <fzielcke@z-51.de>
26748
26749 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26750
d9e2cd70 267512009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26752
26753 Fix build problem.
26754
26755 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26756 `-isystem=$(srcdir)/include'.
26757
805111a4 267582009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26759
26760 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26761 checked (grub-install doesn't currently rely on it).
26762
fa6e945f 267632009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26764
26765 Revert SVN r2660.
26766
26767 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26768 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26769 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26770 * conf/i386-ieee1275.rmk: Likewise.
26771 * conf/i386-pc.rmk: Likewise.
26772 * conf/powerpc-ieee1275.rmk: Likewise.
26773 * conf/sparc64-ieee1275.rmk: Likewise.
26774 * conf/x86_64-efi.rmk: Likewise.
26775
cee15086 267762009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26777
26778 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26779
95b9239e 267802009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26781
26782 * include/grub/misc.h: Stop checking for APPLE_CC.
26783
2ed19dfd 267842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26785
26786 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26787 doesn't cause an infinite call loop.
26788
fdcdde19 267892009-10-28 Felix Zielcke <fzielcke@z-51.de>
26790
26791 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26792 strings.
26793
cefabfe1 267942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26795
26796 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26797 variable.
26798 * Makefile.in: Likewise.
26799
ed96ab6d 268002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26801
26802 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26803
0579b753 268042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26805
26806 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26807
478df409 268082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26809
26810 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26811
083d1679 268122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26813
26814 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26815 from here ...
26816 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26817
5947ae32 268182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26819
26820 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26821 in $(MAKEINFO) invocation. This makes it clear in output that
26822 errors are being ignored.
26823
94180ff6 268242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26825
26826 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26827 from here ...
26828 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26829 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26830 * conf/i386-ieee1275.rmk: Likewise.
26831 * conf/i386-pc.rmk: Likewise.
26832 * conf/powerpc-ieee1275.rmk: Likewise.
26833 * conf/sparc64-ieee1275.rmk: Likewise.
26834 * conf/x86_64-efi.rmk: Likewise.
26835
9031b03a 268362009-10-26 Colin Watson <cjwatson@ubuntu.com>
26837
26838 * util/grub-editenv.c (main): If only a command is given, use
26839 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26840 (usage): FILENAME is now optional and has a default.
26841
e4f6809b 268422009-10-26 Colin Watson <cjwatson@ubuntu.com>
26843
26844 Improve grub-mkconfig performance when there are several menu
26845 entries on a single filesystem.
26846
26847 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26848 prepare_grub_to_access_device.
26849 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26850 * util/grub.d/30_os-prober.in: Likewise.
26851
67937d4d 268522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26853
26854 * util/grub.d/10_freebsd.in: Remove.
26855 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26856 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26857
ee3756cc 268582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26859
5c35048e 26860 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26861
4dea1c6f 268622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26863
26864 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26865 grub_util_error() call.
26866
042484d7 268672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26868
26869 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26870 `reserved_first_sector' member.
26871 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26872 `reserved_first_sector' to 1.
26873 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26874 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26875 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26876 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26877 filesystems which begin at first sector.
26878 (options): New option --skip-fs-probe.
26879 (main): Handle --skip-fs-probe and pass it to setup().
26880
d64448a7 268812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26882
26883 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26884 (memset): Fix function prototype.
26885
508d42ec 268862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
268872009-10-25 Vasily Averin <vvs@parallels.com>
26888
26889 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26890 `dirent.direntlen == 0'.
26891
b240e30c 268922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26893
26894 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26895 `cpio'.
26896 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26897
346e7fbe 268982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26899
26900 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26901 `__trampoline_setup' and `__ucmpdi2'.
26902 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26903 that libgcc provides.
26904
cdb308b0 269052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26906
26907 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26908 * include/grub/sparc64/libgcc.h (memset): Likewise.
26909 * include/grub/misc.h (memset, memcmp): New function prototypes.
26910
fb26abc2 269112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26912
26913 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26914 `cpio'.
26915 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26916
f6693890 269172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26918
26919 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26920 * docs/grub.cfg: Compensate for recent change in multiboot
26921 loader (since 2009-08-14 it won't pass filename to payload).
26922 * util/grub.d/10_hurd.in: Likewise.
26923
0933cdc0 269242009-10-21 Felix Zielcke <fzielcke@z-51.de>
26925
26926 * config.guess: Update to latest version from config git
26927 repository.
26928 * config.sub: Likewise.
26929
3b2fe8c2 269302009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26931
26932 Fix build on sparc64.
26933
26934 * configure.ac: Perform checks for libgcc symbols before
26935 adding `-nostdlib' to LDFLAGS.
26936
46695a62 269372009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 Let user specify OpenBSD root device.
26940
26941 * loader/i386/bsd.c (openbsd_root): New variable.
26942 (openbsd_opts): New option 'root'.
26943 (OPENBSD_ROOT_ARG): New macro.
26944 (grub_openbsd_boot): Use 'openbsd_root'.
26945 (grub_cmd_openbsd): Fill 'openbsd_root'.
26946
d2b6b7fc 269472009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26948
26949 * NEWS: Misc adjustments.
26950
421bd7ac 269512009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26952
26953 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26954
f1d29d87 269552009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26956
26957 * configure.ac: Bump version to 1.97.
26958
6f3cd880 269592009-10-16 Colin Watson <cjwatson@ubuntu.com>
26960
26961 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26962 -mno-3dnow on x86 architectures. Some toolchains enable these
26963 features by default, but they rely on registers that aren't enabled
26964 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26965
035f7122 269662009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26967
26968 Make entry text a bit more readable.
26969
26970 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26971
44998e58 269722009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26973
26974 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26975
cd2851b3 269762009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26977
26978 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26979 operations.
26980
c6f3b249 269812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26982
26983 * configure.ac: Add missing dollar.
26984
6b5886ba 269852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26986
26987 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26988
26989 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26990 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26991 exports.
26992 * include/grub/sparc64/libgcc.h: Likewise. Use
26993 preprocessor conditionals.
26994
e9d66f6d 269952009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26996
26997 * conf/common.rmk (grub-dumpbios): Remove rule.
26998 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26999 * util/grub-dumpbios.in: Remove file.
27000
9155bc17 270012009-10-14 Robert Millan <rmh.grub@aybabtu.com>
27002
27003 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
27004 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
27005
27006 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
27007 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
27008 users.
27009
27010 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
27011 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
27012 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
27013 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
27014 users.
27015
bf7f7a18 270162009-10-12 Robert Millan <rmh.grub@aybabtu.com>
27017
27018 * term/tparm.c: Switch to GPLv3.
27019
86564c26 270202009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27021
27022 * include/grub/i386/cpuid.h: Add header protection.
27023
5c936493 270242009-10-09 Robert Millan <rmh.grub@aybabtu.com>
27025
27026 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
27027
27028 * include/grub/i386/cpuid.h: New file.
27029 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
27030 (has_longmode): Rename to ...
27031 (grub_cpuid_has_longmode): ... this. Update all users. Remove
27032 `static' attribute.
27033 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
27034 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
27035 on a CPU that doesn't implement AMD64 instruction set.
27036
186e7cf2 270372009-10-06 Colin Watson <cjwatson@ubuntu.com>
27038
27039 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
27040 that version.texi is rebuilt on version number changes.
27041
83b65c4a 270422009-10-06 Colin Watson <cjwatson@ubuntu.com>
27043
27044 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
27045 Fixes bug #27602.
27046
d244281c 270472009-10-06 Colin Watson <cjwatson@ubuntu.com>
27048
27049 * util/i386/pc/grub-install.in: Source
27050 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
27051 that the --grub-probe option will work.
27052 * util/sparc64/ieee1275/grub-install.in: Likewise.
27053
da25306d 270542009-10-05 Robert Millan <rmh.grub@aybabtu.com>
27055
27056 * configure.ac: Bump version to 1.97~beta4.
27057
e8ee83c0 270582009-10-03 Robert Millan <rmh.grub@aybabtu.com>
27059
27060 Resync grub-mkdevicemap in x86_64-efi.
27061
27062 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
27063 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
27064 `util/devicemap.c'.
27065
50dcabcf 270662009-10-01 Colin Watson <cjwatson@ubuntu.com>
27067
27068 * util/grub-editenv.c (create_envblk_file): Write new block with a
27069 .new suffix and then rename it into place, to ensure atomic
27070 creation.
27071
0e51c3a7 270722009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27073
27074 Do not automatically install headers.
27075
27076 * Makefile.in (include_DATA): Remove. Update all users.
27077
31299a95 270782009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27079
27080 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27081 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27082
27083 * util/osdetect.lua: Remove.
27084 * script/lua/lauxlib.c: Likewise.
27085 * script/lua/ldebug.c: Likewise.
27086 * script/lua/grub_main.c: Likewise.
27087 * script/lua/lauxlib.h: Likewise.
27088 * script/lua/ldebug.h: Likewise.
27089 * script/lua/ltablib.c: Likewise.
27090 * script/lua/liolib.c: Likewise.
27091 * script/lua/lstrlib.c: Likewise.
27092 * script/lua/lualib.h: Likewise.
27093 * script/lua/ldo.c: Likewise.
27094 * script/lua/ldump.c: Likewise.
27095 * script/lua/ldo.h: Likewise.
27096 * script/lua/loslib.c: Likewise.
27097 * script/lua/lundump.c: Likewise.
27098 * script/lua/grub_lib.c: Likewise.
27099 * script/lua/ldblib.c: Likewise.
27100 * script/lua/lundump.h: Likewise.
27101 * script/lua/lmem.c: Likewise.
27102 * script/lua/grub_lib.h: Likewise.
27103 * script/lua/lmathlib.c: Likewise.
27104 * script/lua/lstate.c: Likewise.
27105 * script/lua/ltm.c: Likewise.
27106 * script/lua/lvm.c: Likewise.
27107 * script/lua/lmem.h: Likewise.
27108 * script/lua/lstate.h: Likewise.
27109 * script/lua/ltm.h: Likewise.
27110 * script/lua/ltable.c: Likewise.
27111 * script/lua/lvm.h: Likewise.
27112 * script/lua/llex.c: Likewise.
27113 * script/lua/lgc.c: Likewise.
27114 * script/lua/grub_lua.h: Likewise.
27115 * script/lua/loadlib.c: Likewise.
27116 * script/lua/lfunc.c: Likewise.
27117 * script/lua/lopcodes.c: Likewise.
27118 * script/lua/lparser.c: Likewise.
27119 * script/lua/ltable.h: Likewise.
27120 * script/lua/llex.h: Likewise.
27121 * script/lua/lgc.h: Likewise.
27122 * script/lua/lfunc.h: Likewise.
27123 * script/lua/lbaselib.c: Likewise.
27124 * script/lua/lopcodes.h: Likewise.
27125 * script/lua/lparser.h: Likewise.
27126 * script/lua/lzio.c: Likewise.
27127 * script/lua/linit.c: Likewise.
27128 * script/lua/lobject.c: Likewise.
27129 * script/lua/llimits.h: Likewise.
27130 * script/lua/lstring.c: Likewise.
27131 * script/lua/lzio.h: Likewise.
27132 * script/lua/lapi.c: Likewise.
27133 * script/lua/lcode.c: Likewise.
27134 * script/lua/lua.h: Likewise.
27135 * script/lua/lobject.h: Likewise.
27136 * script/lua/lstring.h: Likewise.
27137 * script/lua/lapi.h: Likewise.
27138 * script/lua/lcode.h: Likewise.
27139 * script/lua/luaconf.h: Likewise.
27140
cb8a2c38 271412009-09-26 Colin Watson <cjwatson@ubuntu.com>
27142
27143 * docs/grub.texi (Command-line and menu entry commands): Document
27144 date and echo commands.
27145
6b9b6276 271462009-09-24 Pavel Roskin <proski@gnu.org>
27147
27148 * include/grub/kernel.h (struct grub_module_header): Remove
27149 `grub_module_header_types'. Make `type' unsigned. Make `size'
27150 32-bit on all platforms.
27151 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27152 8-bit field. Use grub_host_to_target32() for `size'.
27153 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27154 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27155 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27156
4e5a02a7 271572009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27158
27159 Fix "lost keypress" bug in at_keyboard.
27160
27161 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27162 Checks for readyness of input buffer (without flushing it).
27163 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27164 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27165
c6dcedf6 271662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27167
27168 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27169 size check within GRUB_MACHINE_PCBIOS section.
27170
74c958b1 271712009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27172
27173 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27174 return value.
27175 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27176 KEYBOARD_ISREADY check.
27177 (grub_at_keyboard_checkkey): Rename to ...
27178 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27179 Remove gratuitous cast.
27180
ff420223 271812009-09-23 Colin Watson <cjwatson@ubuntu.com>
27182
27183 * configure.ac: Call AC_PROG_MKDIR_P.
27184 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27185 version.texi in $(builddir) rather than $(srcdir).
27186 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27187 to makeinfo's @include search path.
27188
d96875df 271892009-09-23 Felix Zielcke <fzielcke@z-51.de>
27190
27191 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27192
9b3f8365 271932009-09-23 Felix Zielcke <fzielcke@z-51.de>
27194
27195 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27196 for `*.dpkg-new'.
27197
c44c90db 271982009-09-21 Colin Watson <cjwatson@ubuntu.com>
27199
27200 Build info documentation. Some code borrowed from Automake.
27201
27202 * configure.ac: Check for makeinfo.
27203 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27204 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27205 docs/version.texi.
27206 (MOSTLYCLEANFILES): Add vti.tmp.
27207 (docs/version.texi, docs/stamp-vti): Update automatically.
27208 (docs/grub.info): Build info documentation. Use --force and ignore
27209 errors for now.
27210 (all-local): Add $(INFOS).
27211 (install-local): Install info files.
27212 (uninstall): Uninstall info files.
27213 * docs/version.texi: Remove from revision control. This file is
27214 automatically generated on build now.
27215 * gendistlist.sh: Add `*.info'.
27216
e0b37bb5 272172009-09-21 Felix Zielcke <fzielcke@z-51.de>
27218
27219 * kern/term.c: Fix indentation.
27220
5a78865b 272212009-09-21 Felix Zielcke <fzielcke@z-51.de>
27222
27223 * util/hostdisk.c: Fix a comment.
27224
dace7e8a 272252009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27226
27227 Fix regression introduced in r2539.
27228
27229 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27230 to 0xA1.
27231
a83d079b 272322009-09-19 Colin Watson <cjwatson@ubuntu.com>
27233
27234 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27235 os-prober. Under normal operation, it does not print anything to
27236 stderr; if it does, we need to debug it, and throwing away stderr
27237 makes that excessively difficult.
a83d079b 27238
be94a509 272392009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27240
27241 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27242
63f745e8 272432009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27244
27245 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27246 AC_LANG_PROGRAM from autoconf.
27247 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27248 prototypes (fixes warning).
27249
27250 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27251 `--disable-werror' was used.
27252
bbb2a70f 272532009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27254
27255 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27256 uninitialized `lastaddr'.
27257
77c24f1d 272582009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27259
0f0b8c87 27260 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27261
07197f23 272622009-09-14 Colin Watson <cjwatson@ubuntu.com>
27263
27264 * commands/test.c (get_fileinfo): Return immediately if
27265 grub_fs_probe fails.
27266
dabf1798 272672009-09-14 José Martínez <xosemp@gmail.com>
27268
27269 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27270
d52109a7 272712009-09-14 Colin Watson <cjwatson@ubuntu.com>
27272
27273 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27274 output.
27275
56532179 272762009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27277
27278 * configure.ac: Remove --enable-grub-pe2elf. Only build
27279 grub-pe2elf when needed by the build system itself.
27280 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27281
8ef070f5 272822009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27283
27284 * configure.ac: Bump version to 1.97~beta3.
27285 * docs/version.texi: Likewise.
27286
61229557 272872009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27288
27289 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27290 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27291 from here ...
27292 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27293 (grub_linux_setup_video): ... to here (with some adjustments).
27294
5c9f8d84 272952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27296
27297 Fix memory corruption issue (spotted by Colin Watson).
27298
27299 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27300 causing returned size to be stored in an incorrect memory location.
27301 Fix use of uninitialized value when storing the returned size.
27302
e8f5d6e9 273032009-09-12 Yves Blusseau <blusseau@zetam.org>
27304
27305 Change clean rules to properly remove files
27306
27307 * genmk.rb: add new clean rules
27308 * Makefile.in (clean): add the new targets
27309 (mostlyclean): likewise
27310
cda2a409 273112009-09-11 Colin Watson <cjwatson@ubuntu.com>
27312
27313 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27314 to grub_uint64_t.
27315 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27316 non-resident files.
27317
86695375 273182009-09-11 Colin Watson <cjwatson@ubuntu.com>
27319
27320 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27321 part of bug #27349.
27322
8aa1541a 273232009-09-10 Felix Zielcke <fzielcke@z-51.de>
27324
27325 * util/grub-mkconfig.in: Make the created config mode 400 and
27326 print a warning if it fails.
27327
48d9bb0a 273282009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27329
27330 * util/grub.d/40_custom.in: Ask user to type custom entries below
27331 comment, rather than below 'exec tail' line.
27332
3b0521be 273332009-09-10 Colin Watson <cjwatson@ubuntu.com>
27334
27335 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27336 visible in grub.cfg.
27337
50051d55 273382009-09-10 Colin Watson <cjwatson@ubuntu.com>
27339
27340 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27341 file.
27342
c0d34387 273432009-09-10 Felix Zielcke <fzielcke@z-51.de>
27344
27345 * docs/grub.cfg: Add an example menu entry for memtest86+.
27346
80a608f3 273472009-09-09 Felix Zielcke <fzielcke@z-51.de>
27348
a2094832 27349 * config.guess: Update to latest version from config git.
80a608f3 27350 * config.sub: Likewise.
27351
99423078 273522009-09-08 Colin Watson <cjwatson@ubuntu.com>
27353
27354 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27355 unknown-command case. Fixes bug #27320.
27356
44454e4c 273572009-09-08 Felix Zielcke <fzielcke@z-51.de>
27358
27359 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27360 `help' if the command exists.
27361
e30d87ad 273622009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27363
27364 * INSTALL: Require GCC 4.1.3 or later.
27365
9a86f1ec 273662009-09-06 Yves Blusseau <blusseau@zetam.org>
27367
27368 * Makefile.in (RMKFILES): add i386-qemu.rmk
27369 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27370 $(srcdir)/stamp-h.in
27371
7f26d466 273722009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27373
27374 * util/grub-probe.c (probe): Comment out buggy codepath, which
27375 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27376 should be re-enabled after 1.97.
27377
3a613259 273782009-09-05 Felix Zielcke <fzielcke@z-51.de>
27379
27380 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27381 find searches for.
27382
197f76c7 273832009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27384
27385 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27386 unnecessary calls to grub_error.
27387
70ba68ce 273882009-09-04 Colin Watson <cjwatson@ubuntu.com>
27389
27390 * NEWS: Mention `keystatus' and Unicode fonts.
27391
4ff0d7a4 273922009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27393
27394 * configure.ac: Bump version to 1.97~beta2.
27395 * docs/version.texi: Likewise.
27396
77c55a87 273972009-09-03 Colin Watson <cjwatson@ubuntu.com>
27398
27399 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27400 containing unwind information in some cases where it previously did
27401 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27402 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27403 discussion.
27404
f79572cd 274052009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27406
27407 Embedding loadenv module into grub-emu
27408
27409 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27410 commands/loadenv.c
27411 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27412 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27413 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27415 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27416 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27417
93a81088 274182009-09-03 Magnus Granberg <zorry@ume.nu>
27419
27420 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27421 include -fPIE in the default specs.
27422 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27423 to TARGET_CFLAGS.
27424
160034b2 274252009-09-03 Felix Zielcke <fzielcke@z-51.de>
27426
27427 * INSTALL: Note that GNU Bison 2.3 or later is required.
27428
087c07c4 274292009-09-03 Colin Watson <cjwatson@ubuntu.com>
27430
27431 * kern/i386/pc/startup.S: Fix typo.
27432
cbf978c0 274332009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27434
27435 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27436 according to GCS.
27437
274382009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27439
27440 * docs/grub.texi (Naming convention): Describe one-based partition
27441 numbering.
27442 (Device syntax): Likewise.
27443 (File name syntax): Likewise.
27444 (Block list syntax): Likewise.
27445 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27446 menu.lst.
27447 (File name syntax): Likewise.
27448 (Command-line and menu entry commands): Document acpi, blocklist,
27449 crc, export, insmod, keystatus, ls, set, and unset commands.
27450
f3e8cdfd 274512009-09-02 Colin Watson <cjwatson@ubuntu.com>
27452
27453 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27454 to avoid implying that only one of --shift, --ctrl, or --alt may be
27455 used.
27456
c0bc232b 274572009-09-02 Colin Watson <cjwatson@ubuntu.com>
27458
27459 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27460 rather than comparing against S_IFREG, which will almost never work.
27461
aa0f752d 274622009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27463
27464 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27465 (write_blocklists): Likewise.
27466
ecb3166a 274672009-09-01 Colin Watson <cjwatson@ubuntu.com>
27468
27469 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27470 argument to grub_printf.
27471
c403a125 274722009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27473
27474 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27475 non GNU test.
31aba781 27476
b5e7312c 274772009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 * kern/file.c (grub_file_read): Spelling fix
27480
fe00f472 274812009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27484 loading of headers in some cases.
27485
cc55302e 274862009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27487
27488 * configure.ac: Bump version to 1.97~beta1.
27489 * docs/version.texi: Likewise.
27490
5c90cdd2 274912009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27492
27493 * include/grub/i386/xnu.h: Add license header.
27494 include grub/err.h explicitly.
27495
c90edae4 274962009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27497
27498 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27499 to `ufs' in the vfs.root.mountfrom kernel parameter.
27500
d8888b5c 275012009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27502
27503 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27504
27505 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27506 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27507
27508 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27509 `ARRAY_SIZE' macro.
27510
6f07b921 275112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27512
27513 * kern/file.c (grub_file_read): Check offset.
27514 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27515 * fs/jfs.c (grub_jfs_read_file): Likewise.
27516 * fs/ntfs.c (grub_ntfs_read): Likewise.
27517 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27518 * fs/minix.c (grub_minix_read_file): Correct offset check.
27519 * fs/ufs.c (grub_ufs_read_file): Likewise.
27520
b4f34077 275212009-08-28 Colin Watson <cjwatson@ubuntu.com>
27522
27523 * term/i386/pc/console.c (bios_data_area): Cast
27524 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27525
e7c69859 275262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27527
27528 1-bit optimised blitters.
27529
27530 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27531 prototype.
27532 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27533 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27534 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27535 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27536 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27537 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27538 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27539 function.
27540 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27541 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27542 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27543 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27544 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27545 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27546 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27547 when possible.
27548 * video/video.c (grub_video_get_blit_format): Return
27549 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27550
a57da43f 275512009-08-28 Colin Watson <cjwatson@ubuntu.com>
27552
27553 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27554 the first argument to grub_printf.
27555
4cbe67e5 275562009-08-28 Colin Watson <cjwatson@ubuntu.com>
275572009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27558
27559 Add `getkeystatus' terminal method. Add a new `keystatus' command
27560 to query it.
27561
27562 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27563 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27564 modifier key bitmasks.
27565 (struct grub_term_input): Add `getkeystatus' member.
27566 (grub_getkeystatus): Add prototype.
27567 * kern/term.c (grub_getkeystatus): New function.
27568
27569 * include/grub/i386/pc/memory.h
27570 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27571 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27572 Data Area layout.
27573 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27574 (grub_console_term_input): Set `getkeystatus' member.
27575 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27576 constants.
27577 (grub_usb_keyboard_getreport): Likewise.
27578 (grub_usb_keyboard_checkkey): Likewise.
27579 (grub_usb_keyboard_getkeystatus): New function.
27580 (grub_usb_keyboard_term): Set `getkeystatus' member.
27581
27582 * commands/keystatus.c: New file.
27583 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27584 (keystatus_mod_SOURCES): New variable.
27585 (keystatus_mod_CFLAGS): Likewise.
27586 (keystatus_mod_LDFLAGS): Likewise.
27587 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27588 commands/keystatus.c.
27589 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27590 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27591 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27593 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27594 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27595
6e2a9085 275962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27597
27598 Split befs.mod and afs.mod into *_be.mod and *.mod
27599
27600 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27601 (grub_fstest_SOURCES): Likewise.
27602 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27603 (afs_be_mod_SOURCES): New variable.
27604 (afs_be_mod_CFLAGS): Likewise.
27605 (afs_be_mod_LDFLAGS): Likewise.
27606 (befs_be_mod_SOURCES): Likewise.
27607 (befs_be_mod_CFLAGS): Likewise.
27608 (befs_be_mod_LDFLAGS): Likewise.
27609 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27610 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27611 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27612 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27613 (grub_emu_SOURCES): Likewise.
27614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27615 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27616 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27617 * fs/afs_be.c: New file.
27618 * fs/befs_be.c: New file.
27619 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27620 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27621 (U16): Replaced with ...
27622 (grub_afs_to_cpu16): ...this. All users updated.
27623 (U32): Replaced with ...
27624 (grub_afs_to_cpu32): ...this. All users updated.
27625 (U64): Replaced with ...
27626 (grub_afs_to_cpu64): ...this. All users updated.
27627 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27628 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 27629 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 27630 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27631 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27632 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27633 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27634 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27635 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27636 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27637 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27638
32a71655 276392009-08-26 Bean <bean123ch@gmail.com>
27640
27641 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27642 64-bit number.
27643 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27644 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27645 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27646
552bf6c5 276472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27648
27649 NetBSD memory map support.
27650
27651 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27652 (grub_netbsd_btinfo_mmap_header): New structure.
27653 (grub_netbsd_btinfo_mmap_entry): Likewise.
27654 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27655
1ae2078c 276562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27657
27658 Enable bsd.mod on coreboot.
27659
27660 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27661 (bsd_mod_SOURCES): New variable.
27662 (bsd_mod_CFLAGS): Likewise.
27663 (bsd_mod_LDFLAGS): Likewise.
27664 (bsd_mod_ASFLAGS): Likewise.
27665 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27666 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27667
beefc598 276682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27669
27670 Cleanup NetBSD root support.
27671
27672 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27673 grub_bsd_get_device.
27674 Fix typo.
27675
3b76e68b 276762009-08-25 Felix Zielcke <fzielcke@z-51.de>
27677
27678 * util/grub.d/00_header.in: Move check for the video backend of
27679 gfxterm from here ...
27680 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27681 a suitable video backend.
27682
aea664ea 276832009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Fix breakage in grub-setup.
27686
27687 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27688 "msdos_partition_map".
27689
ff747d50 276902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27691
27692 Fix breakage in normal/auth.c.
27693
27694 * normal/auth.c (grub_iswordseparator): New function.
27695
e7e1f93f 276962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27697
27698 Authentication support.
27699
27700 * commands/password.c: New file.
27701 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27702 (password_mod_SOURCES): New variable.
27703 (password_mod_CFLAGS): Likewise.
27704 (password_mod_LDFLAGS): Likewise.
27705 (normal_mod_SOURCES): Add normal/auth.c.
27706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27707 normal/auth.c.
27708 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27710 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27711 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27712 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27713 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27714 * include/grub/auth.h: New file.
27715 * include/grub/err.h (grub_err_t): New enum value
27716 GRUB_ERR_ACCESS_DENIED.
27717 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27718 'users'.
27719 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27720 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27721 users updated.
27722 * normal/auth.c: New file.
27723 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27724 (grub_cmdline_run): Don't allow to go to command line without
27725 authentication.
27726 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27727 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27728 menuentry without superuser rights.
27729 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27730 user isn't a superuser.
27731
70f1161d 277322009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27733
27734 Save space by inlining misc.c functions.
27735
27736 * kern/misc.c (grub_iswordseparator): Made static.
27737 * kern/misc.c (grub_strcat): Moved from here ...
27738 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27739 * kern/misc.c (grub_strncat): Moved from here ...
27740 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27741 * kern/misc.c (grub_strcasecmp): Moved from here ...
27742 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27743 * kern/misc.c (grub_strncasecmp): Moved from here ...
27744 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27745 * kern/misc.c (grub_isalpha): Moved from here ...
27746 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27747 * kern/misc.c (grub_isdigit): Moved from here ...
27748 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27749 * kern/misc.c (grub_isgraph): Moved from here ...
27750 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27751 * kern/misc.c (grub_tolower): Moved from here ...
27752 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27753
48e40bff 277542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27755
27756 * script/sh/function.c (grub_script_function_find): Cut error message
27757 not to flood terminal.
27758 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27759 limit.
27760 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27761
c385bfc3 277622009-08-24 Colin Watson <cjwatson@ubuntu.com>
27763
27764 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27765 `report' grub_uint8_t *.
27766 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27767 Use a 50-millisecond timeout rather than just repeating
27768 grub_usb_keyboard_getreport 50 times.
27769 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27770
2d21e3e8 277712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27772
27773 Rename *_partition_map to part_*
27774
27775 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27776 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27777 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27778 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27779 All users updated.
27780 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27781 All users updated.
27782 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27783 * util/grub-probe.c (probe_partmap): Don't transform partition name
27784 to get module name.
27785
dd103c4e 277862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27787
27788 Fix OpenBSD and NetBSD support.
27789
27790 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27791 memory address conflict.
27792 (OPENBSD_MMAP_ACPI): New definition.
27793 (OPENBSD_MMAP_NVS): Likewise.
27794 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27795 and OPENBSD_MMAP_NVS.
27796 Add memory map terminator
27797 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27798 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27799
16c84d74 278002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27801
27802 Let user specify NetBSD root device.
27803
27804 * loader/i386/bsd.c (netbsd_root): New variable.
27805 (netbsd_opts): New option 'root'.
27806 (NETBSD_ROOT_ARG): New macro.
27807 (grub_netbsd_boot): Use 'netbsd_root'.
27808 (grub_bsd_unload): Free 'netbsd_root'.
27809 (grub_cmd_netbsd): Fill 'netbsd_root'.
27810
adb29902 278112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27812
27813 Support for 64-bit NetBSD.
27814
27815 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27816 point when booting non-FreeBSD.
27817
f5ae9f74 278182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27819
27820 Support --no-smp and --no-acpi for NetBSD.
27821
27822 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27823 (NETBSD_AB_NOACPI): Likewise.
27824 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27825 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27826
de74f136 278272009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27828
27829 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27830 errors.
27831 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27832 errors. Call grub_error when needed.
27833
e9a925da 278342009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27835
27836 * commands/search.c (search_fs): Try searching without autoload first.
27837 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27838 filesystem module explicitly for faster booting.
27839
5174302b 278402009-08-23 Colin Watson <cjwatson@ubuntu.com>
27841
27842 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27843
c8c80635 278442009-08-23 Colin Watson <cjwatson@ubuntu.com>
27845
27846 * util/grub.d/30_os-prober.in: Disable os-prober if
27847 `GRUB_DISABLE_OS_PROBER' was set to true.
27848
71acf5e5 278492009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27850
27851 * partmap/pc.c: Rename to ...
27852 * partmap/msdos.c: ... this. Update all users.
27853 (grub_pc_partition_map): Rename to ...
27854 (grub_msdos_partition_map): ... this. Update all users.
27855
27856 * parttool/pcpart.c: Rename to ...
27857 * parttool/msdospart.c: ... this. Update all users.
27858
27859 * include/grub/pc_partition.h: Rename to ...
27860 * include/grub/msdos_partition.h: ... this. Update all users.
27861 (grub_pc_partition_bsd_entry): Rename to ...
27862 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27863 (grub_pc_partition_disk_label): Rename to ...
27864 (grub_msdos_partition_disk_label): ... this. Update all users.
27865 (grub_pc_partition_entry): Rename to ...
27866 (grub_msdos_partition_entry): ... this. Update all users.
27867 (grub_pc_partition_mbr): Rename to ...
27868 (grub_msdos_partition_mbr): ... this. Update all users.
27869 (grub_pc_partition): Rename to ...
27870 (grub_msdos_partition): ... this. Update all users.
27871 (grub_pc_partition_is_empty): Rename to ...
27872 (grub_msdos_partition_is_empty): ... this. Update all users.
27873 (grub_pc_partition_is_extended): Rename to ...
27874 (grub_msdos_partition_is_extended): ... this. Update all users.
27875 (grub_pc_partition_is_bsd): Rename to ...
27876 (grub_msdos_partition_is_bsd): ... this. Update all users.
27877
27878 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27879 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27880 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27881 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27882 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27883 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27884 (gpt_mod_LDFLAGS): Rename to ...
27885 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27886 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27887 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27888 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27889 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27890 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27891 (part_gpt_mod_LDFLAGS): ... this.
27892 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27893 `pcpart.mod' to `msdospart.mod'.
27894 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27895 to ...
27896 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27897 (msdospart_mod_LDFLAGS): ... this.
27898
c11fded5 278992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27900
27901 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27902 (openbsd_opts): Likewise.
27903 (netbsd_opts): Likewise.
27904 (freebsd_flags): Added 0 terminator.
27905 (openbsd_flags): Likewise.
27906 (netbsd_flags): Likewise.
27907 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27908 (grub_cmd_freebsd): Transformed into extended command.
27909 (grub_cmd_openbsd): Likewise.
27910 (grub_cmd_netbsd): Likewise.
27911 (cmd_freebsd): Changed type to grub_extcmd_t.
27912 (cmd_openbsd): Likewise.
27913 (cmd_netbsd): Likewise.
27914 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27915 grub_cmd_openbsd as extended commands.
27916 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27917 cmd_netbsd and cmd_openbsd
27918
11d1c769 279192009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27920
27921 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27922
7a9094e5 279232009-08-21 Pavel Roskin <proski@gnu.org>
27924
5496c37e 27925 * Makefile.in (install-local): When checking if a file is in the
27926 build directory, use "test -e" to detect symlinks.
27927
7a9094e5 27928 * Makefile.in (install-local): Remove all files in
27929 $(DESTDIR)$(pkglibdir) before installing new files there.
27930
e53cea11 279312009-08-18 Felix Zielcke <fzielcke@z-51.de>
27932
27933 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27934 grub-mkelfimage.
27935
9aced544 279362009-08-18 Felix Zielcke <fzielcke@z-51.de>
27937
27938 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27939 explicitly specified by the user.
27940
b7da6bab 279412009-08-18 Pavel Roskin <proski@gnu.org>
27942
27943 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27944 grub_uint8_t pointer for data.
27945 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27946 Likewise.
27947 * video/fb/fbutil.c: Remove unnecessary casts.
27948
19f1b335 279492009-08-17 Michal Suchanek <hramrach@centrum.cz>
27950
27951 VBE cleanup.
27952
27953 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27954 (grub_vbe_set_video_mode): Save active mode info
27955 only after setting the mode.
27956 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27957 second argument.
27958
2f467aa9 279592009-08-17 Michal Suchanek <hramrach@centrum.cz>
27960
27961 Rename variables for clarity.
27962
27963 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27964 (active_vbe_mode_info): ... this. All users updated.
27965 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27966 All users updated.
27967 (initial_mode): Rename to ...
27968 (initial_vbe_mode): ... this. All users updated.
27969 (mode_in_use): Rename to ..
27970 (vbe_mode_in_use): ... this. All users updated.
27971 (mode_list): Rename to ..
27972 (vbe_mode_list): ... this. All users updated.
27973 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27974 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27975 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27976 'mode_list_size' to 'vbe_mode_list_size'.
27977 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27978 'best_mode_info' to 'best_vbe_mode_info' and
27979 'best_mode' to 'best_vbe_mode'
27980
6025fcd7 279812009-08-17 Michal Suchanek <hramrach@centrum.cz>
27982
27983 Remove duplicate grub_video_fb_get_video_ptr.
27984
27985 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27986 (grub_video_fb_get_video_ptr): ... this.
27987 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27988 * video/fb/fbutil.c: Add comment about addressing.
27989 (get_data_ptr): Rename to ...
27990 (grub_video_fb_get_video_ptr): ... this. All users updated.
27991 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27992
cc8c6faf 279932009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27994
27995 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27996 grub_dprintf() that was just added.
27997
08aa61f0 279982009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27999
28000 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
28001 (DEFAULT_VIDEO_MODE): Remove macros.
28002 (grub_linux_boot): Remove assumption that Linux has FB support,
28003 and use "text" as default video mode.
28004
7cef4f75 280052009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
28006
28007 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
28008 grub_dprintf.
28009 * fs/fat.c (grub_fat_read_data): Likewise.
28010
e1f39873 280112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28012
28013 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
28014 payload.
28015 (grub_module): Likewise.
28016
c166d79e 280172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28018
28019 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
28020 mbi->cmdline but free playground.
28021
c60cee8e 280222009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28023
28024 Handle group offset on UFS1.
28025
28026 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
28027 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
28028
c0d8b5d4 280292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28030
28031 Split ufs.mod into ufs1.mod and ufs2.mod.
28032
28033 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
28034 (grub_fstest_SOURCES): Likewise.
28035 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
28036 (ufs_mod_SOURCES): Remove.
28037 (ufs_mod_CFLAGS): Likewise.
28038 (ufs_mod_LDFLAGS): Likewise.
28039 (ufs1_mod_SOURCES): New variable.
28040 (ufs1_mod_CFLAGS): Likewise.
28041 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 28042 (ufs2_mod_SOURCES): New variable.
28043 (ufs2_mod_CFLAGS): Likewise.
28044 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 28045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
28046 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28047 Likewise.
28048 (grub_emu_SOURCES): Likewise.
28049 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28050 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28051 (grub_setup_SOURCES): Likewise.
28052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28053 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
28054 (grub_setup_SOURCES): Likewise.
28055 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
28056 Likewise.
28057 * fs/ufs2.c: New file.
28058 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
28059
d3539132 280602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
28061
28062 Framebuffer split.
28063
28064 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
28065 subsystem at the end.
28066 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
28067 (video_fb_mod_SOURCES): New variable.
28068 (video_fb_mod_CFLAGS): Likewise.
28069 (video_fb_mod_LDFLAGS): Likewise.
28070 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28071 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28072 * video/i386/pc/vbeblit.c: Moved from here ...
28073 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28074 * video/i386/pc/vbefill.c: Moved from here ...
28075 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28076 * video/i386/pc/vbeutil.c: Moved from here ...
28077 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28078 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28079 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28080 * include/grub/i386/pc/vbefill.h: Moved from here ...
28081 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28082 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28083 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28084 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28085 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28086 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28087 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28088 (grub_video_adapter): Added 'get_info_and_fini'.
28089 (grub_video_get_info_and_fini): New prototype.
28090 (grub_video_set_mode): make modestring const char *.
28091 * loader/i386/linux.c (grub_linux_setup_video): Use
28092 grub_video_get_info_and_fini.
28093 (grub_linux_boot): Move modesetting just before booting.
28094 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28095 grub_video_get_info_and_fini.
28096 * video/i386/pc/vbe.c: Moved framebuffer part ...
28097 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28098 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28099 grub_video_fbstd_colors and grub_video_fb_set_palette.
28100 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28101 grub_video_fb_init.
28102 (grub_video_vbe_fini): Use grub_video_fb_fini.
28103 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28104 render_target and use grub_video_fb_set_active_render_target and
28105 grub_video_fb_set_palette.
28106 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28107 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28108 (grub_video_vbe_adapter): Use framebuffer.
28109 * video/video.c (grub_video_get_info_and_fini): New function.
28110 (grub_video_set_mode): Make modestring const char *.
28111 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28112 values are already initialised.
28113
d404ee56 281142009-08-14 Pavel Roskin <proski@gnu.org>
28115
28116 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28117 ABS and APPLE_CC.
28118 * boot/i386/pc/diskboot.S: Likewise.
28119 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28120 sectors allow compilation on MacOSX.
28121 * conf/i386-pc.rmk: Enable unconditional compilation of
28122 lnxboot.img.
28123
9a10df16 281242009-08-13 Colin Watson <cjwatson@ubuntu.com>
28125
28126 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28127 * util/grub.d/00_header.in: Enter interruptible sleep if
28128 GRUB_HIDDEN_TIMEOUT is set.
28129
be3c9ca7 281302009-08-13 Yves Blusseau <blusseau@zetam.org>
28131
28132 * include/grub/symbol.h: Add the LOCAL macro.
28133 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28134 starting with "L_".
28135
1f9e557e 281362009-08-13 Pavel Roskin <proski@gnu.org>
28137
9ca62843 28138 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28139 any modern compilers we support.
28140
1f9e557e 28141 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28142 Use local labels starting with "L_" so that Apple assembler
28143 knows they are local.
28144
81623db6 281452009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28146
28147 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28148 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28149 (bsd_kernel_types): ... this enum.
28150
28151 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28152 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28153 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28154
28155 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28156 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28157 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28158 messages.
28159
f5d35e7a 281602009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28161
28162 * util/grub-dumpdevtree: Moved from here ...
28163 * util/i386/efi/grub-dumpdevtree: ... to here.
28164 (hexify): New function. Converts a string to its hex version.
28165 Generate hex versions of "efi" and "device-properties" by calling
28166 hexify() on the ASCII strings rather than by hardcoding numbers.
28167
d1e1d527 281682009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28169
28170 * fs/jfs.c: Update copyright year.
28171
1ebbe064 281722009-08-08 Felix Zielcke <fzielcke@z-51.de>
28173
28174 * util/grub.d/00_header.in: Fix a comment.
28175 * util/grub.d/10_linux.in: Likewise.
28176 * util/grub.d/10_windows.in: Likewise.
28177 * util/grub.d/10_hurd.in: Likewise.
28178
a78c8d24 281792009-08-08 Felix Zielcke <fzielcke@z-51.de>
28180
28181 * util/grub-mkconfig.in: Allow the user to specify the used font
28182 with GRUB_FONT.
28183
29a6b9e8 281842009-08-08 Pavel Roskin <proski@gnu.org>
28185
b5f16cc4 28186 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28187 available, xfs.mod needs it now.
28188
2f5cb827 28189 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28190 the "g" modifier in sed when the intention is to strip something
28191 once. This fixes comparison of kernels with multiple dashes.
28192
29a6b9e8 28193 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28194 on it. Add missing space before closing bracket. Fix
28195 misleading formatting.
28196
892a3d98 281972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28198
28199 * docs/grub.texi: Major overhaul. Remove all sections that are
28200 specific to GRUB Legacy, or mostly composed of Legacy-specific
28201 information.
28202
ed94253f 282032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28204
28205 * docs/version.texi: New file. Provides version information for
28206 grub.texi.
28207
126d6628 282082009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28209
28210 * docs/grub.texi: Update CVS information to SVN.
28211 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28212
998b5aa9 282132009-08-07 Felix Zielcke <fzielcke@z-51.de>
28214
28215 * util/grub-mkconfig.in: Remove a wrong `fi'.
28216
818e094a 282172009-08-07 Felix Zielcke <fzielcke@z-51.de>
28218
28219 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28220 (grub_jfs_uuid): New function.
28221 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28222
b969c52f 282232009-08-07 Felix Zielcke <fzielcke@z-51.de>
28224
28225 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28226 of it to ...
28227 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28228 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28229
7a4894cc 282302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28231
28232 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28233 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28234 Update all users.
28235
28236 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28237 not just "vmlinu[zx]".
28238 Moved from here ...
28239 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28240 all users.
28241
28242 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28243 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28244 all users.
28245
4e2171f8 282462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28247
28248 * util/grub.d/10_freebsd.in: Use an absolute device path for
28249 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28250
6dcfcb32 282512009-08-06 Felix Zielcke <fzielcke@z-51.de>
28252
28253 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28254 handling of multiple abstraction modules.
28255
f56a8756 282562009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28257
28258 Fix a bug resulting in black screen when loading Linux using a
28259 packed video mode.
28260
28261 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28262 function.
28263
28264 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28265 (grub_vbe_bios_getset_dac_palette_width): New function.
28266 (grub_vbe_bios_get_dac_palette_width)
28267 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28268 grub_vbe_bios_getset_dac_palette_width()).
28269
28270 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28271 check for return status.
28272 (grub_vbe_get_video_mode_info): When getting information for a packed
28273 mode (<= 8 bpp), obtain DAC palette width using
28274 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28275 {red,green,blue}_mark_size.
28276
222671b2 282772009-08-04 Felix Zielcke <fzielcke@z-51.de>
28278
ecb1a6d9 28279 * commands/search.c (options): Fix help output to match actual code.
222671b2 28280
f84114f5 282812009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28282
28283 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28284 of homegrown code.
28285
bd288a20 282862009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28287
28288 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28289 on XFS or ReiserFS.
28290
8aab5e25 282912009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28292
28293 Support Apple partition map with sector size different from 512 bytes.
28294
28295 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28296 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28297 and 'apart.partmap_size'.
28298
6ad6258a 282992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
283002009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28301
28302 Fix cpuid command.
28303
28304 * commands/i386/cpuid.c (options): New variable.
28305 (grub_cmd_cpuid): Return real error.
28306 (GRUB_MOD_INIT(cpuid)): Declare options.
28307
67459bc6 283082009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28309
28310 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28311 valid.
28312
fbc6ab54 283132009-07-31 Bean <bean123ch@gmail.com>
28314
28315 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28316 log2_inode.
28317 (grub_fshelp_node): Move inode field to the end.
28318 (grub_xfs_data): Remove inode field.
28319 (grub_xfs_inode_block): Calculate inode size using sblock.
28320 (grub_xfs_inode_offset): Likewise.
28321 (grub_xfs_read_inode): Calculate inode size using sblock.
28322 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28323 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28324 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28325 to match inode size.
28326 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28327 not accessible when data is null.
28328 (grub_xfs_open): Likewise.
28329
f45d6cfc 283302009-07-31 Bean <bean123ch@gmail.com>
28331
28332 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28333 Don't change pv->disk if it's already set.
28334
28335 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28336 (grub_raid_register): ... here.
28337 (grub_raid_rescan): Removed.
28338
28339 * include/grub/raid.h (grub_raid_rescan): Removed.
28340
28341 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28342 (fstest): Replace grub_raid_rescan with module fini function followed
28343 by init function.
28344
28345 * util/grub-probe.c: Add include file <grub/raid.h>.
28346 (probe_raid_level): New function.
28347 (probe): Detect abstraction by walking the disk device, support two
28348 level of abstraction (LVM on RAID) when detecting partition map.
28349
24443b5a 283502009-07-31 Pavel Roskin <proski@gnu.org>
28351
28352 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28353 to grub_zalloc(), it was erroneous.
28354 Reported by Bean <bean123ch@gmail.com>
28355
a275d9e7 283562009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28357
28358 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28359 embedding zone, not only the first one.
a275d9e7 28360
56c5a47f 283612009-07-29 Joe Auricchio <jauricchio@gmail.com>
28362
28363 * term/gfxterm.c (clear_char): New function.
28364 (grub_virtual_screen_setup): Use clear_char.
28365 (scroll_up): Likewise.
28366 (grub_virtual_screen_cls): Likewise.
28367
67bb323a 283682009-07-29 Felix Zielcke <fzielcke@z-51.de>
28369
28370 * util/deviceiter.c (get_acceleraid_disk_name): New static
28371 function.
28372 (grub_util_iterate_devices): Handle Accelraid devices.
28373 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28374
388a7c75 283752009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28376
28377 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28378 separator for the suggested gfxpayload string (';' collides with the
28379 parser and needs escaping).
28380
3bb7abcf 283812009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28382
28383 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28384 Clear direction flag before jumping to OS.
28385 (grub_multiboot2_real_boot): Likewise.
28386
2ddd36d7 283872009-07-28 Felix Zielcke <fzielcke@z-51.de>
28388
28389 * util/i386/pc/grub-install: Fix parsing of --disk-module
28390 option.
28391
c521b62b 283922009-07-28 Felix Zielcke <fzielcke@z-51.de>
28393
28394 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28395 when embedding.
28396
880e0a0c 283972009-07-26 Felix Zielcke <fzielcke@z-51.de>
28398
28399 * util/grub-mkconfig.in (package_version): New variable.
28400 Use it do display the version.
28401
2366e356 284022009-07-25 Felix Zielcke <fzielcke@z-51.de>
28403
28404 * kern/file.c (grub_file_open): Revert to previous check with
28405 grub_errno.
28406
7ad8c80e 284072009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28408
28409 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28410 from help line. It's out of sync with code.
28411
72b9658b 284122009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28413
28414 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28415 entries on failed boot.
28416
77435277 284172009-07-25 Felix Zielcke <fzielcke@z-51.de>
28418
28419 * kern/file.c (grub_file_open): Fix an error check.
28420
fcaa8b21 284212009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28422
35d16c74 28423 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28424 partition map couldn't be identified.
fcaa8b21 28425
48904cd1 284262009-07-23 Pavel Roskin <proski@gnu.org>
28427
ef3c317f 28428 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28429 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28430 case of little endian words becomes just an optimization.
28431 Respect const modifier.
ad8ea1f4 28432 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28433
48904cd1 28434 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28435 to avoid loss of upper bits if align is unsigned and shorter
28436 than addr.
28437
260c9a89 284382009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28439
28440 UUID support for UFS
28441
28442 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28443 (grub_ufs_uuid): New function.
28444 (grub_ufs_fs): add .uuid
28445
f76ce889 284462009-07-21 Pavel Roskin <proski@gnu.org>
28447
28448 * kern/dl.c (grub_dl_check_header): Make static.
28449
6a6cbcaf 284502009-07-21 Felix Zielcke <fzielcke@z-51.de>
28451
28452 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28453 add drivemap for Vista. It breaks Windows 7.
28454
cffcddb2 284552009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28456
28457 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28458 128 bytes
28459
1ef44b80 284602009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28461
28462 Add BFS support
28463
28464 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28465 (grub_fstest_SOURCES): Likewise.
28466 (pkglib_MODULES): Add befs.mod.
28467 (befs_mod_SOURCES): New variable.
28468 (befs_mod_CFLAGS): Likewise.
28469 (befs_mod_LDFLAGS): Likewise.
28470 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28471 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28472 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28473 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28474 (grub_setup_SOURCES): Likewise.
28475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28476 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28477 (grub_setup_SOURCES): Likewise.
28478 * fs/befs.c: New file.
28479 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28480 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28481 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28482 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28483 (B_KEY_INDEX_ALIGN): New declaration.
28484 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28485 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28486 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28487 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28488 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28489 (grub_afs_mount) [MODE_BFS]: Likewise.
28490 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28491 (grub_afs_fs): Use GRUB_AFS_FSNAME
28492 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28493 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28494 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28495 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28496
4f253044 284972009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28498
28499 * util/getroot.c (find_root_device): Add support for MacOSX.
28500 * util/hostdisk.c: Likewise.
28501
57a55913 285022009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28503
28504 * font/font.c (find_glyph): Check whether a font is present to avoid
28505 segmentation fault.
75421ca9 28506
285072009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28508
28509 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28510
e98cd0c2 285112009-07-20 Pavel Roskin <proski@gnu.org>
28512
28513 * configure.ac: Trim excessively wordy excuses.
28514
1d2d169a 285152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28516
28517 Add symlink, mtime and label support to AtheFS.
28518
28519 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28520 (grub_afs_iterate_dir): Handle symlinks.
28521 (grub_afs_open): Use grub_afs_read_symlink.
28522 (grub_afs_dir): Likewise.
28523 Pass mtime.
28524 (grub_afs_label): New function.
28525 (grub_afs_fs): Add grub_afs_label.
28526 (grub_afs_read_symlink): New function.
28527
186f3189 285282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 Fix AtheFS support.
28531
28532 * fs/afs.c: Fix comments style.
28533 (grub_afs_blockrun): Declare as packed.
28534 (grub_afs_datastream): Likewise.
28535 (grub_afs_bnode): Likewise.
28536 (grub_afs_btree): Likewise.
28537 (grub_afs_sblock): Likewise.
28538 Declare `name' as char.
28539 (grub_afs_inode): Declare as packed.
28540 Change void *vnode to grub_uint32_t unused.
28541 (grub_afs_iterate_dir): Check that key_size is positive.
28542 (grub_afs_mount): Don't read superblock twice.
75421ca9 28543 (grub_afs_dir): Don't free node in case of error,
186f3189 28544 grub_fshelp_find_file already handles this.
28545 (grub_afs_open): Likewise.
28546
5680109e 285472009-07-19 Pavel Roskin <proski@gnu.org>
28548
28549 * Makefile.in: Remove LIBLZO and enable_lzo.
28550 * conf/i386-pc.rmk: Remove lzo support.
28551 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28552 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28553 support.
28554 * kern/i386/pc/lzo1x.S: Remove.
28555 * kern/i386/pc/startup.S: Remove lzo support.
28556 * util/i386/pc/grub-mkimage.c: Likewise.
28557
ac70fa32 285582009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28559
28560 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28561 * fs/xfs.c (grub_xfs_dir): Likewise.
28562 * fs/afs.c (grub_afs_dir): Likewise.
28563 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28564 (grub_iso9660_open): Likewise.
28565 * fs/jfs.c (grub_jfs_open): Likewise.
28566 * fs/ext2.c (grub_ext2_dir): Likewise.
28567 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28568 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28569
eab58da2 285702009-07-16 Pavel Roskin <proski@gnu.org>
28571
d2838156 28572 * configure.ac: Never add "-c" to CFLAGS.
28573
55c70904 28574 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28575
43e6200c 28576 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28577 grub_cv_cc_efiemu should be used.
28578
ce7a733d 28579 * configure.ac: Typo fixes.
28580
eab58da2 28581 * kern/mm.c (grub_zalloc): New function.
28582 (grub_debug_zalloc): Likewise.
28583 * include/grub/mm.h: Declare grub_zalloc() and
28584 grub_debug_zalloc().
28585 * util/misc.c (grub_zalloc): New function.
28586 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28587 instead of grub_malloc(), remove unneeded initializations.
28588 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28589 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28590 * commands/parttool.c (grub_cmd_parttool): Likewise.
28591 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28592 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28593 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28594 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28595 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28596 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28597 (grub_cmd_efiemu_pnvram): Likewise.
28598 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28599 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28600 (grub_iso9660_iterate_dir): Likewise.
28601 * fs/jfs.c (grub_jfs_opendir): Likewise.
28602 * fs/ntfs.c (list_file): Likewise.
28603 (grub_ntfs_mount): Likewise.
28604 * kern/disk.c (grub_disk_open): Likewise.
28605 * kern/dl.c (grub_dl_load_core): Likewise.
28606 * kern/elf.c (grub_elf_file): Likewise.
28607 * kern/env.c (grub_env_context_open): Likewise.
28608 (grub_env_set): Likewise.
28609 (grub_env_set_data_slot): Likewise.
28610 * kern/file.c (grub_file_open): Likewise.
28611 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28612 * loader/i386/multiboot.c (grub_module): Likewise.
28613 * loader/xnu.c (grub_xnu_create_key): Likewise.
28614 (grub_xnu_create_value): Likewise.
28615 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28616 (read_config_file): Likewise.
28617 * normal/menu_entry.c (make_screen): Likewise.
28618 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28619 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28620 * script/sh/script.c (grub_script_parse): Likewise.
28621 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28622 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28623 * video/readers/png.c (grub_png_output_byte): Likewise.
28624 (grub_video_reader_png): Likewise.
28625
830afef7 286262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 28627
28628 Enable all targets that can be built by default
28629
830afef7 28630 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 28631 grub-mkfont and grub-fstest if they can be built
28632
ee293aee 286332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28634
28635 Fix hang and segmentation fault in grub-emu-usb
28636
28637 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28638 * util/usb.c (grub_libusb_devices): likewise
28639 (grub_libusb_init): rename to ...
28640 (GRUB_MOD_INIT (libusb)):...this
28641 (grub_libusb_fini): rename to ..
28642 (GRUB_MOD_FINI (libusb)):...this
28643 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28644 * include/grub/disk.h (grub_raid_init): removed, it's useless
28645 (grub_raid_fini): likewise
28646 (grub_lvm_init): likewise
28647 (grub_lvm_fini): likewise
28648 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28649 by grub_init_all
28650
94414221 286512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28652
28653 Fix libusb
28654
28655 * Makefile.in (LIBUSB): new macro
28656 * genmk.rb (Utility/print_tail): new method
28657 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28658 (top level): call util.print_tail at the end.
28659
59ade63d 286602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28661
28662 Make FreeBSD accept zpool.cache
28663
28664 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28665 type is /boot/zfs/zpool.cache
28666
a58da8c7 286672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28668
28669 Fix 64-bit efiemu
28670
28671 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28672 correct wrong typedef
28673 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28674
20591577 286752009-07-15 Pavel Roskin <proski@gnu.org>
28676
560ca572 28677 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28678 * kern/disk.c (struct grub_disk_cache): Likewise.
28679
e8e8e4fd 28680 * commands/probe.c (options): Typo fix.
28681
fde24e10 28682 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28683 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28684 accordingly.
28685 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28686
379c54c1 28687 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28688 the end of "Error" to make the message more readable.
28689
7bd8f5bf 28690 * boot/i386/pc/boot.S (kernel_segment): Remove.
28691 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28692 for destination.
28693
40b132c5 28694 * boot/i386/pc/boot.S (boot_version): Remove.
28695 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28696 Remove.
28697
20591577 28698 * include/grub/i386/pc/boot.h: Sort all offsets.
28699 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28700 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28701 * boot/i386/pc/boot.S: Assert location of every offset listed in
28702 include/grub/i386/pc/boot.h.
28703
2df32b2c 287042009-07-13 Pavel Roskin <proski@gnu.org>
28705
44b5d879 28706 * include/grub/i386/coreboot/machine.h: Rename
28707 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28708 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28709 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28710
17dc3751 28711 * kern/dl.c: Force native word size to suppress warnings when
28712 compiling grub-emu.
28713
2df32b2c 28714 * kern/device.c (grub_device_iterate): Change struct part_ent to
28715 hold the name, not a pointer to it. Use one grub_malloc() per
28716 partition, not two. Free partition_name if grub_malloc() fails.
28717 Set ents to NULL only before grub_partition_iterate() is called.
28718
75c59f59 287192009-07-11 Bean <bean123ch@gmail.com>
28720
28721 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28722 childname.
28723
0ae1bf88 287242009-07-10 Bean <bean123ch@gmail.com>
287252009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28726
28727 * kern/ieee1275/openfw.c (grub_children_iterate)
28728 (grub_devalias_iterate): Fix size evaluation for property or path
28729 strings, which was broken since r2132.
28730
8279cade 287312009-07-07 Pavel Roskin <proski@gnu.org>
28732
7d8a52d3 28733 * commands/search.c (search_file): Merge into ...
28734 (search_fs): ... this. Accept search type as argument.
28735 (grub_cmd_search): Pass search type to search_fs().
28736
25f9a05a 28737 * include/grub/util/console.h: New file.
28738 * util/console.c: Use it instead of grub/machine/console.h.
28739 * util/grub-emu.c: Likewise.
28740
8279cade 28741 * lib/arg.c (find_long_option): Remove.
28742 (find_long): Add `len' argument, make `s' const char *.
28743 (grub_arg_parse): Parse long options in place, not in a
28744 temporary buffer.
28745
4a11b60f 287462009-07-06 Pavel Roskin <proski@gnu.org>
28747
99f68041 28748 * commands/search.c (search_fs): Fix potential NULL pointer
28749 dereference.
28750
4a11b60f 28751 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28752 function pointer.
28753
e110f4de 287542009-07-06 Daniel Mierswa <impulze@impulze.org>
28755
28756 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28757 comparison.
28758
46eeb6a2 287592009-07-05 Pavel Roskin <proski@gnu.org>
28760
bab74958 28761 * include/grub/i386/linux.h (struct linux_kernel_params):
28762 Restore padding3, it's still needed.
28763
46eeb6a2 28764 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28765 FreeBSD.
28766 * util/osdetect.lua: Likewise.
28767
b4a1dc79 287682009-07-05 Bean <bean123ch@gmail.com>
28769
28770 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28771
28772 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28773 (grub_lua_getenv): Likewise.
28774 (grub_lua_setenv): Likewise.
28775 (save_errno): New function.
28776 (push_result): Likewise.
28777 (grub_lua_enum_device): Likewise.
28778 (grub_lua_enum_file): Likewise.
28779 (grub_lua_file_open): Likewise.
28780 (grub_lua_file_close): Likewise.
28781 (grub_lua_file_seek): Likewise.
28782 (grub_lua_file_read): Likewise.
28783 (grub_lua_file_getline): Likewise.
28784 (grub_lua_file_getsize): Likewise.
28785 (grub_lua_file_getpos): Likewise.
28786 (grub_lua_file_eof): Likewise.
28787 (grub_lua_file_exist): Likewise.
28788 (grub_lua_add_menu): Likewise.
28789
28790 * script/lua/grub_lua.h (isupper): New inline function.
28791 (islower): Likewise.
28792 (ispunct): Likewise.
28793 (isxdigit): Likewise.
28794 (strcspn): Change to normal function.
28795 (strpbkr): New function declaration.
28796 (memchr): Likewise.
28797
28798 * script/lua/grub_main.c (scan_str): New function.
28799 (strcspn): Likewise.
28800 (strpbrk): Likewise.
28801 (memchr): Likewise.
28802
28803 * script/lua/linit.c (lualibs): Enable the string library.
28804
28805 * util/osdetect.lua: New file.
28806
2da92295 288072009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28808
28809 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28810 `capabilities' member.
28811
b2582ec9 288122009-07-02 Pavel Roskin <proski@gnu.org>
28813
28814 * genparttoollist.sh: Add missing newline at the end.
28815
32622956 288162009-07-01 Pavel Roskin <proski@gnu.org>
28817
87a7339e 28818 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28819
d23af54e 28820 * util/hostdisk.c (open_device): Remove `const' from
28821 `sysctl_size', as sysctlbyname() can change it (in this case it
28822 doesn't actually happen).
28823
c94b18a9 28824 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28825 using signed long int constants.
28826
c6cd3ef0 28827 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28828 constant to avoid a warning on FreeBSD.
28829
0df63420 28830 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28831 where it's needed.
28832
999577f1 28833 * Makefile.in: Install include/grub/machine symlink.
28834
6f41557f 28835 * Makefile.in: When installing symlinks, use "cp -fR", which
28836 works on FreeBSD and MacOSX.
28837 From Yves Blusseau <cl7m42e02@sneakemail.com>
28838
c8d22988 28839 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28840 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28841
1b96e952 28842 * util/misc.c: Move grub_reboot() and grub_halt() ...
28843 * util/grub-emu.c: ... here. Make main_env static.
28844 * include/grub/util/misc.h: Remove main_env.
28845
2ef0084d 28846 * kern/mm.c: Use correct format to print size_t.
28847
32622956 28848 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28849 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28850 * kern/powerpc/dl.c: Likewise.
28851 * kern/sparc64/dl.c: Likewise.
28852 * kern/x86_64/dl.c: Likewise.
28853
3f7f0cd0 288542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28855
28856 Fix grub-emu build on sparc64-ieee1275.
28857
75421ca9 28858 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28860
211d06b5 288612009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28862
28863 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28864 (grub_reboot, grub_halt): New functions.
28865
28866 * util/i386/pc/misc.c: Delete. Update all users.
28867 * util/sparc64/ieee1275/misc.c: Likewise.
28868 * util/powerpc/ieee1275/misc.c: Likewise.
28869
aaf53e3c 288702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28871
28872 * conf/i386.rmk (setjmp_mod_SOURCES)
28873 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28874 * conf/common.rmk (setjmp_mod_SOURCES)
28875 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28876 to use $(target_cpu).
28877 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28878 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28879 * conf/powerpc-ieee1275.rmk: Likewise.
28880 * conf/sparc64-ieee1275.rmk: Likewise.
28881
28882 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28883 $(target_cpu) for kern/$(target_cpu)/dl.c.
28884 * conf/i386-efi.rmk: Likewise.
28885 * conf/i386-ieee1275.rmk: Likewise.
28886 * conf/x86_64-efi.rmk: Likewise.
28887 * conf/i386-coreboot.rmk: Likewise.
28888 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28889 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28890 kern/$(target_cpu)/cache.S.
28891 * conf/sparc64-ieee1275.rmk: Likewise.
28892
a337130b 288932009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28894
28895 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28896 type to `grub_uint8_t', and adjust `padding9' accordingly.
28897
c6fe4d53 288982009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28899
b09db61d 28900 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28901
c6fe4d53 28902 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28903 assembly in final jump, using register constraints.
28904
b09db61d 28905 (grub_linux_boot): For text mode, initialize `have_vga' using
28906 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28907
28908 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28909 right before the final jump.
28910
28911 Set `video_mode' to 0x3.
28912
28913 Document initialization of `video_page', `video_mode' and
28914 `video_ega_bx'.
28915
28333ad0 289162009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28917
28918 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28919 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28920 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28921
02164e1b 289222009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28923
28924 Fix build on Debian / sparc.
28925
28926 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28927
18b6c557 289282009-06-28 Pavel Roskin <proski@gnu.org>
28929
85f2aab6 28930 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28931 fix a warning.
28932
18b6c557 28933 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28934
ad760f81 289352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28936
28937 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28938 `err'.
28939
87a4623b 289402009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28941
28942 Revert r2338.
28943
28944 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28945 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28946 grub_errno / grub_errmsg appropriately.
87a4623b 28947 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28948
8231fb77 289492009-06-27 Pavel Roskin <proski@gnu.org>
289502009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28951
28952 * include/grub/dl.h: Include grub/elf.h.
28953 (struct grub_dl): Add symtab field.
28954 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28955 GRUB_MODULES_MACHINE_READONLY.
28956 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28957 of the header for read-only modules.
28958 (grub_dl_unload): Free mod->symtab for read-only modules.
28959 * kern/i386/dl.c: Use mod->symtab.
28960 * kern/powerpc/dl.c: Likewise.
28961 * kern/sparc64/dl.c: Likewise.
28962 * kern/x86_64/dl.c: Likewise.
28963
28964 * conf/i386-qemu.rmk: New file.
28965 * kern/i386/qemu/startup.S: Likewise.
28966 * kern/i386/qemu/mmap.c: Likewise.
28967 * boot/i386/qemu/boot.S: Likewise.
28968 * include/grub/i386/qemu/time.h: Likewise.
28969 * include/grub/i386/qemu/serial.h: Likewise.
28970 * include/grub/i386/qemu/kernel.h: Likewise.
28971 * include/grub/i386/qemu/console.h: Likewise.
28972 * include/grub/i386/qemu/boot.h: Likewise.
28973 * include/grub/i386/qemu/init.h: Likewise.
28974 * include/grub/i386/qemu/machine.h: Likewise.
28975 * include/grub/i386/qemu/loader.h: Likewise.
28976 * include/grub/i386/qemu/memory.h: Likewise.
28977
28978 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28979 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28980 [qemu] (pkglib_IMAGES): Add `boot.img'.
28981 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28982 [qemu] (boot_img_FORMAT): New variables.
28983 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28984 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28985 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28986 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28987 [qemu] (kernel_img_FORMAT): New variables.
28988
28989 * configure.ac: Recognise `i386-qemu'.
28990
28991 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28992 (for no compression).
28993 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28994 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28995 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28996 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28997 ifdefs).
28998
97fe384e 289992009-06-27 Pavel Roskin <proski@gnu.org>
29000
29001 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
29002 read.
29003 * efiemu/prepare32.c: Likewise.
29004 * efiemu/prepare64.c: Likewise.
29005
c402ab17 290062009-06-26 Pavel Roskin <proski@gnu.org>
29007
29008 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
29009 * include/grub/elf.h: Define symbols without "32" or "64" based
29010 on GRUB_TARGET_WORDSIZE.
29011 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
29012 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
29013 ELF definitions.
29014 * efiemu/loadcore64.c: Likewise.
29015 * loader/i386/bsd32.c: Likewise.
29016 * loader/i386/bsd64.c: Likewise.
29017 * kern/dl.c: Remove own ELF definitions.
29018 * util/i386/efi/grub-mkimage.c: Likewise.
29019
9bbdfd4d 290202009-06-23 Robert Millan <rmh.grub@aybabtu.com>
29021
29022 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
29023 segment 0x0 unconditionally, because the reference generated by
29024 GAS is an absolute address.
29025
a42ce6e9 290262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29027
29028 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
29029 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
29030
c952cf92 290312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29032
29033 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
29034 indexes. Check for -f explicitly.
cc3752ad 29035 (search_file): Improve error message.
29036 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 29037
132a0a59 290382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29039
29040 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
29041 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
29042
387a140c 290432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29044
29045 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
29046 * conf/i386-ieee1275.rmk: Likewise.
29047 * conf/i386-coreboot.rmk: Likewise.
29048
29049 * kern/i386/pc/startup.S (grub_stop): Remove function.
29050 * kern/i386/ieee1275/startup.S: Likewise.
29051 * kern/i386/coreboot/startup.S: Likewise.
29052 * kern/i386/misc.S (grub_stop): New function.
29053
41da9665 290542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
29057 * kern/i386/realmode.S (real_to_prot): ... to here.
29058
bf337234 290592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
29060
29061 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
29062 with `kernel.img'.
29063 (kernel_elf_SOURCES): Rename to ...
29064 (kernel_img_SOURCES): ... this.
29065 (kernel_elf_HEADERS): Rename to ...
29066 (kernel_img_HEADERS): ... this. Update all users.
29067 (kernel_elf_ASFLAGS): Rename to ...
29068 (kernel_img_ASFLAGS): ... this.
29069 (kernel_elf_CFLAGS): Rename to ...
29070 (kernel_img_CFLAGS): ... this.
29071 (kernel_elf_LDFLAGS): Rename to ...
29072 (kernel_img_LDFLAGS): ... this.
29073 * conf/i386-coreboot.rmk: Likewise.
29074 * conf/powerpc-ieee1275.rmk: Likewise.
29075
29076 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29077 with "kernel.img".
29078
f52196ff 290792009-06-21 Pavel Roskin <proski@gnu.org>
29080
c3cee413 29081 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29082 to match nested functions.
29083 * loader/sparc64/ieee1275/linux.c: Likewise.
29084
f52196ff 29085 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29086
58750afc 290872009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29088
29089 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29090 all i386 platforms.
29091
15355c7d 290922009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29093
29094 Fix asm file handling on ELF, and remove workarounds.
29095
29096 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29097 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29098 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29099 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29100
3f3ec72b 291012009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29102
29103 Load BSD ELF modules
29104
29105 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29106 and loader/i386/bsd64.c
29107 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29108 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29109 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29110 (grub_freebsd_load_elfmodule32): New declaration
29111 (grub_freebsd_load_elfmoduleobj64): Likewise
29112 (grub_freebsd_load_elf_meta32): Likewise
29113 (grub_freebsd_load_elf_meta64): Likewise
29114 (grub_freebsd_add_meta): Likewise
29115 (grub_freebsd_add_meta_module): Likewise
29116 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29117 (grub_freebsd_add_meta_module): Likewise and move module-specific
29118 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29119 (grub_cmd_freebsd): Add elf-kernel specific parts
29120 based on grub_freebsd_add_meta_module
29121 (grub_cmd_freebsd_module): Add type parsing moved from
29122 grub_freebsd_add_meta_module
29123 (grub_cmd_freebsd_module_elf): New function
29124 (cmd_freebsd_module_elf): New variable
29125 (GRUB_MOD_INIT): Register freebsd_module_elf
29126 * loader/i386/bsd32.c: New file
29127 * loader/i386/bsd64.c: Likewise
29128 * loader/i386/bsdXX.c: Likewise
29129 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29130 (grub_elf64_load): Likewise
29131 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29132 All users updated
29133 (grub_elf64_load_hook_t): Likewise
29134
0db15301 291352009-06-21 Colin Watson <cjwatson@ubuntu.com>
29136
29137 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29138 variable.
29139 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29140 don't write a menu entry for recovery mode.
29141
546796c1 291422009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29143
29144 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29145 after it's no longer needed.
29146
cd7310d5 291472009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29148
29149 * include/grub/i386/loader.h (grub_linux_prot_size)
29150 (grub_linux_tmp_addr, grub_linux_real_addr)
29151 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29152 GRUB_MACHINE_PCBIOS.
29153 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29154 common grub_util_info() call to ...
29155 (generate_image): ... here.
29156 Fix use of uninitialized memory, comparison of signed with
29157 unsigned integers and memory leak.
29158 Remove bogus module address message.
29159
ab32d3b5 291602009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29161
29162 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29163 grub_raid_register
29164 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29165
024ef597 291662009-06-19 Pavel Roskin <proski@gnu.org>
29167
29168 * configure.ac: Remove stray AC_MSG_CHECKING.
29169
3ac72b51 291702009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29173
e14cd814 291742009-06-18 Pavel Roskin <proski@gnu.org>
29175
29176 * conf/common.rmk: Add fs_file.mod.
29177 * disk/fs_file.c: New file.
29178 * include/grub/disk.h (enum grub_disk_dev_id): Add
29179 GRUB_DISK_DEVICE_FILE_ID.
29180
26586d98 291812009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29182
29183 Fix build with Apple's toolchain. Part 2
29184
29185 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29186 a fake start
29187
26de2bcd 291882009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29189
29190 Fix build with Apple's toolchain. Part 1
29191
29192 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29193 for long calls
29194 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29195 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29196 Apple's toolchain
29197
09b3490b 291982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29199
29200 Fix warnings
29201
29202 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29203 (decomp_block): initialize ch
29204 use grub_memcpy instead of memcpy
29205
c22a006a 292062009-06-17 Pavel Roskin <proski@gnu.org>
29207
d3638678 29208 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29209 version, use declarations needed to use vga_text as the startup
29210 console.
29211
c22a006a 29212 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29213 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29214 the kernel.
29215 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29216 and grub_at_keyboard_fini(), it's done on module load and
29217 unload.
29218
05b129e0 292192009-06-17 Felix Zielcke <fzielcke@z-51.de>
29220
29221 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29222 file can't be found.
29223 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29224
cf24ed9e 292252009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29226
29227 Fix newline handling
29228
29229 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29230 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29231 (grub_script_yylex): don't segfault on unterminated script
29232 newline terminates command and variable
29233
74aa8e4b 292342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29235
29236 avoid double grub_adjust_range call. Bug reported by David Simner
29237
29238 * kern/disk.c (grub_disk_write): change to raw disk access before
29239 calling disk_read
29240
1bd265f3 292412009-06-17 Colin Watson <cjwatson@ubuntu.com>
29242
29243 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29244 spaces, for the benefit of help2man.
29245 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29246
a2d08c06 292472009-06-16 Pavel Roskin <proski@gnu.org>
29248
29249 * kern/i386/halt.c: Include grub/machine/init.h.
29250 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29251
b97bcb19 292522009-06-16 Felix Zielcke <fzielcke@z-51.de>
29253
29254 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29255 drivemap menuentry.
29256
0644f96c 292572009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29258
29259 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29260 `echo' command.
29261
3ef17a2e 292622009-06-16 Pavel Roskin <proski@gnu.org>
29263
29264 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29265 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29266 save %dx, we only need %dl and we never change it.
29267 * boot/i386/pc/cdboot.S: Don't set the root drive.
29268 * boot/i386/pc/pxeboot.S: Likewise.
29269 * include/grub/i386/pc/boot.h: Remove
29270 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29271 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29272 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29273 * kern/i386/pc/init.c (make_install_device): Remove references
29274 to grub_root_drive.
29275 * kern/i386/pc/startup.S: Likewise.
29276 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29277
693fe637 292782009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29279
29280 xnu_uuid command
29281
29282 * commands/xnu_uuid.c: new file
29283 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29284 (xnu_uuid_mod_SOURCES): new variable
29285 (xnu_uuid_mod_CFLAGS): likewise
29286 (xnu_uuid_mod_LDFLAGS): likewise
29287 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29288 * conf/i386-ieee1275.rmk: likewise
29289 * conf/i386-pc.rmk: likewise
29290 * conf/powerpc-ieee1275.rmk: likewise
29291 * conf/sparc64-ieee1275.rmk: likewise
29292 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29293
c9da87d0 292942009-06-16 Pavel Roskin <proski@gnu.org>
29295
29296 * configure.ac: Avoid '==' in test command, it's not portable.
29297
9c6f4596 292982009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29299
29300 Probe command
29301
29302 * commands/probe.c: new file
29303 * conf/common.rmk (pkglib_MODULES): add probe.mod
29304 (probe_mod_SOURCES): new variable
29305 (probe_mod_CFLAGS): likewise
29306 (probe_mod_LDFLAGS): likewise
29307 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29308 * conf/i386-ieee1275.rmk: likewise
29309 * conf/i386-pc.rmk: likewise
29310 * conf/powerpc-ieee1275.rmk: likewise
29311 * conf/sparc64-ieee1275.rmk: likewise
29312
70b7f9fd 293132009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29314
29315 Fix handling of string like \"hello\" and "a
29316 b"
29317
29318 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29319 (grub_script_yylex): fix parsing of quoting, escaping and newline
29320
71c79a6b 293212009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29322
dd74360c 29323 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29324 handling
dd74360c 29325
0644f96c 293262009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29327
29328 * util/grub-mkconfig.in: Fix parsing of --output option.
29329
e40893c3 293302009-06-12 Pavel Roskin <proski@gnu.org>
29331
29332 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29333 genmk.rb don't need to be generated or installed.
29334
3a1acfe2 293352009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29336
29337 * commands/i386/pc/drivemap_int13h.S: add more comments
29338
3a4575d4 293392009-06-11 Pavel Roskin <proski@gnu.org>
29340
0658e928 29341 * Makefile.in (uninstall): Uninstall manuals.
29342
ca0388f0 29343 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29344 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29345 and update-grub_lib in two places.
29346 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29347
e3b27c39 29348 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29349 a compiler warning.
29350
3a4575d4 29351 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29352 `entry_lo' to fix variable shadowing.
29353
af1f4f55 293542009-06-11 Christian Franke <franke@computer.org>
29355
29356 * kern/misc.c (__enable_execute_stack): Add missing return type
29357 to prevent gcc warning.
29358
5225e649 293592009-06-11 Felix Zielcke <fzielcke@z-51.de>
29360
29361 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29362
7d83bd47 293632009-06-11 Pavel Roskin <proski@gnu.org>
29364
c1cb63ba 29365 * Makefile.in: Don't rely on any scripts being executable.
29366 Always use $(SHELL) to run shell scripts.
29367
7d83bd47 29368 * configure.ac: Always define ___main if using -nostdlib. This
29369 fixes tests on Cygwin.
29370
948f48e7 293712009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29372
29373 UDF fix
29374
7d83bd47 29375 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29376 is in bytes and not in blocks
7d83bd47 29377
8ada9bc1 293782009-06-11 Pavel Roskin <proski@gnu.org>
29379
29380 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29381 warning.
29382
25ad2323 293832009-06-11 Felix Zielcke <fzielcke@z-51.de>
29384
29385 * util/grub.d/30_os-prober.in: Fix a comment. Source
29386 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29387 to set the root device. Place drivemap command in the generated
29388 chain entry.
29389
e65acb0c 293902009-06-11 Pavel Roskin <proski@gnu.org>
29391
29392 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29393 have long been resolved.
29394
f285fe2d 293952009-06-11 Colin Watson <cjwatson@ubuntu.com>
29396
bd47b0b5 29397 * util/grub.d/10_linux.in: Capitalise "Linux".
29398
f285fe2d 29399 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29400
a0c62e4e 294012009-06-11 Pavel Roskin <proski@gnu.org>
29402
b6783cb2 29403 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29404 fix a gcc warning and ensure that the function won't ever exit.
29405
dde032e8 29406 * kern/i386/ieee1275/init.c: Add missing prototype for
29407 grub_stop_floppy().
29408
22cd079d 29409 * loader/ieee1275/multiboot2.c [__i386__]: Include
29410 grub/cpu/multiboot.h.
29411
a0c62e4e 29412 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29413 casts to short - they are not portable and cause warnings. Fix
29414 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29415
63963d17 294162009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29417
29418 Drivemap fixes
29419
29420 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29421 new function
29422 (grub_get_root_biosnumber_saved): new variable
29423 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29424 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29425 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29426 %dx after the call if necessary
29427 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29428 (boot_mod_SOURCES): remove
29429 (boot_mod_CFLAGS): remove
29430 (boot_mod_LDFLAGS): remove
29431 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29432 (boot_mod_SOURCES): new variable
29433 (boot_mod_CFLAGS): likewise
29434 (boot_mod_LDFLAGS): likewise
29435 * conf/i386-efi.rmk: likewise
29436 * conf/i386-ieee1275.rmk: likewise
29437 * conf/i386-pc.rmk: likewise
29438 * conf/powerpc-ieee1275.rmk: likewise
29439 * conf/sparc64-ieee1275.rmk: likewise
29440 * conf/x86_64-efi.rmk: likewise
29441 * include/grub/i386/pc/biosnum.h: new file
29442 * lib/i386/pc/biosnum.c: likewise
29443 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29444 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29445 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29446
33abf7ae 294472009-06-10 Pavel Roskin <proski@gnu.org>
29448
5ac35b35 29449 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29450 Use separate variables. Read only the file size at the end, but
29451 not the checksum that we don't use.
29452
5c5215d5 29453 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29454 Adjust all callers.
29455
27d5fef7 29456 * kern/ieee1275/openfw.c: Remove libc includes.
29457 * kern/ieee1275/cmain.c: Likewise.
29458 * include/grub/ieee1275/ieee1275.h: Likewise.
29459
33abf7ae 29460 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29461 compiler warnings.
29462
19d50c2b 294632009-06-10 Felix Zielcke <fzielcke@z-51.de>
29464
29465 * Makefile.in: Remove all trailing whitespace.
29466 * conf/i386-pc.rmk: Likewise.
29467 * conf/powerpc-ieee1275.rmk: Likewise.
29468 * conf/sparc64-ieee1275.rmk: Likewise.
29469 * docs/grub.texi: Likewise.
29470 * docs/texinfo.tex: Likewise.
29471 * disk/fs_uuid.c: Likewise.
29472 * disk/lvm.c: Likewise.
29473 * disk/scsi.c: Likewise.
29474 * disk/ata.c: Likewise.
29475 * disk/ieee1275/ofdisk.c: Likewise.
29476 * disk/i386/pc/biosdisk.c: Likewise.
29477 * disk/host.c: Likewise.
29478 * disk/raid.c: Likewise.
29479 * disk/efi/efidisk.c: Likewise.
29480 * disk/usbms.c: Likewise.
29481 * disk/memdisk.c: Likewise.
29482 * disk/loopback.c: Likewise.
29483 * kern/powerpc/dl.c: Likewise.
29484 * kern/device.c: Likewise.
29485 * kern/dl.c: Likewise.
29486 * kern/sparc64/dl.c: Likewise.
29487 * kern/ieee1275/ieee1275.c: Likewise.
29488 * kern/term.c: Likewise.
29489 * kern/fs.c: Likewise.
29490 * kern/i386/dl.c: Likewise.
29491 * kern/i386/pc/startup.S: Likewise.
29492 * kern/i386/pc/init.c: Likewise.
29493 * kern/i386/pc/mmap.c: Likewise.
29494 * kern/i386/pc/lzo1x.S: Likewise.
29495 * kern/i386/ieee1275/init.c: Likewise.
29496 * kern/i386/realmode.S: Likewise.
29497 * kern/i386/tsc.c: Likewise.
29498 * kern/partition.c: Likewise.
29499 * kern/corecmd.c: Likewise.
29500 * kern/file.c: Likewise.
29501 * kern/efi/efi.c: Likewise.
29502 * kern/efi/init.c: Likewise.
29503 * kern/efi/mm.c: Likewise.
29504 * kern/main.c: Likewise.
29505 * kern/err.c: Likewise.
29506 * kern/env.c: Likewise.
29507 * kern/disk.c: Likewise.
29508 * kern/generic/millisleep.c: Likewise.
29509 * kern/generic/rtc_get_time_ms.c: Likewise.
29510 * kern/misc.c: Likewise.
29511 * kern/parser.c: Likewise.
29512 * genmk.rb: Likewise.
29513 * configure.ac: Likewise.
29514 * boot/i386/pc/diskboot.S: Likewise.
29515 * boot/i386/pc/pxeboot.S: Likewise.
29516 * boot/i386/pc/boot.S: Likewise.
29517 * boot/i386/pc/lnxboot.S: Likewise.
29518 * boot/i386/pc/cdboot.S: Likewise.
29519 * parttool/pcpart.c: Likewise.
29520 * video/readers/tga.c: Likewise.
29521 * video/video.c: Likewise.
29522 * video/bitmap.c: Likewise.
29523 * lib/envblk.c: Likewise.
29524 * lib/i386/setjmp.S: Likewise.
29525 * fs/xfs.c: Likewise.
29526 * fs/afs.c: Likewise.
29527 * fs/fat.c: Likewise.
29528 * fs/ntfs.c: Likewise.
29529 * fs/udf.c: Likewise.
29530 * fs/affs.c: Likewise.
29531 * fs/iso9660.c: Likewise.
29532 * fs/hfs.c: Likewise.
29533 * fs/fshelp.c: Likewise.
29534 * fs/ext2.c: Likewise.
29535 * fs/jfs.c: Likewise.
29536 * fs/reiserfs.c: Likewise.
29537 * fs/hfsplus.c: Likewise.
29538 * fs/minix.c: Likewise.
29539 * fs/cpio.c: Likewise.
29540 * fs/sfs.c: Likewise.
29541 * fs/ufs.c: Likewise.
29542 * efiemu/prepare.c: Likewise.
29543 * efiemu/loadcore_common.c: Likewise.
29544 * efiemu/runtime/efiemu.sh: Likewise.
29545 * efiemu/runtime/efiemu.S: Likewise.
29546 * efiemu/runtime/efiemu.c: Likewise.
29547 * efiemu/pnvram.c: Likewise.
29548 * efiemu/main.c: Likewise.
29549 * efiemu/i386/pc/cfgtables.c: Likewise.
29550 * efiemu/i386/loadcore64.c: Likewise.
29551 * efiemu/i386/loadcore32.c: Likewise.
29552 * efiemu/loadcore.c: Likewise.
29553 * efiemu/symbols.c: Likewise.
29554 * efiemu/mm.c: Likewise.
29555 * include/grub/autoefi.h: Likewise.
29556 * include/grub/datetime.h: Likewise.
29557 * include/grub/term.h: Likewise.
29558 * include/grub/hfs.h: Likewise.
29559 * include/grub/lvm.h: Likewise.
29560 * include/grub/i386/tsc.h: Likewise.
29561 * include/grub/i386/linux.h: Likewise.
29562 * include/grub/i386/xnu.h: Likewise.
29563 * include/grub/i386/efiemu.h: Likewise.
29564 * include/grub/i386/pc/biosdisk.h: Likewise.
29565 * include/grub/i386/pc/memory.h: Likewise.
29566 * include/grub/i386/pc/vbe.h: Likewise.
29567 * include/grub/parttool.h: Likewise.
29568 * include/grub/video.h: Likewise.
29569 * include/grub/memory.h: Likewise.
29570 * include/grub/fs.h: Likewise.
29571 * include/grub/partition.h: Likewise.
29572 * include/grub/xnu.h: Likewise.
29573 * include/grub/efi/api.h: Likewise.
29574 * include/grub/efi/pe32.h: Likewise.
29575 * include/grub/efi/memory.h: Likewise.
29576 * include/grub/multiboot.h: Likewise.
29577 * include/grub/usbdesc.h: Likewise.
29578 * include/grub/multiboot2.h: Likewise.
29579 * include/grub/acpi.h: Likewise.
29580 * include/grub/efiemu/efiemu.h: Likewise.
29581 * include/grub/disk.h: Likewise.
29582 * include/grub/ieee1275/ieee1275.h: Likewise.
29583 * include/grub/net.h: Likewise.
29584 * include/grub/machoload.h: Likewise.
29585 * include/grub/macho.h: Likewise.
29586 * include/multiboot.h: Likewise.
29587 * genmoddep.awk: Likewise.
29588 * normal/main.c: Likewise.
29589 * normal/menu_entry.c: Likewise.
29590 * normal/menu_viewer.c: Likewise.
29591 * normal/completion.c: Likewise.
29592 * normal/cmdline.c: Likewise.
29593 * normal/misc.c: Likewise.
29594 * normal/datetime.c: Likewise.
29595 * bus/usb/usbtrans.c: Likewise.
29596 * bus/usb/ohci.c: Likewise.
29597 * bus/usb/uhci.c: Likewise.
29598 * bus/usb/usb.c: Likewise.
29599 * mmap/efi/mmap.c: Likewise.
29600 * mmap/i386/pc/mmap_helper.S: Likewise.
29601 * mmap/i386/pc/mmap.c: Likewise.
29602 * mmap/i386/mmap.c: Likewise.
29603 * mmap/i386/uppermem.c: Likewise.
29604 * mmap/mmap.c: Likewise.
29605 * commands/acpi.c: Likewise.
29606 * commands/echo.c: Likewise.
29607 * commands/blocklist.c: Likewise.
29608 * commands/loadenv.c: Likewise.
29609 * commands/usbtest.c: Likewise.
29610 * commands/boot.c: Likewise.
29611 * commands/parttool.c: Likewise.
29612 * commands/search.c: Likewise.
29613 * commands/cat.c: Likewise.
29614 * commands/i386/pc/play.c: Likewise.
29615 * commands/i386/pc/drivemap.c: Likewise.
29616 * commands/i386/pc/vbeinfo.c: Likewise.
29617 * commands/i386/pc/acpi.c: Likewise.
29618 * commands/i386/pc/vbetest.c: Likewise.
29619 * commands/ls.c: Likewise.
29620 * commands/cmp.c: Likewise.
29621 * commands/test.c: Likewise.
29622 * commands/efi/acpi.c: Likewise.
29623 * commands/gptsync.c: Likewise.
29624 * commands/help.c: Likewise.
29625 * partmap/amiga.c: Likewise.
29626 * partmap/apple.c: Likewise.
29627 * partmap/acorn.c: Likewise.
29628 * partmap/pc.c: Likewise.
29629 * partmap/sun.c: Likewise.
29630 * partmap/gpt.c: Likewise.
29631 * script/sh/lexer.c: Likewise.
29632 * script/sh/function.c: Likewise.
29633 * font/font.c: Likewise.
29634 * font/font_cmd.c: Likewise.
29635 * loader/powerpc/ieee1275/linux.c: Likewise.
29636 * loader/efi/chainloader.c: Likewise.
29637 * loader/multiboot_loader.c: Likewise.
29638 * loader/macho.c: Likewise.
29639 * loader/i386/multiboot.c: Likewise.
29640 * loader/i386/linux.c: Likewise.
29641 * loader/i386/pc/linux.c: Likewise.
29642 * loader/i386/pc/multiboot2.c: Likewise.
29643 * loader/i386/pc/chainloader.c: Likewise.
29644 * loader/i386/pc/xnu.c: Likewise.
29645 * loader/i386/bsd_trampoline.S: Likewise.
29646 * loader/i386/efi/linux.c: Likewise.
29647 * loader/i386/multiboot_elfxx.c: Likewise.
29648 * loader/i386/bsd_helper.S: Likewise.
29649 * loader/i386/bsd.c: Likewise.
29650 * loader/i386/linux_trampoline.S: Likewise.
29651 * loader/i386/xnu_helper.S: Likewise.
29652 * loader/i386/xnu.c: Likewise.
29653 * loader/i386/bsd_pagetable.c: Likewise.
29654 * loader/i386/multiboot_helper.S: Likewise.
29655 * loader/xnu.c: Likewise.
29656 * loader/xnu_resume.c: Likewise.
29657 * io/gzio.c: Likewise.
29658 * term/efi/console.c: Likewise.
29659 * term/terminfo.c: Likewise.
29660 * term/ieee1275/ofconsole.c: Likewise.
29661 * term/i386/pc/serial.c: Likewise.
29662 * term/i386/pc/vesafb.c: Likewise.
29663 * term/i386/pc/vga.c: Likewise.
29664 * term/usb_keyboard.c: Likewise.
29665 * term/gfxterm.c: Likewise.
29666 * aclocal.m4: Likewise.
29667 * util/lvm.c: Likewise.
29668 * util/grub.d/30_os-prober.in: Likewise.
29669 * util/grub.d/10_hurd.in: Likewise.
29670 * util/console.c: Likewise.
29671 * util/grub-macho2img.c: Likewise.
29672 * util/grub-probe.c: Likewise.
29673 * util/hostfs.c: Likewise.
29674 * util/i386/pc/grub-mkimage.c: Likewise.
29675 * util/i386/pc/grub-setup.c: Likewise.
29676 * util/i386/efi/grub-mkimage.c: Likewise.
29677 * util/grub-mkconfig.in: Likewise.
29678 * util/raid.c: Likewise.
29679 * util/resolve.c: Likewise.
29680 * util/grub-mkdevicemap.c: Likewise.
29681 * util/grub-emu.c: Likewise.
29682 * util/getroot.c: Likewise.
29683 * util/hostdisk.c: Likewise.
29684 * util/usb.c: Likewise.
29685 * util/grub-editenv.c: Likewise.
29686 * util/misc.c: Likewise.
29687
d2d49665 296882009-06-10 Felix Zielcke <fzielcke@z-51.de>
29689
29690 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29691 `genparttoollist.sh'.
29692 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29693 Add `*.sh' to the list find searches for and change `mdate.sh'
29694 to `mdate-sh'.
29695
fe052e37 296962009-06-10 Pavel Roskin <proski@gnu.org>
29697
2763ac18 29698 * include/grub/multiboot2.h: Provide compatibility defines for
29699 multiboot2.h.
29700 * include/multiboot2.h: Include stdint.h only if needed, using
29701 angle brackets.
29702 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29703 grub/multiboot2.h.
29704 * loader/ieee1275/multiboot2.c: Likewise.
29705 * loader/multiboot2.c: Likewise.
29706 * loader/multiboot_loader.c: Likewise.
29707
437e6adc 29708 * configure.ac: Use -nostdlib when probing for the target. It
29709 should not be required to have libc for the target.
29710
06a6836c 29711 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29712 they fail without libc headers for the target.
29713 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29714 exports.
29715 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29716 preprocessor conditionals.
29717
fe052e37 29718 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29719 build system doesn't need to be aware of the tar.c internals.
29720
afd22553 297212009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29722
afd22553 29723 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29724
6b787c4f 297252009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29726
29727 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29728 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29729
297302009-06-09 Felix Zielcke <fzielcke@z-51.de>
29731
29732 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29733 aren't available if ata.mod gets used.
6b787c4f 29734
473d1e45 297352009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29736
473d1e45 29737 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29738 initialising controller.
473d1e45 29739 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29740
255a27d4 297412009-06-08 Felix Zielcke <fzielcke@z-51.de>
29742
29743 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29744 to choose between ata and biosdisk module on i386-pc.
29745
473d1e45 297462009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29747
d55842d8 29748 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29749 Subclass and Programming Interface fields in terms of the 3 byte
29750 Class Code register.
29751 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29752
fa5db0b1 29753 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29754 interface is OHCI. Add grub_dprintf for symmetry with
29755 bus/usb/uhci.c.
29756 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29757 interface is UHCI. Add interf variable for programming
29758 interface. Print interface with class/subclass.
29759
c0947beb 29760 * bus/usb/ohci.c: Set interf with correct field.
29761
69da8877 29762 * bus/usb/uhci.c: Remove unneeded doubled lines.
29763 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29764 Remove whitespace inside comment.
29765
9e172e30 297662009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29767
29768 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29769 as fallback an equivalent option without depth.
29770
de65ee2b 297712009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29772
29773 Not fail if unable to retrieve C/H/S on LBA disks
29774
473d1e45 29775 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29776 if unable to retrieve C/H/S on LBA disks
29777
b57ea2c9 297782009-06-08 Pavel Roskin <proski@gnu.org>
29779
29780 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29781 about aliasing.
29782
af361263 297832009-06-08 Felix Zielcke <fzielcke@z-51.de>
29784
29785 * Makefile.in (uninstall): Remove all $lib_DATA files.
29786
4c9ec6b3 297872009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29788
29789 Bugfix: install on partitionless device
29790
29791 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29792 is a whole disk
29793
e76fc924 297942009-06-08 Felix Zielcke <fzielcke@z-51.de>
29795
29796 * Makefile.in (uninstall): Remove all $include_DATA files.
29797
ba5a0d05 297982009-06-08 Felix Zielcke <fzielcke@z-51.de>
29799
29800 * commands/true.c: New file. Implement the true and false commands.
29801 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29802 (true_mod_SOURCES): New variable.
29803 (true_mod_CFLAGS): Likewise.
29804 (true_mod_LDFLAGS): Likewise.
29805
c8048e32 298062009-06-05 Colin D Bennett <colin@gibibit.com>
29807
29808 Optimized font character lookup using binary search instead of linear
29809 search. Fonts now are required to have the character index ordered by
29810 code point.
29811
29812 * font/font.c (load_font_index): Verify that fonts have ordered
29813 character indices.
29814 (find_glyph): Use binary search instead of linear search to find a
29815 character in a font.
29816
408305be 298172009-06-05 Michael Scherer <misc@mandriva.org>
29818
29819 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29820 uses case sensitive btree.
29821 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29822 only for case insensitive filesystems.
29823
8ee1e0d9 298242009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29825
29826 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29827 * conf/common.rmk (search_mod_CFLAGS): likewise
29828
a9966eb1 298292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29830
473d1e45 29831 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29832 compensate a compiler bug
29833
9e7100fb 298342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29835
473d1e45 29836 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29837 instead of '\b'
473d1e45 29838
ede21d71 298392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29840
29841 Definitions for creating asm symbols with Apple's CC
29842
29843 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29844 [APPLE_CC] (VARIABLE): likewise
29845
9dbf7653 298462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29847
29848 Disable lnxboot.img when compiled
29849 with Apple's CC
29850
29851 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29852 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29853 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29854 [! APPLE_CC] (CODE_LENG): skip
29855 [! APPLE_CC] (setup_sects): likewise
29856 [! APPLE_CC]: skip filling
473d1e45 29857
e93cdc3d 298582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29859
29860 Address in trampolines based on 32-bit registers when compiled
29861 with Apple's CC
29862
473d1e45 29863 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29864 for addresses
29865 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29866
6c688477 298672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29868
29869 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29870
29871 * kern/misc.c [APPLE_CC] (memcpy): new function
29872 [APPLE_CC] (memmove): likewise
29873 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29874 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29875 (memset): likewise
29876 (abort): likewise
29877 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29878 APPLE_CC are defined
29879 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29880 (grub_assert_fail): make prototype conditional
29881
e37ffc5c 298822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29883
29884 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29885
473d1e45 29886 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29887 grub-macho2img
e37ffc5c 29888 (CLEANFILES): add grub-macho2img
29889 (grub_macho2img_SOURCES): new variable
29890 * kern/i386/pc/startup.S (bss_start): new variable
29891 (bss_end): likewise
29892 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29893 * util/grub-macho2img.c: new file
29894
cf00df31 298952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29896
29897 Use objconv when compiling with Apple's CC
29898
29899 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29900 (efiemu64.o): likewise
29901 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29902 when compiling with Apple's CC
29903 (efiemu64_s.o): likewise
29904 * configure.ac: check for objconv when compiling with Apple's CC
29905 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29906
d119a20c 299072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29908
29909 Define segment as well as section when compiling with
29910 Apple's CC
29911
29912 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29913 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29914 (efiemu_convert_pointer): likewise
29915 (efiemu_set_virtual_address_map): likewise
29916 (efiemu_convert_pointer): likewise
29917 (efiemu_getcrc32): likewise
29918 (init_crc32_table): likewise
29919 (reflect): likewise
29920 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29921 (GRUB_MOD_DEP): likewise
473d1e45 29922
c8600122 299232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29924
29925 Allow a compilation without -mcmodel=large
29926
29927 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29928 when compiled without -mcmodel=large
473d1e45 29929 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29930 without -mcmodel=large
473d1e45 29931 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29932 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29933
e8df1d4e 299342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29935
29936 Remove nested functions in efiemu core
29937
29938 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29939
cc6c3ac1 299402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29941
29942 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29943
29944 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29945 temporary storage
473d1e45 29946 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29947 using Apple's CC
cc6c3ac1 29948 (grub_cpu_is_tsc_supported): likewise
29949 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29950
3e325901 299512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29952
29953 Absolute addressing through constant with Apple's cc
29954
29955 * kern/i386/pc/startup.S: Define necessary constants
29956 and address through it when using ABS with Apple's CC
29957 * boot/i386/pc/diskboot.S: likewise
29958 * boot/i386/pc/boot.S: likewise
29959 * boot/i386/pc/lnxboot.S: likewise
29960 * boot/i386/pc/cdboot.S: likewise
29961 * mmap/i386/pc/mmap_helper.S: likewise
29962 * commands/i386/pc/drivemap_int13h.S: likewise
29963
2b167a72 299642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29965
29966 Check if compiler is apple cc
29967
29968 * Makefile.in (ASFLAGS): new variable
29969 (TARGET_ASFLAGS): likewise
29970 (TARGET_MODULE_FORMAT): likewise
29971 (TARGET_APPLE_CC): likewise
29972 (OBJCONV): likewise
29973 (TARGET_IMG_CFLAGS): likewise
29974 (TARGET_CPPFLAGS): add includedir
29975 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29976 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29977 Check for linker script only if compiler isn't Apple's CC
29978 (TARGET_MODULE_FORMAT): set
29979 (TARGET_APPLE_CC): likewise
29980 (TARGET_ASFLAGS): likewise
29981 (ASFLAGS): likewise
29982 Check for objcopy only if compiler isn't Apple's CC
29983 Check for BSS symbol only if compiler isn't Apple's CC
29984 * genmk.rb: adapt nm options if we use Apple's utils
29985 * aclocal.m4 (grub_apple_cc): new test
29986 (grub_apple_target_cc): likewise
473d1e45 29987
fb14123e 299882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29989
29990 Simplify sed expressions and improve awk
29991
29992 * Makefile.in (install-local): simplify sed expression
29993 * gencmdlist.sh: likewise
29994 * genmoddep.awk: avoid adding module as a dependency of itself
29995
5b889789 299962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29997
29998 Add missing start symbols
29999
30000 * boot/i386/pc/boot.S: add start
fb14123e 30001 * boot/i386/pc/pxeboot.S: likewise
473d1e45 30002
fd2bf2e3 300032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30004
30005 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 30006
30007 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 30008 (relocate_addresses): consider both r_addend and value at offset
30009 (make_mods_section): zerofill modinfo and header
30010 (convert_elf): write prefix here
473d1e45 30011
5389763d 300122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30013
30014 Use .asciz instead of .string
30015
30016 * i386/pc/diskboot.S: use .asciz instead of .string
30017 * i386/pc/boot.S: likewise
30018 * include/grub/dl.h (GRUB_MOD_DEP): likewise
30019 (GRUB_MOD_NAME): likewise
473d1e45 30020
3eb5ed4e 300212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30022
30023 gfxpayload support
30024
30025 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
30026 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
30027 (grub_video_setup): remove
30028 (grub_video_set_mode): new prototype
30029 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
30030 (vid_mode): remove
30031 (linux_vesafb_res): compile only on PCBIOS
30032 (grub_linux_boot): support gfxpayload
30033 * loader/i386/pc/xnu.c (video_hook): new function
30034 (grub_xnu_set_video): support gfxpayload
30035 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
30036 (DEFAULT_VIDEO_HEIGHT): likewise
30037 (DEFAULT_VIDEO_FLAGS): likewise
30038 (DEFAULT_VIDEO_MODE): new definition
30039 (video_hook): new function
30040 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 30041 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 30042 loading xnu
30043 * video/video.c (grub_video_setup): removed
473d1e45 30044 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 30045 grub_video_setup
30046
4b0e1143 300472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30048
30049 Avoid calling biosdisk in drivemap
30050
30051 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
30052 (revparse_biosdisk): likewise
30053 (list_mappings): derive name from id directly
30054 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 30055
fda6cb98 300562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
30057
30058 Script fixes
30059
30060 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
30061 (grub_lexer_param): add tokenonhold
30062 (grub_script_create_cmdline): remove cmdline. All callers updated
30063 (grub_script_function_create): make functionname
30064 grub_script_arg. All callers updated
30065 (grub_script_execute_argument_to_string): new prototype
30066 * kern/parser.c (state_transitions): reorder
30067 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 30068 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30069 make global
30070 (grub_script_execute_cmdline): use new format
30071 * script/sh/function.c (grub_script_function_create): make functionname
30072 grub_script_arg. All callers updated
473d1e45 30073 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30074 (grub_script_yylex): remove
30075 (grub_script_yylex2): renamed to ...
30076 (grub_script_yylex): ...renamed
30077 parse the expressions like a${b}c
30078 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30079 (GRUB_PARSER_TOKEN_VAR): remove
30080 (GRUB_PARSER_TOKEN_NAME): likewise
30081 ("if"): declare as typeless
30082 ("while"): likewise
30083 ("function"): likewise
30084 ("else"): likewise
30085 ("then"): likewise
30086 ("fi"): likewise
30087 (text): remove
30088 (argument): likewise
30089 (script): accept empty scripts and make exit on error
30090 (arguments): use GRUB_PARSER_TOKEN_ARG
30091 (function): likewise
30092 (command): move error handling to script
30093 (menuentry): move grub_script_lexer_ref before
473d1e45 30094 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30095 argument. All callers updated
30096
f4448a07 300972009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30098
30099 Prevent GRUB from probing floppies during boot.
30100
30101 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30102 * commands/search.c (options): Add --no-floppy.
30103 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30104 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30105 --no-floppy when searching for UUIDs.
30106
2bf5885a 301072009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30108
30109 Simplify the code duplication in commands/search.c.
30110
30111 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30112 (search_fs): ... this. Update all users.
30113
f6fd460a 301142009-06-03 Felix Zielcke <fzielcke@z-51.de>
30115
30116 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30117
cbb3c83e 301182009-05-28 Pavel Roskin <proski@gnu.org>
30119
57788cfd 30120 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30121 Remove the original symlink explicitly.
30122
cbb3c83e 30123 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30124 just one slash. That's how grub_fshelp_find_file() does it.
30125
cd0d5e30 301262009-05-26 Pavel Roskin <proski@gnu.org>
30127
f0f8bbe2 30128 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30129 to `str'.
30130
cd0d5e30 30131 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30132 possibly unused.
30133
8c2cab51 301342009-05-25 Christian Franke <franke@computer.org>
30135
30136 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30137 register.
30138 (grub_atapi_identify): Add wait after drive select.
30139 (grub_ata_identify): Do more strict status register check before
30140 calling grub_atapi_identify (). Suppress error message if status
30141 register is 0x00 after command failure. Add status register
30142 check after PIO read to avoid bogus identify due to stuck DRQ.
30143 Thanks to Pavel Roskin for testing.
30144 (grub_device_initialize): Remove unsafe status register check.
30145 Thanks to 'phcoder' for problem report and patch.
30146 Prevent sign extension in debug message.
30147
230c0ad6 301482009-05-23 Colin D Bennett <colin@gibibit.com>
30149
30150 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30151 definition file, and functions defined in `normal/menu.c' have had
30152 their prototypes moved to `include/grub/menu.h' for consistency.
30153
30154 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30155 from normal.h.
30156 (grub_menu_get_entry): Likewise.
30157 (grub_menu_get_timeout): Likewise.
30158 (grub_menu_set_timeout): Likewise.
30159 (grub_menu_execute_entry): Likewise.
30160 (grub_menu_execute_with_fallback): Likewise.
30161 (grub_menu_entry_run): Likewise.
30162
30163 * include/grub/normal.h: Re-ordered and grouped function
30164 prototypes by file that the function is defined in.
30165 (grub_menu_execute_callback): Removed; moved to menu.h.
30166 (grub_menu_get_entry): Likewise.
30167 (grub_menu_get_timeout): Likewise.
30168 (grub_menu_set_timeout): Likewise.
30169 (grub_menu_execute_entry): Likewise.
30170 (grub_menu_execute_with_fallback): Likewise.
30171 (grub_menu_entry_run): Likewise.
30172 (grub_menu_addentry): Renamed from this ...
30173 (grub_normal_add_menu_entry): ... to this.
30174
30175 * normal/main.c (grub_menu_addentry): Renamed from this ...
30176 (grub_normal_add_menu_entry): ... to this.
30177
30178 * script/sh/execute.c (grub_script_execute_menuentry): Update
30179 reference to renamed grub_menu_addentry function.
30180
861f03a5 301812009-05-23 Felix Zielcke <fzielcke@z-51.de>
30182
30183 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30184
96b1619a 301852009-05-22 Pavel Roskin <proski@gnu.org>
30186
bf6a5fb2 30187 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30188 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30189 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30190 compiling for the i386 targets, but not for the utilities.
30191
96b1619a 30192 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30193 to grub_uint8_t.
30194 (grub_root_drive): Likewise.
30195 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30196 remove alignment.
30197 (grub_root_drive): Change size to byte.
30198 (grub_start_addr): Remove.
30199 (grub_end_addr): Likewise.
30200 (grub_apm_bios_info): Likewise.
30201
b729776b 302022009-05-21 Felix Zielcke <fzielcke@z-51.de>
30203
30204 * normal/i386: Remove.
30205 * normal/powerpc: Likewise.
30206 * normal/sparc64: Likewise.
30207 * normal/x86_64: Likewise.
30208
0a15ce80 302092009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30210
30211 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30212 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30213 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30214
33db9015 302152009-05-18 Colin D Bennett <colin@gibibit.com>
30216
d6da58e6 30217 Display error messages when parsing a Lua statement fails.
30218 Previously, executing a syntactically invalid statement like
30219 ")foo" or "bar;" would silently fail.
33db9015 30220
30221 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30222 (grub_lua_parse_line): Improved reporting of Lua parser and
30223 execution errors.
33db9015 30224
46422c89 302252009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30226
30227 Remove -Werror which causes build to fail on some systems
30228
30229 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30230 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30231 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30232
22f53a96 302332009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30234
30235 trampoline for linux on 64-bit platform
30236
18f547ad 30237 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30238 loader/i386/efi/linux_trampoline.S
30239 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30240 declaration
d6da58e6 30241 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30242 here
22f53a96 30243 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30244 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30245 trampoline
22f53a96 30246 (jumpvector): removed
30247 (grub_linux_trampoline_start): new declaration
30248 (grub_linux_trampoline_end): likewise
30249 (grub_linux_boot): use trampoline when on 64-bit platform
30250 * loader/i386/linux.c: likewise
30251
cb5a0f40 302522009-05-16 Pavel Roskin <proski@gnu.org>
30253
30254 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30255 const to avoid a warning.
30256 (grub_lua_setenv): Likewise.
30257 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30258 lmsg to fix a warning.
30259
334f2c28 302602009-05-16 Felix Zielcke <fzielcke@z-51.de>
30261
30262 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30263 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30264 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30265 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30266 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30267 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30268 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30269 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30270
59e5d3ec 302712009-05-16 Felix Zielcke <fzielcke@z-51.de>
30272
30273 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30274
9d87a1ba 302752009-05-16 Bean <bean123ch@gmail.com>
30276
30277 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30278 (lua_mod_SOURCES): New variable.
30279 (lua_mod_CFLAGS): Likewise.
30280 (lua_mod_LDFLAGS): Likewise.
30281
30282 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30283 (setjmp_mod_SOURCES): New variable.
30284 (setjmp_mod_CFLAGS): Likewise.
30285 (setjmp_LDFLAGS): Likewise.
30286
30287 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30288 (setjmp_mod_SOURCES): New variable.
30289 (setjmp_mod_CFLAGS): Likewise.
30290 (setjmp_LDFLAGS): Likewise.
30291
30292 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30293 (setjmp_mod_SOURCES): New variable.
30294 (setjmp_mod_CFLAGS): Likewise.
30295 (setjmp_LDFLAGS): Likewise.
30296
30297 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30298 (setjmp_mod_SOURCES): New variable.
30299 (setjmp_mod_CFLAGS): Likewise.
30300 (setjmp_LDFLAGS): Likewise.
30301
30302 * normal/i386/setjmp.S: Moved from here ...
30303 * lib/i386/setjmp.S: ... Moved here
30304 * normal/x86_64/setjmp.S: Moved from here ...
30305 * lib/x86_64/setjmp.S: ... Moved here
30306 * normal/powerpc/setjmp.S: Moved from here ...
30307 * lib/powerpc/setjmp.S: ... Moved here
30308 * normal/sparc64/setjmp.S: Moved from here ...
30309 * lib/sparc64/setjmp.S: ... Moved here
30310
30311 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30312 returns_twice in mingw.
30313
30314 * script/lua/grub_lib.c: New file.
30315 * script/lua/grub_lib.h: Likewise.
30316 * script/lua/grub_lua.h: Likewise.
30317 * script/lua/grub_main.c: Likewise.
30318 * script/lua/lapi.c: Likewise.
30319 * script/lua/lapi.h: Likewise.
30320 * script/lua/lauxlib.c: Likewise.
30321 * script/lua/lauxlib.h: Likewise.
30322 * script/lua/lbaselib.c: Likewise.
30323 * script/lua/lcode.c: Likewise.
30324 * script/lua/lcode.h: Likewise.
30325 * script/lua/ldblib.c: Likewise.
30326 * script/lua/ldebug.c: Likewise.
30327 * script/lua/ldebug.h: Likewise.
30328 * script/lua/ldo.c: Likewise.
30329 * script/lua/ldo.h: Likewise.
30330 * script/lua/ldump.c: Likewise.
30331 * script/lua/lfunc.c: Likewise.
30332 * script/lua/lfunc.h: Likewise.
30333 * script/lua/lgc.c: Likewise.
30334 * script/lua/lgc.h: Likewise.
30335 * script/lua/linit.c: Likewise.
30336 * script/lua/liolib.c: Likewise.
30337 * script/lua/llex.c: Likewise.
30338 * script/lua/llex.h: Likewise.
30339 * script/lua/llimits.h: Likewise.
30340 * script/lua/lmathlib.c: Likewise.
30341 * script/lua/lmem.c: Likewise.
30342 * script/lua/lmem.h: Likewise.
30343 * script/lua/loadlib.c: Likewise.
30344 * script/lua/lobject.c: Likewise.
30345 * script/lua/lobject.h: Likewise.
30346 * script/lua/lopcodes.c: Likewise.
30347 * script/lua/lopcodes.h: Likewise.
30348 * script/lua/loslib.c: Likewise.
30349 * script/lua/lparser.c: Likewise.
30350 * script/lua/lparser.h: Likewise.
30351 * script/lua/lstate.c: Likewise.
30352 * script/lua/lstate.h: Likewise.
30353 * script/lua/lstring.c: Likewise.
30354 * script/lua/lstring.h: Likewise.
30355 * script/lua/lstrlib.c: Likewise.
30356 * script/lua/ltable.c: Likewise.
30357 * script/lua/ltable.h: Likewise.
30358 * script/lua/ltablib.c: Likewise.
30359 * script/lua/ltm.c: Likewise.
30360 * script/lua/ltm.h: Likewise.
30361 * script/lua/lua.h: Likewise.
30362 * script/lua/luaconf.h: Likewise.
30363 * script/lua/lualib.h: Likewise.
30364 * script/lua/lundump.c: Likewise.
30365 * script/lua/lundump.h: Likewise.
30366 * script/lua/lvm.c: Likewise.
30367 * script/lua/lvm.h: Likewise.
30368 * script/lua/lzio.c: Likewise.
30369 * script/lua/lzio.h: Likewise.
30370
5e898c9d 303712009-05-16 Bean <bean123ch@gmail.com>
30372
30373 * include/grub/kernel.h (grub_module_header_types): Add type
30374 OBJ_TYPE_CONFIG.
30375
30376 * kern/main.c (grub_load_config): New function.
30377 (grub_main): Call grub_load_config to read boot config.
30378
30379 * grub-mkimage (generate_image): New parameter config_path.
30380 (options): New option --config.
30381 (main): Parse --config option, and pass it to generate_image.
30382
cf353a47 303832009-05-14 Christian Franke <franke@computer.org>
30384
30385 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30386 This fixes build on Cygwin.
30387
3834887f 303882009-05-14 Pavel Roskin <proski@gnu.org>
30389
30390 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30391 jump. This saves two bytes, so the typical case of 2 swapped
30392 drives would fit 32 bytes.
30393
8090fc01 303942009-05-13 Pavel Roskin <proski@gnu.org>
30395
ac963883 30396 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30397 grub_uint32_t to avoid a warning.
30398
8090fc01 30399 * loader/i386/linux.c (allocate_pages): When assigning
30400 real_mode_mem, cast through grub_size_t to fix a warning. The
30401 code already makes sure that the value would fit a pointer.
30402 (grub_linux_setup_video): Cast render_target->data to
30403 grub_size_t to fix a warning.
30404
18f547ad 304052009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30406
30407 * commands/i386/pc/drivemap.c: New file - implement drivemap
30408 command.
30409 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30410 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30411
6f6a8b28 304122009-05-13 Pavel Roskin <proski@gnu.org>
30413
30414 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30415 embedding_area_exists.
30416
15fbf4c4 304172009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30418
30419 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30420 it easier to understand / work with.
59978c8a 30421 Improve warning messages for cases where there's no embedding area,
30422 or when it is too small (or core.img too large).
15fbf4c4 30423
238e871f 304242009-05-13 Pavel Roskin <proski@gnu.org>
30425
0ab3a9a4 30426 * loader/i386/pc/multiboot2.c: Add necessary includes for
30427 grub_multiboot2_real_boot().
30428
a2c8c5f8 30429 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30430 PX record is always little-endian. We only need the lower 2
30431 bytes of the mode.
30432
faec96af 30433 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30434 facilitate code reuse.
30435 (grub_cpio_mount): Use "struct head", not a char buffer. This
30436 fixes a warning reported by gcc 4.4.
30437
238e871f 30438 * kernel/disk.c (grub_disk_read): Use void pointer for the
30439 buffer.
30440 (grub_disk_write): Use const void pointer for the buffer.
30441 Adjust all callers. Remove unnecessary casts.
30442
901d2f0c 304432009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30444
30445 * util/i386/pc/grub-install.in: Update copyright year.
30446
18f547ad 304472009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30448
30449 gptsync
30450
30451 * commands/gptsync.c: new file
30452 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30453 (gptsync_mod_SOURCES): new variable
30454 (gptsync_mod_CFLAGS): likewise
30455 (gptsync_mod_LDFLAGS): likewise
18f547ad 30456 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30457 new definition
30458 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30460 * conf/i386-ieee1275.rmk: likewise
30461 * conf/i386-pc.rmk: likewise
30462 * conf/powerpc-ieee1275.rmk: likewise
30463
b4ba690a 304642009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30465
30466 Fixed grub-emu
30467
30468 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30469 (grub_dl_ref): likewise
30470
317e1a44 304712009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30472
30473 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30474 split in two functions (one for msdos and one for gpt).
30475
041b8094 304762009-05-08 Pavel Roskin <proski@gnu.org>
30477
752473c2 30478 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30479 not modified.
30480
041b8094 30481 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30482 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30483 Initialize them with -1. Add sanity check for bad1. Eliminate
30484 nerr variable.
30485
172800ce 304862009-05-08 David S. Miller <davem@davemloft.net>
30487
30488 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30489
29aa5e81 304902009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30491
30492 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30493 existence.
29aa5e81 30494
96613b62 304952009-05-05 Felix Zielcke <fzielcke@z-51.de>
30496
30497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30498 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30499
eef73c8a 305002009-05-05 David S. Miller <davem@davemloft.net>
30501
30502 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30503
119494b5 305042009-05-05 Pavel Roskin <proski@gnu.org>
30505
30506 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30507 of grub_dl_ref() and grub_dl_unref().
30508 * commands/parttool.c: Remove preprocessor conditionals around
30509 grub_dl_ref() and grub_dl_unref().
30510 * fs/affs.c: Likewise.
30511 * fs/afs.c: Likewise.
30512 * fs/cpio.c: Likewise.
30513 * fs/ext2.c: Likewise.
30514 * fs/fat.c: Likewise.
30515 * fs/hfs.c: Likewise.
30516 * fs/hfsplus.c: Likewise.
30517 * fs/iso9660.c: Likewise.
30518 * fs/jfs.c: Likewise.
30519 * fs/minix.c: Likewise.
30520 * fs/ntfs.c: Likewise.
30521 * fs/reiserfs.c: Likewise.
30522 * fs/sfs.c: Likewise.
30523 * fs/udf.c: Likewise.
30524 * fs/ufs.c: Likewise.
30525 * fs/xfs.c: Likewise.
30526 * include/grub/dl.h: Likewise.
30527 * loader/xnu.c: Likewise.
30528
de5fd76e 305292009-05-04 Pavel Roskin <proski@gnu.org>
30530
30531 * commands/acpi.c: Remove unused variable my_mod.
30532 * partmap/amiga.c: Likewise.
30533 * partmap/apple.c: Likewise.
30534 * partmap/gpt.c: Likewise.
30535 * partmap/pc.c: Likewise.
30536 * partmap/sun.c: Likewise.
30537 * term/gfxterm.c: Likewise.
30538 * term/i386/pc/vesafb.c: Likewise.
30539 * term/i386/pc/vga.c: Likewise.
30540
983598ad 305412009-05-04 David S. Miller <davem@davemloft.net>
30542
30543 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30544 pointer args to grub_ieee1275_get_property().
30545
8aadec43 30546 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30547
9554b15e 30548 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30549 devices, and do not traverse down under controller nodes.
30550
67e23c90 30551 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30552 (grub_ofdisk_open): Use it to un-escape "," characters.
30553 * kern/disk.c (find_part_sep): New.
30554 (grub_disk_open): Use it to find the first non-escaped ','
30555 character in the disk name.
30556 * util/ieee1275/devicemap.c (escape_of_path): New.
30557 (grub_util_emit_devicemap_entry): Use it.
30558 * util/sparc64/ieee1275/grub-install.in: Update script to
30559 strip partition specifiers properly by not triggering on
30560 '\' escaped ',' characters.
30561
74bfdd2f 305622009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30563
30564 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30565 to 0x300.
30566 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30567 resolutions.
30568 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30569 on documentation from Wikipedia).
30570
4241d2b1 305712009-05-04 Pavel Roskin <proski@gnu.org>
30572
30573 * disk/ata.c: Spelling fixes.
30574 * disk/raid.c: Likewise.
30575 * disk/usbms.c: Likewise.
30576 * disk/dmraid_nvidia.c: Likewise.
30577 * kern/ieee1275/openfw.c: Likewise.
30578 * kern/ieee1275/init.c: Likewise.
30579 * kern/ieee1275/cmain.c: Likewise.
30580 * boot/i386/pc/cdboot.S: Likewise.
30581 * video/readers/png.c: Likewise.
30582 * video/i386/pc/vbe.c: Likewise.
30583 * fs/udf.c: Likewise.
30584 * fs/hfs.c: Likewise.
30585 * fs/reiserfs.c: Likewise.
30586 * efiemu/runtime/efiemu.c: Likewise.
30587 * efiemu/main.c: Likewise.
30588 * efiemu/mm.c: Likewise.
30589 * include/grub/elf.h: Likewise.
30590 * include/grub/xnu.h: Likewise.
30591 * include/grub/usbdesc.h: Likewise.
30592 * include/grub/usb.h: Likewise.
30593 * include/grub/script_sh.h: Likewise.
30594 * include/grub/lib/LzmaEnc.h: Likewise.
30595 * include/grub/efiemu/efiemu.h: Likewise.
30596 * include/grub/command.h: Likewise.
30597 * normal/menu.c: Likewise.
30598 * normal/main.c: Likewise.
30599 * normal/datetime.c: Likewise.
30600 * bus/usb/uhci.c: Likewise.
30601 * mmap/i386/uppermem.c: Likewise.
30602 * mmap/mmap.c: Likewise.
30603 * commands/acpi.c: Likewise.
30604 * commands/test.c: Likewise.
30605 * partmap/apple.c: Likewise.
30606 * font/font.c: Likewise.
30607 * loader/sparc64/ieee1275/linux.c: Likewise.
30608 * loader/macho.c: Likewise.
30609 * loader/i386/bsd_trampoline.S: Likewise.
30610 * loader/i386/bsd.c: Likewise.
30611 * loader/xnu.c: Likewise.
30612 * term/i386/pc/vesafb.c: Likewise.
30613 * term/usb_keyboard.c: Likewise.
30614 * util/resolve.c: Likewise.
30615 * util/getroot.c: Likewise.
30616
0cfc0083 306172009-05-04 Felix Zielcke <fzielcke@z-51.de>
30618
30619 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30620
7c1d00cd 306212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30622
30623 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30624 build error.
30625
b01f0548 306262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30627
30628 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30629 parameter only available on BIOS.
30630
ecc3eb22 306312009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30632
30633 Removed wrong semicolon in declaration
30634
30635 * grub/misc.h (grub_dprintf): remove semicolon
30636
112972a9 306372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30638
30639 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30640 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30641 is done by grub_cmd_linux() now).
30642 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30643 restore video to text mode.
30644 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30645 indicates lack of "vga=" parameter. "vga=0" is mapped to
30646 `GRUB_LINUX_VID_MODE_NORMAL'.
30647
afd5c115 306482009-05-04 Felix Zielcke <fzielcke@z-51.de>
30649
30650 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30651 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30652 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30653 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30654 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30655 `grub_script.tab.c'.
30656
30657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30658 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30662
faa517ce 30663 * Makefile.in: Remove duplicated 2008 in Copyright line.
30664
ae0c0bdc 306652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30666
473d1e45 30667 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30668 unconditionally.
30669 * include/grub/util/misc.h (grub_util_warn): New declaration.
30670
30671 * util/i386/pc/grub-install.in: Understand --force and pass it down
30672 to grub-setup.
30673
30674 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30675 down to setup().
30676 (setup): Improve error messages and add warnings when requested to
30677 install in odd layouts. Refuse to install using blocklists unless
30678 --force was set.
30679
18f547ad 306802009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30681
30682 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30683
6d260daa 306842009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30685
30686 Updated copyright year
30687
30688 * fs/hfsplus.c: updated copyright year
18f547ad 30689
69f853f8 306902009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30691
30692 HFS+ UUID
30693
18f547ad 30694 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30695 in the space previously used by unused3
30696 (grub_hfsplus_uuid): new function
30697 (grub_hfsplus_fs): added uuid field
30698
4c402e73 306992009-05-03 Pavel Roskin <proski@gnu.org>
30700
30701 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30702 suppress warnings. It's no longer needed.
30703 * disk/host.c: Likewise.
30704 * disk/ata_pthru.c: Likewise.
30705 * disk/loopback.c: Likewise.
30706 * hook/datehook.c: Likewise.
30707 * parttool/pcpart.c: Likewise.
30708 * fs/i386/pc/pxe.c: Likewise.
30709 * fs/ntfscomp.c: Likewise.
30710 * efiemu/main.c: Likewise.
30711 * mmap/mmap.c: Likewise.
30712 * commands/crc.c: Likewise.
30713 * commands/hexdump.c: Likewise.
30714 * commands/hdparm.c: Likewise.
30715 * commands/acpi.c: Likewise.
30716 * commands/echo.c: Likewise.
30717 * commands/minicmd.c: Likewise.
30718 * commands/blocklist.c: Likewise.
30719 * commands/memrw.c: Likewise.
30720 * commands/loadenv.c: Likewise.
30721 * commands/usbtest.c: Likewise.
30722 * commands/lsmmap.c: Likewise.
30723 * commands/boot.c: Likewise.
30724 * commands/parttool.c: Likewise.
30725 * commands/configfile.c: Likewise.
30726 * commands/search.c: Likewise.
30727 * commands/ieee1275/suspend.c: Likewise.
30728 * commands/cat.c: Likewise.
30729 * commands/i386/pc/pxecmd.c: Likewise.
30730 * commands/i386/pc/play.c: Likewise.
30731 * commands/i386/pc/halt.c: Likewise.
30732 * commands/i386/pc/vbeinfo.c: Likewise.
30733 * commands/i386/pc/vbetest.c: Likewise.
30734 * commands/lspci.c: Likewise.
30735 * commands/date.c: Likewise.
30736 * commands/handler.c: Likewise.
30737 * commands/ls.c: Likewise.
30738 * commands/test.c: Likewise.
30739 * commands/cmp.c: Likewise.
30740 * commands/efi/loadbios.c: Likewise.
30741 * commands/efi/fixvideo.c: Likewise.
30742 * commands/halt.c: Likewise.
30743 * commands/help.c: Likewise.
30744 * commands/reboot.c: Likewise.
30745 * hello/hello.c: Likewise.
30746 * script/sh/main.c: Likewise.
30747 * loader/xnu.c: Likewise.
30748 * term/terminfo.c: Likewise.
30749 * term/i386/pc/serial.c: Likewise.
30750 * term/usb_keyboard.c: Likewise.
30751
515b5079 307522009-05-03 David S. Miller <davem@davemloft.net>
30753
30754 * normal/menu.c: Include grub/parser.h
30755
dfc31a22 307562009-05-03 Pavel Roskin <proski@gnu.org>
30757
2fee74f1 30758 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30759 not char*.
30760 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30761 Suggested by Javier Martín <lordhabbit@gmail.com>
30762
dfc31a22 30763 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30764 efiemu??.o doesn't exist.
30765 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30766 copying.
30767
18f547ad 307682009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30769
30770 FreeBSD 64-bit support
30771
18f547ad 30772 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30773 and loader/i386/bsd_trampoline.S
30774 (bsd_mod_ASFLAGS): new variable
30775 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30776 (FREEBSD_MODTYPE_KERNEL64): likewise
30777 (grub_bsd64_trampoline_start): likewise
30778 (grub_bsd64_trampoline_end): likewise
30779 (grub_bsd64_trampoline_selfjump): likewise
30780 (grub_bsd64_trampoline_gdt): likewise
30781 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30782 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30783 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30784 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30785 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30786 of "attrib" member
30787 * loader/i386/bsd_pagetable.c: new file
30788 * loader/i386/bsd_trampoline.S: likewise
30789 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30790 (ALIGN_VAR): likewise
30791 (entry_hi): new variable
30792 (kern_end_mdofs): likewise
30793 (is_64bit): likewise
30794 (grub_freebsd_add_meta): use ALIGN_VAR
30795 (grub_e820_mmap): new declaration
30796 (grub_freebsd_add_mmap): new function
30797 (grub_freebsd_add_meta_module): support 64 bit kernels
30798 (grub_freebsd_list_modules): use ALIGN_VAR
30799 (gdt_descriptor): new declaration
30800 (grub_freebsd_boot): support 64 bit kernels
30801 (grub_bsd_elf64_hook): new function
30802 (grub_bsd_load_elf): support elf64
30803
038c5720 308042009-05-03 Bean <bean123ch@gmail.com>
30805
30806 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30807 after we get the result of if statement.
30808
fc45fb58 308092009-05-03 Bean <bean123ch@gmail.com>
30810
30811 * Makefile.in (enable_efiemu): New variable.
30812
30813 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30814 set.
30815 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30816 path.
30817 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30818 path, add -mno-red-zone option.
30819 (efiemu64_s.o): Likewise.
30820 (efiemu64.o): Use macro $^ for source file.
30821
30822 * configure.ac (--enable-efiemu): New option.
30823
bbee0f2b 308242009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30825
30826 xnu support
30827
30828 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30829 (pkglib_MODULES): add xnu.mod
30830 (xnu_mod_SOURCES): new variable
30831 (xnu_mod_CFLAGS): likewise
30832 (xnu_mod_LDFLAGS): likewise
30833 (xnu_mod_ASFLAGS): likewise
30834 * conf/i386-pc.rmk: likewise
30835 * conf/x86_64-efi.rmk: likewise
7dd4a573 30836 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30837 new declaration
30838 * include/grub/i386/macho.h: new file
30839 * include/grub/i386/xnu.h: likewise
30840 * include/grub/macho.h: likewise
30841 * include/grub/machoload.h: likewise
30842 * include/grub/x86_64/macho.h: likewise
30843 * include/grub/x86_64/xnu.h: likewise
30844 * include/grub/xnu.h: likewise
30845 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30846 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30847 * loader/i386/efi/xnu.c: new file
30848 * loader/i386/pc/xnu.c: likewise
30849 * loader/i386/xnu.c: likewise
30850 * loader/i386/xnu_helper.S: likewise
30851 * loader/macho.c: likewise
30852 * loader/xnu.c: likewise
30853 * loader/xnu_resume.c: likewise
30854 * util/grub-dumpdevtree: likewise
30855 * include/grub/i386/pit.h: include grub/err.h
30856 (grub_pit_wait): export
30857 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30858
5caf964d 308592009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30860
30861 Efiemu
7dd4a573 30862
5caf964d 30863 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30864 _linux_efi, linux_efi.
30865 new files in grub-emu
5caf964d 30866 new targets efiemu32.o and efiemu64.o
30867 * loader/linux_normal_efiemu.c: likewise
30868 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30869 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30870 files to copy
30871 * include/grub/autoefi.h: new file
7dd4a573 30872 * include/grub/i386/efiemu.h: likewise
5caf964d 30873 * include/grub/i386/pc/efiemu.h: likewise
30874 * include/grub/efi/api.h: add LL suffix when necessary
30875 new definitions relating to tables
30876 * include/grub/efiemu/efiemu.h: new file
30877 * include/grub/efiemu/runtime.h: likewise
30878 * efiemu/prepare.c: likewise
30879 * efiemu/loadcore_common.c: likewise
30880 * efiemu/loadcore64.c: likewise
30881 * efiemu/runtime/efiemu.sh: likewise
30882 * efiemu/runtime/efiemu.S: likewise
30883 * efiemu/runtime/efiemu.c: likewise
30884 * efiemu/runtime/config.h: likewise
30885 * efiemu/prepare32.c: likewise
30886 * efiemu/main.c: likewise
30887 * efiemu/modules/pnvram.c: likewise
30888 * efiemu/modules/i386: likewise
30889 * efiemu/modules/i386/pc: likewise
30890 * efiemu/modules/acpi.c: likewise
30891 * efiemu/i386/pc/cfgtables.c: likewise
30892 * efiemu/i386/loadcore64.c: likewise
30893 * efiemu/i386/loadcore32.c: likewise
30894 * efiemu/prepare64.c: likewise
30895 * efiemu/loadcore.c: likewise
30896 * efiemu/symbols.c: likewise
30897 * efiemu/mm.c: likewise
30898 * efiemu/loadcore32.c: likewise
7dd4a573 30899
309002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30901
30902 ACPI spoofing
30903
30904 * commands/acpi.c: new file
30905 * commands/i386/pc/acpi.c: likewise
30906 * commands/efi/acpi.c: likewise
30907 * include/grub/acpi.h: likewise
30908 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30909 (acpi_mod_SOURCES): new variable
30910 (acpi_mod_CFLAGS): likewise
30911 (acpi_mod_LDFLAGS): likewise
30912 * conf/i386-efi.rmk: likewise
30913 * conf/x86_64-efi.rmk: likewise
30914
7dd4a573 309152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30916
30917 Missing part from mmap patch
30918
30919 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30920 (grub_mmap_unregister)
30921 (grub_mmap_free_and_unregister): use grub_mmap_register
30922
7dd4a573 309232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30924
30925 Mmap services
30926
30927 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30928 * loader/i386/linux.c (find_mmap_size): likewise
30929 (allocate_pages): likewise
30930 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30931 (grub_fill_multiboot_mmap): likewise
30932 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30933 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30934 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30935 (OPENBSD_MMAP_RESERVED): likewise
30936 * include/grub/i386/pc/memory.h: include grub/memory.h
30937 (grub_lower_mem): removed
30938 (grub_upper_mem): likewise
30939 (GRUB_MACHINE_MEMORY_ACPI): new definition
30940 (GRUB_MACHINE_MEMORY_NVS): likewise
30941 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30942 (GRUB_MACHINE_MEMORY_HOLE): likewise
30943 (grub_machine_mmap_register): likewise
30944 (grub_machine_mmap_unregister): likewise
30945 (grub_machine_get_upper): likewise
30946 (grub_machine_get_lower): likewise
30947 (grub_machine_get_post64): likewise
30948 * include/grub/i386/efi/memory.h: new file
30949 * include/grub/x86_64/efi/memory.h: likewise
30950 * include/grub/efi/memory.h: likewise
30951 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30952 (mmap_mod_SOURCES): new variable
30953 (mmap_mod_LDFLAGS): likewise
30954 (mmap_mod_ASFLAGS): likewise
30955 * conf/i386-coreboot.rmk: likewise
30956 * conf/i386-ieee1275.rmk: likewise
30957 * conf/i386-efi.rmk: likewise
30958 * conf/x86_64-efi.rmk: likewise
30959 * include/grub/types.h (UINT_TO_PTR): new macro
30960 (PTR_TO_UINT32): likewise
30961 (PTR_TO_UINT64): likewise
30962 * include/grub/memory.h: new file
30963 * mmap/i386/pc/mmap.c: likewise
30964 * mmap/i386/pc/mmap_helper.S: likewise
30965 * mmap/i386/uppermem.c: likewise
30966 * mmap/mmap.c: likewise
30967 * mmap/efi/mmap.c: likewise
7dd4a573 30968 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30969 grub_upper_mem
30970 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30971 (grub_upper_mem): likewise
30972 (grub_machine_init): don't use grub_upper_mem,
30973 make grub_lower_mem local
30974 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30975 grub_mmap_iterate and grub_mmap_get_upper
30976 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30977
d558e6b5 309782009-05-02 Bean <bean123ch@gmail.com>
30979
30980 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30981 script/sh/parser.y.
30982 (pkglib_MODULES): Add normal.mod and sh.mod.
30983 (normal_SOURCES): New variable.
30984 (normal_mod_CFLAGS): Likewise.
30985 (normal_mod_LDFLAGS): Likewise.
30986 (sh_mod_SOURCES): Likewise.
30987 (sh_mod_CFLAGS): Likewise.
30988 (sh_mod_LDFLAGS): Likewise.
30989
30990 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30991 script/sh/lexer.c_DEPENDENCIES.
30992 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30993 kern/rescue_reader.c and kern/rescue_parser.c.
30994 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30995 (grub_emu_SOURCES): Change source files.
30996 (pkglib_MODULES): Remove normal.mod.
30997 (normal_SOURCES): Removed.
30998 (normal_mod_CFLAGS): Likewise.
30999 (normal_mod_LDFLAGS): Likewise.
31000 * conf/i386-coreboot.rmk: Likewise.
31001 * conf/i386-efi.rmk: Likewise.
31002 * conf/i386-ieee1276.rmk: Likewise.
31003 * conf/powerpc-ieee1275.rmk: Likewise.
31004 * conf/sparc64-ieee1275.rmk: Likewise.
31005 * conf/x86_64-efi.rmk: Likewise.
31006
31007 * include/grub/command.h (grub_command_execute): New inline function.
31008
31009 * include/grub/menu.h (grub_menu_entry): Removed commands field.
31010
31011 * include/grub/normal.h: Remove <grub/setjmp.h>.
31012 (grub_fs_module_list): Moved to normal/autofs.c.
31013 (grub_exit_env): Removed.
31014 (grub_command_execute): Likewise.
31015 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
31016 parameter script.
31017 (read_command_list): New function declaration.
31018 (read_fs_list): Likewise.
31019
31020 * include/parser.h: Include <grub/reader.h>.
31021 (grub_parser_split_cmdline): Change type of getline parameter.
31022 (grub_parser): New structure.
31023 (grub_parser_class): New variable.
31024 (grub_parser_execute): New function declaration.
31025 (grub_register_rescue_parser): Likewise.
31026 (grub_parser_register): New inline function.
31027 (grub_parser_unregister): Likewise.
31028 (grub_parser_get_current): Likewise.
31029 (grub_parser_set_current): Likewise.
31030
31031 * include/grub/reader.h: New file.
31032 * kern/reader.c: Likewise.
31033 * kern/rescue_parser.c: Likewise.
31034 * kern/rescue_reader.c: Likewise.
31035 * normal/autofs.c: Likewise.
31036 * normal/dyncmd.c: Likewise.
31037
31038 * include/grub/rescue.h: Removed.
31039 * normal/command.h: Likewise.
31040
31041 * include/grub/script.h: Moved to ...
31042 * include/grub/script_sh.h: ... Moved here.
31043 * normal/execute.c: Moved to ...
31044 * script/sh/execute.c: ... Moved here.
31045 * normal/function.c: Moved to ...
31046 * script/sh/function.c: ... Moved here.
31047 * normal/lexer.c: Moved to ...
31048 * script/sh/lexer.c: ... Moved here.
31049 * normal/parser.y: Moved to ...
31050 * script/sh/parser.y: ... Moved here.
31051 * normal/script.c: Moved to ...
31052 * script/sh/script.c: ... Moved here.
31053
31054 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
31055 <grub/reader.h>.
31056 (grub_exit_env): Removed.
31057 (fs_module_list): Moved to normal/autofs.c.
31058 (grub_file_getline): Don't handle comment here.
31059 (free_menu): Skip removed field entry->commands.
31060 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
31061 script parameter.
31062 (read_config_file): Removed nested parameter, change getline function.
31063 (grub_enter_normal_mode): Removed.
31064 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
31065 (read_command_list): Likewise.
31066 (autoload_fs_module): Moved to normal/autofs.c.
31067 (read_fs_list): Likewise.
31068 (reader_nested): New variable.
31069 (grub_normal_execute): Run parser.sh to switch to sh parser.
31070 (grub_cmd_rescue): Removed.
31071 (cmd_normal): Removed.
31072 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31073 rescue command.
31074 (grub_cmdline_run): New function.
31075 (grub_normal_reader_init): Likewise.
31076 (grub_normal_read_line): Likewise.
31077 (grub_env_write_pager): Likewise.
31078 (cmdline): New variable.
31079 (grub_normal_reader): Likewise.
31080 (GRUB_MOD_INIT): Register normal reader and set as current, register
31081 pager hook, register normal command with grub_register_command_prio,
31082 so that it won't show up in command.lst.
31083 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31084 grub_fs_autoload_hook.
31085
31086 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31087 (grub_menu_execute_entry): Replace grub_script_execute with
31088 grub_parser_execute, change parameter to grub_command_execute.
31089
31090 * normal/menu_text.c: Remove <grub/script.h>.
31091
31092 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31093 and <grub/parser.h>.
31094 (run): Change editor_getline to use new parser interface. Change
31095 parameter to grub_command_execute.
31096
31097 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31098 <grub/reader.h> and <grub/parser.h>.
31099 (grub_load_normal_mode): Execute normal command.
31100 (grub_main): Call grub_register_core_commands,
31101 grub_register_rescue_parser and grub_register_rescue_reader, use
31102 grub_reader_loop to enter input loop.
31103
7dd4a573 31104 * kern/parser.c (grub_parser_split_cmdline): Change type of
31105 getline parameter.
d558e6b5 31106 (grub_parser_class): New variable.
31107 (grub_parser_execute): New function.
31108
31109 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31110 * loader/multiboot2.c: Likewise.
31111 * loader/sparc64/ieee1275/linux.c: Likewise.
31112
31113 * util/grub-emu.c (read_command_list): New dummy function.
31114
18db813d 311152009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31116
31117 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31118 count to 16 for CCISS and IDA.
31119
6c67de15 311202009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31121
31122 * normal/menu_text.c (grub_wait_after_message): Print a newline
31123 after waiting for user input.
31124
31125 * loader/i386/linux.c: Include `<grub/normal.h>'.
31126 (grub_cmd_linux): Improve the error message about `ask' mode, by
31127 waiting for user input so it's not missed (we can do this, since
31128 user requested interaction).
31129
d9dc87b0 311302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31131
31132 Added missing lst to grub-mkrescue
31133
31134 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31135 and ${input_dir}/parttool.lst
31136
ac8a2baa 311372009-04-30 David S. Miller <davem@davemloft.net>
31138
ad22a610 31139 * util/hostdisk.c (device_is_wholedisk): New function.
31140 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31141 zero only if device_is_wholedisk() returns true.
31142
6966215d 31143 * util/hostdisk.c (convert_system_partition_to_system_disk):
31144 Handle virtual disk devices named /dev/vdiskX as found on sparc
31145 and powerpc.
31146
ac8a2baa 31147 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31148 lettered partition specifier is found, convert to numbered.
31149
979b4fb4 311502009-04-29 David S. Miller <davem@davemloft.net>
31151
e2bf39b2 31152 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31153 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31154
3c64e104 31155 * normal/command.c: Add missing newline at end of file.
31156
979b4fb4 31157 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31158 warnings.
31159 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31160 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31161 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31162 ihandles have a 32-bit type but need to be stored in a "void *".
31163
136d9f82 311642009-04-28 Pavel Roskin <proski@gnu.org>
31165
9459c306 31166 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31167 not disk. Adjust all dependencies.
2e08a26a 31168 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31169 grub_disk_close().
31170
136d9f82 31171 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31172 parent's partition, don't copy it by reference, as it gets freed
31173 on close.
31174
7dd4a573 311752009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31176
31177 Preboot hooks support
31178
31179 * commands/boot.c (struct grub_preboot_t): new declaration
31180 (preboots_head): new variable
31181 (preboots_tail): likewise
31182 (grub_loader_register_preboot_hook): new function
31183 (grub_loader_unregister_preboot_hook): likewise
31184 (grub_loader_set): launch preboot hooks
31185 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31186 (grub_loader_register_preboot_hook): new declaration
31187 (grub_loader_unregister_preboot_hook): likewise
31188
5af922b5 311892009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31190
31191 Warning fix
31192
7dd4a573 31193 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31194 calling grub_dprintf
31195
a5562c30 311962009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31197
31198 Bug and warning fixes
31199
7dd4a573 31200 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31201 declaration
31202 * commands/test.c (test_parse): fixed bug with file tests and corrected
31203 declaration of find_file
31204
4006f85c 312052009-04-26 Pavel Roskin <proski@gnu.org>
31206
31207 * Makefile.in: Don't install empty manual pages if help2man is
31208 missing. Use help2man option for output, not shell redirection.
31209
5c77c3de 312102009-04-26 David S. Miller <davem@davemloft.net>
31211
31212 * util/grub-mkdevicemap.c (make_device_map): Add missing
31213 NESTED_FUNC_ATTR to process_device().
31214
033b10a8 312152009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31216
31217 Test command
31218
31219 * commands/test.c: rewritten to use bash-like test
31220
e4343593 312212009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31222
31223 Parttool autoloading and improvements
31224
7dd4a573 31225 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31226 (parttool.lst): new target
31227 * genmk.rb: generate parttool-*
31228 (CLEANFILES): add #{parttool}
31229 (PARTTOOLFILES): new variable
31230 * genparttoollist.sh: new file
7dd4a573 31231 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31232 (grub_pcpart_type): likewise
31233 * commands/parttool.c (helpmsg): new variable
31234 (grub_cmd_parttool): output help if not enough arguments are supplied
31235 autoload modules
31236 (GRUB_MOD_INIT(parttool)): use helpmsg
31237
0d312500 312382009-04-24 David S. Miller <davem@davemloft.net>
31239
7dd4a573 31240 Avoiding opening same device multiple times in device iterator.
0d312500 31241
31242 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31243 and use it to build a list of partitions in iterate_disk() and
0d312500 31244 iterate_partition().
31245
ac20caff 31246 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31247 on disk->data.
31248
0dcf7495 31249 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31250 grub_devalias_iterate() result instead of unconditional 0.
31251 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31252 Also, capture hook return value, either directly or via
31253 grub_children_iterate(), and propagate to caller.
31254 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31255 grub_children_iterate): Return value is now 'int' instead of
31256 'grub_err_t'.
31257 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31258 like a proper iterator, stopping when hooks return non-zero.
31259 (grub_devalias_iterate): Likewise.
31260
c8c08833 312612009-04-23 David S. Miller <davem@davemloft.net>
31262
31263 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31264
f01005a8 312652009-04-22 David S. Miller <davem@davemloft.net>
31266
31267 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31268 is larger than address_cells, use that value for address_cells too.
31269
4e8269da 31270 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31271 IEEE1275_MAX_PATH_LEN): Define.
31272 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31273 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31274 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31275 'devtype'. Explicitly NULL terminate devalias expansion.
31276
a1447506 31277 * util/sparc64/ieee1275/misc.c: New file.
31278 * util/sparc64/ieee1275/grub-setup.c: New file.
31279 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31280 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31281 * util/sparc64/ieee1275/grub-install.in: New file.
31282 * util/ieee1275/ofpath.c: New file.
31283 * util/ieee1275/devicemap.c: New file.
31284 * util/devicemap.c: New file.
31285 * util/deviceiter.c: New file.
31286 * kern/sparc64/ieee1275/init.c: New file.
31287 * include/grub/util/ofpath.h: New file.
31288 * include/grub/util/deviceiter.h: New file.
31289 * util/grub-mkdevicemap.c: Include deviceiter.h.
31290 Implement using grub_util_emit_devicemap_entry and
31291 grub_util_iterate_devices.
31292 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31293 util/devicemap.c into grub-mkdevicemap
31294 * conf/i386-efi.rmk: Likewise.
31295 * conf/i386-ieee1275.rmk: Likewise.
31296 * conf/i386-pc.rmk: Likewise.
31297 * conf/powerpc-ieee1275.rmk: Likewise.
31298 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31299 images and installation utilities. Build kernel as image
31300 instead of as elf binary. Use common rules as much as possible.
31301
7dd4a573 313022009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31303
31304 Correct GPT definition
31305
7dd4a573 31306 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31307 of "attrib" member
31308
c6c5219f 313092009-04-19 Felix Zielcke <fzielcke@z-51.de>
31310
31311 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31312
0552ff9f 313132009-04-19 David S. Miller <davem@davemloft.net>
31314
31315 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31316 (grub_rescue_cmd_linux): Rename to...
31317 (grub_cmd_linux): and fix prototype.
31318 (grub_rescue_cmd_initrd): Rename to...
31319 (grub_cmd_initrd): and fix prototype.
31320 (cmd_linux, cmd_initrd): New.
31321 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31322 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31323
d1a282fc 313242009-04-17 Pavel Roskin <proski@gnu.org>
31325
07c5039f 31326 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31327 format.
31328 (grub_ohci_transfer): Likewise.
31329
b012002d 31330 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31331
1bc09c35 31332 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31333 return without a value. Fix inconsistent indentation.
31334
e0ff9126 31335 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31336 match struct grub_fs.
31337
d1a282fc 31338 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31339 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31340 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31341 * commands/lspci.c (grub_lspci_iter): Likewise.
31342
a96df3f2 313432009-04-16 Bean <bean123ch@gmail.com>
31344
31345 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31346 value.
31347
41bb0fe9 313482009-04-15 Pavel Roskin <proski@gnu.org>
31349
31350 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31351 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31352 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31353 definitions.
31354
596c6970 313552009-04-15 Felix Zielcke <fzielcke@z-51.de>
31356
31357 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31358 that no multiple data or metadata areas are supported and `Unknown
596c6970 31359 metadata header'.
31360
7dd4a573 313612009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31362
31363 Move loader out of the kernel
31364
31365 * kern/loader.c: moved to ...
31366 * commands/boot.c: ... moved here
31367 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31368 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31369 * include/grub/kernel.h (grub_machine_fini): export
31370 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31371 (grub_loader_set): likewise
31372 (grub_loader_unset): likewise
31373 (grub_loader_boot): likewise
31374 * conf/common.rmk: new module boot.mod
31375 (pkglib_MODULES): add boot.mod
31376 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31377 (grub_emu_SOURCES): likewise
31378 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31379 (grub_emu_SOURCES): likewise
31380 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31381 (grub_emu_SOURCES): likewise
31382 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31383 (grub_emu_SOURCES): likewise
31384 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31385 (grub_emu_SOURCES): likewise
7dd4a573 31386 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31387 (grub_emu_SOURCES): likewise
0d5d5653 31388 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31389 (grub_emu_SOURCES): likewise
0d5d5653 31390
7dd4a573 313912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31392
31393 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31394
5999d619 31395 * kern/misc.c (grub_itoa): Removed function
31396 (grub_ltoa): likewise
31397 (grub_vsprintf): use grub_lltoa
31398
7dd4a573 313992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31400
31401 Restore grub-emu
31402
31403 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31404 * conf/i386-coreboot.rmk: likewise
31405 * conf/i386-ieee1275.rmk: likewise
31406 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31407
20318222 314082009-04-15 Felix Zielcke <fzielcke@z-51.de>
31409
31410 * INSTALL: Add that `./autogen.sh' needs to be run before
31411 `./configure.'.
31412
d05f0df3 314132009-04-14 Bean <bean123ch@gmail.com>
31414
31415 * Makefile.in (pkglib_DATA): Add handler.lst.
31416 (handler.lst): New rule.
31417
31418 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31419 * conf/i386-coreboot.rmk: Likewise.
31420 * conf/i386-ieee1275.rmk: Likewise.
31421 * conf/i386-efi.rmk: Likewise.
31422 * conf/x86_64-efi.rmk: Likewise.
31423 * conf/powerpc-ieee1275.rmk: Likewise.
31424 * conf/sparc64-ieee1275.rmk: Likewise.
31425
31426 * genhandlerlist.sh: New file.
31427
31428 * genmk.rb: Add rules to generate handler.lst.
31429
31430 * include/grub/normal.h (grub_file_getline): New function definition.
31431 (read_handler_list): Likewise.
31432 (free_handler_list): Likewise.
31433
31434 * include/grub/term.h (grub_term_register_input): Add name parameter
31435 for auto generation of handler.lst.
31436 (grub_term_register_output): Likewise.
31437
31438 * normal/handler.c: New file.
31439
31440 * normal/main.c (get_line): Renamed to grub_file_getline.
31441 (read_config_file): Use the newly renamed grub_file_getline.
31442 (read_command_list): Likewise.
31443 (read_fs_list): Likewise.
31444 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31445 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31446
31447 * term/efi/console.c (grub_console_init): Add name parameter for auto
31448 generation of handler.lst.
31449 * term/gfxterm.c: Likewise.
31450 * term/i386/pc/at_keyboard.c: Likewise.
31451 * term/i386/pc/console.c: Likewise.
31452 * term/i386/pc/serial.c: Likewise.
31453 * term/i386/pc/vesafb.c: Likewise.
31454 * term/i386/pc/vga.c: Likewise.
31455 * term/i386/pc/vga_text.c: Likewise.
31456 * term/ieee1275/ofconsole.c: Likewise.
31457 * term/usb_keyboard.c: Likewise.
31458
33c846be 314592009-04-14 Bean <bean123ch@gmail.com>
31460
31461 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31462 properly with null character.
31463
4484e01e 314642009-04-14 Felix Zielcke <fzielcke@z-51.de>
31465
31466 * configure: Remove.
31467 * config.h.in: Likewise.
f93d668e 31468 * stamp-h.in: Likewise.
4484e01e 31469 * DISTLIST: Likewise.
31470 * conf/common.mk: Likewise.
31471 * conf/i386-coreboot.mk: Likewise.
31472 * conf/i386-efi.mk: Likewise.
31473 * conf/i386-ieee1275.mk: Likewise.
31474 * conf/i386.mk: Likewise.
31475 * conf/i386-pc.mk: Likewise.
31476 * conf/powerpc-ieee1275.mk: Likewise.
31477 * conf/sparc64-ieee1275.mk: Likewise.
31478 * conf/x86_64-efi.mk: Likewise.
31479
31480 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31481 develop on GRUB.
31482
7dd4a573 314832009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31484 David S. Miller <davem@davemloft.net>
31485
31486 * util/hostdisk.c (make_device_name): Fix buffer length
31487 calculations.
31488
e25b5a8c 314892009-04-14 Felix Zielcke <fzielcke@z-51.de>
31490
31491 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31492 <sys/param.h> and <sys/sysctl.h>.
31493 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31494 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31495 opening the device and reset them afterwards.
31496
1f1f580c 314972009-04-13 Pavel Roskin <proski@gnu.org>
31498
31499 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31500 Reported by John Stanley <jpsinthemix@verizon.net>
31501
7ebc2d6b 315022009-04-13 Robert Millan <rmh@aybabtu.com>
31503
31504 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31505 that name for menuentries when appropriate.
7ebc2d6b 31506
d8ba3667 315072009-04-13 Felix Zielcke <fzielcke@z-51.de>
31508
31509 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31510
cba416eb 315112009-04-13 Robert Millan <rmh@aybabtu.com>
31512
31513 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31514 to Linux, simply abort telling the user it's no longer supported.
31515
a547a745 315162009-04-13 Felix Zielcke <fzielcke@z-51.de>
31517
31518 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31519 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31520 `freebsd_loadenv' only when devices.hints exist.
31521
232a769c 315222009-04-13 Pavel Roskin <proski@gnu.org>
31523
31524 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31525
c3012039 315262009-04-13 Felix Zielcke <fzielcke@z-51.de>
31527
31528 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31529 partition number.
31530 (grub_drive): Likewise.
31531
234022fe 315322009-04-13 David S. Miller <davem@davemloft.net>
31533
31534 * kern/sparc64/ieee1275/ieee1275.c: New file.
31535 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31536 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31537 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31538 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31539 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31540 grub_ieee1275_alloc_physmem): Declare new exported functions.
31541
d8e1836c 31542 * include/grub/sparc64/ieee1275/loader.h: New file.
31543 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31544 * include/grub/sparc64/kernel.h: Likewise.
31545 * loader/sparc64/ieee1275/linux.c: Likewise.
31546
96bd81ec 31547 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31548 (grub_fstest_SOURCES): Likewise.
31549
6a4737e5 31550 * util/hostdisk.c (make_device_name): Do not make any assumptions
31551 about the length of drive names.
31552
1d7a72fd 31553 * kern/dl.c (grub_dl_load_file): Close file immediately when
31554 we are done using it.
31555
56bc2471 315562009-04-12 David S. Miller <davem@davemloft.net>
31557
31558 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31559 values. Noticed by Pavel Roskin.
31560
df38d0bb 31561 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31562 target compiler.
7dd4a573 31563
e382e93a 31564 * genmk.rb: Add more flexible image type specification, also
31565 pass --strip-unneeded to objcopy.
31566 * conf/i386-pc.rmk: Use *_FORMAT.
31567 * conf/i386-pc.mk: Rebuilt.
31568
f5dbbca9 31569 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31570 (OFDISK_HASH_SZ): Define.
31571 (ofdisk_hash): New hash table.
31572 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31573 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31574 instead of device phandle which is not unique.
31575
91c88b12 31576 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31577 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31578 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31579 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31580 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31581 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31582 GRUB_KERNEL_MACHINE_DATA_END): Define.
31583 (grub_kernel_image_size, grub_total_module_size): Declare.
31584
5b5d4aa5 315852009-04-12 Pavel Roskin <proski@gnu.org>
31586
7dd4a573 31587 * configure.ac: Change the logic when we check for target tools.
31588 Do it when the target is specified and it's different from the
31589 specified value of the host.
5b5d4aa5 31590
c91e1793 315912009-04-11 Felix Zielcke <fzielcke@z-51.de>
31592
31593 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31594 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31595 GNU/kFreeBSD. Check if a device is a character device. Use
31596 DIOCGMEDIASIZE to get the size.
31597 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31598 support for GNU/kFreeBSD.
31599 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31600 is a character device instead of a block device. Add support for
31601 FreeBSD device names.
31602
31603 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31604 is a character device instead of a block device.
31605
31606 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31607 is a character device instead of a block device.
31608
b1ac8644 316092009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31610
31611 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31612 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31613 FreeBSD. Check if a device is a character device. Use
31614 DIOCGMEDIASIZE to get the size.
31615 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31616 support for FreeBSD.
31617 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31618 is a character device instead of a block device. Add support for
31619 FreeBSD device names.
31620
31621 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31622 a character device instead of a block device.
31623 (grub_util_check_char_device): New function.
31624
31625 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31626 a character device instead of a block device.
31627
31628 * include/grub/util/getroot.h (grub_util_check_char_device): New
31629 prototype.
31630
a3f7515a 316312009-04-11 David S. Miller <davem@davemloft.net>
31632
31633 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31634 static libgcc.
31635 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31636 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31637 function, if present.
31638 (__bswapdi2): Likewise.
31639
0d44993d 31640 * include/grub/sparc64/ieee1275/boot.h: New file.
31641 * boot/sparc64/ieee1275/boot.S: Likewise.
31642 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31643
ed3d2bc2 31644 * kern/misc.c (grub_ltoa): New function.
31645 (grub_vsprintf): Use it to format 'long' integers.
31646
d3bfb59c 316472009-04-10 David S. Miller <davem@davemloft.net>
31648
31649 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31650 slots are of type grub_ieee1275_cell_t.
31651 (grub_nand_read): Likewise.
31652 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31653 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31654 macros are used to compare values in arg/ret block of the call.
31655 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31656 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31657 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31658 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31659 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31660 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31661 grub_ieee1275_close, grub_ieee1275_set_property,
31662 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31663 grub_ieee1275_cell_t.
31664 * kern/ieee1275/openfw.c (grub_map): Likewise.
31665 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31666 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31667
450e2238 31668 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31669 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31670 (grub_devalias_iterate): Likewise.
31671
7dd4a573 316722009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31673
31674 UFS improvements
31675
31676 * fs/ufs.c (INODE_NBLOCKS): new definition
31677 (struct grub_ufs_dirent): added fields for non-BSD dirents
31678 (grub_ufs_get_file_block): fixed double indirect handling
31679 (grub_ufs_lookup_symlink): use more robust way to determine whether
31680 symlink is inline
31681 (grub_ufs_find_file): support for non-BSD dirents
31682 (grub_ufs_dir): support for non-BSD dirents
31683
e7e6862a 316842009-04-10 Bean <bean123ch@gnail.com>
31685
31686 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31687 attribute, otherwise the size would be wrong for i386 platform.
31688
31689 * include/grub/pci.h (grub_pci_read_word): New inline function.
31690 (grub_pci_read_byte): Likewise.
31691 (grub_pci_write): Likewise.
31692 (grub_pci_write_word): Likewise.
31693 (grub_pci_write_byte): Likewise.
31694
31695 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31696
31697 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31698 (find_framebuf): Scan pci to locate the frame buffer address.
31699
31700 * commands/efi/fixvideo.c: New file.
31701
31702 * commands/efi/loadbios.c: Likewise.
31703
31704 * commands/memrw.c: Likewise.
31705
31706 * util/grub-dumpbios.in: Likewise.
31707
31708 * conf/common.rmk (grub-dumpbios): New utility.
31709 (pkglib_MODULES): New module memrw.mod.
31710 (memrw_mod_SOURCE): New macro.
31711 (memrw_mod_CFLAGS): Likewise.
31712 (memrw_mod_LDFLAGS): Likewise.
31713
7dd4a573 31714 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31715 fixvideo.mod.
31716 (loadbios_mod_SOURCE): New macro.
31717 (loadbios_mod_CFLAGS): Likewise.
31718 (loadbios_mod_LDFLAGS): Likewise.
31719 (fixvideo_mod_SOURCE): Likewise.
31720 (fixvideo_mod_CFLAGS): Likewise.
31721 (fixvideo_mod_LDFLAGS): Likewise.
31722
7dd4a573 31723 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31724 fixvideo.mod.
31725 (loadbios_mod_SOURCE): New macro.
31726 (loadbios_mod_CFLAGS): Likewise.
31727 (loadbios_mod_LDFLAGS): Likewise.
31728 (fixvideo_mod_SOURCE): Likewise.
31729 (fixvideo_mod_CFLAGS): Likewise.
31730 (fixvideo_mod_LDFLAGS): Likewise.
31731
af63ada2 317322009-04-08 Felix Zielcke <fzielcke@z-51.de>
31733
31734 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31735
c2cdde70 317362009-04-07 David S. Miller <davem@davemloft.net>
31737
31738 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31739 support for R_SPARC_OLO10 relocations. Fix compile warning for
31740 R_SPARC_WDISP30 case.
ea3f72cf 31741 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31742
761319cf 317432009-04-06 Pavel Roskin <proski@gnu.org>
31744
1007d1f5 31745 * include/grub/misc.h (ARRAY_SIZE): New macro.
31746 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31747 New macro.
31748 * loader/i386/linux.c (allocate_pages): Use free_pages().
31749 (grub_linux_unload): Don't use free_pages().
31750 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31751 wrong index. Treat all other modes as text modes.
31752 (grub_cmd_linux): Initialize vid_mode unconditionally to
31753 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31754
761319cf 31755 * commands/help.c (print_command_help): Use cmd->prio, not
31756 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31757
ea761d40 317582009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31759
ea761d40 31760 Parttool
31761
31762 * parttool/pcpart.c: new file
31763 * commands/parttool.c: likewise
31764 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31765 (parttool_mod_SOURCES): new variable
31766 (parttool_mod_CFLAGS): likewise
31767 (parttool_mod_LDFLAGS): likewise
31768 (pcpart_mod_SOURCES): likewise
31769 (pcpart_mod_CFLAGS): likewise
31770 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31772 and parttool/pcpart.c
31773 * conf/i386-efi.rmk: likewise
31774 * conf/i386-ieee1275.rmk: likewise
31775 * conf/i386-pc.rmk: likewise
31776 * conf/powerpc-ieee1275.rmk: likewise
31777 * conf/sparc64-ieee1275.rmk: likewise
31778 * conf/x86_64-ieee1275.rmk: likewise
31779
05aaebfb 317802009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31781
31782 Support for mtime and further expandability of dir command
31783
31784 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31785 * include/grub/datetime.h: ... moved here and added
05aaebfb 31786 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31787 * include/grub/fs.h: new syntax for dir and mtime functions in
31788 struct grub_fs
05aaebfb 31789 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31790 and GRUB_FSHELP_FLAGS_MASK
31791 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31792 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31793 (grub_ext2_mtime): new function
31794 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31795 (grub_hfsplus_mtime): new function
31796 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31797 (GRUB_UFS_ATTR_FILE): likewise
31798 (GRUB_UFS_ATTR_LNK): likewise
31799 (struct grub_ufs_sblock): new fields mtime
31800 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31801 all users updated
31802 (grub_ufs_dir): mtime support
31803 (grub_ufs_mtime): new function
31804 * fs/affs.c (grub_affs_dir): use new dir syntax
31805 * fs/afs.c (grub_afs_dir): likewise
31806 * fs/cpio.c (grub_cpio_dir): likewise
31807 * fs/fat.c (grub_fat_find_dir): likewise
31808 * fs/hfs.c (grub_hfs_dir): likewise
31809 * fs/iso9660.c (grub_iso9660_dir): likewise
31810 * fs/jfs.c (grub_jfs_dir): likewise
31811 * fs/minix.c (grub_minix_dir): likewise
31812 * fs/ntfs.c (grub_ntfs_dir): likewise
31813 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31814 * fs/sfs.c (grub_sfs_dir): likewise
31815 * fs/xfs.c (grub_xfs_dir): likewise
31816 * util/hostfs.c (grub_hostfs_dir): likewise
31817 * lib/datetime.c: moved to ...
31818 * normal/datetime.c: ... moved here
31819 (grub_unixtime2datetime): new function
31820 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31821 * normal/completion.c (iterate_dir): use new dir syntax
31822 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31823 last modification time of a volume
7dd4a573 31824 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31825 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31826 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31827 (normal_mod_SOURCES): likewise
31828 (datetime_mod_SOURCES): Removed lib/datetime.c
31829 * conf/i386-efi.rmk: likewise
7dd4a573 31830 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31831 * conf/i386-pc.rmk: likewise
31832 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31833 * conf/sparc64-ieee1275.rmk: likewise
31834 * conf/x86_64-efi.rmk: likewise
05aaebfb 31835
8a7e1a14 318362009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31837
31838 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31839
31840 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31841 on grub_fat_find_dir
31842 (grub_fat_find_dir): use grub_fat_iterate_dir
31843 (grub_fat_label): likewise
31844
04186a9c 318452009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31846
7dd4a573 31847 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31848 and command.h
31849 remove extraneous kernel_elf_HEADERS
31850
da4c0bb6 318512009-04-04 Bean <bean123ch@gnail.com>
31852
31853 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31854
31855 * util/misc.c: Likewise.
31856
54ad9555 318572009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31858
31859 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31860 instead of grub_printf.
31861
7a6bf9f2 318622009-04-03 Robert Millan <rmh@aybabtu.com>
31863
31864 * loader/i386/linux.c (grub_linux_setup_video): Fill
31865 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31866 values from `mode info' structure instead of hardcoded
31867 values.
31868
3fcc2083 318692009-04-01 Pavel Roskin <proski@gnu.org>
31870
31871 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31872 unused now.
31873 * genmk.rb: Likewise.
31874 * configure.ac: Likewise.
31875
5ec9740b 318762009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31877
31878 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31879 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31880
5270cec8 318812009-04-01 David S. Miller <davem@davemloft.net>
31882
31883 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31884 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31885 (grub_setjmp): Mark with 'returns_twice' attribute.
31886 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31887 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31888 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31889
9c3dd854 318902009-04-01 Robert Millan <rmh@aybabtu.com>
31891
31892 Reapply fix from 2008-07-28 which was accidentally reverted; also
31893 perform the same fix to a similar check in same function.
31894
31895 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31896 with the same number are found, just use issue a warning with
31897 grub_dprintf(), as this error has been reported to be non-fatal.
31898
0d818b7e 318992009-03-31 Pavel Roskin <proski@gnu.org>
31900
31901 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31902 for cross-compilation.
31903
95646d92 319042009-03-30 Robert Millan <rmh@aybabtu.com>
31905
31906 Fix i386-ieee1275 build.
31907
31908 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31909 Remove declaration.
31910
6a003ed1 319112009-03-30 Pavel Roskin <proski@gnu.org>
31912
31913 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31914 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31915 zero-terminated, rely only on the strlen value. Fix comparison
31916 of strings differing in length.
31917
92f33540 319182009-03-30 Robert Millan <rmh@aybabtu.com>
31919
31920 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31921 checking for abi version. Improve error messages on BIOS to notify
31922 user about `linux16' command.
31923
a8c48fd5 319242009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31925
f968172e 31926 Leak fixes
a8c48fd5 31927
f968172e 31928 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31929 in case of collision
31930 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31931
9c323f09 319322009-03-29 Robert Millan <rmh@aybabtu.com>
31933
31934 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31935 set `vid_mode' accordingly.
31936 (grub_linux_boot): Process `vid_mode' and set video mode.
31937
ae68f423 319382009-03-29 Robert Millan <rmh@aybabtu.com>
31939
31940 * util/grub.d/10_linux.in (linux_entry): New function.
31941 Factorize generation of Linux boot entries.
31942
5709cfc4 319432009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31944
31945 Make the format of Environment Block plain text. The boot loader
31946 part is not tested well yet.
7dd4a573 31947
5709cfc4 31948 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31949 (buffer): Removed.
31950 (envblk): Likewise.
31951 (usage): Remove "info" and "clear". Add "unset". Update the
31952 description of "set", as this does not delete variables any
31953 longer.
31954 (create_envblk_file): Complete rewrite.
31955 (open_envblk_file): Likewise.
31956 (cmd_info): Removed.
31957 (cmd_list): Likewise.
31958 (cmd_set): Likewise.
31959 (cmd_clear): Likewise.
31960 (list_variables): New function.
31961 (write_envblk): Likewise.
31962 (set_variables): Likewise.
31963 (unset_variables): Likewise.
31964 (main): Complete rewrite.
31965
31966 * commands/loadenv.c (buffer): Removed.
31967 (envblk): Likewise.
31968 (open_envblk_file): New function.
31969 (read_envblk_file): Complete rewrite.
31970 (grub_cmd_load_env): Likewise.
31971 (grub_cmd_list_env): Likewise.
31972 (struct blocklist): New struct.
31973 (free_blocklists): New function.
31974 (check_blocklists): Likewise.
31975 (write_blocklists): Likewise.
31976 (grub_cmd_save_env): Complete rewrite.
31977
31978 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31979 a plain text signature.
31980 (GRUB_ENVBLK_MAXLEN): Removed.
31981 (struct grub_envblk): Complete rewrite.
31982 (grub_envblk_find): Removed.
31983 (grub_envblk_insert): Likewise.
31984 (grub_envblk_open): New prototype.
31985 (grub_envblk_set): Likewise.
31986 (grub_envblk_delete): Put const to VALUE.
31987 (grub_envblk_iterate): Put const to NAME and VALUE.
31988 (grub_envblk_close): New prototype.
31989 (grub_envblk_buffer): New inline function.
31990 (grub_envblk_size): Likewise.
31991
31992 * lib/envblk.c: Include grub/mm.h.
31993 (grub_env_find): Removed.
31994 (grub_envblk_open): New function.
31995 (grub_envblk_close): Likewise.
31996 (escaped_value_len): Likewise.
31997 (find_next_line): Likewise.
31998 (grub_envblk_insert): Removed.
31999 (grub_envblk_set): New function.
32000 (grub_envblk_delete): Complete rewrite.
32001 (grub_envblk_iterate): Likewise.
32002
a9368fd3 320032009-03-28 Robert Millan <rmh@aybabtu.com>
32004
32005 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
32006 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
32007 variables. Use 16-bit loader.
32008 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
32009 loader.
32010 * kern/i386/loader.S (grub_linux_boot): Rename to ...
32011 (grub_linux16_boot): ... this. Update all users.
32012 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
32013 (grub_linux_boot): ... this. Update all users.
32014
32015 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
32016 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
32017 commands to `linux16' and `initrd16'.
32018 (GRUB_MOD_FINI(linux)): Rename to ...
32019 (GRUB_MOD_FINI(linux16)): ... this.
32020
e4dd5a7e 320212009-03-24 Pavel Roskin <proski@gnu.org>
32022
32023 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
32024 not just for compilation.
32025
c04d6e05 320262009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
32027
32028 Move multiboot helper out of kernel
32029
32030 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
32031 `loader/i386/multiboot_helper.S'.
32032 * conf/i386-coreboot.rmk: Likewise
32033 * conf/i386-ieee1275.rmk: Likewise
32034
32035 * kern/i386/loader.S: Move multiboot helpers from here...
32036 * loader/i386/multiboot_helper.S: ...moved here
32037 * include/grub/i386/loader.h: Move declarations of multiboot
32038 helpers from here...
32039 * include/grub/i386/multiboot.h: ...moved here
32040 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
32041
42a5b3fc 320422009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32043
32044 * kern/env.c (grub_env_context_open): Added an argument to specify
32045 whether a new context inherits exported variables from current
32046 one. This is useful when making a sandbox to interpret a config
32047 file.
32048 All callers updated.
32049
32050 * include/grub/env.h (grub_env_context_open): Updated the prototype.
32051
b28bbc4e 320522009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32053
32054 * kern/env.c (grub_env_context_close): Fix memory leaks.
32055
f04f02e4 320562009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
32057
32058 * normal/main.c (grub_normal_execute): Added an argument
32059 BATCH to specify if an interactive interface should be provided
32060 after reading a config file.
32061 All callers updated.
32062 (read_command_list): Prevent being executed twice.
32063 (read_fs_list): Likewise.
32064
42a5b3fc 32065 * include/grub/normal.h (grub_normal_execute): Updated the
32066 prototype.
f04f02e4 32067
41473ac2 320682009-03-22 Pavel Roskin <proski@gno.org>
32069
fbc00b0c 32070 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32071 _start.
32072 * kern/i386/pc/startup.S: Likewise.
32073 * kern/i386/efi/startup.S: Likewise.
32074 * kern/i386/ieee1275/startup.S: Likewise.
32075 * kern/i386/coreboot/startup.S: Likewise.
32076 * kern/x86_64/efi/startup.S: Likewise.
32077
41473ac2 32078 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32079 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32080 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32081
2274cc8f 320822009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32083
32084 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32085
32086 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32087 limit detection.
32088 Use vaddr of correct segment for entry_point.
32089
b1b797cb 320902009-03-21 Bean <bean123ch@gmail.com>
32091
32092 * commands/blocklist.c: Add include file <grub/command.h>, remove
32093 <grub/normal.h> and <grub/arg.h>.
32094 (grub_cmd_blocklist): Use the new command interface.
32095 (GRUB_MOD_INIT): Likewise.
32096 (GRUB_MOD_FINI): Likewise.
32097 * commands/boot.c: Likewise.
32098 * commands/cat.c: Likewise.
32099 * commands/cmp.c: Likewise.
32100 * commands/configfile.c: Likewise.
32101 * commands/crc.c: Likewise.
32102 * commands/echo.c: Likewise.
32103 * commands/halt.c: Likewise.
32104 * commands/handler.c: Likewise.
32105 * commands/hdparm.c: Likewise.
32106 * commands/help.c: Likewise.
32107 * commands/hexdump.c: Likewise.
32108 * commands/loadenv.c: Likewise.
32109 * commands/ls.c: Likewise.
32110 * commands/lsmmap.c: Likewise.
32111 * commands/lspci.c: Likewise.
32112 * commands/loadenv.c: Likewise.
32113 * commands/read.c: Likewise.
32114 * commands/reboot.c: Likewise.
32115 * commands/search.c: Likewise.
32116 * commands/sleep.c: Likewise.
32117 * commands/test.c: Likewise.
32118 * commands/usbtest.c: Likewise.
32119 * commands/videotest.c: Likewise.
32120 * commands/i386/cpuid.c: Likewise.
32121 * commands/i386/pc/halt.c: Likewise.
32122 * commands/i386/pc/play.c: Likewise.
32123 * commands/i386/pc/pxecmd.c: Likewise.
32124 * commands/i386/pc/vbeinfo.c: Likewise.
32125 * commands/i386/pc/vbetest.c: Likewise.
32126 * commands/ieee1275/suspend.c: Likewise.
32127 * disk/loopback.c: Likewise.
32128 * font/font_cmd.c: Likewise.
32129 * hello/hello.c: Likewise.
32130 * loader/efi/appleloader.c: Likewise.
32131 * loader/efi/chainloader.c: Likewise.
32132 * loader/i386/bsd.c: Likewise.
32133 * loader/i386/efi/linux.c: Likewise.
32134 * loader/i386/ieee1275/linux.c: Likewise.
32135 * loader/i386/linux.c: Likewise.
32136 * loader/i386/pc/chainloader.c: Likewise.
32137 * loader/i386/pc/linux.c: Likewise.
32138 * loader/powerpc/ieee1275/linux.c: Likewise.
32139 * loader/multiboot_loader.c: Likewise.
32140 * term/gfxterm.c: Likewise.
32141 * term/i386/pc/serial.c: Likewise.
32142 * term/terminfo.c: Likewise.
32143
32144 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32145 * term/i386/pc/vga.c: Likewise.
32146 * video/readers/jpeg.c: Likewise.
32147 * video/readers/png.c: Likewise.
32148 * video/readers/tga.c: Likewise.
32149
32150 * util/grub-fstest (cmd_loopback): Removed.
32151 (cmd_blocklist): Likewise.
32152 (cmd_ls): Likewise.
32153 (grub_register_command): Likewise.
32154 (grub_unregister_command): Likewise.
32155 (execute_command): Use grub_command_find to locate command and execute
32156 it.
32157
32158 * include/grub/efi/chainloader.h: Removed.
32159 * loader/efi/chainloader_normal.c: Likewise.
32160 * loader/i386/bsd_normal.c: Likewise.
32161 * loader/i386/pc/chainloader_normal.c: Likewise.
32162 * loader/i386/pc/multiboot_normal.c: Likewise.
32163 * loader/linux_normal.c: Likewise.
32164 * loader/multiboot_loader_normal.c: Likewise.
32165 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32166
32167 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32168 and grub_register_command_p1.
32169
32170 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32171 kern/command.c, lib/arg.c and commands/extcmd.c.
32172 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32173 (minicmd_mod_SOURCES): New variable.
32174 (minicmd_mod_CFLAGS): Likewise.
32175 (minicmd_mod_LDFLAGS): Likewise.
32176 (extcmd_mod_SOURCES): Likewise.
32177 (extcmd_mod_CFLAGS): Likewise.
32178 (extcmd_mod_LDFLAGS): Likewise.
32179 (boot_mod_SOURCES): Removed.
32180 (boot_mod_CFLAGS): Likewise.
32181 (boot_mod_LDFLAGS): Likewise.
32182
32183 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32184 kern/corecmd.c.
32185 (kernel_img_HEADERS): Add command.h.
32186 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32187 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32188 and lib/arg.c.
32189 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32190 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32191 remove the corresponding normal mode command.
32192 (normal_mod_SOURCES): Remove normal/arg.c.
32193 * conf/i386-coreboot.rmk: Likewise.
32194 * conf/i386-efi.rmk: Likewise.
32195 * conf/i386-ieee1275.rmk: Likewise.
32196 * conf/powerpc-ieee1275.rmk: Likewise.
32197 * conf/x86_64-efi.rmk: Likewise.
32198
32199 * include/grub/arg.h: Move from here ...
32200 * include/grub/lib/arg.h: ... to here.
32201
32202 * normal/arg.c: Move from here ...
32203 * lib/arg.c: ... to here.
32204
32205 * commands/extcmd.c: New file.
32206 * commands/minicmd.c: Likewise.
32207 * include/grub/command.h: Likewise.
32208 * include/grub/extcmd.h: Likewise.
32209 * kern/command.c: Likewise.
32210 * kern/corecmd.c: Likewise.
32211
32212 * kern/list.c (grub_list_iterate): Return int instead of void.
32213 (grub_list_insert): New function.
32214 (grub_prio_list_insert): Likewise.
32215
32216 * kern/rescue.c (grub_rescue_command): Removed.
32217 (grub_rescue_command_list): Likewise.
32218 (grub_rescue_register_command): Likewise.
32219 (grub_rescue_unregister_command): Likewise.
32220 (grub_rescue_cmd_boot): Move to minicmd.c
32221 (grub_rescue_cmd_help): Likewise.
32222 (grub_rescue_cmd_info): Likewise.
32223 (grub_rescue_cmd_boot): Likewise.
32224 (grub_rescue_cmd_testload): Likewise.
32225 (grub_rescue_cmd_dump): Likewise.
32226 (grub_rescue_cmd_rmmod): Likewise.
32227 (grub_rescue_cmd_lsmod): Likewise.
32228 (grub_rescue_cmd_exit): Likewise.
32229 (grub_rescue_print_devices): Moved to corecmd.c.
32230 (grub_rescue_print_files): Likewise.
32231 (grub_rescue_cmd_ls): Likewise.
32232 (grub_rescue_cmd_insmod): Likewise.
32233 (grub_rescue_cmd_set): Likewise.
32234 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32235 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32236 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32237 commands, remove grub_rescue_register_command calls.
b1b797cb 32238
7d074e3c 32239 * normal/command.c (grub_register_command): Removed.
b1b797cb 32240 (grub_unregister_command): Likewise.
32241 (grub_command_find): Likewise.
32242 (grub_iterate_commands): Likewise.
32243 (rescue_command): Likewise.
32244 (export_command): Moved to corecmd.c.
32245 (set_command): Removed.
32246 (unset_command): Likewise.
32247 (insmod_command): Likewise.
32248 (rmmod_command): Likewise.
32249 (lsmod_command): Likewise.
32250 (grub_command_init): Likewise.
32251
32252 * normal/completion.c (iterate_command): Use cmd->prio to check for
32253 active command.
32254 (complete_arguments): Use grub_extcmd_t structure to find options.
32255 (grub_normal_do_completion): Change function grub_iterate_commands to
32256 grub_command_iterate.
32257
32258 * normal/execute.c (grub_script_execute_cmd): No need to parse
32259 argument here.
32260
32261 * normal/main.c (grub_dyncmd_dispatcher): New function.
32262 (read_command_list): Register unload commands as dyncmd.
32263 (grub_cmd_normal): Use new command interface, register rescue,
32264 unregister normal at entry, register normal, unregister rescue at exit.
32265
32266 * include/grub/list.h (grub_list_test_t): New type.
32267 (grub_list_iterate): Return int instead of void.
32268 (grub_list_insert): New function.
32269 (GRUB_AS_NAMED_LIST_P): New macro.
32270 (GRUB_AS_PRIO_LIST): Likewise.
32271 (GRUB_AS_PRIO_LIST_P): Likewise.
32272 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32273 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32274 (grub_prio_list): New structure.
32275 (grub_prio_list_insert): New function.
32276 (grub_prio_list_remove): New inline function.
32277
32278 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32279 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32280 (GRUB_COMMAND_FLAG_MENU): Likewise.
32281 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32282 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32283 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32284 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32285 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32286 (grub_command): Likewise.
32287 (grub_register_command): Likewise.
32288 (grub_command_find): Likewise.
32289 (grub_iterate_commands): Likewise.
32290 (grub_command_init): Likewise.
32291 (grub_arg_parse): Likewise.
32292 (grub_arg_show_help): Likewise.
32293
32294 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32295 (grub_rescue_unregister_command): Likewise.
32296
32297 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32298 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32299 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32300
32301 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32302 grub_rescue_cmd_initrd.
32303 * include/grub/i386/loader.h: Likewise.
32304 * include/grub/x86_64/loader.h: Likewise.
32305
32306 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32307
1f4147aa 323082009-03-21 Bean <bean123ch@gmail.com>
32309
32310 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32311 instead of stat in mingw environment.
32312
32313 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32314
32315 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32316
32317 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32318 AC_CONFIG_LINKS.
32319
2156d5ba 323202009-03-21 Bean <bean123ch@gmail.com>
32321
32322 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32323 out of range error.
32324
177b82ca 323252009-03-18 Michel Dänzer <michel@daenzer.net>
32326
32327 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32328 checking inode flags for EXT4_EXTENTS_FLAG.
32329
14aad807 323302009-03-18 Robert Millan <rmh@aybabtu.com>
32331
32332 * loader/i386/linux.c: Include `<grub/video.h>' and
32333 `<grub/i386/pc/vbe.h>'..
32334 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32335 (grub_linux32_boot): Attempt to configure video settings with
32336 grub_linux_setup_video().
32337 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32338 to avoid grub_console_fini() which would step out of graphical mode
32339 unconditionally.
32340
8cf83a27 323412009-03-14 Robert Millan <rmh@aybabtu.com>
32342
32343 Fix build on powerpc.
32344 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32345
40164e75 323462009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32347
32348 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32349 background image command.
32350
c58bc32a 323512009-03-12 Colin D Bennett <colin@gibibit.com>
32352
32353 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32354 (grub_gfxterm_putchar): Extract pairs of identical calls to
32355 draw_cursor out of conditional blocks.
32356
5415144a 323572009-03-11 Pavel Roskin <proski@gnu.org>
32358
32359 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32360 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32361
6394042e 323622009-03-11 Robert Millan <rmh@aybabtu.com>
32363
32364 * loader/i386/multiboot_elfxx.c
32365 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32366
b7b50e5f 323672009-03-11 Felix Zielcke <fzielcke@z-51.de>
32368
32369 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32370 `kern/handler.c'.
32371
1ca7fc96 323722009-03-11 Robert Millan <rmh@aybabtu.com>
32373
32374 * loader/i386/multiboot.c (code_size): New variable.
32375 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32376 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32377 4-byte alignment to MBI and others by increasing
7d074e3c 32378 `boot_loader_name_length' appropriately.
1ca7fc96 32379
32380 * loader/i386/multiboot_elfxx.c
32381 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32382
a83ea1d2 323832009-03-09 Felix Zielcke <fzielcke@z-51.de>
32384
32385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32386 `fs/ext2.c'.
32387
aa9f3bff 323882009-03-08 Robert Millan <rmh@aybabtu.com>
32389
32390 Make loader/i386/linux.c usable on i386-pc again.
32391
32392 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32393 memory to heap.
32394 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32395 `#error' stanza.
32396
d8b3b60e 323972009-03-07 Bean <bean123ch@gmail.com>
32398
32399 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32400 allocation.
32401
b362c9e9 324022009-03-06 Robert Millan <rmh@aybabtu.com>
32403
32404 Fix display issue on terminals with screen size other than 80x25
32405 (e.g. gfxterm with resolution higher than 640x480).
32406
32407 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32408 position relative to the center of the terminal instead of relying
b362c9e9 32409 on a hardcoded offset.
32410
9304eef1 324112009-03-04 Robert Millan <rmh@aybabtu.com>
32412
32413 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32414 installed.
32415
32416 * Makefile.in (host_kernel): New variable.
32417 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32418 scripts instead of just the windows one.
32419 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32420
eabc95fb 324212009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32422
32423 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32424 `kern/handler.c'.
32425 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32426 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32427 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32429 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32430 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32431
ceb1223c 324322009-03-04 Felix Zielcke <fzielcke@z-51.de>
32433
32434 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32435 or if there's no space for the disk label and print the partition number on a
32436 invalid magic.
32437
4910684a 324382009-03-04 Felix Zielcke <fzielcke@z-51.de>
32439
32440 * util/misc.c: Include <time.h>.
32441 (grub_millisleep): New function.
32442
7e9ca17a 324432009-03-04 Bean <bean123ch@gmail.com>
32444
32445 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32446 another option -mno-red-zone.
32447
32448 * commands/handler.c: Change module description.
32449
32450 * kern/handler.c: Add missing space at the end of description line.
32451
32452 * kern/list.c: Likewise.
32453
f501677c 324542009-03-03 Robert Millan <rmh@aybabtu.com>
32455
32456 Move more components to the relocation area, and fix mbi pointer
32457 handling to use the destination rather than the origin (thanks to
32458 Vladimir Serbinenko for spotting).
32459
32460 * loader/i386/multiboot.c (mbi_dest): New variable.
32461 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32462 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32463 relocation area.
32464
9902d047 324652009-03-01 Bean <bean123ch@gmail.com>
32466
50fb7002 32467 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32468 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32469 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32470 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32471
32472 * loader/i386/efi/linux.c (acpi_guid): New variable.
32473 (acpi_guid): Likewise.
32474 (EBDA_SEG_ADDR): New constant.
32475 (LOW_MEM_ADDR): Likewise.
32476 (FAKE_EBDA_SEG): Likewise.
32477 (fake_bios_data): New function.
32478 (grub_linux_boot): Call fake_bios_data.
32479
71b9f361 324802009-03-01 Bean <bean123ch@gmail.com>
32481
32482 * commands/terminal.c: Removed.
32483
32484 * commands/handler.c: New file.
32485
32486 * include/grub/list.h: Likewise.
32487
32488 * include/grub/handler.h: Likewise.
32489
32490 * kern/list.c: Likewise.
32491
32492 * kern/handler.c: Likewise.
32493
32494 * kern/term.h: Include header file <grub/handler.h>.
32495 (grub_term_input): Move next field to the beginning.
32496 (grub_term_output): Likewise.
32497 (grub_term_input_class): New variable.
32498 (grub_term_output_class): Likewise.
32499 (grub_term_register_input): Changed to inline function.
32500 (grub_term_register_output): Likewise.
32501 (grub_term_unregister_input): Likewise.
32502 (grub_term_unregister_output): Likewise.
32503 (grub_term_set_current_input): Likewise.
32504 (grub_term_set_current_output): Likewise.
32505 (grub_term_get_current_input): Likewise.
32506 (grub_term_get_current_output): Likewise.
32507 (grub_term_iterate_input): Removed.
32508 (grub_term_iterate_output): Likewise.
32509
32510 * kern/term.c (grub_term_list_input): Removed.
32511 (grub_term_list_output): Likewise.
32512 (grub_term_input_class): New variable.
32513 (grub_term_output_class): Likewise.
50fb7002 32514 (grub_cur_term_input): Change variable as macro.
71b9f361 32515 (grub_cur_term_output): Likewise.
32516 (grub_term_register_input): Removed.
32517 (grub_term_register_output): Likewise.
32518 (grub_term_unregister_input): Likewise.
32519 (grub_term_unregister_output): Likewise.
32520 (grub_term_set_current_input): Likewise.
32521 (grub_term_set_current_output): Likewise.
32522 (grub_term_iterate_input): Likewise.
32523 (grub_term_iterate_output): Likewise.
32524 (grub_term_get_current_input): Likewise.
32525 (grub_term_get_current_output): Likewise.
32526
32527 * util/grub-editenv.c: Include header file <grub/handler.h>.
32528 (grub_term_get_current_input): Removed.
32529 (grub_term_get_current_output): Likewise.
32530 (grub_term_input_class): New variable.
50fb7002 32531 (grub_term_output_class): Likewise.
71b9f361 32532
32533 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32534 (grub_term_get_current_output): Likewise.
32535 (grub_term_input_class): New variable.
50fb7002 32536 (grub_term_output_class): Likewise.
71b9f361 32537
32538 * util/grub-probe.c (grub_term_get_current_input): Removed.
32539 (grub_term_get_current_output): Likewise.
32540 (grub_term_input_class): New variable.
50fb7002 32541 (grub_term_output_class): Likewise.
71b9f361 32542
32543 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32544 (grub_term_get_current_output): Likewise.
32545 (grub_term_input_class): New variable.
50fb7002 32546 (grub_term_output_class): Likewise.
71b9f361 32547
32548 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32549 (terminal_mod_SOURCES): Likewise.
32550 (terminal_mod_CFLAGS): Likewise.
32551 (terminal_mod_LDFLAGS): Likewise.
32552
32553 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32554 handler.c.
32555 (kernel_img_SOURCES): Add list.c and handler.c.
32556 (kernel_img_HEADERS): Add list.h and handler.h.
32557
32558 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32559 handler.c.
32560 (kernel_mod_SOURCES): Add list.c and handler.c.
32561 (kernel_mod_HEADERS): Add list.h and handler.h.
32562
32563 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32564 handler.c.
32565 (kernel_elf_SOURCES): Add list.c and handler.c.
32566 (kernel_elf_HEADERS): Add list.h and handler.h.
32567
32568 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32569 handler.c.
32570 (kernel_elf_SOURCES): Add list.c and handler.c.
32571 (kernel_elf_HEADERS): Add list.h and handler.h.
32572
32573 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32574 handler.c.
32575 (kernel_mod_SOURCES): Add list.c and handler.c.
32576 (kernel_mod_HEADERS): Add list.h and handler.h.
32577
32578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32579 handler.c.
32580 (kernel_elf_SOURCES): Add list.c and handler.c.
32581 (kernel_elf_HEADERS): Add list.h and handler.h.
32582
8a31787f 325832009-02-27 Robert Millan <rmh@aybabtu.com>
32584
32585 Factorize elf32 / elf64 code in Multiboot loader. This will
32586 prevent it from getting out of sync again.
32587
32588 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32589 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32590 grub_multiboot_load_elf64): Move from here ...
32591 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32592 grub_multiboot_load_elf): ... to here (new file).
32593
51cd3dfc 325942009-02-27 Robert Millan <rmh@aybabtu.com>
32595
32596 * util/grub.d/10_linux.in: Rename "single-user mode" to
32597 "recovery mode".
32598
6e8c9c3a 325992009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32600
32601 Don't leak in SCSI code.
32602 * disk/scsi.c (grub_scsi_close): free `scsi'.
32603
4b6bf4f9 326042009-02-27 Robert Millan <rmh@aybabtu.com>
32605
32606 * loader/i386/pc/multiboot.c: Move from here ...
32607 * loader/i386/multiboot.c: ... to here. Update all users.
32608
b9413424 326092009-02-27 Robert Millan <rmh@aybabtu.com>
32610
32611 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32612 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32613
50fb7002 326142009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32615
32616 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32617 b-tree.
32618
8cc50345 326192009-02-27 Robert Millan <rmh@aybabtu.com>
32620
32621 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32622 `0x' qualifier as 0 when base is specified as parameter).
32623
6e09b8b7 326242009-02-24 Bean <bean123ch@gmail.com>
32625
32626 * configure.ac: Check for -mcmodel=large in x86_64 target.
32627
32628 * include/grub/efi/api.h (efi_call_10): New macro.
32629 (efi_wrap_10): New function.
32630
32631 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32632 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32633 (GRUB_PE32_REL_BASED_LOW): Likewise.
32634 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32635 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32636 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32637 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32638 (GRUB_PE32_REL_BASED_REL): Likewise.
32639 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32640 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32641 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32642
32643 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32644 issue.
32645
32646 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32647 (efi_wrap_10): New function.
32648
32649 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32650
32651 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32652 MB/MBP model (NV chipset).
32653 (devdata_devs): Add devpath_5 to the list.
32654
32655 * load/i386/efi/linux.c (video_base): Remove variable.
32656 (RGB_MASK): New macro.
32657 (RGB_MAGIC): Likewise.
32658 (LINE_MIN): Likewise.
32659 (LINE_MAX): Likewise.
32660 (FBTEST_STEP): Likewise.
32661 (FBTEST_COUNT): Likewise.
32662 (fb_list): New variable.
32663 (grub_find_video_card): Remove function.
32664 (find_framebuf): New function.
32665 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32666 line length.
32667
32668 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32669 problem for x86_64.
32670
74b21bee 326712009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32672
32673 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32674
32675 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32676 coding tool name.
32677
a455f472 326782009-02-22 Robert Millan <rmh@aybabtu.com>
32679
32680 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32681 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32682 in our relocation, instead of using it directly from heap. Also
32683 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32684
6374daf3 326852009-02-21 Robert Millan <rmh@aybabtu.com>
32686
32687 Implement USB keyboard support (based on patch by Marco Gerards)
32688
32689 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32690 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32691 (usb_keyboard_mod_LDFLAGS): New variables.
32692
32693 * term/usb_keyboard.c: New file.
32694
8fa4ea70 326952009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32696
32697 Corrected wrong declaration
32698
32699 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32700
353976ac 327012009-02-14 Christian Franke <franke@computer.org>
32702
32703 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32704 (grub_lspci_iter): Print class code and programming interface byte.
32705
6aa1169b 327062009-02-14 Christian Franke <franke@computer.org>
32707
32708 * gendistlist.sh: Ignore `.svn' directories.
32709
265372ca 327102009-02-14 Felix Zielcke <fzielcke@z-51.de>
32711
32712 * fs/fat.c: Add 2009 to Copyright line.
32713
9ff516f3 327142009-02-14 Christian Franke <franke@computer.org>
32715
32716 * commands/hdparm.c: New file. Provides `hdparm' command
32717 which sends ATA commands via grub_disk_ata_pass_through ().
32718
32719 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32720
32721 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32722 and <grub/cpu/io.h> to include/grub/ata.h.
32723 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32724 (GRUB_CDROM_SECTOR_SIZE): Remove.
32725 (GRUB_ATA_*): Move to include/grub/ata.h.
32726 (GRUB_ATAPI_*): Likewise.
32727 (enum grub_ata_commands): Likewise.
32728 (enum grub_ata_timeout_milliseconds): Likewise.
32729 (struct grub_ata_device): Likewise.
32730 (grub_ata_regset): Likewise.
32731 (grub_ata_regget): Likewise.
32732 (grub_ata_regset2): Likewise.
32733 (grub_ata_regget2): Likewise.
32734 (grub_ata_check_ready): Likewise.
32735 (grub_ata_wait_not_busy): Remove static, exported in
32736 include/grub/ata.h.
32737 (grub_ata_wait_drq): Likewise.
32738 (grub_ata_pio_read): Likewise.
32739
32740 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32741 function for hdparm.mod.
32742
32743 * include/grub/ata.h: New file, contains declarations from
32744 disk/ata.c.
32745 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32746
32747 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32748 (grub_disk_ata_pass_through): New exported variable.
32749
32750 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32751
772e23da 327522009-02-13 Colin D Bennett <colin@gibibit.com>
32753
32754 Support multiple fallback entries, and provide an API to support
32755 executing default+fallback menu entries. Renamed the `terminal' menu
32756 viewer to `text'.
32757
32758 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32759 variable declaration.
32760 (grub_menu_execute_callback): New structure declaration.
32761 (grub_menu_execute_callback_t): New typedef.
32762 (grub_menu_execute_with_fallback): New function declaration.
32763 (grub_menu_get_entry): Likewise.
32764 (grub_menu_get_timeout): Likewise.
32765 (grub_menu_set_timeout): Likewise.
32766
32767 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32768
32769 * normal/menu.c (grub_wait_after_message): Moved to
32770 `normal/menu_text.c'.
32771 (draw_border): Likewise.
32772 (print_message): Likewise.
32773 (print_entry): Likewise.
32774 (print_entries): Likewise.
32775 (grub_menu_init_page): Likewise.
32776 (get_entry_number): Likewise.
32777 (print_timeout): Likewise.
32778 (run_menu): Likewise.
32779 (grub_menu_execute_entry): Likewise.
32780 (show_text_menu): Likewise.
32781 (get_and_remove_first_entry_number): New function.
32782 (grub_menu_execute_with_fallback): Likewise.
32783 (get_entry): Renamed to ...
32784 (grub_menu_get_entry): .. this and made it global.
32785 (get_timeout): Renamed to ...
32786 (grub_menu_get_timeout): ... this and made it global.
32787 (set_timeout): Renamed to ...
32788 (grub_menu_set_timeout): ... this and made it global.
32789 (grub_normal_terminal_menu_viewer): Renamed to ...
32790 (grub_normal_text_menu_viewer): ... this.
32791
32792 * normal/menu_text.c: New file. Extracted text-menu-specific code
32793 from normal/menu.c.
32794
32795 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32796 (normal_mod_SOURCES): Likewise.
32797
32798 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32799 (normal_mod_SOURCES): Likewise.
32800
32801 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32802 (normal_mod_SOURCES): Likewise.
32803
32804 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32805 (normal_mod_SOURCES): Likewise.
32806
32807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32808 (normal_mod_SOURCES): Likewise.
32809
32810 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32811 (normal_mod_SOURCES): Likewise.
32812
32813 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32814 (normal_mod_SOURCES): Likewise.
32815
16ac430e 328162009-02-11 Robert Millan <rmh@aybabtu.com>
32817
32818 * util/grub.d/00_header.in: Update old reference to `font' command.
32819
06ff20fc 328202009-02-10 Felix Zielcke <fzielcke@z-51.de>
32821
32822 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32823
32824 Based on patch from Javier Martín.
32825
96da9407 328262009-02-09 Felix Zielcke <fzielcke@z-51.de>
32827
32828 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32829 to avoid false positives with FAT.
96da9407 32830 (grub_fstest_SOURCES): Likewise.
32831 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32832 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32834 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32835 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32836 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32837
6dca6fe4 328382009-02-09 Felix Zielcke <fzielcke@z-51.de>
32839
06ff20fc 32840 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32841 bpb.version_specific.fat12_or_fat16.fstype and
32842 bpb.version_specific.fat32.fstype.
32843
2550c62f 328442009-02-08 Robert Millan <rmh@aybabtu.com>
32845
be110b30 32846 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32847
56978920 328482009-02-08 Robert Millan <rmh@aybabtu.com>
32849
32850 * Makefile.in (host_os, host_cpu): New variables.
32851 (target_os): Remove. Update all users.
32852
d64399b5 328532009-02-08 Marco Gerards <marco@gnu.org>
32854
32855 * Makefile.in (enable_grub_emu_usb): New variable.
32856 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32857 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32858 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32859 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32860 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32861 `usbtest.mod' and `usbms.mod'.
32862 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32863 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32864 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32865 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32866 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32867 variables.
32868
32869 * disk/usbms.c: New file.
32870
32871 * include/grub/usb.h: Likewise.
32872
32873 * include/grub/usbtrans.h: Likewise.
32874
32875 * include/grub/usbdesc.h: Likewise.
32876
32877 * bus/usb/usbtrans.c: Likewise.
32878
32879 * bus/usb/ohci.c: Likewise.
32880
32881 * bus/usb/uhci.c: Likewise.
32882
32883 * bus/usb/usbhub.c: Likewise.
32884
32885 * bus/usb/usb.c: Likewise.
32886
32887 * commands/usbtest.c: Likewise.
32888
32889 * util/usb.c: Likewise.
50fb7002 32890
d64399b5 32891 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32892
32893 * configure.ac: Test for libusb presence.
50fb7002 32894
d64399b5 32895 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32896
2b40d6bb 328972009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32898
32899 * kern/mm.c: Add more comments.
32900
73a4ce81 329012009-02-08 Robert Millan <rmh@aybabtu.com>
32902
32903 Patch from Javier Martín.
32904 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32905 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32906
f821ce59 329072009-02-08 Robert Millan <rmh@aybabtu.com>
32908
32909 * fs/cpio.c: Split tar functionality to ...
32910 * fs/tar.c: ... here (new file). Update all users.
32911
aebfc4b0 329122009-02-07 Robert Millan <rmh@aybabtu.com>
32913
32914 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32915 backward-incompatible features.
32916
32917 Based on patch from Javier Martín, with some adjustments.
32918
50fb7002 329192009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32920
32921 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32922
0bb5115e 329232009-02-07 Robert Millan <rmh@aybabtu.com>
32924
32925 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32926 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32927 after the RAID stuff.
32928
38a0f8e7 329292009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32930
50fb7002 32931 Fixes problem when running vbetest command as reported by
38a0f8e7 32932 Vladimir Serbinenko <phcoder@gmail.com>.
32933
32934 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32935
3143cc1c 329362009-02-04 Felix Zielcke <fzielcke@z-51.de>
32937
32938 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32939 /dev/md/NpN style mdraid devices.
32940
9cba6fce 329412009-02-03 Felix Zielcke <fzielcke@z-51.de>
32942
32943 * util/unifont2pff.rb: Remove.
32944
e507a2c1 329452009-02-03 Felix Zielcke <fzielcke@z-51.de>
32946
32947 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32948 `#'.
32949
d2c2b4cd 329502009-02-03 Felix Zielcke <fzielcke@z-51.de>
32951
32952 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32953 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32954 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32955 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32957 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32958 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32959
b4315fb0 329602009-02-02 Christian Franke <franke@computer.org>
32961
32962 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32963
de3aa260 329642009-02-01 Felix Zielcke <fzielcke@z-51.de>
32965
7c3ff286 32966 * INSTALL: Note that we now require at least autoconf 2.59 and
32967 that LZO is optional.
de3aa260 32968
825a182b 329692009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32970
32971 Base on patch on bug #24154 created by Tomas Tintera
32972 <trosos@seznam.cz>.
32973
32974 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32975
a69ef770 329762009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32977
7c3ff286 32978 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32979 <bero@arklinux.org>.
32980
32981 * normal/parser.y (script_init): Add missing semicolon.
32982
6fa42fa6 329832009-01-31 Colin D Bennett <colin@gibibit.com>
32984
7c3ff286 32985 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32986 (free_menu_entry_classes): Added.
32987 (grub_normal_menu_addentry): Added class property handling.
32988 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32989 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32990
32991 * normal/menu_viewer.c: New file.
32992
32993 * normal/menu.c (run_menu_entry): Renamed to ...
32994 (grub_menu_execute_entry): ... this and made it as global.
32995 (grub_menu_run): Renamed to ...
32996 (show_text_menu): ... this and made it local.
32997 (show_text_menu): Adapt to new function names.
32998 (grub_normal_terminal_menu_viewer): New global variable.
32999
33000 * include/grub/menu.h: New file.
33001
33002 * include/grub/menu_viewer.h: New file.
33003
33004 * include/grub/normal.h: Added include to grub/menu.h.
33005 (grub_menu_entry): Moved to include/grub/menu.h.
33006 (grub_menu_entry_t): Likewise.
33007 (grub_menu): Likewise.
33008 (grub_menu_t): Likewise.
33009 (grub_normal_terminal_menu_viewer): Added.
33010 (grub_menu_execute_entry): Likewise.
33011 (grub_menu_run): Removed.
33012
33013 * DISTLIST: Added include/grub/menu.h.
33014 Added include/grub/menu_viewer.h.
33015 Added normal/menu_viewer.c.
33016
330172009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
33018
33019 * normal/execute.c (grub_script_execute_menuentry): Changed to use
33020 arglist for menutitle arguments.
33021
33022 * normal/main.c (grub_normal_menu_addentry): Likewise.
33023
33024 * normal/parser.y (menuentry): Likewise.
33025
33026 * normal/script.c (grub_script_create_cmdmenu): Likewise.
33027
33028 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
33029 (grub_script_create_cmdmenu): Likewise.
33030
33031 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
33032
33033 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
33034 changes.
33035
33036 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
33037
33038 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
33039
33040 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
33041
33042 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33043
33044 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33045
33046 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
33047
56192c23 330482009-01-30 Christian Franke <franke@computer.org>
33049
33050 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
33051 in option help text.
33052
d72521b3 330532009-01-27 Pavel Roskin <proski@gnu.org>
33054
33055 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
33056
994b5e84 330572009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33058
33059 * commands/lsmmap.c: Add include to grub/machine/memory.h.
33060
33061 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
33062
33063 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
33064 unregister function.
33065
6a7eab2c 330662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
33067
33068 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33069
33070 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33071
33072 * util/grub-mkfont.c (usage): Fix typo.
33073
33074 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33075
1806b56e 330762009-01-26 Daniel Mierswa <impulze@impulze.org>
33077
3fb18f09 33078 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33079
336e1fb9 33080 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33081
1806b56e 33082 * kern/misc.c (grub_strcasecmp): New function.
33083 (grub_strcasecmp): Use grub_size_t instead of int for length.
33084 Fix return value.
33085 * include/grub/misc.h: Update function prototypes.
33086
580b2a0f 330872009-01-26 Robert Millan <rmh@aybabtu.com>
33088
33089 * configure.ac: Fix cross-compilation check.
ef257b36 33090
d31c24f1 330912009-01-22 Christian Franke <franke@computer.org>
33092
33093 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33094 (precision) digit string. Allow `.format2' without `format1' (width).
33095 Limit input chars for `%s' output to `format2' if specified. This is
33096 compatible with standard printf ().
33097
3138b44c 330982009-01-22 Christian Franke <franke@computer.org>
33099
33100 * disk/ata.c (grub_ata_wait_status): Replace by ...
33101 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33102 other status bits may be invalid while BSY is asserted.
33103 (grub_ata_check_ready): New function.
33104 (grub_ata_cmd): Removed.
33105 (grub_ata_wait_drq): New function.
33106 (grub_ata_strncpy): Remove inline.
33107 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33108 and error check now done by grub_ata_wait_drq ().
33109 (grub_ata_pio_write): Likewise.
33110 (grub_atapi_identify): Set DEV before check for !BSY. Use
33111 grub_ata_wait_drq () to wait for data.
33112 (grub_ata_device_initialize): Add status register check to
33113 detect missing SATA slave devices. Add debug messages.
33114 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33115 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33116 transfer loop by grub_ata_pio_write ().
33117 (grub_ata_identify): Set DEV before check for !BSY. Use
33118 grub_ata_wait_drq () to wait for data.
ef257b36 33119 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33120 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33121 read/write in one loop. Fix invalid command on write. Fix incomplete
33122 command on (size % batch) == 0. Add missing error check after write of
33123 last block. Add debug messages.
33124 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33125
59a64ef6 331262009-01-19 Christian Franke <franke@computer.org>
33127
33128 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33129 (GRUB_ATAPI_IREASON_*): Likewise.
33130 (grub_ata_pio_write): Fix timeout error return.
33131 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33132 (grub_atapi_wait_drq): New function.
33133 (grub_atapi_packet): New parameter `size'.
33134 Use grub_atapi_wait_drq () and direct write instead of
33135 grub_ata_pio_write ().
33136 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33137 reads the number of bytes requested by the device for each DRQ
33138 assertion.
33139 (grub_atapi_write): Remove old implementation, return not
33140 implemented instead.
33141
1cfe20b3 331422009-01-19 Christian Franke <franke@computer.org>
33143
33144 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33145 of 512 to calculate data size.
33146 (grub_scsi_read12): Likewise.
33147 (grub_scsi_write10): Likewise.
33148 (grub_scsi_write12): Likewise.
33149 (grub_scsi_read): Adjust size according to blocksize.
33150 Add checks for invalid blocksize and unaligned transfer.
33151
bee5fe5d 331522009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33153
33154 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33155
ef257b36 33156 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33157 width glyphs.
33158
3e643f8c 331592009-01-19 Robert Millan <rmh@aybabtu.com>
33160
33161 * config.guess: Update to latest version from config git.
33162 * config.sub: Likewise.
33163
4fa80998 331642009-01-17 Felix Zielcke <fzielcke@z-51.de>
33165
33166 * Makefile.in: Change font compilation to use new grub-mkfont instead
33167 of java version.
33168
33169 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33170 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33171 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33172 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33173 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33174 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33175 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33176 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33177 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33178
7086085b 331792009-01-16 Christian Franke <franke@computer.org>
33180
33181 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33182 (enum grub_ata_timeout_milliseconds): New enum.
33183 (grub_ata_wait_status): Add parameter milliseconds.
33184 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33185 recovery from timed-out commands.
33186 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33187 return grub_errno instead of REG_ERROR.
33188 (grub_ata_pio_write): Add parameter milliseconds.
33189 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33190 Pass milliseconds to grub_ata_wait_status () and
33191 grub_ata_pio_read ().
33192 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33193 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33194 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33195 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33196 It is not suitable for device detection, because DEV bit is ignored,
33197 the command may run too long, and not all devices set the signature
33198 properly.
33199 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33200 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33201 Fix device selection, DEV bit must be set first to address the registers
33202 of the correct device.
33203 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33204 grub_ata_pio_read/write ().
33205 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33206 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33207
4a412913 332082009-01-13 Carles Pina i Estany <carles@pina.cat>
33209
33210 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33211
7795c55e 332122009-01-13 Bean <bean123ch@gmail.com>
d913988c 33213
33214 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33215
7795c55e 332162009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33217
33218 * Makefile.in: (enable_grub_mkfont): New variable.
33219 (freetype_cflags): Likewise.
33220 (freetype_libs): Likewise.
33221
33222 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33223 (grub_mkfont_SOURCES): New variable.
33224 (grub_mkfont_CFLAGS): Likewise.
33225 (grub_mkfont_LDFLAGS): Likewise.
33226
33227 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33228 library if `--enable-grub-mkfont' is requested.
33229 (enable_grub_mkfont): New variable.
33230 (freetype_cflags): Likewise.
33231 (freetype_libs): Likewise.
33232
33233 * util/grub-mkfont.c: New file.
33234
093af1fe 332352009-01-12 Christian Franke <franke@computer.org>
33236
33237 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33238 mode check. Fix setting of compat_use[].
33239
f36cc108 332402009-01-10 Robert Millan <rmh@aybabtu.com>
33241
33242 Update a few copyright years which we forgot to do in 2008 (only for
33243 files whose changes made in 2008 were copyright-significant)
33244
33245 * Makefile.in: Add 2008 to Copyright line.
33246 * disk/ieee1275/ofdisk.c: Likewise.
33247 * disk/efi/efidisk.c: Likewise.
33248 * kern/dl.c: Likewise.
33249 * kern/sparc64/ieee1275/init.c: Likewise.
33250 * kern/mm.c: Likewise.
33251 * kern/efi/mm.c: Likewise.
33252 * boot/i386/pc/boot.S: Likewise.
33253 * genfslist.sh: Likewise.
33254 * fs/iso9660.c: Likewise.
33255 * fs/hfs.c: Likewise.
33256 * fs/jfs.c: Likewise.
33257 * fs/minix.c: Likewise.
33258 * fs/ufs.c: Likewise.
33259 * gensymlist.sh.in: Likewise.
33260 * genkernsyms.sh.in: Likewise.
33261 * include/grub/misc.h: Likewise.
33262 * include/grub/types.h: Likewise.
33263 * include/grub/symbol.h: Likewise.
33264 * include/grub/elf.h: Likewise.
33265 * include/grub/kernel.h: Likewise.
33266 * include/grub/disk.h: Likewise.
33267 * include/grub/dl.h: Likewise.
33268 * include/grub/i386/linux.h: Likewise.
33269 * include/grub/i386/pc/biosdisk.h: Likewise.
33270 * include/grub/efi/api.h: Likewise.
33271 * include/grub/efi/pe32.h: Likewise.
33272 * include/grub/util/misc.h: Likewise.
33273 * normal/execute.c: Likewise.
33274 * normal/arg.c: Likewise.
33275 * normal/completion.c: Likewise.
33276 * normal/lexer.c: Likewise.
33277 * normal/parser.y: Likewise.
33278 * normal/misc.c: Likewise.
33279 * commands/i386/pc/vbeinfo.c: Likewise.
33280 * commands/hexdump.c: Likewise.
33281 * commands/terminal.c: Likewise.
33282 * commands/ls.c: Likewise.
33283 * commands/help.c: Likewise.
33284 * partmap/pc.c: Likewise.
33285 * loader/efi/chainloader.c: Likewise.
33286 * loader/multiboot_loader.c: Likewise.
33287 * loader/i386/pc/multiboot2.c: Likewise.
33288 * term/efi/console.c: Likewise.
33289 * term/i386/pc/serial.c: Likewise.
33290 * util/lvm.c: Likewise.
33291 * util/console.c: Likewise.
33292 * util/i386/efi/grub-mkimage.c: Likewise.
33293 * util/raid.c: Likewise.
33294
7f02114b 332952009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33296
33297 * commands/videotest.c: Removed include to grub/machine/memory.h.
33298
33299 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33300 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33301 (video_mod_SOURCES): Removed.
33302 (video_mod_CFLAGS): Likewise.
33303 (video_mod_LDFLAGS): Likewise.
33304 (gfxterm_mod_SOURCES): Likewise.
33305 (gfxterm_mod_CFLAGS): Likewise.
33306 (gfxterm_mod_LDFLAGS): Likewise.
33307 (videotest_mod_SOURCES): Likewise.
33308 (videotest_mod_CFLAGS): Likewise.
33309 (videotest_mod_LDFLAGS): Likewise.
33310 (bitmap_mod_SOURCES): Likewise.
33311 (bitmap_mod_CFLAGS): Likewise.
33312 (bitmap_mod_LDFLAGS): Likewise.
33313 (tga_mod_SOURCES): Likewise.
33314 (tga_mod_CFLAGS): Likewise.
33315 (tga_mod_LDFLAGS): Likewise.
33316 (jpeg_mod_SOURCES): Likewise.
33317 (jpeg_mod_CFLAGS): Likewise.
33318 (jpeg_mod_LDFLAGS): Likewise.
33319 (png_mod_SOURCES): Likewise.
33320 (png_mod_CFLAGS): Likewise.
33321 (png_mod_LDFLAGS): Likewise.
33322
33323 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33324 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33325 (video_mod_SOURCES): Added.
33326 (video_mod_CFLAGS): Likewise.
33327 (video_mod_LDFLAGS): Likewise.
33328 (videotest_mod_SOURCES): Likewise.
33329 (videotest_mod_CFLAGS): Likewise.
33330 (videotest_mod_LDFLAGS): Likewise.
33331 (bitmap_mod_SOURCES): Likewise.
33332 (bitmap_mod_CFLAGS): Likewise.
33333 (bitmap_mod_LDFLAGS): Likewise.
33334 (tga_mod_SOURCES): Likewise.
33335 (tga_mod_CFLAGS): Likewise.
33336 (tga_mod_LDFLAGS): Likewise.
33337 (jpeg_mod_SOURCES): Likewise.
33338 (jpeg_mod_CFLAGS): Likewise.
33339 (jpeg_mod_LDFLAGS): Likewise.
33340 (png_mod_SOURCES): Likewise.
33341 (png_mod_CFLAGS): Likewise.
33342 (png_mod_LDFLAGS): Likewise.
33343 (gfxterm_mod_SOURCES): Likewise.
33344 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33345 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33346
33347 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33348 grub/machine/console.h.
33349
644fff97 333502009-01-04 Jerone Young <jerone@gmail.com>
33351
33352 Make on screen instructions clearer
33353
33354 Based on patch created by Jidanni <jidanni@jidanni.org>
33355
33356 * normal/menu.c: print clearer instructions on the screen
33357
1e901a75 333582009-01-02 Colin D Bennett <colin@gibibit.com>
33359
33360 New font engine.
34c44600 33361
1e901a75 33362 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33363 build system and fixed gfxterm.c to work with different sized fonts.
33364
33365 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33366
1e901a75 33367 * configure: Re-generated.
34c44600 33368
1e901a75 33369 * DISTLIST: Removed font/manager.c.
33370 Added font/font.c.
33371 Added font/font_cmd.c.
34c44600 33372
1e901a75 33373 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33374 compilation.
34c44600 33375
1e901a75 33376 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33377
33378 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33379
33380 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33381
1e901a75 33382 * normal/menu.c: Likewise.
34c44600 33383
1e901a75 33384 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33385 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33386
1e901a75 33387 * include/grub/font.h: Replaced with new file.
34c44600 33388
1e901a75 33389 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33390 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33391 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33392 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33393 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33394 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33395 fg_red, fg_green, fg_blue, fg_alpha.
33396 (grub_video_adapter): Removed blit_glyph.
34c44600 33397 (grub_video_blit_glyph): Removed.
33398
1e901a75 33399 * font/manager.c: Removed file.
34c44600 33400
33401 * font/font.c: New file.
33402
1e901a75 33403 * font/font_cmd.c: Likewise.
34c44600 33404
1e901a75 33405 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33406
1e901a75 33407 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33408 (grub_video_vbe_map_rgba): Likewise.
33409 (grub_video_vbe_unmap_color_int): Likewise.
33410 (grub_video_vbe_blit_glyph): Removed.
33411 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33412
1e901a75 33413 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33414 (get_pixel): Likewise.
34c44600 33415 (set_pixel): Likewise.
33416
1e901a75 33417 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33418
1e901a75 33419 * term/gfxterm.c: Adapted to new font engine.
34c44600 33420
1e901a75 33421 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33422
1e901a75 33423 * term/i386/pc/vga.c: Likewise.
34c44600 33424
1e901a75 33425 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33426
1e901a75 33427 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33428
1e901a75 33429 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33430
1e901a75 33431 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33432
1e901a75 33433 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33434
1e901a75 33435 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33436
1e901a75 33437 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33438
1e901a75 33439 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33440
1e901a75 33441 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33442
33443 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33444
1e901a75 33445 * util/grub-mkconfig_lib.in: Changed font extension.
33446
278922e8 334472008-12-28 Felix Zielcke <fzielcke@z-51.de>
33448
33449 * util/getroot.c (grub_util_get_grub_dev): Add support for
33450 /dev/md/dNNpNN style partitionable mdraid devices.
33451
3ced05cf 334522008-12-12 Alex Smith <alex@alex-smith.me.uk>
33453
33454 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33455 at a time limit of the PXE TFTP API correctly.
33456 (grub_pxefs_close): Likewise.
33457
7fd0ee30 334582008-11-29 Robert Millan <rmh@aybabtu.com>
33459
34c44600 33460 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33461 grub_ata_device_initialize() calls.
33462
34c44600 334632008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33464
33465 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33466 iteration failed.
33467 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33468
89313780 334692008-11-28 Robert Millan <rmh@aybabtu.com>
33470
33471 Fix build on powerpc-ieee1275. Based on patch created by
33472 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33473 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33474 `kern/ieee1275/mmap.c'.
33475 * include/grub/powerpc/ieee1275/memory.h: New file.
33476
15257703 33477 Provide grub-install on coreboot.
33478 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33479 (grub_install_SOURCES): New variable.
33480 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33481 usable on coreboot.
33482
9fc5388a 334832008-11-25 Felix Zielcke <fzielcke@z-51.de>
33484
33485 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33486 to `grub_term_input_t'.
33487 (grub_term_get_current_output): Change return type to
33488 `grub_term_output_t'.
33489
bc3a2f31 334902008-11-22 Robert Millan <rmh@aybabtu.com>
33491
34c44600 33492 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33493 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33494 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33495 grub_vga_text_cls().
33496
80fc88f2 33497 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33498 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33499
cbf36fd3 33500 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33501 to 0x200000 (avoids trouble with some OFW implementations, and matches
33502 with the one in Yaboot).
33503 Reported by Manoel Abranches
33504
73e8e268 335052008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33506
33507 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33508 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33509
73e8e268 33510 * util/grub-mkconfig_lib.in (grub_warn): New function.
33511 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33512 warnings, to obtain consistent formatting.
33513 * util/grub.d/00_header.in: Likewise.
33514 * util/update-grub_lib.in: Likewise.
33515
e94045a1 33516 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33517 Move comment text to `#error' stanza.
e94045a1 33518
79d29fd7 33519 Harmonize ieee1275's grub_available_iterate() with the generic
33520 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33521 build problem on i386-ieee1275):
33522 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33523 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33524 parameter `type'. Update all users of this function.
33525 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33526 `kern/ieee1275/mmap.c'.
33527 * kern/ieee1275/init.c
33528 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33529 with ...
33530 (grub_machine_mmap_iterate): ... this.
33531 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33532 return type to `grub_err_t'. Update all implementations of this
33533 function prototype.
33534 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33535 Likewise.
33536
60d6b16e 33537 Add `lsmmap' command (lists firmware-provided memory map):
33538 * commands/lsmmap.c: New file.
33539 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33540 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33541 variables.
33542 * conf/powerpc-ieee1275.rmk: Likewise.
33543 * conf/i386-coreboot.rmk: Likewise.
33544 * conf/i386-ieee1275.rmk: Likewise.
33545
ebaaf49b 335462008-11-19 Robert Millan <rmh@aybabtu.com>
33547
33548 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33549 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33550 constraints to initrd allocation (based on code from
33551 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33552 for Linux to find it.
ebaaf49b 33553
dfab719f 335542008-11-14 Robert Millan <rmh@aybabtu.com>
33555
33556 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33557 order to cope with duplicate slashes.
33558
10fc3eb9 335592008-11-14 Robert Millan <rmh@aybabtu.com>
33560
33561 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33562 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33563 don't want to mess with lower memory, because it is used in the Linux
33564 loader.
33565
33566 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33567 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33568 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33569 is in our heap (probably as a result of it being corrupted during
2f2a3442 33570 decompression). Add #error instance with comment to explain why this
33571 loader isn't currently usable on PC/BIOS.
10fc3eb9 33572
e2e07847 335732008-11-14 Robert Millan <rmh@aybabtu.com>
33574
33575 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33576 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33577
fe8e8d69 335782008-11-12 Robert Millan <rmh@aybabtu.com>
33579
33580 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33581
33582 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33583 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33584 from here ...
33585 * include/grub/i386/pc/memory.h: ... to here.
33586
976b07d0 335872008-11-12 Robert Millan <rmh@aybabtu.com>
33588
33589 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33590 split).
33591
33592 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33593 (grub_console_cur_color, grub_console_real_putchar)
33594 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33595 (grub_console_setcolorstate, grub_console_setcolor)
33596 (grub_console_getcolor): Move from here ...
33597 * include/grub/i386/vga_common.h: ... to here (new file).
33598
33599 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33600 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33601 `<grub/i386/io.h>'.
33602 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33603 `<grub/i386/vga_common.h>'.
33604
76679cd3 336052008-11-12 Robert Millan <rmh@aybabtu.com>
33606
33607 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33608 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33609 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33610 variables.
33611 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33612 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33613
33614 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33615 grub_console_init() with call to grub_vga_text_init().
33616 (grub_machine_fini): Replace call to
33617 grub_console_fini() with call to grub_vga_text_fini() and
33618 grub_at_keyboard_fini().
33619
33620 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33621 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33622 (grub_console_setcolorstate, grub_console_setcolor)
33623 (grub_console_getcolor): New function prototypes.
33624
33625 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33626 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33627 (grub_vga_text_setcursor): Static-ize.
33628 (grub_vga_text_term): New structure.
33629 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33630
33631 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33632 (grub_console_cur_color, grub_console_standard_color)
33633 (grub_console_normal_color, grub_console_highlight_color)
33634 (map_char, grub_console_putchar, grub_console_getcharwidth)
33635 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33636 (grub_console_getcolor): Move from here ...
33637 * term/i386/vga_common.c: ... to here (same function names).
33638
95b841d3 336392008-11-12 Robert Millan <rmh@aybabtu.com>
33640
33641 Use newly-added Multiboot support in coreboot.
33642
33643 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33644 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33645
33646 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33647 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33648 (codestart): Store the MBI in `startup_multiboot_info' when we're
33649 being loaded using Multiboot.
33650
33651 * kern/i386/coreboot/init.c (grub_machine_init): Move
33652 grub_at_keyboard_init() call to beginning of function (useful for
33653 debugging). Call grub_machine_mmap_init() before attempting to use
33654 grub_machine_mmap_iterate().
33655 (grub_lower_mem, grub_upper_mem): Move from here ...
33656 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33657 here (new file).
33658
33659 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33660 function prototype.
33661
761ca975 336622008-11-12 Robert Millan <rmh@aybabtu.com>
33663
33664 Fix a regression introduced by the at_keyboard.mod split. Because
33665 some terminals are default on some platforms and non-default on
33666 others, the first terminal being registered determines which is
33667 going to be default.
33668
33669 * kern/term.c (grub_term_register_input): If this is the first
33670 terminal being registered, set it as the current one.
33671 (grub_term_register_output): Likewise.
33672
33673 * term/efi/console.c (grub_console_init): Do not call
33674 grub_term_set_current_output() or grub_term_set_current_input().
33675 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33676 * term/i386/pc/console.c (grub_console_init): Likewise.
33677 (grub_console_fini): Do not call grub_term_set_current_input()
33678 (but leave grub_term_set_current_output() to restore text mode).
33679
6c529df7 336802008-11-10 Robert Millan <rmh@aybabtu.com>
33681
33682 * util/grub.d/00_header.in: Add backward compatibility check for
33683 versions of terminal.mod that don't understand `terminal_input' or
33684 `terminal_output'.
33685
132e4113 336862008-11-09 Robert Millan <rmh@aybabtu.com>
33687
33688 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33689 `terminal_input' / `terminal_output', not `terminal'.
33690
ac293d50 336912008-11-08 Robert Millan <rmh@aybabtu.com>
33692
33693 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33694 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33695
0025933a 336962008-11-08 Robert Millan <rmh@aybabtu.com>
33697
33698 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33699 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33700 members. Update all users.
33701 * util/console.c (grub_ncurses_term): Split in ...
33702 (grub_ncurses_term_input): ... this, and ...
33703 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33704 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33705
37c86336 337062008-11-08 Robert Millan <rmh@aybabtu.com>
33707
33708 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33709 (PKGDATA): Add $(pkgdata_SRCDIR).
33710 (pkglib_BUILDDIR): New variable.
33711 (pkgdata_SRCDIR): New variable.
33712 (build_env.mk): New target.
33713 (include_DATA): New variable.
33714 (install-local): Install $(include_DATA) files in $(includedir).
33715
b6c15a2d 337162008-11-07 Pavel Roskin <proski@gnu.org>
33717
d99d46f1 33718 * gendistlist.sh: Use C locale for sorting to ensure consistent
33719 output on all systems.
33720
b6c15a2d 33721 * util/grub.d/00_header.in: Remove incorrect space before
33722 "serial".
33723
c32ee8c9 337242008-11-07 Robert Millan <rmh@aybabtu.com>
33725
33726 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33727 per specification.
33728 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33729 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33730 (based on find_multi_boot1_header).
33731 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33732 using find_multi_boot2_header(), and abort if neither Multiboot or
33733 Multiboot headers were found.
33734
651c29b7 337352008-11-07 Robert Millan <rmh@aybabtu.com>
33736
33737 Modularize at_keyboard.mod:
33738
33739 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33740 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33741 (at_keyboard_mod_LDFLAGS): New variables.
33742
33743 Actual terminal split:
33744
33745 * include/grub/term.h (struct grub_term): Split in ...
33746 (struct grub_term_input): ... this, and ...
33747 (struct grub_term_output): ... this. Update all users.
33748 (grub_term_set_current): Split in ...
33749 (grub_term_set_current_input): ... this, and ...
33750 (grub_term_set_current_output): ... this.
33751 (grub_term_get_current): Split in ...
33752 (grub_term_get_current_input): ... this, and ...
33753 (grub_term_get_current_output): ... this.
33754 (grub_term_register): Split in ...
33755 (grub_term_register_input): ... this, and ...
33756 (grub_term_register_output): ... this.
33757 (grub_term_unregister): Split in ...
33758 (grub_term_unregister_input): ... this, and ...
33759 (grub_term_unregister_output): ... this.
33760 (grub_term_iterate): Split in ...
33761 (grub_term_iterate_input): ... this, and ...
33762 (grub_term_iterate_output): ... this.
33763
33764 * kern/term.c (grub_term_list): Split in ...
33765 (grub_term_list_input): ... this, and ...
33766 (grub_term_list_output): ... this. Update all users.
33767 (grub_cur_term): Split in ...
33768 (grub_cur_term_input): ... this, and ...
33769 (grub_cur_term_output): ... this. Update all users.
33770 (grub_term_set_current): Split in ...
33771 (grub_term_set_current_input): ... this, and ...
33772 (grub_term_set_current_output): ... this.
33773 (grub_term_get_current): Split in ...
33774 (grub_term_get_current_input): ... this, and ...
33775 (grub_term_get_current_output): ... this.
33776 (grub_term_register): Split in ...
33777 (grub_term_register_input): ... this, and ...
33778 (grub_term_register_output): ... this.
33779 (grub_term_unregister): Split in ...
33780 (grub_term_unregister_input): ... this, and ...
33781 (grub_term_unregister_output): ... this.
33782 (grub_term_iterate): Split in ...
33783 (grub_term_iterate_input): ... this, and ...
33784 (grub_term_iterate_output): ... this.
33785
33786 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33787 a check for input and one for output (and only attempt to get keys
33788 from user when input works).
33789
33790 * util/grub-probe.c (grub_term_get_current): Split in ...
33791 (grub_term_get_current_input): ... this, and ...
33792 (grub_term_get_current_output): ... this.
33793 * util/grub-fstest.c: Likewise.
33794 * util/i386/pc/grub-setup.c: Likewise.
33795 * util/grub-editenv.c: Likewise.
33796
33797 Portability adjustments:
33798
33799 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33800 `term/i386/pc/at_keyboard.c'.
33801 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33802 grub_keyboard_controller_init() (now handled by terminal .init).
33803 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33804 grub_at_keyboard_init().
33805 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33806 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33807 at_keyboard.mod via input terminal interface).
33808 * include/grub/i386/coreboot/console.h: Convert into a stub for
33809 `<grub/i386/pc/console.h>'.
33810
33811 Migrate full terminals to new API:
33812
33813 * term/efi/console.c (grub_console_term): Split into ...
33814 (grub_console_term_input): ... this, and ...
33815 (grub_console_term_output): ... this. Update all users.
33816 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33817 (grub_ofconsole_init): Split into ...
33818 (grub_ofconsole_init_input): ... this, and ...
33819 (grub_ofconsole_init_output): ... this.
33820 (grub_ofconsole_term): Split into ...
33821 (grub_ofconsole_term_input): ... this, and ...
33822 (grub_ofconsole_term_output): ... this. Update all users.
33823 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33824 (grub_serial_term_input): ... this, and ...
33825 (grub_serial_term_output): ... this. Update all users.
33826 * term/i386/pc/console.c (grub_console_term): Split into ...
33827 (grub_console_term_input): ... this, and ...
33828 (grub_console_term_output): ... this. Update all users.
33829 (grub_console_term_input): Only enable it on PC/BIOS platform.
33830 (grub_console_init): Remove grub_keyboard_controller_init() call.
33831
33832 Migrate input terminals to new API:
33833
33834 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33835 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33836 i386-specific anyway).
33837 (grub_console_checkkey): Rename to ...
33838 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33839 users.
33840 (grub_keyboard_controller_orig): New variable.
33841 (grub_console_getkey): Rename to ...
33842 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33843 users.
33844 (grub_keyboard_controller_init): Static-ize. Save original
33845 controller value so that it can be restored ...
33846 (grub_keyboard_controller_fini): ... here (new function).
33847 (grub_at_keyboard_term): New structure.
33848 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33849 functions.
33850
33851 Migrate output terminals to new API:
33852
33853 * term/i386/pc/vga.c (grub_vga_term): Change type to
33854 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33855 members. Update all users.
33856 * term/gfxterm.c (grub_video_term): Change type to
33857 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33858 members. Update all users.
33859 * include/grub/i386/pc/console.h (grub_console_checkkey)
33860 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33861 etc).
33862
33863 Migrate `terminal' command and userland tools to new API:
33864
33865 * commands/terminal.c (grub_cmd_terminal): Split into ...
33866 (grub_cmd_terminal_input): ... this, and ...
33867 (grub_cmd_terminal_output): ... this.
33868 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33869 `terminal_input' and `terminal_output'.
33870 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33871 `terminal_input' / `terminal_output' API.
33872 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33873 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33874 provided ${GRUB_TERMINAL}, convert it).
33875
96e5d876 338762008-11-04 Robert Millan <rmh@aybabtu.com>
33877
33878 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33879 for FreeBSD.
33880 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33881
556f3775 338822008-11-03 Bean <bean123ch@gmail.com>
33883
33884 * kern/elf.c (grub_elf32_load): Revert to previous code.
33885 (grub_elf64_load): Likewise.
33886
33887 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33888
926b9823 338892008-11-01 Robert Millan <rmh@aybabtu.com>
33890
33891 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33892 (TARGET_CPPFLAGS): Likewise.
33893 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33894
1432e958 338952008-11-01 Carles Pina i Estany <carles@pina.cat>
33896
33897 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33898
dba3f844 338992008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33900
33901 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33902 addition of objects until the code is not going to be able to fail.
33903
dba3f844 339042008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33905
33906 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33907 (add a missing NULL check, and correct them by moving the pointer
33908 operations after the actual check).
33909
7ab28c21 339102008-10-29 Robert Millan <rmh@aybabtu.com>
33911
33912 * util/i386/pc/grub-install.in: Handle empty string as output from
33913 make_system_path_relative_to_its_root().
33914
1b7748eb 339152008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33916
33917 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33918 circular metadata worst case scenario. If the metadata is circular
33919 then copy the wrap in place.
33920 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33921 project lib/format_text/layout.h
33922 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33923
c9618ab2 339242008-10-03 Felix Zielcke <fzielcke@z-51.de>
33925
7a36edca 33926 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33927
bf981c62 339282008-10-03 Felix Zielcke <fzielcke@z-51.de>
33929
33930 * util/update-grub_lib.in: Mention filename in warning message.
33931
6d994591 339322008-09-29 Felix Zielcke <fzielcke@z-51.de>
33933
33934 * NEWS: Update for rename of update-grub to grub-mkconfig.
33935
18ade780 339362008-09-29 Felix Zielcke <fzielcke@z-51.de>
33937
33938 * util/update-grub_lib.in: Copy to ...
33939 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33940 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33941 * util/update-grub.in: Rename to ...
33942 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33943 option. Add `--output' option to allow users to specify the generated
33944 configuration file. Default to stdout.
33945 (update_grub_dir): Rename to ...
33946 (grub_mkconfig_dir): ... this.
33947 (grub_cfg): Default to an empty string.
33948 * conf/common.rmk (update-grub): Rename to ...
33949 (grub-mkconfig): ... this.
33950 (update-grub_lib): Copy to ...
33951 (grub-mkconfig_lib): ... this.
33952 (update-grub_SCRIPTS): Copy to ...
33953 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33954 (update-grub_DATA): Rename to ...
33955 (grub-mkconfig_DATA): ... this.
33956
556ce6ac 339572008-09-28 Robert Millan <rmh@aybabtu.com>
33958
33959 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33960 to `modified'. Add the real `created' field.
33961 (grub_iso9660_uuid): Use `modified' rather than `created' for
33962 constructing the UUID.
33963
339642008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33965
33966 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33967 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33968
92274e85 339692008-09-28 Bean <bean123ch@gmail.com>
33970
33971 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33972 Thanks to Christian Franke for finding this bug.
33973
add6f17a 339742008-09-25 Robert Millan <rmh@aybabtu.com>
33975
33976 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33977 instances of grub_util_get_disk_name() (see previous commit).
33978
d2a367b8 339792008-09-25 Robert Millan <rmh@aybabtu.com>
33980
33981 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33982 `util/i386/get_disk_name.c'.
33983 * conf/i386-efi.rmk: Likewise.
33984 * conf/x86_64-efi.rmk: Likewise.
33985 * conf/i386-coreboot.rmk: Likewise.
33986 * conf/i386-ieee1275.rmk: Likewise.
33987 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33988 `util/ieee1275/get_disk_name.c'.
33989 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33990 * util/ieee1275/get_disk_name.c: Remove file.
33991 * util/i386/get_disk_name.c: Remove file.
33992 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33993 "hd%d" for device.map entries, rather than using
33994 grub_util_get_disk_name().
33995
81a06771 339962008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33997
33998 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33999 warning.
34000 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
34001
5a004279 340022008-09-24 Carles Pina i Estany <carles@pina.cat>
34003
34004 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
34005 Changed to 0x5100.
34006 (GRUB_TERM_PPAGE): Changed to 0x4900.
34007
397093d3 340082008-09-24 Robert Millan <rmh@aybabtu.com>
34009
34010 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
34011 macros (they were i386-pc specific).
34012 * include/grub/sparc64/ieee1275/console.h: Likewise.
34013 * include/grub/efi/console.h: Likewise.
34014
a91b6c7c 340152008-09-22 Bean <bean123ch@gmail.com>
34016
34017 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
34018 resident and in attribute list.
34019
34020 * include/grub/ntfs.h (BMP_LEN): Removed.
34021
c40fd116 340222008-09-22 Bean <bean123ch@gmail.com>
34023
81a06771 34024 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 34025 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
34026
34027 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
34028 error occurs, as grub_disk_open will call grub_disk_close, which will
34029 call p->close (scsi).
34030
81a06771 340312008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 34032
34033 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
34034 (AC_PREREQ): Bumped to 2.59.
34035 (AC_TRY_COMPILE): Replace obsolete macro with ...
34036 (AC_COMPILE_IFELSE): ... this.
34037 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
34038 (AC_LINK_IFELSE): ... this.
34039
5dc43410 340402008-09-21 Felix Zielcke <fzielcke@z-51.de>
34041
34042 * autogen.sh: Add a call to `gendistlist.sh'.
34043
9035dce4 340442008-09-19 Christian Franke <franke@computer.org>
34045
34046 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
34047 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
34048 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
34049 Export __enable_execute_stack() to modules.
34050 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
34051 New function.
34052
7fd75377 340532008-09-09 Felix Zielcke <fzielcke@z-51.de>
34054
040030b3 34055 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
34056 Sort the list.
34057
340582008-09-09 Felix Zielcke <fzielcke@z-51.de>
34059
34060 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 34061 #include <grub/util/hostdisk.h>.
34062
89d5ffcf 340632008-09-08 Robert Millan <rmh@aybabtu.com>
34064
34065 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
34066 segments when their filesz is zero (grub_file_read() interprets
81a06771 34067 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 34068 Use `lowest_segment' rather than 0 for calculating the current
34069 segment load address.
34070
40da438f 340712008-09-08 Robert Millan <rmh@aybabtu.com>
34072
34073 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34074 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34075 clobbered useful information.
34076
ddbf5556 340772008-09-08 Robert Millan <rmh@aybabtu.com>
34078
34079 * include/grub/util/biosdisk.h: Move to ...
34080 * include/grub/util/hostdisk.h: ... here. Update all users.
34081 * util/biosdisk.c: Move to ...
34082 * util/hostdisk.c: ... here. Update all users.
34083
783d0f48 340842008-09-07 Robert Millan <rmh@aybabtu.com>
34085
34086 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34087 variables.
34088 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34089 and length can be stored directly in the `mbi->mmap_addr' and
34090 `mbi->mmap_length' struct fields.
34091
548e2ea5 340922008-09-07 Robert Millan <rmh@aybabtu.com>
34093
34094 * conf/i386.rmk: New file. Provides declaration for building
34095 `cpuid.mod'.
34096 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34097 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34098 variables.
34099 Include `conf/i386.mk'.
34100 * conf/i386-efi.rmk: Likewise.
34101 * conf/x86_64-efi.rmk: Likewise.
34102 * conf/i386-coreboot.rmk: Likewise.
34103 * conf/i386-ieee1275.rmk: Likewise.
34104
0ea85a37 341052008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34106
34107 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34108 Adds optimization support for BGR based modes.
34109
34110 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34111 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34112 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34113 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34114 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34115 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34116 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34117 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34118 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34119 (grub_video_i386_vbeblit_index_index): Likewise.
34120 (grub_video_i386_vbeblit_replace_directN): Added.
34121 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34122 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34123 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34124 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34125 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34126 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34127 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34128 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34129 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34130 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34131 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34132 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34133 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34134
34135 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34136 (grub_video_i386_vbefill_R8G8B8): Likewise.
34137 (grub_video_i386_vbefill_index): Likewise.
34138 (grub_video_i386_vbefill_direct32): Added.
34139 (grub_video_i386_vbefill_direct24): Likewise.
34140 (grub_video_i386_vbefill_direct16): Likewise.
34141 (grub_video_i386_vbefill_direct8): Likewise.
34142
81a06771 34143 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34144 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34145 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34146 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34147 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34148 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34149
0ea85a37 34150 * video/video.c (grub_video_get_blit_format): Updated to use new
34151 blit formats. Added handling for 16 bit color modes.
81a06771 34152
34153 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34154 fillers.
34155 (common_blitter): Updated to use new blitters.
34156
34157 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34158 Removed.
34159 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34160 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34161 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34162 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34163 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34164 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34165 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34166 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34167 (grub_video_i386_vbeblit_index_index): Likewise.
34168 (grub_video_i386_vbeblit_replace_directN): Added.
34169 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34170 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34171 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34172 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34173 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34174 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34175 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34176 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34177 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34178 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34179 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34180 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34181 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34182
0ea85a37 34183 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34184 (grub_video_i386_vbefill_R8G8B8): Likewise.
34185 (grub_video_i386_vbefill_index): Likewise.
34186 (grub_video_i386_vbefill_direct32): Added.
34187 (grub_video_i386_vbefill_direct24): Likewise.
34188 (grub_video_i386_vbefill_direct16): Likewise.
34189 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34190
0ea85a37 34191 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34192 types.
81a06771 34193
0ea85a37 34194 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34195 types.
81a06771 34196
0ea85a37 34197 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34198 blitter types.
81a06771 34199
0ea85a37 34200 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34201 types.
34202
e8a83df6 342032008-09-06 Felix Zielcke <fzielcke@z-51.de>
34204
34205 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34206 RAID level 1.
34207
6bcd8ee5 342082008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34209
6bcd8ee5 34210 * fs/iso9660.c (grub_iso9660_date): New structure.
34211 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34212 (grub_iso9660_uuid): New function.
c375ae58 34213
59261157 342142008-09-05 Bean <bean123ch@gmail.com>
34215
34216 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34217
34218 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34219 insensitive bit for names in Win32 and Win32 & DOS namespace.
34220
34221 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34222
34223 * include/grub/types.h (LONG_MAX): Likewise.
34224
58b6645a 342252008-09-04 Felix Zielcke <fzielcke@z-51.de>
34226
4ee55921 34227 * util/getroot.c: Include <config.h>.
34228 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34229 add support for /dev/md/N devices and handle LVM double dash escaping.
34230
342312008-09-04 Felix Zielcke <fzielcke@z-51.de>
34232
34233 * config.guess: Update to latest version from config git.
34234 * config.sub: Likewise.
58b6645a 34235
9124f65d 342362008-09-03 Robert Millan <rmh@aybabtu.com>
34237
34238 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34239 `disk->total_sectors'.
34240
81a06771 342412008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34242
34243 * include/grub/normal.h: Fixed incorrect comment for
34244 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34245
81a06771 342462008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34247
34248 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34249 values with defines.
34250
34251 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34252 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34253 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34254 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34255 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34256 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34257 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34258 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34259 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34260 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34261 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34262 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34263 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34264 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34265 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34266 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34267 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34268 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34269 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34270
93d5cbf8 342712008-08-31 Robert Millan <rmh@aybabtu.com>
34272
34273 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34274 declaration.
34275 (grub_multiboot): Fix a few warnings.
34276
21751d50 342772008-08-31 Robert Millan <rmh@aybabtu.com>
34278
34279 * loader/i386/pc/multiboot.c: Update comment not to say that
34280 boot_device support is unimplemented.
34281
e27a75c5 342822008-08-31 Robert Millan <rmh@aybabtu.com>
34283
34284 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34285 or memory map support are unimplemented.
34286
81a06771 342872008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34288
34289 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34290
81a06771 342912008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34292
34293 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34294 total video memory in 'vbeinfo' output; show color format details for
34295 each video mode.
34296
7c5d8d95 342972008-08-30 Pavel Roskin <proski@gnu.org>
34298
34299 * util/genmoddep.c: Remove for real this time.
34300 * DISTLIST: Remove util/genmoddep.c.
34301
4cebd25a 343022008-08-30 Robert Millan <rmh@aybabtu.com>
34303
34304 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34305 as required by Multiboot spec (it was already 4-byte aligned, but
34306 only by chance).
34307
b497a269 343082008-08-29 Pavel Roskin <proski@gnu.org>
34309
e3925185 34310 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34311 * kern/powerpc/ieee1275/startup.S: ... this.
34312 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34313 * DISTLIST: Likewise.
34314
b497a269 34315 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34316 grub/cpu/kernel.h. Add start label for consistency with other
34317 platforms. Add grub_prefix immediately after start. Add jump
34318 to the code after grub_prefix.
34319 * include/grub/powerpc/kernel.h: Provide valid values for
34320 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34321
6e5a42fe 343222008-08-29 Bean <bean123ch@gmail.com>
34323
34324 * configure.ac: Change host_os to cygwin for mingw.
34325 (asprintf): New check for function.
34326
34327 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34328 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34329
34330 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34331 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34332 sync, sleep and grub_util_get_disk_size for mingw.
34333
34334 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34335 to get size in mingw.
34336 (open_device): Use flag O_BINARY if it's defined.
34337 (find_root_device): Add dummy code for mingw.
34338
34339 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34340 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34341 (get_scsi_disk_name): Return 0 for mingw.
34342
34343 * util/hostfs.c: #include <grub/util/misc.h>.
34344 (grub_hostfs_open): Use "rb" flag to open file, use
34345 grub_util_get_disk_size to get disk size for mingw.
34346
34347 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34348 (asprintf): New function if HAVE_ASPRINTF is not set.
34349 (sync): New function for mingw.
34350 (sleep): Likewise.
34351 (grub_util_get_disk_size): Likewise.
34352
ab3f2673 343532008-08-28 Pavel Roskin <proski@gnu.org>
34354
34355 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34356 kern/time.c.
34357
1c282483 343582008-08-28 Robert Millan <rmh@aybabtu.com>
34359
34360 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34361
678e849c 343622008-08-28 Robert Millan <rmh@aybabtu.com>
34363
34364 Change find_grub_drive() syntax so it doesn't prevent it from
34365 detecting NULL names as errors.
34366
34367 * util/biosdisk.c (find_grub_drive): Move free slot search code
34368 from here ...
34369 (find_free_slot): ... to here.
34370 (read_device_map): Use find_free_slot() to search for free slots.
34371
965c75ca 343722008-08-27 Marco Gerards <marco@gnu.org>
34373
34374 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34375 (scsi_mod_SOURCES): New variable.
34376 (scsi_mod_CFLAGS): Likewise
34377 (scsi_mod_LDFLAGS): Likewise.
34378
34379 * disk/scsi.c: New file.
34380
34381 * include/grub/scsi.h: Likewise.
34382
34383 * include/grub/scsicmd.h: Likewise.
34384
34385 * disk/ata.c: Include <grub/scsi.h>.
34386 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34387 instead.
34388 (grub_ata_iterate): Skip ATAPI devices.
34389 (grub_ata_open): Only handle ATAPI devices.
34390 (struct grub_atapi_read): Removed.
34391 (grub_atapi_readsector): Likewise.
34392 (grub_ata_read): No longer handle ATAPI devices.
34393 (grub_ata_write): Likewise.
34394 (grub_atapi_iterate): New function.
34395 (grub_atapi_read): Likewise.
34396 (grub_atapi_write): Likewise.
34397 (grub_atapi_open): Likewise.
34398 (grub_atapi_close): Likewise.
34399 (grub_atapi_dev): New variable.
34400 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34401 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34402
34403 * include/grub/disk.h (enum grub_disk_dev_id): Add
34404 `GRUB_DISK_DEVICE_SCSI_ID'.
34405
c07ae501 344062008-08-26 Robert Millan <rmh@aybabtu.com>
34407
34408 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34409 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34410 descriptive.
34411
5ed20adc 344122008-08-23 Bean <bean123ch@gmail.com>
34413
34414 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34415 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34416 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34417 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34418 dm_nv.mod.
34419 (raid5rec_mod_SOURCES): New macro.
34420 (raid5rec_mod_CFLAGS): Likewise.
34421 (raid5rec_mod_LDFLAGS): Likewise.
34422 (raid6rec_mod_SOURCES): Likewise.
34423 (raid6rec_mod_CFLAGS): Likewise.
34424 (raid6rec_mod_LDFLAGS): Likewise.
34425 (mdraid_mod_SOURCES): Likewise.
34426 (mdraid_mod_CFLAGS): Likewise.
34427 (mdraid_mod_LDFLAGS): Likewise.
34428 (dm_nv_mod_SOURCES): Likewise.
34429 (dm_nv_mod_CFLAGS): Likewise.
34430 (dm_nv_mod_LDFLAGS): Likewise.
34431
34432 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34433 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34434 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34435
34436 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34437 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34438
34439 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34440
34441 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34442
34443 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34444
34445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34446
34447 * disk/raid5_recover.c: New file.
34448
34449 * disk/raid6_recover.c: Likewise.
34450
34451 * disk/mdraid_linux.c: Likewise.
34452
34453 * disk/dmraid_nvidia.c: Likewise.
34454
34455 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34456 ULONG_MAX.
34457
34458 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34459 calculate the size of raid device.
34460 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34461 different layout of raid5.
34462 (grub_raid_scan_device): Remove code specific to mdraid.
34463 (grub_raid_list): New variable.
34464 (free_array): New function.
34465 (grub_raid_register): Likewise.
34466 (grub_raid_unregister): Likewise.
34467 (grub_raid_rescan): Likewise.
34468 (GRUB_MOD_INIT): Don't iterate device here.
34469 (GRUB_MOD_FINI): Use free_array to release resource.
34470
34471 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34472 (grub_raid5_recover_func_t): New function variable type.
34473 (grub_raid6_recover_func_t): Likewise.
34474 (grub_raid5_recover_func): New variable.
34475 (grub_raid6_recover_func): Likewise.
34476 (grub_raid_register): New function.
34477 (grub_raid_unregister): Likewise.
34478 (grub_raid_rescan): Likewise.
34479 (grub_raid_block_xor): Likewise.
34480
34481 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34482 (CMD_CRC): New macro.
34483 (part): Removed.
34484 (read_file): Handle device as well as file.
34485 (cmd_crc): New function.
34486 (fstest): Handle multiple disks.
34487 (options): Remove part, raw and long, add root and diskcount.
34488 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34489 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34490 add handling for the new options, support multiple disks.
34491
34492 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34493
29c18915 344942008-08-23 Bean <bean123ch@gmail.com>
34495
34496 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34497
34498 * genfslist.sh: Ignore kernel.mod.
34499
34500 * genpartmaplist.sh: Likewise.
34501
8415f261 345022008-08-23 Robert Millan <rmh@aybabtu.com>
34503
34504 * util/getroot.c (find_root_device): Skip anything that starts with
34505 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34506
d5a7dc5b 345072008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34508
d5a7dc5b 34509 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34510 * util/grub.d/00_header.in: Allow the administrator to change default
34511 gfxmode via ${GRUB_GFXMODE}.
34512
380cfbb4 345132008-08-21 Felix Zielcke <fzielcke@z-51.de>
34514
34515 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34516
c9baafe7 345172008-08-21 Robert Millan <rmh@aybabtu.com>
34518
34519 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34520 loader.
34521 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34522 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34523
e290bef2 345242008-08-20 Carles Pina i Estany <carles@pina.cat>
34525
34526 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34527 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34528
f9dbfc96 345292008-08-19 Robert Millan <rmh@aybabtu.com>
34530
34531 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34532 (struct grub_virtual_screen): Remove `cursor_color'.
34533 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34534 initialization.
34535 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34536
dd6bd6ab 345372008-08-18 Robert Millan <rmh@aybabtu.com>
34538
34539 Unify (identical) linux_normal.c files.
34540 * loader/i386/efi/linux_normal.c: Move from here ...
34541 * loader/linux_normal.c: ... to here. Update all users.
34542 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34543 * loader/i386/ieee1275/linux_normal.c: Likewise.
34544
7f42f83e 345452008-08-18 Robert Millan <rmh@aybabtu.com>
34546
34547 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34548 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34549 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34550 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34551 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34552 New macros.
34553 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34554 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34555 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34556 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34557 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34558 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34559 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34560 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34561 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34562 portably using grub_getxy().
34563 Replace `-EFI' with `-bzImage' in boot message.
34564
38487ddb 345652008-08-17 Robert Millan <rmh@aybabtu.com>
34566
34567 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34568
deceb3ec 345692008-08-17 Robert Millan <rmh@aybabtu.com>
34570
34571 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34572
34573 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34574 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34575 (grub_machine_mmap_iterate): New function declaration.
34576 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34577 structure.
34578 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34579 macros.
34580
34581 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34582 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34583 Move e820 parsing from here ...
34584 * kern/i386/pc/mmap.c: New file.
34585 (grub_machine_mmap_iterate): ... to here.
34586
34587 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34588 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34589 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34590 (grub_available_iterate): Redeclare to return `void', and redeclare
34591 its hook to use grub_uint64_t as addr and size parameters, and rename
34592 to ...
34593 (grub_machine_mmap_iterate): ... this. Update all users.
34594
34595 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34596 to make it more readable. Rename to ...
34597 (grub_machine_mmap_iterate): ... this.
34598
34599 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34600 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34601 (grub_multiboot): Allocate an extra region after the payload, and fill
34602 it with a Multiboot memory map. Adjust a.out loader to calculate size
34603 with the extra space.
34604 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34605 with the extra space.
34606
f8aa0f43 346072008-08-17 Carles Pina i Estany <carles@pina.cat>
34608
9807deb9 34609 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34610
605f5bb6 346112008-08-17 Felix Zielcke <fzielcke@z-51.de>
34612
34613 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34614 mdate-sh to the list `find' searches for.
34615 * DISTLIST: Regenerated.
34616
210db6c6 346172008-08-16 Felix Zielcke <fzielcke@z-51.de>
34618
34619 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34620 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34621 genmoddep.awk, gensymlist.sh.in.
34622 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 34623 * DISTLIST: Regenerated.
48cdbfd4 34624 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 34625
1082b929 346262008-08-16 Robert Millan <rmh@aybabtu.com>
34627
34628 * disk/raid.c (grub_raid_init): Handle/report errors set by
34629 grub_device_iterate().
34630 * disk/lvm.c (grub_lvm_init): Likewise.
34631
42ce5170 346322008-08-15 Bean <bean123ch@gmail.com>
34633
34634 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34635 and datehook.mod.
34636 (datetime_mod_SOURCES): New macro.
34637 (datetime_mod_CFLAGS): Likewise.
34638 (datetime_mod_LDFLAGS): Likewise.
34639 (date_mod_SOURCES): Likewise.
34640 (date_mod_CFLAGS): Likewise.
34641 (date_mod_LDFLAGS): Likewise.
34642 (datehook_mod_SOURCES): Likewise.
34643 (datehook_mod_CFLAGS): Likewise.
34644 (datehook_mod_LDFLAGS): Likewise.
34645
34646 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34647 and datehook.mod.
34648 (datetime_mod_SOURCES): New macro.
34649 (datetime_mod_CFLAGS): Likewise.
34650 (datetime_mod_LDFLAGS): Likewise.
34651 (date_mod_SOURCES): Likewise.
34652 (date_mod_CFLAGS): Likewise.
34653 (date_mod_LDFLAGS): Likewise.
34654 (datehook_mod_SOURCES): Likewise.
34655 (datehook_mod_CFLAGS): Likewise.
34656 (datehook_mod_LDFLAGS): Likewise.
34657
34658 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34659 and datehook.mod.
34660 (datetime_mod_SOURCES): New macro.
34661 (datetime_mod_CFLAGS): Likewise.
34662 (datetime_mod_LDFLAGS): Likewise.
34663 (date_mod_SOURCES): Likewise.
34664 (date_mod_CFLAGS): Likewise.
34665 (date_mod_LDFLAGS): Likewise.
34666 (datehook_mod_SOURCES): Likewise.
34667 (datehook_mod_CFLAGS): Likewise.
34668 (datehook_mod_LDFLAGS): Likewise.
34669
34670 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34671 and datehook.mod.
34672 (datetime_mod_SOURCES): New macro.
34673 (datetime_mod_CFLAGS): Likewise.
34674 (datetime_mod_LDFLAGS): Likewise.
34675 (date_mod_SOURCES): Likewise.
34676 (date_mod_CFLAGS): Likewise.
34677 (date_mod_LDFLAGS): Likewise.
34678 (datehook_mod_SOURCES): Likewise.
34679 (datehook_mod_CFLAGS): Likewise.
34680 (datehook_mod_LDFLAGS): Likewise.
34681
34682 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34683 and datehook.mod.
34684 (datetime_mod_SOURCES): New macro.
34685 (datetime_mod_CFLAGS): Likewise.
34686 (datetime_mod_LDFLAGS): Likewise.
34687 (date_mod_SOURCES): Likewise.
34688 (date_mod_CFLAGS): Likewise.
34689 (date_mod_LDFLAGS): Likewise.
34690 (datehook_mod_SOURCES): Likewise.
34691 (datehook_mod_CFLAGS): Likewise.
34692 (datehook_mod_LDFLAGS): Likewise.
34693
34694 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34695
34696 * commands/date.c: New file.
34697
34698 * hook/datehook.c: Likewise.
34699
34700 * include/grub/lib/datetime.h: Likewise.
34701
34702 * include/grub/i386/cmos.h: Likewise.
34703
34704 * lib/datetime.c: Likewise.
34705
34706 * lib/i386/datetime.c: Likewise.
34707
34708 * lib/efi/datetime.c: Likewise.
34709
0e9242da 347102008-08-14 Robert Millan <rmh@aybabtu.com>
34711
34712 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34713 (grub_mkelfimage_SOURCES): New variable.
34714 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34715
34716 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34717 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34718 * conf/powerpc-ieee1275.rmk: Likewise.
34719 * conf/i386-ieee1275.rmk: Likewise.
34720
34721 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34722 * kern/i386/coreboot/init.c: Likewise.
34723
34724 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34725 with `<grub/cpu/kernel.h>'.
34726 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34727 to ...
34728 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34729 * kern/i386/coreboot/startup.S: Likewise.
34730
34731 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34732 (GRUB_MOD_GAP): Remove.
34733 * include/grub/powerpc/kernel.h: New file.
34734 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34735 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34736 * include/grub/i386/kernel.h: New file.
34737 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34738 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34739 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34740
34741 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34742 `grub-mkelfimage'.
34743 Use --directory when invoking grub_mkimage.
34744
34745 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34746 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34747 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34748 and GRUB_KERNEL_CPU_PREFIX.
34749
b86408f8 347502008-08-14 Felix Zielcke <fzielcke@z-51.de>
34751
d5e619ca 34752 * include/grub/err.h (grub_err_printf): New function prototype.
34753 * util/misc.c (grub_err_printf): New function.
34754 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34755 grub_printf.
34756 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34757
7161f0e0 347582008-08-13 Robert Millan <rmh@aybabtu.com>
34759
34760 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34761
a1967522 347622008-08-13 Robert Millan <rmh@aybabtu.com>
34763
34764 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34765 boot entry.
34766
371458b5 347672008-08-12 Robert Millan <rmh@aybabtu.com>
34768
34769 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34770 of the relocation code from here ...
34771 (grub_multiboot): ... to here.
34772 (forward_relocator, backward_relocator): Move from here ...
34773 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34774 (grub_multiboot_backward_relocator): ... to here.
34775 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34776 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34777 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34778 (grub_multiboot_forward_relocator_end)
34779 (grub_multiboot_backward_relocator)
34780 (grub_multiboot_backward_relocator_end): New variables.
34781
05f9452b 347822008-08-12 Bean <bean123ch@gmail.com>
34783
34784 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34785
20024ab0 347862008-08-11 Robert Millan <rmh@aybabtu.com>
34787
34788 * kern/i386/linuxbios/startup.S: Move from here ...
34789 * kern/i386/coreboot/startup.S: ... to here.
34790
34791 * kern/i386/linuxbios/init.c: Move from here ...
34792 * kern/i386/coreboot/init.c: ... to here.
34793
34794 * kern/i386/linuxbios/table.c: Move from here ...
34795 * kern/i386/coreboot/mmap.c: ... to here.
34796
34797 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34798
e352e9cd 347992008-08-11 Robert Millan <rmh@aybabtu.com>
34800
34801 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34802 errors. Leave it to the upper layer to handle them.
34803
2d05bc6a 348042008-08-09 Christian Franke <franke@computer.org>
34805
34806 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34807 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34808 Install `grub.d/10_windows' only on Cygwin.
34809 * configure.ac: Add subst of `target_os'.
34810 Check `target_os' also before setting TARGET_OBJ2ELF.
34811 Add `--enable-grub-pe2elf'.
34812
042bd419 348132008-08-08 Robert Millan <rmh@aybabtu.com>
34814
34815 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34816 (grub_last_time): Change type to grub_uint64_t.
34817 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34818 (grub_disk_close): Likewise.
34819
34820 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34821 (run_menu): Migrate code from to using grub_get_time_ms().
34822
34823 * util/misc.c (grub_get_time_ms): New function.
34824
7f280db5 348252008-08-08 Marco Gerards <marco@gnu.org>
34826
34827 * disk/ata.c (grub_ata_regget): Change return type to
34828 `grub_uint8_t'.
34829 (grub_ata_regget2): Likewise.
34830 (grub_ata_wait_status): New function.
34831 (grub_ata_wait_busy): Removed function, updated all users to use
34832 `grub_ata_wait_status'.
34833 (grub_ata_wait_drq): Likewise.
34834 (grub_ata_cmd): New function.
34835 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34836 error handling.
34837 (grub_ata_pio_write): Add error handling.
34838 (grub_atapi_identify): Likewise.
34839 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34840 handling.
34841 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34842 handling. Actually use the detected registers. Reorder the
34843 detection logic such that it is easier to read.
34844 (grub_ata_pciinit): Do not assign the same ID to each controller.
34845 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34846 handling.
34847 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34848
34849 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34850
1fbc5e66 348512008-08-08 Marco Gerards <marco@gnu.org>
34852
34853 * NEWS: Update.
34854
819ce6c0 348552008-08-07 Bean <bean123ch@gmail.com>
34856
34857 * include/grub/x86_64/pci.h: New file.
34858
5c41d44d 348592008-08-07 Christian Franke <franke@computer.org>
34860
34861 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34862 (TIMER2_GATE): Likewise.
34863 (grub_pit_wait): Add enable/disable of the timer2 gate
34864 bit of port 0x61. This fixes a possible infinite loop.
34865
5ebc275d 348662008-08-07 Bean <bean123ch@gmail.com>
34867
34868 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34869 kern/i386/tsc.c and kern/i386/pit.c.
34870
34871 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34872 x86_64 platform.
34873
34874 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34875 <grub/i386/tsc.h>.
34876
34877 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34878
e383b3d0 348792008-08-07 Bean <bean123ch@gmail.com>
34880
34881 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34882
34883 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34884
34885 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34886 multiple inclusion. Add #include <grub/types.h>.
34887
1cbb58ac 348882008-08-06 Christian Franke <franke@computer.org>
34889
34890 * conf/common.rmk: Build and install `10_windows'.
34891 * util/grub.d/10_windows.in: New script.
34892
337f5a1e 348932008-08-06 Pavel Roskin <proski@gnu.org>
34894
34895 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34896
057bc4ac 348972008-08-06 Robert Millan <rmh@aybabtu.com>
34898
34899 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34900 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34901
2b99f123 349022008-08-06 Bean <bean123ch@gmail.com>
34903
34904 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34905 (grub_pxefs_fs_int): Remove dummy definition.
34906 (grub_pxefs_open): Use data->block_size to store the current block
34907 size setting.
34908 (grub_pxefs_read): Use block size stored in data->block_size. As the
34909 value of grub_pxe_blksize can be changed after the file is opened.
34910
9f0234cb 349112008-08-06 Bean <bean123ch@gmail.com>
34912
34913 * fs/i386/pc/pxe.c (curr_file): new variable.
34914 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34915 require the dummy internal file system anymore.
34916 (grub_pxefs_read): Removed.
34917 (grub_pxefs_close): Likewise.
34918 (grub_pxefs_fs_int): Likewise.
34919 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34920 connection when we switch file.
34921 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34922
a55d42e0 349232008-08-06 Robert Millan <rmh@aybabtu.com>
34924
34925 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34926 `halt.mod'.
34927 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34928 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34929
34930 * kern/i386/halt.c: New file.
34931 * kern/i386/reboot.c: Likewise.
34932 * include/grub/i386/reboot.h: Likewise.
34933 * include/grub/i386/halt.h: Likewise.
34934
34935 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34936 Include `<grub/cpu/halt.h>'.
34937 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34938 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34939
34940 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34941 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34942 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34943 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34944 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34945 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34946 from here ...
34947 * include/grub/i386/at_keyboard.h: ... to here.
34948
24371d26 349492008-08-05 Robert Millan <rmh@aybabtu.com>
34950
34951 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34952 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34953 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34954 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34955 `kern/generic/millisleep.c'.
34956
34957 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34958 instead of grub_get_rtc().
34959 (grub_tsc_init): Initialize `tsc_boot_time'.
34960
34961 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34962 (grub_machine_init): Use grub_tsc_init() rather than
34963 installing an RTC-based handler via grub_install_get_time_ms().
34964
34965 * kern/i386/pit.c: New file.
34966 * include/grub/i386/pit.h: Likewise.
34967
9e7007b3 349682008-08-05 Bean <bean123ch@gmail.com>
34969
34970 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34971
34972 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34973 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34974 (pxe_mod_SOURCES): New macro.
34975 (pxe_mod_CFLAGS): Likewise.
34976 (pxe_mod_LDFLAGS): Likewise.
34977 (pxecmd_mod_SOURCES): Likewise.
34978 (pxecmd_mod_CFLAGS): Likewise.
34979 (pxecmd_mod_LDFLAGS): Likewise.
34980
34981 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34982 (grub_pxe_call): Likewise.
34983
34984 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34985
34986 * commands/i386/pc/pxecmd.c: New file.
34987
9f0234cb 34988 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34989
34990 * include/grub/i386/pc/pxe.h: Likewise.
34991
6977d49f 349922008-08-05 Bean <bean123ch@gmail.com>
34993
34994 * util/console.c (grub_console_cur_color): New variable.
34995 (grub_console_standard_color): Likewise.
34996 (grub_console_normal_color): Likewise.
34997 (grub_console_highlight_color): Likewise.
34998 (color_map): Likewise.
34999 (use_color): Likewise.
35000 (NUM_COLORS): New macro.
35001 (grub_ncurses_setcolorstate): Handle color properly.
35002 (grub_ncurses_setcolor): Don't change color here, just remember the
35003 settings, color will be set in grub_ncurses_setcolorstate.
35004 (grub_ncurses_getcolor): New function.
35005 (grub_ncurses_init): Initialize color pairs.
35006 (grub_ncurses_term): New member grub_ncurses_getcolor.
35007
9c2ff3ee 350082008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 35009
9c2ff3ee 35010 High resolution timer support. Implemented for x86 CPUs using TSC.
35011 Extracted generic grub_millisleep() so it's linked in only as needed.
35012 This requires a Pentium compatible CPU; if the RDTSC instruction is
35013 not supported, then it falls back on the generic grub_get_time_ms()
35014 implementation that uses the machine's RTC.
35015
35016 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
35017 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
35018 `kern/generic/millisleep.c'.
35019
35020 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
35021 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
35022
35023 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
35024 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
35025
35026 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35027
35028 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35029 `kern/generic/millisleep.c'.
35030
35031 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35032
35033 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
35034
35035 * kern/generic/rtc_get_time_ms.c: New file.
35036
35037 * kern/generic/millisleep.c: New file.
337f5a1e 35038
9c2ff3ee 35039 * kern/misc.c: Don't include
35040 <kern/time.h> anymore.
35041 (grub_millisleep_generic): Removed.
35042
35043 * commands/sleep.c (grub_interruptible_millisleep): Uses
35044 grub_get_time_ms() instead of grub_get_rtc().
35045
35046 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
35047 function.
35048 (grub_cpu_is_cpuid_supported): New inline function.
35049 (grub_cpu_is_tsc_supported): New inline function.
35050 (grub_tsc_init): New function prototype.
35051 (grub_tsc_get_time_ms): New function prototype.
35052
35053 * kern/i386/tsc.c (grub_get_time_ms): New file.
35054
35055 * include/grub/time.h: Include <grub/types.h.
35056 (grub_millisleep_generic): Removed.
35057 (grub_get_time_ms): New prototype.
35058 (grub_install_get_time_ms): New prototype.
35059 (grub_rtc_get_time_ms): New prototype.
35060
35061 * kern/time.c (grub_get_time_ms): New function.
35062 (grub_install_get_time_ms): New function.
35063
35064 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
35065 <grub/time.h> anymore.
35066 (grub_millisleep): Removed.
35067 (grub_machine_init): Call grub_tsc_init.
35068
35069 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35070 get_time_ms() implementation.
35071
35072 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35073 (ieee1275_get_time_ms): New function.
35074 (grub_machine_init): Install get_time_ms() implementation.
35075
35076 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35077 (grub_machine_init): Call grub_tsc_init().
35078 (grub_millisleep): Removed.
bf06a93f 35079
9c2ff3ee 35080 * kern/ieee1275/init.c (grub_millisleep): Removed.
35081 (grub_machine_init): Install ieee1275_get_time_ms()
35082 implementation.
35083 (ieee1275_get_time_ms): New function.
35084 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35085 real work.
35086
9ec92aaf 350872008-08-05 Marco Gerards <marco@gnu.org>
35088
35089 * disk/ata.c: Include <grub/pci.h>.
35090 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35091 (grub_ata_initialize): Rewritten.
35092 (grub_ata_device_initialize): New function.
35093
8d23f507 350942008-08-04 Pavel Roskin <proski@gnu.org>
35095
35096 * kern/main.c: Include grub/mm.h.
35097
5e15ee3d 350982008-08-04 Robert Millan <rmh@aybabtu.com>
35099
35100 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35101 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35102 corruption problem).
35103
a9053f8f 351042008-08-04 Robert Millan <rmh@aybabtu.com>
35105
35106 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35107 warnings introduced in my last commit.
35108
dd19c7d7 351092008-08-03 Robert Millan <rmh@aybabtu.com>
35110
35111 Make PCI available on all i386 architectures.
35112
35113 * include/grub/i386/pc/pci.h: Move from here ...
35114 * include/grub/i386/pci.h: ... to here.
35115
35116 * include/grub/i386/pc/pci.h: Remove.
35117 * include/grub/i386/efi/pci.h: Remove.
35118 * include/grub/x86_64/efi/pci.h: Remove.
35119
35120 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35121 `<grub/cpu/pci.h>'.
35122
35123 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35124 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35125 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35126
35127 * conf/i386-ieee1275.rmk: Likewise.
35128
e14a6184 351292008-08-03 Robert Millan <rmh@aybabtu.com>
35130
35131 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35132 (grub_console_setcursor): Make it possible to set cursor off.
35133
52768e37 351342008-08-03 Robert Millan <rmh@aybabtu.com>
35135
35136 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35137 of modules instead of assuming which platform provides what.
35138 * util/update-grub.in: Likewise.
35139
2d52f57f 351402008-08-03 Robert Millan <rmh@aybabtu.com>
35141
35142 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35143 instead of `grub_install_dos_part' to determine whether a drive needs
35144 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35145 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35146
2a5cd121 351472008-08-02 Robert Millan <rmh@aybabtu.com>
35148
35149 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35150
93808428 351512008-08-02 Robert Millan <rmh@aybabtu.com>
35152
35153 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35154 of informational grub_dprintf() calls.
35155
3bd0a12a 351562008-08-02 Robert Millan <rmh@aybabtu.com>
35157
35158 * disk/memdisk.c (memdisk_size): Don't initialize.
35159 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35160
35161 * include/grub/i386/pc/kernel.h
35162 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35163 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35164 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35165 (grub_arch_memdisk_size): Remove.
35166
35167 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35168 field (was only used to transfer a constant). Add `type' field to
35169 support multiple module types.
35170 (grub_module_iterate): New function.
35171
35172 * kern/device.c (grub_device_open): Do not hide error messages
35173 when grub_disk_open() fails. Use grub_print_error() instead.
35174
35175 * kern/i386/pc/init.c (grub_arch_modules_addr)
35176 (grub_arch_memdisk_size): Remove functions.
35177 (grub_arch_modules_addr): Return the module address in high memory
35178 (now that it isn't copied anymore).
35179
35180 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35181 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35182 decompression routine (grub_total_module_size already includes that
35183 now). Don't copy modules back to low memory.
35184
35185 * kern/main.c: Include `<grub/mm.h>'.
35186 (grub_load_modules): Split out (and use) ...
35187 (grub_module_iterate): ... this function, which iterates through
35188 module objects and runs a hook.
35189 Comment out grub_mm_init_region() call, as it would cause non-ELF
35190 modules to be overwritten.
35191
35192 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35193 the memdisk image in its own region, make it part of the module list.
35194 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35195 (main): Parse --memdisk|-m option, and pass user-provided path as
35196 parameter to generate_image().
35197 (add_segments): Pass `memdisk_path' down to load_modules().
35198 (load_modules): Embed memdisk image in module section when requested.
35199 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35200 `header.type' instead of `header.offset'.
35201
35202 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35203 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35204 (memdisk_mod_LDFLAGS): New variables.
35205 * conf/i386-coreboot.rmk: Likewise.
35206 * conf/i386-ieee1275.rmk: Likewise.
35207
a927cc73 352082008-08-02 Robert Millan <rmh@aybabtu.com>
35209
35210 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35211 (backward_relocator): New variables. Used to allocate and relocate
35212 the payload, respectively.
35213 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35214 address, install the appropriate relocator code in each bound of
a927cc73 35215 the payload, and set the entry point such that
35216 grub_multiboot_real_boot() will jump to one of them.
35217
35218 * kern/i386/loader.S (grub_multiboot_payload_size)
35219 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35220 (grub_multiboot_payload_entry_offset): New variables.
35221 (grub_multiboot_real_boot): Set cpu context to what the relocator
35222 expects, and jump to the relocator instead of the payload.
35223
35224 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35225 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35226 (grub_multiboot_payload_entry_offset): Export.
35227
b15d8a0c 352282008-08-01 Bean <bean123ch@gmail.com>
35229
35230 * normal/menu_entry.c (editor_getline): Don't return the original
35231 string as result, as it will be released by lexer once it has done
35232 using it.
35233
cdfb3d22 352342008-08-01 Robert Millan <rmh@aybabtu.com>
35235
35236 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35237 within menuentries, not before them.
35238 util/grub.d/10_hurd.in: Likewise.
35239
9175e93d 352402008-08-01 Bean <bean123ch@gmail.com>
35241
35242 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35243 (bufio_mod_SOURCES): New macro.
35244 (bufio_mod_CFLAGS): Likewise.
35245 (bufio_mod_LDFLAGS): Likewise.
35246
35247 * include/grub/bufio.h: New file.
35248
35249 * io/bufio.c: Likewise.
35250
35251 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35252 (grub_video_reader_png): Use grub_buffile_open to open file.
35253
35254 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35255 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35256
35257 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35258 (grub_video_reader_tga): Use grub_buffile_open to open file.
35259
35260 * font/manager.c: Include <grub/bufio.h>.
35261 (add_font): Use grub_buffile_open to open file.
35262
3d8383e7 352632008-07-31 Robert Millan <rmh@aybabtu.com>
35264
35265 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35266 ELF segments, use a macro for arbitrarily accessing any of them instead
35267 of preparing a pointer that allows access to one at a time.
35268 (grub_multiboot_load_elf64): Likewise.
35269
16e641b6 352702008-07-31 Bean <bean123ch@gmail.com>
35271
35272 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35273 GRUB_KERNEL_MACHINE_DATA_END.
35274
59198b72 352752008-07-30 Robert Millan <rmh@aybabtu.com>
35276
35277 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35278 Increase from 0x50 to 0x60.
35279 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35280 use UUIDs to identify the root drive for them. If that's not
35281 possible, abort.
35282 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35283 check, for cross-disk installs.
35284
ae88bca3 352852008-07-30 Robert Millan <rmh@aybabtu.com>
35286
35287 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35288 is non-empty, use it to set the `prefix' environment variable instead
35289 of the usual approach.
35290 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35291 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35292 environment variable instead of dummy make_install_device().
35293
35294 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35295 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35296 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35297
35298 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35299 New variable reference.
35300 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35301 New macro. Defines offset of `grub_prefix' within startup.S (relative
35302 to `start').
35303 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35304 section within startup.S (relative to `start').
35305 * include/grub/i386/coreboot/kernel.h: Likewise.
35306
35307 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35308 Overwrite grub_prefix with its contents, at the beginning of the
35309 first segment.
35310 (main): Understand -p|--prefix.
35311
14f41dd1 353122008-07-30 Robert Millan <rmh@aybabtu.com>
35313
35314 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35315
4ca049a3 353162008-07-30 Robert Millan <rmh@aybabtu.com>
35317
35318 * term/i386/pc/vga_text.c (grub_console_cls): Use
35319 grub_console_gotoxy() to go back to beginning of the screen.
35320 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35321
2921d337 353222008-07-29 Christian Franke <franke@computer.org>
35323
35324 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35325 Add conversion of emulated mount points on Cygwin.
35326
b609876d 353272008-07-29 Christian Franke <franke@computer.org>
35328
35329 * util/update-grub.in: Add a check for admin
35330 group on Cygwin.
35331 Remove old `grub.cfg.new' before creation.
35332 Add `-f' to `mv' to handle the different filesystem
35333 semantics of Windows.
35334
e93e4679 353352008-07-29 Bean <bean123ch@gmail.com>
35336
35337 * normal/main.c (get_line): Fix buffer overflow bug.
35338
41694fd0 353392008-07-28 Robert Millan <rmh@aybabtu.com>
35340
35341 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35342 (struct grub_apple_header): New struct. Describes the layout of
35343 the partmap header.
35344 (apple_partition_map_iterate): Check the header magic as well as the
35345 partition magic (which was already being checked).
35346
cfd0b4e6 353472008-07-28 Pavel Roskin <proski@gnu.org>
35348
35349 * genmk.rb: Add a warning to the beginning of the output that
35350 it's a generated file and should not be edited.
35351
93cce016 353522008-07-28 Robert Millan <rmh@aybabtu.com>
35353
35354 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35355 with the same number are found, just use issue a warning with
35356 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35357
cd1df915 353582008-07-27 Robert Millan <rmh@aybabtu.com>
35359
35360 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35361 information.
35362
b70a8427 353632008-07-27 Bean <bean123ch@gmail.com>
35364
35365 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35366 (grub_fat_find_dir): Ignore case when comparing filename.
35367
8f5e379f 353682008-07-27 Bean <bean123ch@gmail.com>
35369
35370 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35371 smallino, as it's more descriptive, and i8count can be confused with
35372 the other field count.
35373 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35374 inode type.
35375
a85cd5a0 353762008-07-27 Bean <bean123ch@gmail.com>
35377
35378 * commands/crc.c: New file.
35379
35380 * lib/crc.c: Likewise.
35381
35382 * include/grub/lib/crc.h: Likewise.
35383
35384 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35385
35386 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35387 (hexdump): Move this function to ...
35388
35389 * lib/hexdump.c: ... here.
35390
35391 * include/grub/hexdump.h: Renamed to ...
35392
35393 * include/grub/lib/hexdump.h: ... this.
35394
35395 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35396
35397 * util/grub-editenv.c: Likewise.
35398
35399 * include/envblk.h: Renamed to ...
35400
35401 * include/lib/envblk.h: ... this.
35402
35403 * util/envblk.c: Renamed to ...
35404
35405 * lib/envblk.c: ... this.
35406
35407 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35408 lib/hexdump.c.
35409 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35410 (pkglib_MODULES): Add crc.mod.
35411 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35412 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35413 (crc_mod_SOURCES): New macro.
35414 (crc_mod_CFLAGS): Likewise.
35415 (crc_mod_LDFLAGS): Likewise.
35416
35417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35418
35419 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35420
35421 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35422
35423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35424
35425 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35426
c298def0 354272008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35428
35429 * commands/help.c: Include <grub/term.h>.
35430 (TERM_WIDTH): Removed. Updated all users.
35431
cc349fb3 354322008-07-27 Pavel Roskin <proski@gnu.org>
35433
35434 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35435 spurious warnings about a comment within a comment.
35436
9051607e 354372008-07-25 Robert Millan <rmh@aybabtu.com>
35438
35439 * util/getroot.c (find_root_device): Skip devices that match
35440 /dev/dm-[0-9]. This lets the real device be found for any type of
35441 abstraction (LVM, EVMS, RAID..).
35442 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35443 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35444 device is found first, find_root_device() will now skip it.
35445
01453bfc 354462008-07-24 Pavel Roskin <proski@gnu.org>
35447
35448 * include/grub/types.h: Use __builtin_bswap32() and
35449 __builtin_bswap64() with gcc 4.3 and newer.
35450
6af9849f 354512008-07-24 Christian Franke <franke@computer.org>
35452
3a0fa256 35453 * util/i386/pc/grub-install.in: If `--debug' is specified,
35454 pass `--verbose' to grub-setup.
35455 Abort script if make_system_path_relative_to_its_root() fails.
35456
7810e747 354572008-07-24 Bean <bean123ch@gmail.com>
35458
35459 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35460 variable `target_platform' should be `platform'.
35461
42290e17 354622008-07-24 Bean <bean123ch@gmail.com>
35463
51cc5193 35464 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35465 (grub_png_init_fixed_block): New function.
35466 (grub_png_decode_image_data): Handle fixed huffman code compression.
35467
2a8a80e4 354682008-07-24 Bean <bean123ch@gmail.com>
35469
35470 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35471 (grub_pe2elf_SOURCES): New macro.
35472 (CLEANFILES): Add grub-pe2elf.
35473
35474 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35475 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35476 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35477 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35478 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35479 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35480 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35481 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35482 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35483 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35484 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35485 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35486 (GRUB_PE32_DT_FUNCTION): Likewise.
35487 (GRUB_PE32_REL_I386_DIR32): Likewise.
35488 (GRUB_PE32_REL_I386_REL32): Likewise.
35489 (grub_pe32_symbol): New structure.
35490 (grub_pe32_reloc): Likewise.
35491
35492 * util/grub-pe2elf.c: New file.
35493
35494 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35495 start symbol in non pc platform.
35496
35497 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35498
35499 The following patches are from Christian Franke.
35500
35501 * include/grub/dl.h: Remove .previous, gas supports this only
35502 for ELF format.
35503
35504 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35505 Remove .type, gas supports this only for ELF format.
35506
35507 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35508 nullbytes in symbol table. This fixes an infinite loop if table is
35509 zero filled.
35510
35511 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35512 TARGET_IMG_LDFLAGS and EXEEXT.
35513
35514 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35515 TARGET_IMG_LDFLAGS_AC.
35516 (grub_CHECK_STACK_ARG_PROBE): New function.
35517
35518 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35519
35520 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35521
35522 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35523 to set TARGET_IMG_LD* accordingly.
35524 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35525 Add call to grub_CHECK_STACK_ARG_PROBE.
35526 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35527
35528 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35529
35530 * genmk.rb: Add EXEEXT to CLEANFILES.
35531
12ccdb75 355322008-07-23 Robert Millan <rmh@aybabtu.com>
35533
35534 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35535 define the codes for arrows and lines used for the menu).
35536 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35537 as well.
35538
35539 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35540 fonts, because the latter are too slow.
35541
18eeaf04 355422008-07-21 Bean <bean123ch@gmail.com>
35543
35544 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35545 a20. Run keyboard test last, as it will cause macbook to halt.
35546
b095e2ad 355472008-07-18 Pavel Roskin <proski@gnu.org>
35548
35549 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35550 load foreign architecture modules correctly anyway. Keep
35551 support for loading host architecture modules, whether we
35552 compile them or not.
35553
737feb35 355542008-07-17 Pavel Roskin <proski@gnu.org>
35555
3f4ce737 35556 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35557 change target_cpu. The compiler default can mismatch target_cpu
35558 in any case.
35559
4ad2d049 35560 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35561 * kern/efi/efi.c: Likewise.
35562
f6130a12 35563 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35564 target compiler is functional.
35565 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35566 are set up.
35567
58393a2d 35568 * configure.ac: Default to efi platform for x86_64-apple. Allow
35569 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35570 adjustments from the rest, only do them if target is not
35571 explicitly given. Merge other adjustments with the final sanity
35572 check. Remove an extraneous check for supported CPU. Be
35573 specific which CPU and which platform is not supported.
35574
737feb35 35575 * configure.ac: Default to pc platform for x86_64.
35576
546f966a 355772008-07-17 Robert Millan <rmh@aybabtu.com>
35578
35579 Partial LinuxBIOS -> Coreboot rename.
35580
35581 * conf/i386-linuxbios.rmk: Renamed to ...
35582 * conf/i386-coreboot.rmk: ... this.
35583 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35584 * configure.ac: Accept "coreboot" as input platform (but maintain
35585 compatibility with "linuxbios").
35586 * include/grub/i386/linuxbios: Renamed to ...
35587 * include/grub/i386/coreboot: ... this.
35588
20011694 355892008-07-17 Bean <bean123ch@gmail.com>
35590
35591 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35592 (appleldr_mod_SOURCE): New variable.
20011694 35593 (appleldr_mod_CFLAGS): Likewise.
35594 (appleldr_mod_LDFLAGS): Likewise.
35595 (pci_mod_SOURCES): Likewise.
35596 (pci_mod_CFLAGS): Likewise.
35597 (pci_mod_LDFLAGS): Likewise.
35598 (lspci_mod_SOURCES): Likewise.
35599 (lspci_mod_CFLAGS): Likewise.
35600 (lspci_mod_LDFLAGS): Likewise.
35601
35602 * conf/x86_64-efi.rmk: New file.
35603
35604 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35605 macro.
35606 (grub_efidisk_write): Likewise.
35607
35608 * include/efi/api.h (efi_call_0): New macro.
35609 (efi_call_1): Likewise.
35610 (efi_call_2): Likewise.
35611 (efi_call_3): Likewise.
35612 (efi_call_4): Likewise.
35613 (efi_call_5): Likewise.
35614 (efi_call_6): Likewise.
35615
35616 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35617 grub_rescue_cmd_chainloader.
35618
35619 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35620 (grub_pe32_optional_header): Change some fields based on i386 or
35621 x86_64 platform.
35622 (GRUB_PE32_PE32_MAGIC): Likewise.
35623
35624 * include/grub/efi/uga_draw.h: New file.
35625
35626 * include/grub/elf.h (STN_ABS): New constant.
35627 (R_X86_64_NONE): Relocation constant for x86_64.
35628 (R_X86_64_64): Likewise.
35629 (R_X86_64_PC32): Likewise.
35630 (R_X86_64_GOT32): Likewise.
35631 (R_X86_64_PLT32): Likewise.
35632 (R_X86_64_COPY): Likewise.
35633 (R_X86_64_GLOB_DAT): Likewise.
35634 (R_X86_64_JUMP_SLOT): Likewise.
35635 (R_X86_64_RELATIVE): Likewise.
35636 (R_X86_64_GOTPCREL): Likewise.
35637 (R_X86_64_32): Likewise.
35638 (R_X86_64_32S): Likewise.
35639 (R_X86_64_16): Likewise.
35640 (R_X86_64_PC16): Likewise.
35641 (R_X86_64_8): Likewise.
35642 (R_X86_64_PC8): Likewise.
35643
35644 * include/grub/i386/efi/pci.h: New file.
35645
35646 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35647 Change it value based on platform.
35648 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35649 (GRUB_E820_RAM): Likewise.
35650 (GRUB_E820_RESERVED): Likewise.
35651 (GRUB_E820_ACPI): Likewise.
35652 (GRUB_E820_NVS): Likewise.
35653 (GRUB_E820_EXEC_CODE): Likewise.
35654 (GRUB_E820_MAX_ENTRY): Likewise.
35655 (grub_e820_mmap): New structure.
35656 (linux_kernel_header): Change the efi field according to different
35657 kernel version, also field from linux_kernel_header.
35658
35659 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35660
35661 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35662 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35663 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35664 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35665 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35666 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35667 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35668 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35669 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35670 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35671
35672 * include/grub/x86_64/efi/kernel.h: New file.
35673
35674 * include/grub/x86_64/efi/loader.h: Likewise.
35675
35676 * include/grub/x86_64/efi/machine.h: Likewise.
35677
35678 * include/grub/x86_64/efi/pci.h: Likewise.
35679
35680 * include/grub/x86_64/efi/time.h: Likewise.
35681
35682 * include/grub/x86_64/linux.h: Likewise.
35683
35684 * include/grub/x86_64/setjmp.h: Likewise.
35685
35686 * include/grub/x86_64/time.h: Likewise.
35687
35688 * include/grub/x86_64/types.h: Likewise.
35689
35690 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35691 GRUB_TARGET_SIZEOF_VOID_P.
35692
35693 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35694 (grub_efi_locate_handle): Likewise.
35695 (grub_efi_open_protocol): Likewise.
35696 (grub_efi_set_text_mode): Likewise.
35697 (grub_efi_stall): Likewise.
35698 (grub_exit): Likewise.
35699 (grub_reboot): Likewise.
35700 (grub_halt): Likewise.
35701 (grub_efi_exit_boot_services): Likewise.
35702 (grub_get_rtc): Likewise.
35703
35704 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35705 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35706 (grub_efi_allocate_pages): Wrap efi calls.
35707 (grub_efi_free_pages): Wrap efi calls.
35708 (grub_efi_get_memory_map): Wrap efi calls.
35709
35710 * kern/x86_64/dl.c: New file.
35711
35712 * kern/x86_64/efi/callwrap.S: Likewise.
35713
35714 * kern/x86_64/efi/startup.S: Likewise.
35715
35716 * loader/efi/appleloader.c: Likewise.
35717
35718 * loader/efi/chainloader.c (cmdline): New variable.
35719 (grub_chainloader_unload): Wrap efi calls.
35720 (grub_chainloader_boot): Likewise.
35721 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35722 command line.
35723
35724 * loader/efi/chainloader_normal.c (chainloader_command):
35725 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35726 command line.
35727
35728 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35729 method.
35730 (grub_e820_add_region): New function.
35731 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35732 booting.
35733 (grub_find_video_card): New function.
35734 (grub_linux_setup_video): New function.
35735 (grub_rescue_cmd_linux): Probe for video information.
35736
35737 * normal/x86_64/setjmp.S: New file.
35738
35739 * term/efi/console.c (map_char): New function.
35740 (grub_console_putchar): Map unicode char.
35741 (grub_console_checkkey): Wrap efi calls.
35742 (grub_console_getkey): Likewise.
35743 (grub_console_getwh): Likewise.
35744 (grub_console_gotoxy): Likewise.
35745 (grub_console_cls): Likewise.
35746 (grub_console_setcolorstate): Likewise.
35747 (grub_console_setcursor): Likewise.
35748
35749 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35750
59652a20 357512008-07-16 Pavel Roskin <proski@gnu.org>
35752
ef294055 35753 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35754 format strings.
35755
59652a20 35756 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35757 pointer, not an integer. This fixes a warning and prevents
35758 precision loss on 64-bit systems.
35759 (relocate_addresses): Remove unneeded cast.
35760
afc3b5d7 357612008-07-15 Pavel Roskin <proski@gnu.org>
35762
506b2b3e 35763 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35764
62ead89c 35765 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35766
c4cd51d7 35767 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35768 Fix comparison between signed and unsigned.
35769
0d3d8f28 35770 * include/grub/i386/ieee1275/console.h: Declare
35771 grub_console_init() and grub_console_fini().
35772
8804b286 35773 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35774 It's empty and unused.
35775
ee01cf35 35776 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35777 beginning to avoid warnings with some compilers.
35778
afc3b5d7 35779 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35780 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35781
e4e8eaa5 357822008-07-14 Pavel Roskin <proski@gnu.org>
35783
407aceb4 35784 * kern/env.c (grub_register_variable_hook): Don't copy empty
35785 string, it leaks memory. Pass "" to grub_env_set(), it should
35786 handle constant strings.
35787
e4e8eaa5 35788 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35789 * commands/cmp.c (grub_cmd_cmp): Likewise.
35790 * kern/dl.c (grub_dl_flush_cache): Likewise.
35791 (grub_dl_load_core): Likewise.
35792 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35793 (grub_elf64_load_phdrs): Likewise.
35794
d4e2dad3 357952008-07-13 Pavel Roskin <proski@gnu.org>
35796
35797 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35798 between signed and unsigned.
35799 (LzmaEnc_Finish): Fix warning about an unused parameter.
35800
aa24b516 358012008-07-13 Bean <bean123ch@gmail.com>
35802
35803 * Makefile.in (enable_lzo): New rule.
35804
35805 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35806
35807 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35808
35809 * boot/i386/pc/lnxboot.S: #include <config.h>.
35810
35811 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35812 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35813
35814 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35815 compression algorithm according to configure macro.
35816
35817 * kern/i386/pc/startup.S (codestart): Likewise.
35818
35819 * kern/i386/pc/lzma_decode.S: New file.
35820
35821 * include/grub/lib/LzFind.h: Likewise.
35822
35823 * include/grub/lib/LzHash.h: Likewise.
35824
35825 * include/grub/lib/LzmaDec.h: Likewise.
35826
35827 * include/grub/lib/LzmaEnc.h: Likewise.
35828
35829 * include/grub/lib/LzmaTypes.h: Likewise.
35830
35831 * lib/LzFind.c: Likewise.
35832
35833 * lib/LzmaDec.c: Likewise.
35834
35835 * lib/LzmaEnc.c: Likewise.
35836
4ae821ac 358372008-07-13 Bean <bean123ch@gmail.com>
35838
35839 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35840 (grub_ext4_extent_header): New structure.
35841 (grub_ext4_extent): Likewise.
35842 (grub_ext4_extent_idx): Likewise.
35843 (grub_ext4_find_leaf): New function.
35844 (grub_ext2_read_block): Handle extents.
35845
9a745147 358462008-07-12 Robert Millan <rmh@aybabtu.com>
35847
35848 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35849
d49a4cf6 358502008-07-11 Robert Millan <rmh@aybabtu.com>
35851
35852 * util/grub.d/40_custom.in: New file. Example on how to add custom
35853 entries to /etc/grub.d.
35854 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35855 40_custom (implicitly, by merging all the grub.d rules).
35856
947414b4 358572008-07-11 Pavel Roskin <proski@gnu.org>
35858
0059cf6f 35859 * commands/read.c (grub_getline): Fix invalid memory access.
35860 Don't add newline to the variable value.
35861
947414b4 35862 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35863 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35864 (serial_hw_get_port): Check validity of the port number.
35865 (grub_cmd_serial): Check return value of serial_hw_get_port().
35866
62a02d00 358672008-07-07 Pavel Roskin <proski@gnu.org>
35868
35869 * boot/i386/pc/diskboot.S (notification_string): Replace
35870 "Loading kernel" with just "loading". This is shorter, less
35871 confusing and saves a few bytes for possible future changes.
35872
3e5581b0 358732008-07-05 Pavel Roskin <proski@gnu.org>
35874
ea387a48 35875 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35876 size for ATAPI devices, they are undefined. Output sector
35877 number in decimal form.
35878
3e5581b0 35879 * disk/ata.c: Use named constants for status bits.
35880
fdecb8fd 358812008-07-04 Pavel Roskin <proski@gnu.org>
35882
bcd35b90 35883 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35884 grub_addr_t before casting it to the void pointer to fix a
35885 warning. Non-addressable regions are discarded earlier.
35886 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35887 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35888 (check_signature): Don't shadow table_header.
35889 (grub_linuxbios_table_iterate): Cast numeric constants to
35890 grub_linuxbios_table_header_t.
35891 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35892 grub_stop().
35893
af58ab3d 35894 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35895 prevent warnings.
35896
1759aa57 35897 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35898 pointer, which can cause warnings. Support 64-bit addresses.
35899
fdecb8fd 35900 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35901 of sizeof(long). This fixes PowerPC image generation on x86_64.
35902
8516d2a8 359032008-07-04 Robert Millan <rmh@aybabtu.com>
35904
35905 This fixes a performance issue when pc & gpt partmap iterators
35906 didn't abort iteration even after our hook found what it was
fe987087 35907 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35908
35909 Some callers relied on previous buggy behaviour, since they would
34c44600 35910 raise an error when their own hooks caused early abortion of its
8516d2a8 35911 iteration.
35912
35913 * kern/device.c (grub_device_open): Improve error message.
35914 * disk/lvm.c (grub_lvm_open): Likewise.
35915 * disk/raid.c (grub_raid_open): Likewise.
35916
35917 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35918 when hook requests it, independently of grub_errno.
35919 (pc_partition_map_probe): Do not fail when find_func() caused
35920 early abortion of pc_partition_map_iterate().
35921
35922 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35923 when hook requests it, independently of grub_errno.
35924 (gpt_partition_map_probe): Do not fail when find_func() caused
35925 early abortion of gpt_partition_map_iterate().
35926
35927 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35928 when hook requests it, independently of grub_errno. Do not fail when
35929 part_map_iterate_hook() caused early abortion of p->iterate().
35930
35931 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35932 when grub_partition_iterate() returned with non-zero.
35933
277d0de9 359342008-07-03 Pavel Roskin <proski@gnu.org>
35935
35936 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35937 like we do in grub_ata_pio_read().
35938 (grub_ata_readwrite): Always write individual sectors. Fix the
35939 sector count for the remainder.
35940 (grub_ata_write): Enable writing to ATA devices. Correctly
35941 report error for ATAPI devices.
35942
d4c9b428 359432008-07-02 Pavel Roskin <proski@gnu.org>
35944
e43fc690 35945 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35946 warning.
35947
f707af42 35948 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35949 for every read sector, we already increment it for the whole
35950 batch. This fixes reading more than 256 sectors at once.
35951
11e16b15 35952 * util/grub-editenv.c (cmd_info): Cast argument to long
35953 explicitly. ptrdiff_t reduces to int on i386.
35954
cbabfdd4 35955 * util/grub-editenv.c (main): Be specific which parameter is
35956 missing.
35957
b8fbce0a 35958 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35959 (memdisk): Make memdisk_orig_addr a pointer.
35960
c9c8e606 35961 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35962 for file offsets, use grub_off_t instead. Fix printf format
35963 warnings.
35964
ca62e598 35965 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35966 there. Real unexpected warnings should not drown in the noise
35967 about known problems.
35968
ce8d1766 35969 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35970 grub_disk_addr_t for memory addresses.
35971
00c7a56a 35972 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35973 explicitly to fix a warning.
35974
08d3ef09 35975 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35976
cb71ba20 35977 * Makefile.in (MODULE_LDFLAGS): New variable.
35978 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35979 the linker accepts --build-id=none.
35980 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35981 MODULE_LDFLAGS.
35982 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35983
d4c9b428 35984 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35985 those in Linux XFS code. Provide a way to access 64-bit parent
35986 inode.
35987 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35988 the end of struct grub_xfs_dir_header.
35989
d4156eee 359902008-07-02 Bean <bean123ch@gmail.com>
35991
35992 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35993 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35994 and GRUB_IEEE1275_FLAG_NO_ANSI.
35995
35996 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35997 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35998 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35999
36000 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
36001 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
36002
36003 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
36004 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
36005
36006 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
36007 esc sequence on non ANSI terminal.
36008 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
36009
36010 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
36011 beginning of file.
36012
2270f77b 360132008-07-02 Bean <bean123ch@gmail.com>
36014
36015 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
36016 (grub_editenv_SOURCES): New variable.
36017 (pkglib_MODULES): Add loadenv.mod.
36018 (loadenv_mod_SOURCES): New variable.
36019 (loadenv_mod_CFLAGS): Likewise.
36020 (loadenv_mod_LDFLAGS): Likewise.
36021
36022 * include/grub/envblk.h: New file.
36023
36024 * util/envblk.c: New file.
36025
36026 * util/grub-editenv.c: New file.
36027
36028 * commands/loadenv.c: New file.
36029
0e9e51ec 360302008-07-01 Pavel Roskin <proski@gnu.org>
36031
d89b7634 36032 * include/multiboot2.h (struct multiboot_tag_module): Use char,
36033 not unsigned char. This fixes warnings and is consistent with
36034 other tags.
36035
bf1835b1 36036 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
36037
8222a04b 36038 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
36039
6a42d99d 36040 * term/tparm.c (analyze): Always set *popcount.
36041
10b159d1 36042 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
36043 cast to fix a warning.
36044
b8789f6c 36045 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
36046 cast to suppress a warning.
36047
29d7e38a 36048 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
36049 grub_fshelp_read_file() expects.
36050
f341f669 36051 * fs/fat.c: Fix UUID calculation on big-endian systems. We
36052 write uuid as a 32-bit value in CPU byte order, so declare and
36053 use it as such.
36054
0e9e51ec 36055 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
36056 long if the format specifier expects it.
36057 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
36058 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36059 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
36060 long to fix a warning.
36061 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
36062 grub_dprintf() arguments to fix warnings.
36063
3aefa857 360642008-06-30 Pavel Roskin <proski@gnu.org>
36065
56c7668b 36066 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
36067 install_bsd_part immediately before core.img is embedded or
36068 modified on disk. This fixes core.img verification if core.img
36069 cannot be embedded.
36070
3aefa857 36071 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36072 core_path to calculate the blocklist.
36073 Patch from Javier Martín <lordhabbit@gmail.com>
36074
5444088d 360752008-06-29 Robert Millan <rmh@aybabtu.com>
36076
36077 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36078 block to disk block.
36079 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36080 Patch from Niels Böhm <bitbucket@arcor.de>
36081
674835c8 360822008-06-29 Robert Millan <rmh@aybabtu.com>
36083
36084 * util/update-grub_lib.in (font_path): Search for fonts in
36085 /boot/grub first, which is more likely to be readable (we aren't
36086 deciding where fonts live, just looking for them).
36087
f527dbc8 360882008-06-26 Pavel Roskin <proski@gnu.org>
36089
6c2d8df6 36090 * util/biosdisk.c (read_device_map): Don't leave dead map
36091 entries for devices failing stat() check.
36092
f527dbc8 36093 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36094 core_path_dev for the core.img path on the target device.
36095
aebe3d13 360962008-06-26 Robert Millan <rmh@aybabtu.com>
36097
36098 * disk/fs_uuid.c: New file.
36099 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36100 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36101 (fs_uuid_mod_LDFLAGS): New variables.
36102 * include/grub/disk.h (grub_disk_dev_id): Add
36103 `GRUB_DISK_DEVICE_UUID_ID'.
36104 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36105 implement iterate().
36106
37aaf354 361072008-06-26 Robert Millan <rmh@aybabtu.com>
36108
36109 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36110 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36111 Linux image includes no initrd.
36112
25ff262a 361132008-06-21 Javier Martín <lordhabbit@gmail.com>
36114
36115 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36116 call to resolve the core image location that effectively appended the
36117 name twice.
36118
76a2bd44 361192008-06-21 Robert Millan <rmh@aybabtu.com>
36120
36121 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36122 call from here ...
36123
36124 * util/grub.d/10_hurd.in: ... to here ...
36125 * util/grub.d/10_linux.in: ... and here.
36126
650e1c79 361272008-06-19 Robert Millan <rmh@aybabtu.com>
36128
fe987087 36129 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36130 after it has been set by grub_machine_set_prefix().
36131
6ce63911 361322008-06-19 Robert Millan <rmh@aybabtu.com>
36133
36134 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36135 search result when not saving to variable, not the other way around.
36136 When saving to variable, abort iteration as soon as a match is found.
36137
73940cec 361382008-06-19 Robert Millan <rmh@aybabtu.com>
36139
36140 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36141 check for partition that provides /boot/grub. Its logic is flawed,
36142 as it prevents prepare_grub_to_access_device() from being called
36143 multiple times.
36144
3c62a39d 361452008-06-19 Robert Millan <rmh@aybabtu.com>
36146
36147 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36148 "insmod" command directly when abstraction modules are needed,
fe987087 36149 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36150 since it had already been processed).
36151
47395a42 361522008-06-19 Pavel Roskin <proski@gnu.org>
36153
36154 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36155 changed. This is needed in case GRUB_LIBDIR changes.
36156 * conf/i386-ieee1275.rmk: Likewise.
36157 * conf/i386-linuxbios.rmk: Likewise.
36158 * conf/i386-pc.rmk: Likewise.
36159 * conf/powerpc-ieee1275.rmk: Likewise.
36160
a145ac2d 361612008-06-18 Pavel Roskin <proski@gnu.org>
36162
36163 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36164 kernel_elf_symlist.c to symlist.c for consistency with other
36165 architectures. Update all users.
36166 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36167
7847c51e 361682008-06-18 Robert Millan <rmh@aybabtu.com>
36169
36170 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36171 it in prefix.
36172
36173 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36174 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36175 a RAID device, run setup() for all members independently on whether
36176 LVM abstraction is being used.
36177 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36178 If grub-mkimage has set `*install_dos_part == -2', don't override this
36179 value.
36180 Perform *install_dos_part adjustments independently on whether
36181 we're embedding or not.
36182 Clarify error message when image is too big for embedding.
36183 Remove duplicate *install_dos_part stanza.
36184
b23e5644 361852008-06-17 Robert Millan <rmh@aybabtu.com>
36186
36187 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36188 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36189 variables.
36190 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36191 values in grub_ofconsole_normal_color and
36192 grub_ofconsole_highlight_color (they're not directly related to
36193 background and foreground).
36194 (grub_ofconsole_setcolorstate): Extract background and foreground
36195 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36196
0aac2f79 361972008-06-17 Robert Millan <rmh@aybabtu.com>
36198
36199 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36200 /boot/grub for the check in last commit, not /boot (they could be
36201 different partitions).
36202
3cca7ef3 362032008-06-16 Robert Millan <rmh@aybabtu.com>
36204
36205 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36206 asked to setup access for the same partition that provides /boot,
36207 don't bother using UUIDs since our root already has the value we
36208 want.
36209
347396d8 362102008-06-16 Robert Millan <rmh@aybabtu.com>
36211
36212 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36213 I2O devices.
36214 Patch from Sven Mueller <sven@debian.org>.
36215
991477f8 362162008-06-16 Robert Millan <rmh@aybabtu.com>
36217
36218 * util/update-grub.in: Check for $EUID instead of $UID.
36219 Reported by Vincent Zweije.
36220
d31a32a1 362212008-06-16 Bean <bean123ch@gmail.com>
36222
fe987087 36223 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36224 (grub_ext2_read_block): Likewise.
36225 (grub_ext2_read_inode): Likewise.
36226 (grub_ext2_mount): Likewise.
36227 (grub_ext2_close): Likewise.
36228 (grub_ext3_get_journal): Removed.
36229
fe987087 36230 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36231 (grub_reiserfs_read_symlink): Likewise.
36232 (grub_reiserfs_mount): Likewise.
36233 (grub_reiserfs_open): Likewise.
36234 (grub_reiserfs_read): Likewise.
36235 (grub_reiserfs_close): Likewise.
36236 (grub_reiserfs_get_journal): Removed.
36237
36238 * fs/fshelp.c (grub_fshelp_read): Removed.
36239 (grub_fshelp_map_block): Likewise.
36240
36241 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36242 (grub_fshelp_journal): Likewise.
36243 (grub_fshelp_read): Likewise.
36244 (grub_fshelp_map_block): Likewise.
36245
3540a760 362462008-06-16 Pavel Roskin <proski@gnu.org>
36247
36248 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36249 floating point anymore.
36250 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36251
95614c84 362522008-06-15 Pavel Roskin <proski@gnu.org>
36253
36254 * commands/ls.c (grub_ls_list_files): Use integer calculations
36255 for human readable format, avoid floating point use.
36256 * kern/misc.c (grub_ftoa): Remove.
36257 (grub_vsprintf): Remove floating point support.
36258
50465dd6 362592008-06-15 Robert Millan <rmh@aybabtu.com>
36260
fe6b695a 36261 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36262 devices.
36263 Reported by Max Vozeler.
36264
a9207284 362652008-06-15 Robert Millan <rmh@aybabtu.com>
36266
36267 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36268 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36269 skipped later.
36270 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36271 the beginning of the prefix.
36272
36273 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36274 It is assumed that if we have a memdisk, grub-mkimage has set
36275 grub_prefix to include the "(memdisk)" drive in it.
36276
a7cbd45a 362772008-06-15 Robert Millan <rmh@aybabtu.com>
36278
36279 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36280 Initialize keyboard controller after registering the terminal, so that
36281 grub_printf() can be called from grub_keyboard_controller_init().
36282
21cf716a 362832008-06-15 Robert Millan <rmh@aybabtu.com>
36284
36285 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36286 extent-btree which is written as big endian on disk.
36287 Reported by Alain Greppin <al@chilibi.org>.
36288
23a64d8e 362892008-06-14 Robert Millan <rmh@aybabtu.com>
36290
36291 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36292 * util/i386/pc/grub-install.in (modules): Likewise.
36293
d687651c 362942008-06-13 Pavel Roskin <proski@gnu.org>
36295
36296 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36297
dfe9ddd4 362982008-06-13 Bean <bean123ch@gmail.com>
36299
36300 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36301
36302 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36303
36304 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36305 to indicate sparse block.
36306
16ae7781 363072008-06-12 Pavel Roskin <proski@gnu.org>
36308
e6d1a308 36309 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36310 number, grub_fshelp_read() does it for us.
36311
16ae7781 36312 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36313 linear disk read with journal translation.
36314 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36315 * include/grub/fshelp.h: Declare grub_fshelp_read().
36316
40fd3a2b 363172008-06-09 Pavel Roskin <proski@gnu.org>
36318
36319 * fs/minix.c (grub_minix_mount): Handle error reading
36320 superblock.
36321
f5679726 363222008-06-08 Robert Millan <rmh@aybabtu.com>
36323
36324 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36325 don't append the RAID prefix afterwards.
36326 Reported by Clint Adams.
36327
ce525529 363282008-06-08 Robert Millan <rmh@aybabtu.com>
36329
36330 Based on description from Pavel:
36331 * kern/disk.c (grub_disk_check_range): Rename to ...
36332 (grub_disk_adjust_range): ... this. Add a comment explaining the
36333 tasks performed by this function.
36334
ad4936a0 363352008-06-08 Robert Millan <rmh@aybabtu.com>
36336
36337 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36338 `num_serial' (for consistency with other variables).
36339 (struct grub_ntfs_data): Add `uuid' member.
36340 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36341 (grub_ntfs_uuid): New function.
36342 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36343
dc20b0f9 363442008-06-07 Pavel Roskin <proski@gnu.org>
36345
36346 * util/biosdisk.c (open_device): Revert last change to the
36347 function, it broke installation. The sector needs to be
36348 different dependent on which device is opened.
36349
c5e3cfba 363502008-06-06 Robert Millan <rmh@aybabtu.com>
36351
36352 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36353 rest of GRUB, and breakage doesn't happen if its value were modified.
36354
36355 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36356 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36357 a constant (same value).
36358 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36359 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36360
26a1f8c4 363612008-06-06 Robert Millan <rmh@aybabtu.com>
36362
36363 * util/biosdisk.c (open_device): Do not modify sector offset when
36364 accessing a partition. kern/disk.c already handles this for us.
36365
25d6b327 363662008-06-06 Robert Millan <rmh@aybabtu.com>
36367
36368 * util/grub-emu.c (grub_machine_init): Move code in this function from
36369 here ...
36370 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36371 segfault in case grub_printf() is called).
36372
36373 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36374 grub_probe. Update all users not to explicitly add it again.
36375 (grub_device): New variable; contains corresponding device for grubdir.
36376 (fs_module, partmap_module, devabstraction_module): Pass
36377 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36378 every time.
36379
9ece62fb 363802008-06-05 Robert Millan <rmh@aybabtu.com>
36381
36382 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36383 is found, print it (same layout as with labels).
36384
1ad36d37 363852008-06-04 Robert Millan <rmh@aybabtu.com>
36386
36387 * util/biosdisk.c (get_drive): Rename to ...
36388 (find_grub_drive): ... this. Update all users.
36389
36390 (get_os_disk): Rename to ...
36391 (convert_system_partition_to_system_disk): ... this. Update all users.
36392
36393 (find_drive): Rename to ...
36394 (find_system_device): ... this. Update all users.
36395
e6a30859 363962008-06-04 Robert Millan <rmh@aybabtu.com>
36397
36398 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36399 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36400 (make_device_map): Likewise.
36401
00c108a4 364022008-06-01 Robert Millan <rmh@aybabtu.com>
36403
36404 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36405 before dereferencing it.
36406
36407 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36408 union with fat12/fat16-specific ones. Add some new fields, including
36409 `num_serial' for both versions.
36410 (struct grub_fat_data): Add `uuid' member.
36411 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36412 names. Initialize `data->uuid' using `num_serial'.
36413 (grub_fat_uuid): New function.
36414 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36415
36416 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36417 (grub_reiserfs_uuid): New function.
36418 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36419 member.
36420
36421 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36422 (grub_xfs_uuid): New function.
36423 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36424
1385c5bb 364252008-06-01 Robert Millan <rmh@aybabtu.com>
36426
36427 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36428 code that is backward compatible with pre-uuid search command.
36429
c682dfd7 364302008-05-31 Robert Millan <rmh@aybabtu.com>
36431
36432 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36433 floppies after everything else, to ensure floppy drive isn't accessed
36434 unnecessarily (patch from Bean).
36435
b7db5d47 364362008-05-31 Robert Millan <rmh@aybabtu.com>
36437
36438 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36439 not print device names when we were asked to set a variable.
36440
6e037aa9 364412008-05-31 Robert Millan <rmh@aybabtu.com>
36442
36443 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36444 using "cursor-on" and "cursor-off" commands (understood at least by
36445 the Open Firmware flavour on OLPC).
36446
41305bc8 364472008-05-31 Michael Gorven <michael@gorven.za.net>
36448
36449 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36450 on and off sequences.
36451
69ba137e 364522008-05-31 Robert Millan <rmh@aybabtu.com>
36453
36454 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36455 * util/update-grub.in: Likewise.
36456
520ae21b 364572008-05-30 Pavel Roskin <proski@gnu.org>
36458
36459 * util/biosdisk.c (linux_find_partition): Simplify logic and
36460 make the code more universal. Keep special processing for
36461 devfs, but use a simple rule for all other devices. If the
36462 device ends with a number, append 'p' and the partition number.
36463 Otherwise, append only the partition number.
36464
5786569b 364652008-05-30 Robert Millan <rmh@aybabtu.com>
36466
36467 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36468 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36469 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36470 the `root' parameter to Linux.
36471
51500452 364722008-05-30 Robert Millan <rmh@aybabtu.com>
36473
36474 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36475 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36476 --fs_uuid with --fs-uuid.
36477 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36478 all filesystems support them).
36479
811d3878 364802008-05-30 Robert Millan <rmh@aybabtu.com>
36481
36482 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36483 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36484
cab63c95 364852008-05-30 Robert Millan <rmh@aybabtu.com>
36486
36487 * util/grub.d/00_header.in: Remove obsolete comment referencing
36488 convert_system_path_to_grub_path().
36489 * util/update-grub.in: Likewise.
36490 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36491 (convert_system_path_to_grub_path): Add a warning message explaining
36492 that this function is deprecated. Rely on is_path_readable_by_grub()
36493 for the readability checks.
36494 (font_path): Use is_path_readable_by_grub() for the readability
36495 check rather than convert_system_path_to_grub_path().
36496
972e2f7a 364972008-05-30 Robert Millan <rmh@aybabtu.com>
36498
36499 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36500 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36501 converting it first.
36502 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36503 grub.cfg for access to font file, and afterwards call it again to set
36504 the root device.
36505
62191274 365062008-05-30 Robert Millan <rmh@aybabtu.com>
36507
36508 * commands/search.c (options): Add --fs_uuid option.
36509 (search_fs_uuid): New function.
36510 (grub_cmd_search): Fix --set argument passing.
36511 Use search_fs_uuid() when requested via --fs_uuid.
36512 (grub_search_init): Update help message.
36513 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36514 and redeclare it as an array of 16-bit words.
36515 (grub_ext2_uuid): New function.
36516 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36517 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36518 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36519 (GRUB_DEVICE_BOOT_UUID): New variables.
36520 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36521 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36522 whenever possible.
36523 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36524 just assume `root' variable has the right value.
36525 * util/grub.d/10_linux.in: Likewise.
36526 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36527 via PRINT_FS_UUID.
36528 (main): Recognise `-t fs_uuid' argument.
36529
01b73ec8 365302008-05-30 Robert Millan <rmh@aybabtu.com>
36531
36532 * util/biosdisk.c (map): Redefine structure to hold information
36533 about GRUB drive name.
fe6b695a 36534 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36535 drive names.
36536 (call_hook): Remove.
36537 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36538 member. Assume drive has partitions.
36539 (grub_util_biosdisk_open): Access device names via `.device' struct
36540 member.
36541 (open_device): Likewise.
36542 (find_drive): Likewise.
36543 (read_device_map): Adjust map[] usage to match the new struct
36544 definition. Don't check for duplicates (still possible, but not cheap
36545 anymore).
36546 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36547 (make_device_name): Remove assumption of BIOS-like drive names.
36548
22f16596 365492008-05-30 Pavel Roskin <proski@gnu.org>
36550
36551 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36552 compiling execute.c doesn't need grub_script.tab.h anymore.
36553 (normal/command.c_DEPENDENCIES): Likewise.
36554 (normal/function.c_DEPENDENCIES): Likewise.
36555 * conf/i386-ieee1275.rmk: Likewise.
36556 * conf/i386-linuxbios.rmk: Likewise.
36557 * conf/i386-pc.rmk: Likewise.
36558 * conf/powerpc-ieee1275.rmk: Likewise.
36559 * conf/sparc64-ieee1275.rmk: Likewise.
36560
528ad8f2 365612008-05-29 Pavel Roskin <proski@gnu.org>
36562
d1dff95d 36563 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36564 when scanning metadata for volume group name.
36565
528ad8f2 36566 * include/grub/script.h: Don't include grub_script.tab.h. It's
36567 a generated file, which may only be included from the files with
36568 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36569 use union YYSTYPE, as the later allows forward declaration.
36570 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36571
47248e08 365722008-05-29 Robert Millan <rmh@aybabtu.com>
36573
36574 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36575 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36576 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36577 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36578 scan codes.
36579
ee632529 365802008-05-29 Robert Millan <rmh@aybabtu.com>
36581
36582 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36583 control key combinations.
36584
eee96e08 365852008-05-29 Robert Millan <rmh@aybabtu.com>
36586
36587 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36588 * util/ieee1275/grub-install.in: ... to here.
36589 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36590 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36591 (grub_install_SOURCES): Likewise.
36592
da9a6a94 365932008-05-29 Robert Millan <rmh@aybabtu.com>
36594
36595 * fs/affs.c: Update copyright year.
36596 * fs/ext2.c: Likewise.
36597 * fs/fshelp.c: Likewise.
36598 * fs/hfsplus.c: Likewise.
36599 * fs/ntfs.c: Likewise.
36600 * fs/xfs.c: Likewise.
36601 * include/grub/fshelp.h: Likewise.
36602 * util/grub-mkdevicemap.c: Likewise.
36603
12e65f3a 366042008-05-28 Robert Millan <rmh@aybabtu.com>
36605
36606 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36607 might need to be fatfs to support some firmware implementations
36608 (e.g. OFW or EFI).
36609
23023641 366102008-05-28 Robert Millan <rmh@aybabtu.com>
36611
36612 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36613 devices.
36614 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36615 (make_device_map): Likewise.
36616
887d2619 366172008-05-20 Bean <bean123ch@gmail.com>
36618
36619 * fs/fshelp.c (grub_fshelp_map_block): New function.
36620 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36621 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36622
36623 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36624 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36625 (grub_fshelp_journal): New structure.
36626 (grub_fshelp_map_block): New function prototype.
36627 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36628 (grub_fshelp_map_block): Likewise.
36629
36630 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36631 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36632 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36633 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36634 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36635 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36636 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36637 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36638 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36639 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36640 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36641 (grub_ext2_sblock): New members for journal support.
36642 (grub_ext3_journal_header): New structure.
36643 (grub_ext3_journal_revoke_header): Likewise.
36644 (grub_ext3_journal_block_tag): Likewise.
36645 (grub_ext3_journal_sblock): Likewise.
36646 (grub_fshelp_node): New members logfile and journal.
36647 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36648 grub_fshelp_map_block to get real block number.
36649 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36650 number.
36651 (grub_ext2_read_inode): Likewise.
36652 (grub_ext3_get_journal): New function.
36653 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36654 (grub_ext2_close): Release memory used by journal.
36655
36656 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36657 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36658 (grub_reiserfs_transaction_header): Renamed to
36659 grub_reiserfs_description_block, replace field data with real_blocks.
36660 (grub_reiserfs_commit_block): New structure.
36661 (grub_reiserfs_data): New member journal.
36662 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36663 number.
36664 (grub_reiserfs_read_symlink): Likewise.
36665 (grub_reiserfs_iterate_dir): Likewise.
36666 (grub_reiserfs_open): Likewise.
36667 (grub_reiserfs_read): Likewise.
36668 (grub_reiserfs_get_journal): New function.
36669 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36670 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36671 using grub_reiserfs_get_journal.
36672 (grub_reiserfs_close): Release memory used by journal.
36673
36674 * fs/affs.c (grub_affs_read_block): Change block type to
36675 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36676
36677 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36678
36679 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36680
36681 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36682
36683 * fs/udf.c (grub_udf_read_block): Change block type to
36684 grub_disk_addr_t. Use type cast to avoid warning.
36685
36686 * fs/xfs.c (grub_xfs_read_block): Likewise.
36687
b7c6bed5 366882008-05-16 Christian Franke <franke@computer.org>
36689
36690 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36691 to ensure that break with ESC will always work.
36692 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36693 Remove ESC from keyboard queue.
36694
eedf167f 366952008-05-16 Christian Franke <franke@computer.org>
36696
36697 * util/biosdisk.c: [__CYGWIN__] Add includes.
36698 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36699 (get_os_disk): Move variable declarations to OS specific
36700 parts to avoid warning.
36701 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36702 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36703 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36704 Cygwin.
36705 * util/getroot.c: [__CYGWIN__] Add includes.
36706 (strip_extra_slashes): Fix "/" case.
36707 [__CYGWIN__] (get_win32_path): New function.
36708 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36709 [__CYGWIN__] (find_root_device): Disable.
36710 [__CYGWIN__] (get_bootsec_serial): New function.
36711 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36712 [__linux__] (grub_guess_root_device): Add early returns to simplify
36713 structure.
36714 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36715 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36716 check for Linux only.
36717
a079699e 367182008-05-15 Bean <bean123ch@gmail.com>
36719
36720 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36721 keyboard hang problem in apple's intel mac.
36722
1cf4059a 367232008-05-09 Robert Millan <rmh@aybabtu.com>
36724
36725 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36726 devices.
36727 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36728 (make_device_map): Likewise.
36729 Reported by Aurelien Jarno <aurel32@debian.org>
36730
ed759390 367312008-05-07 Ian Campbell <ijc@hellion.org.uk>
36732
36733 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36734 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36735 (make_device_map): Output entries for xvd type disks.
36736
b56c4eaa 367372008-05-07 Robert Millan <rmh@aybabtu.com>
36738
36739 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36740 devices.
36741 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36742 (make_device_map): Likewise.
36743 Reported by Roland Dreier <rdreier@cisco.com>
36744
7f8866ed 367452008-05-07 Robert Millan <rmh@aybabtu.com>
36746
36747 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36748 grub_strstr() call. Correct a few mistakes in failure path handling.
36749
b0346e0f 367502008-05-06 Robert Millan <rmh@aybabtu.com>
36751
36752 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36753 Do not print a trailing slash (therefore, the root directory is an
36754 empty string).
36755 (convert_system_path_to_grub_path): Do not remove trailing slash
36756 from make_system_path_relative_to_its_root() output.
36757
36758 * util/i386/pc/grub-install.in: Add trailing slash to output from
36759 make_system_path_relative_to_its_root().
36760
6cf12cbd 367612008-05-06 Robert Millan <rmh@aybabtu.com>
36762
36763 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36764 ensures that output lines aren't intermangled with those sent to
36765 stderr (via grub_util_info()).
36766 * util/grub-probe.c (grub_refresh): Likewise.
36767 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36768
0fbb3117 367692008-05-05 Christian Franke <franke@computer.org>
36770
36771 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36772 Add Cygwin device names.
36773 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36774 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36775 (check_device): Return error instead of success on empty name.
36776 (make_device_map): Move label inside linux specific code to
36777 prevent compiler warning.
36778
8124cdb7 367792008-04-30 Robert Millan <rmh@aybabtu.com>
36780
36781 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36782 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36783 first boot option.
36784 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36785
094c01d0 367862008-04-29 Robert Millan <rmh@aybabtu.com>
36787
36788 * docs/grub.cfg: New file (example GRUB configuration).
36789
f4b1fc02 367902008-04-26 Robert Millan <rmh@aybabtu.com>
36791
329ce2a5 36792 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36793 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36794 and `disk/ieee1275/nand.c'.
f4b1fc02 36795
25f16ec1 367962008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36797
25f16ec1 36798 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36799 i386-linuxbios.
36800
36801 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36802 change the buffer size to 4096 for cdrom device.
36803
36804 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36805 and nand.mod.
36806 (_linux_mod_SOURCES): New variable.
36807 (_linux_mod_CFLAGS): Likewise.
36808 (_linux_mod_LDFLAGS): Likewise.
36809 (linux_mod_SOURCES): Likewise.
36810 (linux_mod_CFLAGS): Likewise.
36811 (linux_mod_LDFLAGS): Likewise.
36812 (nand_mod_SOURCES): Likewise.
36813 (nand_mod_CFLAGS): Likewise.
36814 (nand_mod_LDFLAGS): Likewise.
36815
36816 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36817 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36818 type property. (nand device in olpc don't have this property)
36819
36820 * include/grub/disk.h (grub_disk_dev_id): New macro
36821 GRUB_DISK_DEVICE_NAND_ID.
36822
36823 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36824 function prototype.
36825 (grub_rescue_cmd_initrd): Likewise.
36826
36827 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36828 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36829 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36830
25f16ec1 36831 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36832 GRUB_MACHINE_IEEE1275 is defined.
36833
36834 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36835 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36836
36837 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36838 on nested function heap_init.
36839 (grub_upper_mem): New variable for i386-ieee1275.
36840 (grub_get_extended_memory): New function for i386-ieee1275.
36841 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36842
36843 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36844 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36845 property.
f19dbdb7 36846
25f16ec1 36847 * loader/i386/ieee1275/linux.c: New file.
36848
36849 * loader/i386/ieee1275/linux_normal.c: New file.
36850
36851 * disk/ieee1275/nand.c: New file.
36852
e89d61e9 368532008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36854
36855 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36856 value.
36857 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36858
602566f6 368592008-04-18 Robert Millan <rmh@aybabtu.com>
36860
36861 Restructures early code path on ieee1275 to unify grub_main() as
36862 the first C function that is executed in every platform.
36863
36864 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36865 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36866 cmain().
36867 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36868 * kern/ieee1275/cmain.c (cmain): Rename to ...
36869 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36870 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36871 at the beginning.
36872
57490c2b 368732008-04-18 Robert Millan <rmh@aybabtu.com>
36874
36875 * util/update-grub.in: Fix syntax error when setting
36876 `GRUB_PRELOAD_MODULES'.
36877 Reported by Stephane Chazelas <stephane@artesyncp.com>
36878
1977517d 368792008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36880
36881 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36882 section into account, newer toolchains generate unique build ids
36883 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36884 we want build ids to be preserved
1977517d 36885 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36886 far from other sections don't cause the raw binary images grow
36887 size
36888
bfb1f1a2 368892008-04-15 Robert Millan <rmh@aybabtu.com>
36890
36891 * disk/lvm.c: Update copyright year.
36892 * kern/misc.c: Likewise.
36893
01979850 368942008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36895
36896 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36897 there is no memory left for physical volume name.
01979850 36898
0a1150e2 368992008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36900
36901 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36902 volume name mapping to support bigger than 9 character names properly.
36903
82ead3fe 369042008-04-13 Robert Millan <rmh@aybabtu.com>
36905
36906 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36907 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36908
e54a72f5 369092008-04-13 Christian Franke <franke@computer.org>
36910
36911 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36912 to create a floppy emulation boot CD when non emulation mode
36913 does not work.
36914 Enable Joliet CD filesystem extension.
36915
9fe86034 369162008-04-13 Robert Millan <rmh@aybabtu.com>
36917
36918 * kern/misc.c (grub_strncat): Fix off-by-one error.
36919 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36920
36921 * kern/env.c (grub_env_context_close): Clear current context, not
36922 previous one.
36923 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36924
36925 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36926
7ceeee39 369272008-04-13 Robert Millan <rmh@aybabtu.com>
36928
36929 Improve robustness when handling LVM.
36930
36931 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36932 (and leave `*p' unmodified).
7ceeee39 36933 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36934 through it.
36935 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36936 iterating through it.
36937 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36938 through it.
fe6b695a 36939 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36940 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36941 Don't assume `vg->pvs != NULL' when iterating through it.
36942
58cd3d85 369432008-04-13 Robert Millan <rmh@aybabtu.com>
36944
36945 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36946 * genmk.rb (partmap): New variable.
36947 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36948 (#{partmap}): New target rule.
36949 * genpartmaplist.sh: New file.
36950 * Makefile.in (pkglib_DATA): Add partmap.lst.
36951 (partmap.lst): New target rule.
36952 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36953 modules (including all partition maps), instead of preloading them.
36954
78b51059 369552007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36956
36957 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36958 `linux-boot-prober' (if installed) to detect other operating
36959 systems which are installed on the computer and add them to
36960 the boot menu.
36961 * conf/common.rmk: Build and install 30_os-prober.
36962
a91627b4 369632008-04-12 Robert Millan <rmh@aybabtu.com>
36964
36965 * kern/powerpc/ieee1275/init.c: Move from here ...
36966 * kern/ieee1275/init.c: ... to here. Update all users.
36967
36968 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36969 * kern/ieee1275/cmain.c: ... to here. Update all users.
36970
36971 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36972 * kern/ieee1275/openfw.c: ... to here. Update all users.
36973
36974 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36975 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36976
322562ea 369772008-04-10 Pavel Roskin <proski@gnu.org>
36978
36979 * configure.ac: Always use "_cv_" in cache variables for
36980 compatibility with Autoconf 2.62.
36981
a02a73c5 369822008-04-07 Robert Millan <rmh@aybabtu.com>
36983
36984 Revert grub/machine/init.h addition by Pavel (since it breaks on
36985 i386-ieee1275 and others):
36986 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36987 * util/powerpc/ieee1275/misc.c: Likewise.
36988
25c024b1 369892008-04-07 Robert Millan <rmh@aybabtu.com>
36990
36991 * util/grub-probe.c (probe): Improve error message.
36992
3cbd2f98 369932008-04-07 Robert Millan <rmh@aybabtu.com>
36994
36995 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36996 (this prevents the presence of a bogus entry from ruining the whole
36997 thing).
36998
87a297bf 369992008-04-06 Pavel Roskin <proski@gnu.org>
37000
36747a62 37001 * util/biosdisk.c: Include grub/util/biosdisk.h.
37002 * util/grub-fstest.c (execute_command): Make static.
37003 * util/grub-mkdevicemap.c (check_device): Likewise.
37004 * util/i386/pc/misc.c: Include grub/machine/init.h.
37005 * util/powerpc/ieee1275/misc.c: Likewise.
37006 * util/lvm.c: Include grub/util/lvm.h.
37007 * util/misc.c: Include grub/kernel.h, grub/misc.h and
37008 grub/cache.h.
37009 * util/raid.c: Include grub/util/raid.h.
37010 (grub_util_getdiskname): Make static.
37011
87a297bf 37012 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
37013 grub_hostfs_fini(), as they are called from grub_init_all() and
37014 grub_fini_all() respectively. This fixes an infinite loop in
37015 grub-fstest due to double registration of hostfs.
37016 Reported by Christian Franke <Christian.Franke@t-online.de>
37017
f6ce7629 370182008-04-05 Pavel Roskin <proski@gnu.org>
37019
37020 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
37021 all 8 functions. Otherwise, probe function 0 only.
37022
070e49e4 370232008-04-04 Pavel Roskin <proski@gnu.org>
37024
8b088a4c 37025 * commands/lspci.c (grub_lspci_iter): Print the bus number
37026 correctly.
37027
4f657021 37028 * commands/lspci.c (grub_pci_classes): Fix typos.
37029 (grub_lspci_iter): Don't print func twice. Print vendor ID
37030 before device ID, as it's normally done.
37031
070e49e4 37032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37033 Fix signedness warnings.
37034 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
37035 Likewise.
37036 * util/ieee1275/get_disk_name.c: Include config.h so that
37037 _GNU_SOURCE is defined and getline() is declared. Mark an
37038 unused argument as such. Fix a signedness warning.
37039
ba7328dc 370402008-04-02 Pavel Roskin <proski@gnu.org>
37041
26887f22 37042 * genkernsyms.sh.in: Use more robust assignments for CC and
37043 srcdir. Quote srcdir.
37044 * gensymlist.sh.in: Likewise. Assert at the compile time that
37045 the symbol table is not empty.
37046
ba7328dc 37047 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
37048 * fs/cpio.c (grub_cpio_read): Likewise.
37049
0f582c6b 370502008-04-01 Pavel Roskin <proski@gnu.org>
37051
4b6e1995 37052 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
37053 * disk/host.c (grub_host_open): Likewise.
37054 * disk/loopback.c (grub_loopback_open): Likewise.
37055 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
37056 disk->id as in disk/host.c, not a multi-character constant.
37057
828a2768 37058 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
37059 later is obsolete, potentially dangerous and sets a bad example.
37060 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
37061 * util/misc.c (grub_util_get_image_size): Likewise.
37062
2bb4fb47 37063 * disk/loopback.c (options): Improve help for "--partitions".
37064
0f582c6b 37065 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
37066 options to align them with the short options, e.g. "echo -e".
37067
a33224e0 370682008-03-31 Bean <bean123ch@gmail.com>
37069
37070 * video/reader/png.c (grub_png_data): New member is_16bit and
37071 image_data.
37072 (grub_png_decode_image_header): Detect 16 bit png image.
37073 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37074 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37075 (grub_video_reader_png): Release memory occupied by image_data.
37076
37077 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37078 4096 bytes.
37079 (grub_nfs_mount): Skip the test for sector per cluster.
37080
37081 * include/grub/ntfs.h (MAX_SPC): Removed.
37082
86cb4f54 370832008-03-31 Bean <bean123ch@gmail.com>
37084
37085 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37086 (grub_probe_SOURCES): Add fs/afs.c.
37087 (grub_fstest_SOURCES): Likewise.
37088 (afs_mod_SOURCES): New variable.
37089 (afs_mod_CFLAGS): Likewise.
37090 (afs_mod_LDFLAGS): Likewise.
37091
37092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37093 (grub_emu_SOURCES): Likewise.
37094
37095 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37096
37097 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37098
37099 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37100
37101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37102
37103 * fs/afs.c: New file.
37104
17c74c21 371052008-03-30 Pavel Roskin <proski@gnu.org>
37106
4cb68e89 37107 * disk/host.c: Include grub/misc.h to fix a warning.
37108 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37109 warnings about implicit declarations.
37110
8790bb04 37111 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37112 variable.
37113 * include/grub/i386/loader.h: Change declaration of
37114 grub_linux_boot() to match what grub_loader_set() expects.
37115 * util/getroot.c (grub_guess_root_device): Return const char* to
37116 fix a warning.
37117 * util/grub-probe.c (probe): Fix a warning about uninitialized
37118 abstraction_name variable.
37119 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37120 second argument as unused to fix a warning.
37121
9a3f3296 37122 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37123 missing grub_error() call.
37124
0ecef90d 37125 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37126 2.60 and newer uses it to define datadir.
37127
0bf6d401 37128 * commands/sleep.c: Fix warning about implicit declaration.
37129 * disk/memdisk.c: Likewise.
37130 * loader/aout.c: Likewise.
37131 * loader/i386/bsd_normal.c: Likewise.
37132 * util/grub-probe.c: Likewise.
37133
7cdacf97 37134 * commands/i386/cpuid.c (has_longmode): Make static.
37135 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37136 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37137
17c74c21 37138 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37139 GDT. This is more robust, as %ds can change.
37140 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37141 calling real_to_prot().
37142 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37143
80a3e68b 371442008-03-28 Pavel Roskin <proski@gnu.org>
37145
37146 * kern/i386/pc/startup.S: Assert that uncompressed functions
37147 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37148 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37149 code, as they push parts of the code (error handlers) beyond
37150 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37151 code as correctness and size.
37152
77bcd272 371532008-03-28 Pavel Roskin <proski@gnu.org>
37154
37155 * kern/i386/pc/startup.S
37156 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37157 data block address to the real mode, keep offset minimal. This
37158 works around a bug in AWARD BIOS on old Athlon systems, which
37159 makes CD detection hang.
37160
c5dfd43b 371612008-03-26 Pavel Roskin <proski@gnu.org>
37162
37163 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37164 const.
37165 * include/grub/normal.h: Add grub_parse_color_name_pair()
37166 declaration.
37167
bf962df2 371682008-03-24 Bean <bean123ch@gmail.com>
37169
37170 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37171 (cd_count): Removed.
37172 (cd_drive): New variable.
37173 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37174 (grub_biosdisk_call_hook): Likewise.
37175 (grub_biosdisk_iterate): Change cdrom detection method.
37176 (grub_biosdisk_open): Replace cd_start with cd_drive.
37177 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37178 detect cdrom device.
37179
37180 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37181 Removed.
37182 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37183 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37184 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37185 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37186 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37187 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37188 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37189 (grub_biosdisk_cdrp): New structure.
37190 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37191
37192 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37193
37194 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37195 device.
37196
37197 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37198 New function.
37199
68e7fc7a 372002008-03-20 Robert Millan <rmh@aybabtu.com>
37201
37202 Remove 2 TiB limit in ata.mod.
37203 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37204 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37205 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37206 grub_uint64_t instead of grub_uint32_t.
37207
38ad2cf5 372082008-03-05 Bean <bean123ch@gmail.com>
37209
37210 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37211 (grub_multiboot): Set boot device.
37212
37213 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37214
2b89344e 372152008-03-02 Bean <bean123ch@gmail.com>
37216
37217 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37218 symlink_buffer.
37219
87a95d1f 372202008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37221
37222 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37223 texinfo.tex.
37224
37225 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37226 modified.
37227
37228 * docs/fdl.texi: New file.
f19dbdb7 37229
87a95d1f 37230 * docs/mdate-sh: New file. Copied from gnulib.
37231 * docs/texinfo.tex: Likewise.
37232
37233 * config.guess: Updated from gnulib.
37234 * install-sh: Likewise.
37235
7dc15d8e 372362008-02-28 Robert Millan <rmh@aybabtu.com>
37237
37238 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37239 (aout_mod_SOURCES): New variable.
37240 (aout_mod_CFLAGS): Likewise.
37241 (aout_mod_LDFLAGS): Likewise.
37242
37243 * conf/i386-ieee1275.rmk: Likewise.
37244
b00ab696 372452008-02-28 Robert Millan <rmh@aybabtu.com>
37246
37247 * util/update-grub.in: Reorganise terminal validity check. Accept
37248 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37249 Based on suggestion by Franklin PIAT.
37250
79ca2d78 372512008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37252
37253 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37254 function.
37255 * util/getroot.c (grub_util_check_block_device): New function that
37256 returns the given argument if it is a block device and returns NULL else.
37257 * util/grub-probe.c (argument_is_device): New variable.
37258 (probe): Promote device_name from a variable to an argument. Receive
37259 device_name from grub_util_check_block_device() if path is NULL and from
37260 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37261 (options): Introduce new parameter '-d, --device'.
79ca2d78 37262 (main): Add description of the new parameter to the help screen.
37263 Rename path variable to argument. Set argument_is_device if the '-d'
37264 option is given. Pass argument to probe() depending on
37265 argument_is_device.
37266
0d16e571 372672008-02-24 Bean <bean123ch@gmail.com>
37268
37269 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37270 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37271 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37272 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37273 (GRUB_ISO9660_VOLDESC_END): Likewise.
37274 (grub_iso9660_primary_voldesc): New member escape.
37275 (grub_iso9660_data): New member joliet.
37276 (grub_iso9660_convert_string): New function.
37277 (grub_iso9660_mount): Detect joliet extension.
37278 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37279 (grub_iso9660_iso9660_label): Likewise.
37280
37281 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37282 (grub_setup_SOURCES): Add fs/udf.c.
37283 (grub_fstest_SOURCES): Likewise.
37284 (udf_mod_SOURCES): New variable.
37285 (udf_mod_CFLAGS): Likewise.
37286 (udf_mod_LDFLAGS): Likewise.
37287
37288 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37289 (grub_emu_SOURCES): Likewise.
37290
37291 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37292
37293 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37294
37295 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37296
37297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37298
37299 * fs/udf.c: New file.
37300
8a594a17 373012008-02-24 Robert Millan <rmh@aybabtu.com>
37302
37303 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37304 (normal/lexer.c_DEPENDENCIES): New variables.
37305 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37306 (normal/lexer.c_DEPENDENCIES): Likewise.
37307 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37308 (normal/lexer.c_DEPENDENCIES): Likewise.
37309 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37310 (normal/lexer.c_DEPENDENCIES): Likewise.
37311 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37312 (normal/lexer.c_DEPENDENCIES): Likewise.
37313 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37314 (normal/lexer.c_DEPENDENCIES): Likewise.
37315
2dc33c03 373162008-02-23 Robert Millan <rmh@aybabtu.com>
37317
37318 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37319 since they were intended to be in hex. This didn't break previously
37320 because of a bug in gpt_partition_map_iterate() (see below).
37321
37322 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37323 when checking the validity of GPT header.
37324 Remove `partno', since it always provides the same information as `i'.
37325
f6f4cfb0 373262008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37327
37328 * include/grub/efi/time.h: Fix a wrong comment.
37329
79ff665f 373302008-02-19 Pavel Roskin <proski@gnu.org>
37331
37332 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37333 message.
37334
d38e24c2 373352008-02-19 Bean <bean123ch@gmail.com>
37336
37337 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37338 (aout_mod_SOURCES): New variable.
37339 (aout_mod_CFLAGS): Likewise.
37340 (aout_mod_LDFLAGS): Likewise.
37341 (_bsd_mod_SOURCES): New variable.
37342 (_bsd_mod_CFLAGS): Likewise.
37343 (_bsd_mod_LDFLAGS): Likewise.
37344 (bsd_mod_SOURCES): New variable.
37345 (bsd_mod_CFLAGS): Likewise.
37346 (bsd_mod_LDFLAGS): Likewise.
37347
37348 * include/grub/aout.h: New file.
37349
37350 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37351
37352 * include/grub/i386/bsd.h: New file.
37353
37354 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37355 to make it public.
37356
37357 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37358 function is called, so that it's possible to change it inside the hook.
37359 (grub_elf64_load): Likewise.
37360 (grub_elf_file): Don't close the file if elf header is not found.
37361 (grub_elf_close): Close the file if grub_elf_file fails (The new
37362 grub_elf_file won't close it).
37363 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37364 (grub_elf64_size): Likewise.
37365
37366 * kern/i386/loader.S (grub_unix_real_boot): New function.
37367
37368 * loader/aout.c: New file.
37369
37370 * loader/i386/bsd.c: New file.
37371
37372 * loader/i386/bsd_normal.c: New file.
37373
37374 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37375
37376 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37377 can test other formats.
d38e24c2 37378
b93bdb0f 373792008-02-19 Robert Millan <rmh@aybabtu.com>
37380
37381 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37382 (grub_gpt_partition_type_empty): Redefine with macro from
37383 `<grub/gpt_partition.h>'.
37384 (gpt_partition_map_iterate): Adjust partition type comparison.
37385
37386 Export `entry' as partmap-specific `part.data' struct.
37387 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37388
37389 * include/grub/gpt_partition.h (grub_gpt_header)
37390 (grub_gpt_partentry): ... to here (new file).
37391
37392 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37393
37394 (grub_gpt_partition_type_bios_boot): New const variable, defined
37395 with macro from `<grub/gpt_partition.h>'.
37396
37397 (setup): Replace `first_start' with `embed_region', which keeps
37398 track of the embed region (and is partmap-agnostic).
37399
37400 Replace find_first_partition_start() with find_usable_region(),
37401 which finds a usable region for embedding using partmap-specific
37402 knowledge (supports PC/MSDOS and GPT).
37403
37404 Fix all assumptions that the embed region start at sector 1, using
37405 `embed_region.start' from now on. Similarly, use `embed_region.end'
37406 rather than `first_start' to calculate available size.
37407
37408 In grub_util_info() message, replace "into after the MBR" with an
37409 indication of the specific sector our embed region starts at.
37410
66cb40f6 374112008-02-19 Robert Millan <rmh@aybabtu.com>
37412
37413 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37414 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37415 `commands/reboot.c'.
37416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37417 (halt_mod_SOURCES): Likewise.
37418 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37419 (halt_mod_SOURCES): Likewise.
37420
b7202015 374212008-02-17 Christian Franke <franke@computer.org>
37422
37423 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37424
32b0fc49 374252008-02-17 Robert Millan <rmh@aybabtu.com>
37426
37427 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37428 set `first_start' to 0 for non-PC/MSDOS partition maps.
37429
aca63502 374302008-02-16 Robert Millan <rmh@aybabtu.com>
37431
37432 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37433 do not assume partition map is PC/MSDOS before performing checks that
37434 are specific to that layout.
37435
0de8be86 374362008-02-13 Robert Millan <rmh@aybabtu.com>
37437
37438 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37439 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37440 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37441
c3db8364 374422008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37443
37444 * configure.ac: Only a cosmetic change on the handling of
37445 -fno-stack-protector.
37446
f714229e 374472008-02-12 Alexandre Boeglin <alex@boeglin.org>
37448
c3db8364 37449 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37450 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37451 reboot.c.
f714229e 37452 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37453 (halt_mod_SOURCES): New variable.
37454 (halt_mod_CFLAGS): Likewise.
37455 (halt_mod_LDFLAGS): Likewise.
37456 (reboot_mod_SOURCES): Likewise.
37457 (reboot_mod_CFLAGS): Likewise.
37458 (reboot_mod_LDFLAGS): Likewise.
37459
c3db8364 37460 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37461 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37462 reboot.c.
f714229e 37463 (halt_mod_SOURCES): Likewise.
37464 (reboot_mod_SOURCES): Likewise.
37465
c3db8364 37466 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37467 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37468 (reboot_mod_SOURCES): Likewise.
37469
37470 * commands/i386/pc/reboot.c: merge this file ...
37471
37472 * commands/ieee1275/reboot.c: ... and this file ...
37473
37474 * commands/reboot.c: ... to this file.
c3db8364 37475 Add some precompiler directive to include the correct header for
37476 each machine.
f714229e 37477
37478 * commands/ieee1275/halt.c: move this file ...
37479
37480 * commands/halt.c: ... to here.
c3db8364 37481 Add some precompiler directive to include the correct header for
37482 each machine.
f714229e 37483
37484 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37485 (grub_halt): Likewise.
37486
37487 * kern/efi/efi.c (grub_reboot): New function.
37488 (grub_halt): Likewise.
37489
c74493e0 374902008-02-12 Robert Millan <rmh@aybabtu.com>
37491
37492 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37493 /dev (like it is done for /dev/mapper). This doesn't provide support
37494 for EVMS, but at least it is now easy to identify the problem when it
37495 arises.
37496
d0db4b04 374972008-02-11 Robert Millan <rmh@aybabtu.com>
37498
37499 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37500 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37501 comparing it with -1, not 0.
37502
bf748642 375032008-02-10 Robert Millan <rmh@aybabtu.com>
37504
37505 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37506 `disk/lvm.c'.
37507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37508 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37509
37510 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37511 `disk/lvm.c' to the end of the list.
37512 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37513 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37514
b5db202a 375152008-02-10 Robert Millan <rmh@aybabtu.com>
37516
37517 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37518 grub_print_error() instead. This will let user know why we're entering
37519 rescue mode.
37520 Based on suggestions from Sam Morris.
37521
83abee31 375222008-02-10 Alexandre Boeglin <alex@boeglin.org>
37523
37524 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37525 on remaining N args, instead of "--" arg N times.
37526
78d5a08b 375272008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37528
37529 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37530 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37531 pattern for unknown glyphs.
37532
68807e5f 375332008-02-09 Robert Millan <rmh@aybabtu.com>
37534
37535 * configure.ac: Probe for `help2man'.
37536 * Makefile.in (builddir): New variable.
37537 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37538 or otherwise add a few flags/options to it.
37539 (install-local): For every executable utility or script that is
37540 installed, invoke $(HELP2MAN) to install a manpage based on --help
37541 output.
37542
37543 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37544 that it doesn't prevent --help from working in build tree.
37545
37546 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37547 with `bug-grub@gnu.org'.
37548 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37549 * util/update-grub.in (usage): New function.
37550 Implement proper argument check, with support for --help and --version
37551 (as well as existing -y).
37552
375532008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37554
37555 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37556 avoid overwriting previous output.
37557 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37558
c1962162 375592008-02-09 Robert Millan <rmh@aybabtu.com>
37560
37561 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37562 drawing the menu.
37563
3dac2e3f 375642008-02-09 Robert Millan <rmh@aybabtu.com>
37565
37566 * commands/sleep.c: New file.
37567 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37568 (sleep_mod_SOURCES): New variable.
37569 (sleep_mod_CFLAGS): Likewise.
37570 (sleep_mod_LDFLAGS): Likewise.
37571
7a634e08 375722008-02-09 Robert Millan <rmh@aybabtu.com>
37573
37574 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37575 situations in which we can deduce the RAID size and the superblock
37576 doesn't match it.
37577
b92f0c18 375782008-02-09 Robert Millan <rmh@aybabtu.com>
37579
37580 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37581 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37582 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37583
37584 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37585 and return a grub_diskmemberlist_t composed of physical array members.
37586 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37587
37588 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37589 prototype.
37590 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37591 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37592 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37593
37594 * util/grub-probe.c (probe): Move partmap probing code from here ...
37595 (probe_partmap): ... to here.
37596 (probe): Use probe_partmap() once for the disk we're probing, and
37597 additionally, when such disk contains a memberlist() struct member,
37598 once for each disk that is contained in the structure returned by
37599 memberlist().
37600
91a4bf68 376012008-02-09 Robert Millan <rmh@aybabtu.com>
37602
37603 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37604 environment variable to 'all' in order to obtain debug output from
37605 non-util/ code.
37606 * util/i386/pc/grub-setup.c (main): Likewise.
37607
a96f9caa 376082008-02-08 Robert Millan <rmh@aybabtu.com>
37609
37610 * disk/raid.c (grub_raid_scan_device): Check for
37611 `array->device[sb.this_disk.number]' rather than for
37612 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37613 guaranteed to be accessible.
a96f9caa 37614
b37a9222 376152008-02-08 Robert Millan <rmh@aybabtu.com>
37616
37617 * disk/raid.c: Update copyright.
37618 * fs/cpio.c: Likewise.
37619 * include/grub/raid.h: Likewise.
37620 * loader/i386/pc/multiboot.c: Likewise.
37621 * util/hostfs.c: Likewise.
37622
5626aee1 376232008-02-08 Robert Millan <rmh@aybabtu.com>
37624
37625 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37626 to a grub_disk_t array.
37627 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37628 `device[x]'.
37629 (grub_raid_scan_device): Replace `device[x].name' accesses with
37630 `device[x]->name'. Simplify initialization of `array->device[x]'.
37631
554f0187 376322008-02-08 Robert Millan <rmh@aybabtu.com>
37633
37634 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37635 grub_dprintf() calls.
37636 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37637 error message.
37638
1ec8425d 376392008-02-07 Christian Franke <franke@computer.org>
37640
37641 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37642 instead of fseek and ftell to support large files.
37643 (grub_hostfs_read): Likewise.
37644
f2156fda 376452008-02-07 Robert Millan <rmh@aybabtu.com>
37646
37647 Patch from Jeroen Dekkers.
37648 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37649 failure, since successfully reading all array members might not be
f2156fda 37650 required.
37651
9216e0e7 376522008-02-06 Robert Millan <rmh@aybabtu.com>
37653
37654 * util/grub-probe.c (probe): Simplify partmap probing (with the
37655 assumption that the first word up to the underscore equals to
37656 the module name).
37657
b0dfd29a 376582008-02-06 Christian Franke <franke@computer.org>
37659
37660 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37661 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37662 last block of a cpio or tar stream.
37663 Check for "TRAILER!!!" instead of any empty data
37664 block to detect last block of a cpio stream.
37665 (grub_cpio_dir): Fix constness of variable np.
37666 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37667 cpio or tar trailer is detected. This fixes a crash
37668 on open of a non existing file.
37669
c32865bf 376702008-02-05 Bean <bean123ch@gmail.com>
37671
37672 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37673 address of entry.
37674 (grub_multiboot_load_elf64): Likewise.
37675 (grub_multiboot): Initialize mbi structure.
37676
37677 * util/grub-fstest.c: Don't include unused header file script.h.
37678
fe6b695a 37679 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37680 of file.
37681 (grub_fstest_SOURCES): Likewise.
37682
409480b7 376832008-02-05 Robert Millan <rmh@aybabtu.com>
37684
37685 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37686 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37687 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37688 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37689
37690 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37691 (translation_table): Replace hardcoded values with macros
37692 provided by `<grub/term.h>'.
37693
37694 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37695 (keyboard_map): Correct/add a few values, with macros provided
37696 by `<grub/term.h>'.
37697 (keyboard_map_shift): Zero values that don't differ from their
37698 `keyboard_map' equivalents.
37699 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37700 Discard the second scan code that is always sent by Caps lock.
37701 Only use `keyboard_map_shift' when it provides a non-zero value,
37702 otherwise fallback to `keyboard_map'.
37703
99fadbaa 377042008-02-04 Bean <bean123ch@gmail.com>
37705
37706 * Makefile.in (enable_grub_fstest): New variable.
37707
37708 * conf/common.rmk (grub_fstest_init.lst): New rule.
37709 (grub_fstest_init.h): Likewise.
37710 (grub_fstest_init.c): Likewise.
37711 (util/grub-fstest.c_DEPENDENCIES): New variable.
37712 (grub_fstest_SOURCES): Likewise.
37713
37714 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37715
37716 * util/grub-fstest.c: New file.
37717
bf567c50 377182008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37719
37720 Make grub-setup handle a separate root device.
f19dbdb7 37721
bf567c50 37722 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37723 so that the root device can be compared with the destination
37724 device.
37725 When embedding the core image, if the root and destination devices
37726 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37727 0xFF.
37728 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37729
9be6b98b 377302008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37731
37732 Add support for having a grub directory in a different drive. This
37733 is still only the data handling part.
f19dbdb7 37734
9be6b98b 37735 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37736 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37737 (grub_root_drive): New variable.
37738
37739 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37740 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37741 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37742 as it was.
37743
37744 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37745
37746 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37747 macro.
37748 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37749
37750 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37751 is bogus, because PXE booting does not specify any drive
37752 correctly.
37753
37754 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37755 am not sure if this is really correct.
37756
37757 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37758 is always identical to the boot drive when booting from a CD.
37759
37760 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37761 longer.
37762 (root_drive): New variable.
37763 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37764 (setup_sectors): Push %dx right after popping it, because %dh will
37765 be modified later.
37766 (copy_buffer): Restore %dx.
37767
e0ca0677 377682008-02-03 Robert Millan <rmh@aybabtu.com>
37769
37770 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37771 use `cdboot.img' for cdrom images.
37772
3b3f6629 377732008-02-03 Robert Millan <rmh@aybabtu.com>
37774
37775 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37776 only setup gfxterm when `font' command has succeeded.
37777
d42b3672 377782008-02-03 Robert Millan <rmh@aybabtu.com>
37779
37780 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37781 (grub_rescue_cmd_multiboot_loader)
37782 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37783
fa370ea6 377842008-02-03 Pavel Roskin <proski@gnu.org>
37785
e0c5dacb 37786 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37787 %edx and %esi from stack only after grub_gate_a20() is called.
37788 grub_gate_a20() clobbers %edx.
37789
f2a76e1d 377902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37791
37792 * configure.ac (AC_INIT): Bumped to 1.96.
37793
37794 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37795 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37796 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37797 video/readers/png.c.
37798
90fd32d1 377992008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37800
37801 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37802 (cdboot_img_SOURCES): New variable.
37803 (cdboot_img_ASFLAGS): New variable.
37804 (cdboot_img_LDFLAGS): New variable.
37805
37806 * boot/i386/pc/cdboot.S: New file.
37807
37808 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37809 (cd_count): Likewise.
37810 (grub_biosdisk_get_drive): Add support for cd device.
37811 (grub_biosdisk_call_hook): Likewise.
37812 (grub_biosdisk_iterate): Likewise.
37813 (grub_biosdisk_open): Likewise.
37814 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37815 (grub_biosdisk_rw): Support reading from cd device.
37816 (GRUB_MOD_INIT): Iterate cd devices.
37817
37818 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37819 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37820 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37821
37822 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37823
4020aa53 378242008-02-02 Robert Millan <rmh@aybabtu.com>
37825
37826 * commands/read.c: New file.
37827 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37828 (read_mod_SOURCES): New variable.
37829 (read_mod_CFLAGS): Likewise.
37830 (read_mod_LDFLAGS): Likewise.
37831
e03a1132 378322008-02-02 Robert Millan <rmh@aybabtu.com>
37833
37834 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37835 determining whether menu has to be displayed.
37836
58c69220 378372008-02-02 Marco Gerards <marco@gnu.org>
37838
37839 * bus/pci.c: New file.
37840
37841 * include/grub/pci.h: Likewise.
37842
37843 * include/grub/i386/pc/pci.h: Likewise.
37844
37845 * commands/lspci.c: Likewise.
37846
37847 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37848 `lspci.mod'.
37849 (pci_mod_SOURCES): New variable.
37850 (pci_mod_CFLAGS): Likewise.
37851 (pci_mod_LDFLAGS): Likewise.
37852 (lspci_mod_SOURCES): Likewise.
37853 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37854 (lspci_mod_LDFLAGS): Likewise.
58c69220 37855
c004e1b4 378562008-02-02 Bean <bean123ch@gmail.com>
37857
37858 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37859 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37860
37861 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37862 (grub_xfs_btree_node): New structure.
37863 (grub_xfs_btree_root): New structure.
37864 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37865 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37866 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37867 (GRUB_XFS_EXTENT_SIZE): Likewise.
37868 (grub_xfs_read_block): Support btree format type.
37869 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37870 Use directory block as basic unit.
37871
37872 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37873
37874 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37875 __attribute__ ((__regparm__ (1))).
37876
f95562bf 378772008-02-01 Robert Millan <rmh@aybabtu.com>
37878
37879 Correct a mistake in previous commit.
37880
37881 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37882 top.
37883 (normal/command.c_DEPENDENCIES): New variable.
37884
7d31f41f 378852008-02-01 Robert Millan <rmh@aybabtu.com>
37886
37887 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37888 top.
37889 (normal/command.c_DEPENDENCIES): New variable.
37890 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37891 * conf/i386-ieee1275.rmk: Likewise.
37892 * conf/i386-linuxbios.rmk: Likewise.
37893 * conf/i386-pc.rmk: Likewise.
37894 * conf/sparc64-ieee1275.rmk: Likewise.
37895 * conf/powerpc-ieee1275.rmk: Likewise.
37896 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37897
37898 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37899
60b6be74 379002008-02-01 Robert Millan <rmh@aybabtu.com>
37901
37902 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37903 call at beginning of function.
37904
078522ab 379052008-01-31 Pavel Roskin <proski@gnu.org>
37906
37907 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37908 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37909 (grub_mkrescue_SOURCES): Likewise.
078522ab 37910 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37911
ccaa8a5f 379122008-01-30 Robert Millan <rmh@aybabtu.com>
37913
37914 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37915 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37916 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37917 (grub_probe_SOURCES): ... to here.
37918
37919 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37920 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37921 * conf/i386-ieee1275.rmk: Likewise.
37922 * conf/i386-linuxbios.rmk: Likewise.
37923 * conf/powerpc-ieee1275.rmk: Likewise.
37924
ae5a9cd7 379252008-01-30 Tristan Gingold <gingold@free.fr>
37926
37927 * kern/rescue.c: Silently accept empty lines.
37928
70bc2ef2 379292008-01-29 Bean <bean123ch@gmail.com>
37930
37931 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37932 (real_code_2): Code cleanup and change comment style.
37933 (move_memory): Avoid using 32-bit address mode.
37934
6a4d50ea 379352008-01-29 Bean <bean123ch@gmail.com>
37936
37937 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37938 (png_mod_SOURCES): New variable.
37939 (png_mod_CFLAGS): Likewise.
37940 (png_mod_LDFLAGS): Likewise.
37941
37942 * video/readers/png.c: New file.
37943
11cc30ac 379442008-01-28 Robert Millan <rmh@aybabtu.com>
37945
37946 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37947 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37948 `ifndef GRUB_MOD_GAP' hack.
37949 * util/elf/grub-mkimage.c (add_segments): Likewise.
37950
3abc589f 379512008-01-27 Robert Millan <rmh@aybabtu.com>
37952
37953 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37954 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37955 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37956
e1907778 379572008-01-27 Robert Millan <rmh@aybabtu.com>
37958
37959 Get grub-emu to build again (including parallel builds).
37960
37961 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37962 Split into ...
37963 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37964 (normal/execute.c_DEPENDENCIES): ... this, ...
37965 (grub-emu_DEPENDENCIES): ... and this.
37966
37967 * conf/i386-efi.rmk: Likewise.
37968 * conf/i386-linuxbios.rmk: Likewise.
37969 * conf/i386-ieee1275.rmk: Likewise.
37970 * conf/powerpc-ieee1275.rmk: Likewise.
37971 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37972
2216b101 379732008-01-27 Robert Millan <rmh@aybabtu.com>
37974
37975 * NEWS: Add a few items.
37976
f75172d9 379772008-01-27 Robert Millan <rmh@aybabtu.com>
37978
37979 Fix parallel builds with grub-emu. Based on earlier commit for
37980 grub-probe and grub-setup.
37981
37982 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37983 (util/grub-emu.c_DEPENDENCIES): ... this.
37984 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37985 (util/grub-emu.c_DEPENDENCIES): ... this.
37986 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37987 (util/grub-emu.c_DEPENDENCIES): ... this.
37988 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37989 (util/grub-emu.c_DEPENDENCIES): ... this.
37990 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37991 (util/grub-emu.c_DEPENDENCIES): ... this.
37992
3f51de77 379932008-01-27 Pavel Roskin <proski@gnu.org>
37994
37995 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37996 to create a gap between _end and the modules added to the image
37997 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37998 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37999 * util/elf/grub-mkimage.c (add_segments): Likewise.
38000
2033f53e 380012008-01-26 Pavel Roskin <proski@gnu.org>
38002
38003 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
38004 just return an error.
38005
22da1f6f 380062008-01-26 Bean <bean123ch@gmail.com>
38007
38008 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
38009 (grub_reiserfs_get_item): Save offset of the next item.
38010 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
38011
2a9525e6 380122008-01-25 Robert Millan <rmh@aybabtu.com>
38013
38014 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
38015 make all filesystem sources appear together (possibly fixing omissions
38016 while at it).
38017 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38018 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38019 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38021
38022 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
38023 add `kern/file.c'.
38024 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
38025 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38026 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
38027 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
38028
38029 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
38030 (probe): Add a sanity check to make sure of our ability to read
38031 requested files when probing for filesystem type.
38032
38033 * genmk.rb: Update copyright year (2007).
38034
38035 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
38036 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
38037 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
38038 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
38039 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
38040 : Remove function prototypes.
38041
b95f71b5 380422008-01-25 Robert Millan <rmh@aybabtu.com>
38043
38044 Revert my previous commits (based on wrong assumption of how grub_errno
38045 works).
38046
fe6b695a 38047 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 38048 * kern/file.c (grub_file_open): Likewise.
38049
d08bbb49 380502008-01-24 Pavel Roskin <proski@gnu.org>
38051
38052 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
38053 that hang if GRUB tries to setup colors.
38054 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
38055 colors for firmwares that don't support it.
38056 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
38057 Recognize Open Hack'Ware, set flags to work around its
38058 limitations.
38059
605e36ed 380602008-01-24 Robert Millan <rmh@aybabtu.com>
38061
38062 * kern/file.c (grub_file_open): Do not account previous failures of
38063 unrelated functions when grub_errno is checked for.
38064 Reported by Oleg Strikov.
38065
bac332a1 380662008-01-24 Bean <bean123ch@gmail.com>
38067
38068 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38069 (grub_ufs_sblock): New member volume name.
38070 (grub_ufs_find_file): Fix string copy bug.
38071 (grub_ufs_label): Implement this function properly.
38072
38073 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38074 (grub_hfs_iterate_records): Use the correct file number for extents
38075 and catalog file. Fix problem in next index calculation.
38076 (grub_hfs_find_node): Replace recursive function call with loop.
38077 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38078
15c80c09 380792008-01-23 Robert Millan <rmh@aybabtu.com>
38080
38081 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38082 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38083 (grub_multiboot2_real_boot): New function prototype.
38084
38085 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38086 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38087
38088 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38089 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38090
305338fd 380912008-01-23 Robert Millan <rmh@aybabtu.com>
38092
38093 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38094 #ifdef'ed out grub_printf().
38095
3ea52685 380962008-01-23 Robert Millan <rmh@aybabtu.com>
38097
38098 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38099 grub_dprintf calls, since they make "debug=all" mode unusable.
38100 (grub_console_checkkey): Likewise.
38101
5882ae4b 381022008-01-23 Robert Millan <rmh@aybabtu.com>
38103
38104 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38105 `term/i386/pc/at_keyboard.c'.
38106 (pkglib_MODULES): Add `serial.mod'.
38107 (serial_mod_SOURCES): New variable.
38108 (serial_mod_CFLAGS): Likewise.
38109 (serial_mod_LDFLAGS): Likewise.
38110
38111 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38112 `<grub/powerpc/ieee1275/console.h>'.
38113 (grub_keyboard_controller_init): New function prototype.
38114 (grub_console_checkkey): Likewise.
38115 (grub_console_getkey): Likewise.
38116
38117 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38118 keyboard on i386.
38119
38120 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38121 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38122
06ab5303 381232008-01-23 Robert Millan <rmh@aybabtu.com>
38124
38125 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38126 present, "(memdisk)/boot/grub" becomes the default prefix.
38127
38128 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38129 a memdisk tarball with all the modules. Add --overlay=DIR option that
38130 allows users to overlay additional files into the image.
38131
dbb475a4 381322008-01-23 Robert Millan <rmh@aybabtu.com>
38133
38134 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38135 and `machine/memory.h'.
38136 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38137 (_multiboot_mod_SOURCES): New variable.
38138 (_multiboot_mod_CFLAGS): Likewise.
38139 (_multiboot_mod_LDFLAGS): Likewise.
38140 (multiboot_mod_SOURCES): Likewise.
38141 (multiboot_mod_CFLAGS): Likewise.
38142 (multiboot_mod_LDFLAGS): Likewise.
38143
38144 * include/grub/i386/ieee1275/loader.h: New file.
38145
38146 * include/grub/i386/ieee1275/machine.h: Likewise.
38147
38148 * include/grub/i386/ieee1275/memory.h: Likewise.
38149
38150 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38151 variable declaration.
38152 (grub_os_area_size): Likewise.
38153
38154 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38155 (grub_lower_mem, grub_upper_mem): New variables.
38156 (grub_stop_floppy): New function (just to make
38157 grub_multiboot2_real_boot() happy).
38158
38159 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38160 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38161 (grub_stop): New function.
38162 Include `"../realmode.S"' and `"../loader.S"'.
38163
38164 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38165 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38166
38167 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38168 rely on grub_multiboot2_real_boot() for final boot.
38169
25638629 381702008-01-22 Robert Millan <rmh@aybabtu.com>
38171
38172 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38173 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38174 device that doesn't look like an SD card.
38175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38176 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38177 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38178 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38179 found.
38180
9dad816d 381812008-01-22 Robert Millan <rmh@aybabtu.com>
38182
38183 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38184 avoid claiming over our own code.
38185
34842f2d 381862008-01-22 Bean <bean123ch@gmail.com>
38187
38188 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38189 (jpeg_mod_SOURCES): New variable.
38190 (jpeg_mod_CFLAGS): Likewise.
38191 (jpeg_mod_LDFLAGS): Likewise.
38192
38193 * video/readers/jpeg.c : New file.
38194
44023a28 381952008-01-22 Bean <bean123ch@gmail.com>
38196
38197 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38198 there are no more items.
38199
bc2d8ac6 382002008-01-21 Robert Millan <rmh@aybabtu.com>
38201
38202 * kern/mm.c (grub_mm_init_region): Improve debug message.
38203
261bd4bc 382042008-01-21 Robert Millan <rmh@aybabtu.com>
38205
38206 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38207 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38208 address.
38209 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38210 a C macro.
38211 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38212 Indicates start of upper memory.
38213 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38214 (generate_image): Abort when image size is big enough to corrupt
38215 upper memory.
38216
38217 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38218 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38219 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38220 instead of hardcoding 0xA0000.
38221 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38222 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38223 instead of hardcoding 0xA0000.
38224
f970b55e 382252008-01-21 Robert Millan <rmh@aybabtu.com>
38226
38227 * disk/memdisk.c (memdisk_size): New variable.
38228 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38229 `memdisk_size'.
38230 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38231 image to dynamic memory.
38232 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38233 `memdisk_size'. Free memdisk block.
38234
1a8b0526 382352008-01-21 Robert Millan <rmh@aybabtu.com>
38236
38237 Fix detection of very small filesystems (like tar).
38238
38239 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38240 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38241 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38242 a problem with this disk).
38243
6e9b4aab 382442008-01-21 Robert Millan <rmh@aybabtu.com>
38245
38246 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38247 on grub_biosdisk_rw_standard() error.
38248
0d8837b2 382492008-01-21 Robert Millan <rmh@aybabtu.com>
38250
38251 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38252 recent changes.
38253 * kern/elf.c: Likewise.
38254 * kern/ieee1275/ieee1275.c: Likewise.
38255 * kern/powerpc/ieee1275/openfw.c: Likewise.
38256 * term/ieee1275/ofconsole.c: Likewise.
38257
ffd36e34 382582008-01-21 Robert Millan <rmh@aybabtu.com>
38259
38260 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38261
3f0093d0 38262 * include/grub/kernel.h (grub_arch_memdisk_addr)
38263 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38264
3f0093d0 38265 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38266 (grub_arch_memdisk_size): ... to here.
ffd36e34 38267
6c391b21 382682008-01-21 Robert Millan <rmh@aybabtu.com>
38269
38270 Mostly based on bugfix from Bean.
38271
38272 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38273 attribute with hook() parameter.
38274 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38275 declaration.
38276 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38277 attribute with hook() parameter.
38278 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38279 declaration.
38280
55a581dc 382812008-01-21 Robert Millan <rmh@aybabtu.com>
38282
38283 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38284 (pkglib_MODULES): Add `memdisk.mod'.
38285 (memdisk_mod_SOURCES): New variable.
38286 (memdisk_mod_CFLAGS): Likewise.
38287 (memdisk_mod_LDFLAGS): Likewise.
38288
38289 * disk/memdisk.c: New file.
38290
38291 * include/grub/disk.h (grub_disk_dev_id): Add
38292 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38293
38294 * include/grub/i386/pc/kernel.h
38295 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38296 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38297 (grub_kernel_image_size): New variable declaration.
38298 (grub_total_module_size): Likewise.
38299 (grub_memdisk_image_size): Likewise.
38300
38301 * include/grub/i386/pc/memory.h
38302 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38303
38304 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38305 (grub_arch_memdisk_addr): New variable declaration.
38306 (grub_arch_memdisk_size): Likewise.
38307
38308 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38309 (grub_arch_memdisk_size): Likewise.
38310
38311 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38312 (codestart): Replace hardcoded `0x100000' with
38313 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38314
38315 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38316 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38317 not NULL, append the contents of the file it refers to, at the end of
38318 the compressed kernel image. Initialize `grub_memdisk_image_size'
38319 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38320 (options): Add "memdisk"|'m' option.
38321 (main): Parse --memdisk|-m option, and pass user-provided path as
38322 parameter to generate_image().
38323
3d7f54c9 383242008-01-20 Robert Millan <rmh@aybabtu.com>
38325
38326 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38327 grub_dprintf() calls from here ...
38328 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38329
0bf74728 383302008-01-20 Robert Millan <rmh@aybabtu.com>
38331
38332 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38333
38334 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38335 declaration.
38336 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38337 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38338 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38339 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38340 property).
38341 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38342 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38343
33bf70a7 383442008-01-19 Robert Millan <rmh@aybabtu.com>
38345
fe6b695a 38346 Get rid of confusing function (superseded by
33bf70a7 38347 `grub_ieee1275_get_integer_property')
38348 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38349 prototype.
38350 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38351 function.
38352 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38353 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38354 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38355
e2da7d26 383562008-01-19 Robert Millan <rmh@aybabtu.com>
38357
38358 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38359 command after "shut-down", since implementations differ on which
38360 the command for halt is.
38361
59f1fd8d 383622008-01-19 Robert Millan <rmh@aybabtu.com>
38363
38364 * include/grub/i386/linuxbios/console.h: Add header protection.
38365 (grub_keyboard_controller_init): New function prototype.
38366 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38367 (KEYBOARD_COMMAND_READ): Likewise.
38368 (KEYBOARD_COMMAND_WRITE): Likewise.
38369 (KEYBOARD_SCANCODE_SET1): Likewise.
38370 (grub_keyboard_controller_write): New function.
38371 (grub_keyboard_controller_read): Likewise.
38372 (grub_keyboard_controller_init): Likewise.
38373
38374 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38375 (grub_console_init): On coreboot/LinuxBIOS, call
38376 grub_keyboard_controller_init().
38377
5f5a7c15 383782008-01-19 Robert Millan <rmh@aybabtu.com>
38379
38380 PowerPC changes provided by Pavel Roskin.
38381
38382 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38383 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38384 don't rely on cmain() doing it.
38385 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38386 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38387
1210e168 383882008-01-16 Robert Millan <rmh@aybabtu.com>
38389
38390 * include/grub/i386/linuxbios/memory.h
38391 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38392 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38393 receive `table_header' as argument. Instead, probe for it in the
38394 known memory ranges where it can be present.
38395 (grub_available_iterate): Do not pass a fixed `table_header' address
38396 to grub_linuxbios_table_iterate().
38397
3d04eab8 383982008-01-15 Robert Millan <rmh@aybabtu.com>
38399
38400 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38401 * conf/i386-ieee1275.rmk: New file.
38402 * include/grub/i386/ieee1275/console.h: Likewise.
38403 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38404 * include/grub/i386/ieee1275/kernel.h: Likewise.
38405 * include/grub/i386/ieee1275/time.h: Likewise.
38406 * kern/i386/ieee1275/init.c: Likewise.
38407 * kern/i386/ieee1275/startup.S: Likewise.
38408
d1bc1b73 384092008-01-15 Robert Millan <rmh@aybabtu.com>
38410
38411 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38412 when pointers are 32-bit (but still do set it to one when they are
38413 64-bit).
38414
66a65807 384152008-01-15 Robert Millan <rmh@aybabtu.com>
38416
38417 * include/grub/ieee1275/ieee1275.h
38418 (grub_ieee1275_get_integer_property): New function prototype.
38419
38420 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38421 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38422 grub_ieee1275_get_property() to handle endianness.
66a65807 38423
38424 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38425 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38426 where appropriate.
66a65807 38427 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38428 (grub_map): Likewise.
38429 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38430
a83ccafd 384312008-01-15 Bean <bean123ch@gmail.com>
38432
38433 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38434 (grub_script_execute_cmdline): Reset grub_errno.
38435
38436 * normal/main.c (read_config_file): Reset grub_errno.
38437
38438 * normal/parse.y (script_init): New.
38439 (script): Move function and menuentry here.
38440 (delimiter): New.
38441 (command): Add delimiter at the end of command.
38442 (commands): Adjust to match the new command.
38443 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38444 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38445 (if): Use the new commands.
38446
38447 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38448
df6ecfc6 384492008-01-15 Robert Millan <rmh@aybabtu.com>
38450
38451 * normal/menu.c (run_menu): Move timeout message from here ...
38452 (print_timeout): ... to here.
38453 (run_menu): Use print_timeout() once during initial draw to print
38454 the whole message, and again in every clock tick to update only
38455 the number of seconds.
38456
87ae25eb 384572008-01-15 Robert Millan <rmh@aybabtu.com>
38458
38459 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38460 actual size of `available' from grub_ieee1275_get_property(), and
38461 restrict parsing to that bound.
38462
47bf09a4 384632008-01-15 Christian Franke <franke@computer.org>
38464
38465 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38466 (argp_program_version): Remove variable.
38467 (argp_program_bug_address): Likewise.
38468 (options): Convert from struct argp_option to struct option.
38469 (struct arguments): Remove.
38470 (parse_opt): Remove.
38471 (usage): New function.
38472 (main): Replace struct args members by simple variables.
38473 Replace argp_parse() by getopt_long().
38474 Add switch to evaluate options.
38475 Add missing "(...)" around root_dev in prefix string.
38476
c86f1469 384772008-01-14 Robert Millan <rmh@aybabtu.com>
38478
38479 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38480 for grub_ieee1275_exit(), in order to improve portability.
38481
e622c559 384822008-01-14 Robert Millan <rmh@aybabtu.com>
38483
38484 * util/grub.d/10_linux.in (prefix): Define.
38485 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38486
44cb1ec8 384872008-01-13 Pavel Roskin <proski@gnu.org>
38488
38489 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38490 grub_errno if no errors have been detected.
38491
1eb8c802 384922008-01-12 Robert Millan <rmh@aybabtu.com>
38493
38494 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38495 (grub_util_get_dev_abstraction): New function prototype.
38496
38497 * util/getroot.c: Include `<grub/util/getroot.h>'
38498 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38499 (grub_util_get_dev_abstraction): ... here (new function).
38500
38501 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38502 `PRINT_ABSTRACTION'.
38503 (probe): Probe for abstraction type when requested.
38504 (main): Understand `--target=abstraction'.
38505
38506 * util/i386/efi/grub-install.in: Add abstraction module to core
38507 image when it is found to be necessary.
38508 * util/i386/pc/grub-install.in: Likewise.
38509 * util/powerpc/ieee1275/grub-install.in: Likewise.
38510
38511 * util/update-grub_lib.in (font_path): Return system path without
38512 converting to GRUB path.
38513 * util/update-grub.in: Convert system path returned by font_path()
38514 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38515 abstraction module is needed for loading fonts (if any). Export
38516 that as `GRUB_PRELOAD_MODULES'.
38517 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38518 insmod commands).
38519
52bd3de9 385202008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38521
38522 Remove some unused code from reiserfs.
f19dbdb7 38523
52bd3de9 38524 * fs/reiserfs.c (struct grub_reiserfs_key)
38525 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38526 (struct grub_reiserfs_node_body): Removed.
38527 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38528 Likewise.
38529 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38530 Likewise.
38531 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38532 Likewise.
38533 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38534 Likewise.
38535 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38536 Likewise.
38537 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38538 Likewise.
38539 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38540 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38541 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38542
2f80039d 385432008-01-10 Robert Millan <rmh@aybabtu.com>
38544
38545 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38546 Determines if a file is garbage left by packaging systems, etc.
38547 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38548 for processing /etc/grub.d scripts.
38549 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38550 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38551 as a condition for processing Linux images.
38552
87888032 385532008-01-10 Pavel Roskin <proski@gnu.org>
38554
38555 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38556 to compile reiserfs.c on PowerPC.
38557
7e54fced 385582008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38559
38560 * kern/device.c (grub_device_iterate): Do not abort device iteration
38561 when one of the devices cannot be opened.
38562 * kern/disk.c (grub_disk_open): Do not account previous failures of
38563 unrelated functions when grub_errno is checked for.
38564
5aa541e6 385652008-01-08 Robert Millan <rmh@aybabtu.com>
38566
38567 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38568 `! grub_linux_is_bzimage', change order of address comparison to make
38569 it more intuitive, and improve "too big zImage" error message.
38570
7076340d 385712008-01-08 Robert Millan <rmh@aybabtu.com>
38572
38573 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38574 `$(update-grub_DATA)'.
38575 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38576 targets.
38577
9ca70333 385782008-01-07 Robert Millan <rmh@aybabtu.com>
38579
38580 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38581 which instruction is modified by grub-setup during installation
38582 (since it wasn't obvious by only looking at this file).
38583
38ccf575 385842008-01-07 Robert Millan <rmh@aybabtu.com>
38585
38586 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38587 listing actual TODO items.
38588
f5db4291 385892008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38590
868967cf 38591 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38592 correctly.
38593 (grub_reiserfs_get_key_offset): Likewise.
38594 (grub_reiserfs_set_key_offset): Likewise.
38595 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38596 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38597
38598 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38599 better to remove the bitfield version completely.
f19dbdb7 38600
868967cf 386012008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38602
f5db4291 38603 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38604 allocated from the heap, due to the fshelp implementation.
38605 (grub_reiserfs_dir): Free NODE, due to the same reason.
38606
492e6d9d 386072008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38608
38609 Mostly from Vincent Pelletier:
f19dbdb7 38610
492e6d9d 38611 * fs/reiserfs.c: New file.
f19dbdb7 38612
492e6d9d 38613 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38614 (reiserfs_mod_SOURCES): New variable.
38615 (reiserfs_mod_CFLAGS): Likewise.
38616 (reiserfs_mod_LDFLAGS): Likewise.
38617
38618 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38619 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38620 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38621 normal/color.c.
38622
9ce3e7c1 386232008-01-06 Robert Millan <rmh@aybabtu.com>
38624
38625 * normal/color.c: Remove `<grub/env.h>'.
38626
f3b58148 386272008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38628
38629 * include/grub/normal.h: Include <grub/env.h>.
38630
7ac3bcfa 386312008-01-05 Robert Millan <rmh@aybabtu.com>
38632
38633 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38634 usage example with `(hd0,1)'.
fb358190 38635 Reported by Samuel Thibault.
7ac3bcfa 38636
c8ee99d7 386372008-01-05 Robert Millan <rmh@aybabtu.com>
38638
38639 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38640 (grub_linux_boot_zimage): Rename to ...
38641 (grub_linux_boot): ... this.
38642 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38643 (grub_linux_boot_zimage): Conditionalize zImage copy.
38644
38645 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38646 (grub_linux_boot_bzimage): Remove prototype.
38647 (grub_linux_boot_zimage): Rename to ...
38648 (grub_linux_boot): ... this.
38649
38650 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38651 (grub_linux_boot): Remove function.
38652
0ece25b1 386532008-01-05 Robert Millan <rmh@aybabtu.com>
38654
38655 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38656 (grub_env_write_color_highlight): Likewise.
38657 (grub_wait_after_message): Likewise.
38658
38659 * normal/color.c: New file.
38660
38661 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38662 (normal_mod_DEPENDENCIES): Likewise.
38663
38664 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38665 (normal_mod_DEPENDENCIES): Likewise.
38666
38667 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38668 (normal_mod_DEPENDENCIES): Likewise.
38669
38670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38671 (normal_mod_DEPENDENCIES): Likewise.
38672
38673 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38674 for waiting after a message is printed.
38675 * normal/main.c (read_config_file): Likewise.
38676 (grub_normal_init): Register grub_env_write_color_normal() and
38677 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38678 `color_highlight' variables as global.
38679
38680 * normal/menu.c (grub_wait_after_message): New function.
38681 (grub_color_menu_normal): New variable. Replaces ...
38682 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38683 (grub_color_menu_highlight): New variable. Replaces ...
38684 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38685 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38686 `GRUB_TERM_COLOR_STANDARD'.
38687 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38688 `normal_code' and `highlight_code' to `old_color_normal' and
38689 `old_color_highlight', respectively.
38690 (grub_menu_init_page): Update colors when drawing the menu, based on
38691 `menu_color_normal' and `menu_color_highlight' variables.
38692 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38693 a message is printed.
38694
182dd4e5 386952008-01-05 Robert Millan <rmh@aybabtu.com>
38696
38697 * kern/env.c (grub_env_context_open): Propagate hooks for global
38698 variables to new context.
38699
38700 * kern/main.c (grub_set_root_dev): Export `root' variable.
38701
ddf8f6ad 387022008-01-05 Robert Millan <rmh@aybabtu.com>
38703
38704 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38705 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38706 them.
38707
d8b43d9b 387082008-01-05 Robert Millan <rmh@aybabtu.com>
38709
38710 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38711
2bff2de3 387122008-01-04 Christian Franke <franke@computer.org>
38713
38714 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38715 of eisa_mmap.
38716
97eab917 387172008-01-03 Pavel Roskin <proski@gnu.org>
38718
38719 * kern/i386/linuxbios/init.c: Put "void" to all function
38720 declarations with no arguments.
38721 * kern/powerpc/ieee1275/init.c: Likewise.
38722 * term/i386/pc/at_keyboard.c: Likewise.
38723 * term/i386/pc/vga_text.c: Likewise.
38724 * util/grub-mkdevicemap.c: Likewise.
38725
b9416d00 387262008-01-02 Robert Millan <rmh@aybabtu.com>
38727
38728 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38729 message when loaded image is out of bounds.
38730 (grub_multiboot_load_elf64): Likewise.
38731
92695df9 387322008-01-02 Pavel Roskin <proski@gnu.org>
38733
38734 * util/grub.d/10_linux.in: Try version without ".old" when
38735 looking for initrd. It's better to use initrd from the newer
38736 kernel of the same version than no initrd at all.
38737
d98d9cad 387382008-01-01 Robert Millan <rmh@aybabtu.com>
38739
38740 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38741
dbfdce36 387422008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38743
f19dbdb7 38744 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38745 grub_video_get_active_render_target.
38746 (grub_video_adapter): Added unmap_color and get_active_render_target.
38747
f19dbdb7 38748 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38749 grub_video_get_active_render_target.
38750 (grub_video_get_info): Changed method to accept NULL pointer as an
38751 argument to allow detection of active video adapter.
38752
38753 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38754 grub_video_vbe_unmap_color_int.
38755 Added grub_video_vbe_unmap_color and
38756 grub_video_vbe_get_active_render_target.
38757 (grub_video_vbe_adapter): Added unmap_color and
38758 get_active_render_target.
38759
f19dbdb7 38760 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38761 with grub_video_vbe_unmap_color_int.
38762
38763 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38764 (DEFAULT_NORMAL_COLOR): Likewise.
38765 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38766 (DEFAULT_FG_COLOR): Removed.
38767 (DEFAULT_BG_COLOR): Likewise.
38768 (DEFAULT_CURSOR_COLOR): Changed value.
38769 (grub_virtual_screen): Added standard_color_setting,
38770 normal_color_setting, highlight_color_setting and term_color.
38771 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38772 (bitmap_width): Added.
38773 (bitmap_height): Likewise.
38774 (bitmap): Likewise.
38775 (set_term_color): Likewise.
38776 (grub_virtual_screen_setup): Changed to use new terminal coloring
38777 settings.
38778 (grub_gfxterm_init): Added init for bitmap.
38779 (grub_gfxterm_fini): Added destroy for bitmap.
38780 (redraw_screen_rect): Updated to use background bitmap and new
38781 terminal coloring.
38782 (scroll_up): Added optimization for case when there is no bitmap.
38783 (grub_gfxterm_cls): Fixed to use correct background color.
38784 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38785 coloring.
38786 (grub_virtual_screen_setcolor): Likewise.
38787 (grub_virtual_screen_getcolor): Added.
38788 (grub_gfxterm_background_image_cmd): Likewise.
38789 (grub_video_term): Added setcolor and getcolor.
38790 (MOD_INIT): Added registration of background_image command.
38791 (MOD_TERM): Added unregistration for background_image command.
38792
c3c20931 387932007-12-30 Pavel Roskin <proski@gnu.org>
38794
38795 * loader/multiboot_loader.c: Fix multiboot command
38796 unregistration. Fix all typos in the word "multiboot".
38797
df266716 387982007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38799
38800 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38801 support for initrd names used in Fedora.
38802
fc6e896c 388032007-12-26 Bean <bean123ch@gmail.com>
38804
38805 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38806 (cpio_mod_SOURCES): New variable.
38807 (cpio_mod_CFLAGS): Likewise.
38808 (cpio_mod_LDFLAGS): Likewise.
38809
38810 * fs/cpio.c: New file.
38811
38812 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38813
38814 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38815
38816 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38817
38818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38819
533110ad 388202007-12-25 Robert Millan <rmh@aybabtu.com>
38821
38822 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38823 (grub_getcolor): New function.
38824
38825 * kern/term.c (grub_getcolor): New function.
38826 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38827 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38828 (print_entry): Set normal and highlight colors to
38829 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38830 respectively, before printing and restore them to old
38831 values afterwards.
38832 (grub_menu_init_page): Likewise. Fill an additional colored space
38833 that would otherwise be left blank.
38834
38835 * term/efi/console.c (grub_console_getcolor): New function.
38836 (struct grub_console_term.getcolor): New variable.
38837 * term/i386/pc/console.c (grub_console_getcolor): New function.
38838 (struct grub_console_term.getcolor): New variable.
38839 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38840 (struct grub_console_term.getcolor): New variable.
38841
38842 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38843 (struct grub_console_term.setcolor): Remove variable.
38844 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38845 (struct grub_console_term.setcolor): Remove variable.
38846 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38847 (struct grub_console_term.setcolor): Remove variable.
38848 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38849 (struct grub_console_term.setcolor): Remove variable.
38850
4931827f 388512007-12-25 Robert Millan <rmh@aybabtu.com>
38852
38853 * configure.ac: Search for possible unifont.hex locations, and
38854 define UNIFONT_HEX if found.
38855
38856 * Makefile.in (UNIFONT_HEX): Define variable.
38857 (DATA): Rename to ...
38858 (PKGLIB): ... this. Update all users.
38859 (PKGDATA): New variable.
38860 (pkgdata_IMAGES): Rename to ...
38861 (pkglib_IMAGES): ... this. Update all users.
38862 (pkgdata_MODULES): Rename to ...
38863 (pkglib_MODULES): ... this. Update all users.
38864 (pkgdata_PROGRAMS): Rename to ...
38865 (pkglib_PROGRAMS): ... this. Update all users.
38866 (pkgdata_DATA): Rename to ...
38867 (pkglib_DATA): ... this. Update all users.
38868 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38869 (unicode.pff, ascii.pff): New rules.
38870 (all-local): Add `$(PKGDATA)' dependency.
38871 (install-local): Process `$(PKGDATA)'.
38872
38873 * util/update-grub_lib.in (font_path): Search for *.pff files in
38874 a few more locations, including `${pkgdata}'.
38875
57e57e31 388762007-12-23 Robert Millan <rmh@aybabtu.com>
38877
38878 Patch from Bean <bean123ch@gmail.com>:
38879 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38880 `size'.
38881
4bc72aa9 388822007-12-21 Bean <bean123ch@gmail.com>
38883
38884 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38885 (ntfscomp_mod_SOURCES): New variable.
38886 (ntfscomp_mod_CFLAGS): Likewise.
38887 (ntfscomp_mod_LDFLAGS): Likewise.
38888
38889 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38890 (grub_probe_SOURCES): Likewise.
38891 (grub_emu_SOURCES): Likewise.
38892
38893 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38894 (grub_emu_SOURCES): Likewise.
38895
38896 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38897 (grub_emu_SOURCES): Likewise.
38898
38899 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38900 (grub_emu_SOURCES): Likewise.
38901
38902 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38903 (read_run_list): Renamed to grub_ntfs_read_run_list.
38904 (decomp_nextvcn): Moved to ntfscomp.c.
38905 (decomp_getch): Likewise.
38906 (decomp_get16): Likewise.
38907 (decomp_block): Likewise.
38908 (read_block): Likewise.
38909 (read_data): Partially moved to ntfscomp.c.
38910 (fixup): Change unsigned to grub_uint16_t.
38911 (read_mft): Change unsigned long to grub_uint32_t.
38912 (read_attr): Likewise.
38913 (read_data): Likewise.
38914 (read_run_data): Likewise.
38915 (read_run_list): Likewise.
38916 (read_mft): Likewise.
38917
38918 * fs/ntfscomp.c: New file.
38919
38920 * include/grub/ntfs.h: New file.
38921
af680a87 389222007-12-16 Robert Millan <rmh@aybabtu.com>
38923
38924 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38925 IDE disk check, since Linux is known to support 20 IDE disks.
38926 Reported by Colin Watson.
38927
84be7599 389282007-12-15 Bean <bean123ch@gmail.com>
38929
38930 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38931 (lnxboot_img_SOURCES): New variable.
38932 (lnxboot_img_ASFLAGS): Likewise.
38933 (lnxboot_img_LDFLAGS): Likewise.
38934
38935 * boot/i386/pc/lnxboot.S: New file.
38936
6af9db01 389372007-11-24 Pavel Roskin <proski@gnu.org>
38938
38939 * configure.ac: Test if '--build-id=none' is supported by the
38940 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38941 objcopy to generate incorrect binary files (binutils
38942 2.17.50.0.18-1 as shipped by Fedora 8).
38943 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38944 linking, so that build ID doesn't break the test.
38945
7361cfe6 389462007-11-24 Pavel Roskin <proski@gnu.org>
38947
38948 * include/grub/i386/time.h: use "void" in the argument list
38949 of grub_cpu_idle().
38950 * include/grub/powerpc/time.h: Likewise.
38951 * include/grub/sparc64/time.h: Likewise.
38952
1593e10c 389532007-11-18 Christian Franke <franke@computer.org>
38954
38955 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38956 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38957 This fixes the problem that function keys did not work in grub-emu.
38958
3b8db1a8 389592007-11-18 Christian Franke <franke@computer.org>
38960
38961 * disk/host.c (grub_host_open): Remove attribute unused from
38962 name parameter. Add check for "host". This fixes the problem
38963 that grub-emu does not find partitions.
38964
2e29408d 389652007-11-18 Christian Franke <franke@computer.org>
38966
38967 * util/hostfs.c (is_dir): New function.
38968 (grub_hostfs_dir): Handle missing dirent.d_type case.
38969 (grub_hostfs_read): Add missing fseek().
38970 (grub_hostfs_label): Clear label pointer. This fixes a crash
38971 of grub-emu on "ls (host)".
38972
398cd047 389732007-11-18 Christian Franke <franke@computer.org>
38974
38975 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38976 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38977 to 64 bit boundary by default.
38978
c405c391 389792007-11-18 Bean <bean123ch@gmail.com>
38980
38981 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38982 (hexdump_mod_SOURCES): New variable.
38983 (hexdump_mod_CFLAGS): Likewise.
38984 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38985
c405c391 38986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38987
38988 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38989
38990 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38991
38992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38993
38994 * include/grub/hexdump.h: New file.
38995
38996 * commands/hexdump.c: New file.
38997
5cced7fd 389982007-11-10 Robert Millan <rmh@aybabtu.com>
38999
39000 * commands/i386/pc/play.c (beep_off): Switch order of arguments
39001 in grub_outb() calls.
39002 (beep_on): Likewise.
39003
8b714eb0 390042007-11-10 Christian Franke <franke@computer.org>
39005
39006 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
39007 (grub_menu_run): Likewise.
39008
ce0f1839 390092007-11-10 Robert Millan <rmh@aybabtu.com>
39010
39011 * include/grub/i386/efi/machine.h: New file.
39012 * include/grub/i386/linuxbios/machine.h: Likewise.
39013 * include/grub/i386/pc/machine.h: Likewise.
39014 * include/grub/powerpc/ieee1275/machine.h: Likewise.
39015 * include/grub/sparc64/ieee1275/machine.h: Likewise.
39016
39017 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
39018 (serial_hw_io_addr): New variable.
39019 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
39020 instead of `(unsigned short *) 0x400'.
39021
270c237d 390222007-11-10 Bean <bean123ch@gmail.com>
39023
39024 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
39025
a87783bf 390262007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39027
39028 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
39029 (vga_mod_SOURCES): Added.
39030 (vga_mod_CFLAGS): Likewise.
39031 (vga_mod_LDFLAGS): Likewise.
39032
39033 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
39034 grub_outb() calls.
39035 (set_map_mask): Likewise.
39036 (set_read_map): Likewise.
39037 (set_read_address): Likewise.
39038 (vga_font): Removed variable.
39039 (get_vga_glyph): Removed function.
39040 (invalidate_char): Likewise.
39041 (write_char): Changed to use grub_font_get_glyph() for font
39042 information.
39043 (grub_vga_putchar): Likewise.
39044 (grub_vga_getcharwidth): Likewise.
39045
6433b448 390462007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
39047
39048 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
39049 flags.
39050 (pxeboot_img_LDFLAGS): Likewise.
39051 (diskboot_img_LDFLAGS): Likewise.
39052 (kernel_img_LDFLAGS): Likewise.
39053
49178511 390542007-11-06 Robert Millan <rmh@aybabtu.com>
39055
39056 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
39057 in grub_outb() calls.
39058 (serial_hw_init): Likewise.
39059
53b052de 390602007-11-05 Robert Millan <rmh@aybabtu.com>
39061
39062 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
39063 spaces. Skip non-regular files.
39064
5ab33bba 390652007-11-05 Robert Millan <rmh@aybabtu.com>
39066
39067 * kern/disk.c (grub_disk_firmware_fini)
39068 (grub_disk_firmware_is_tainted): New variables.
39069
39070 * include/grub/disk.h (grub_disk_firmware_fini)
39071 (grub_disk_firmware_is_tainted): Likewise.
39072
39073 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39074 (grub_disk_biosdisk_fini): ... to here.
39075 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39076 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39077 is set. Register grub_disk_biosdisk_fini() in
39078 `grub_disk_firmware_fini'.
39079
39080 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39081 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39082 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39083 to finish existing firmware disk interface.
39084
39085 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39086 (ata_mod_SOURCES): New variable.
39087 (ata_mod_CFLAGS): Likewise.
39088 (ata_mod_LDFLAGS): Likewise.
39089
0149ab7c 390902007-11-05 Robert Millan <rmh@aybabtu.com>
39091
39092 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39093 (grub_ata_wait): Reimplement using grub_millisleep().
39094
39095 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39096 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39097
be7ac41e 390982007-11-03 Marco Gerards <marco@gnu.org>
39099
39100 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39101 (CRTC_ADDR_PORT): New macro.
39102 (CRTC_DATA_PORT): Likewise.
39103 (CRTC_CURSOR): Likewise.
39104 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39105 (CRTC_CURSOR_ADDR_LOW): Likewise.
39106 (update_cursor): New function.
39107 (grub_console_real_putchar): Call `update_cursor'.
39108 (grub_console_gotoxy): Likewise.
39109 (grub_console_cls): Set the default color when clearing the
39110 screen.
39111 (grub_console_setcursor): Implemented.
39112
bb06ab2e 391132007-11-03 Marco Gerards <marco@gnu.org>
39114
39115 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39116 become activate.
39117 (grub_ata_pio_write): Likewise.
39118
39119 (grub_atapi_identify): Wait after issuing an ATA command.
39120 (grub_atapi_packet): Likewise.
39121 (grub_ata_identify): Likewise.
39122 (grub_ata_readwrite): Likewise.
39123
cf8f780b 391242007-11-03 Marco Gerards <marco@gnu.org>
39125
39126 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39127 (grub_ata_pio_write): Likewise.
39128 (grub_ata_readwrite): Use `grub_error', instead of
39129 returning `grub_errno'.
39130
ed649e54 391312007-11-03 Marco Gerards <marco@gnu.org>
39132
39133 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39134 grub_ata_pio_write once for every single sector, instead of for
39135 multiple sectors.
39136
ca25d8f0 391372007-10-31 Robert Millan <rmh@aybabtu.com>
39138
39139 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39140
39141 * conf/i386-linuxbios.rmk: New file.
39142
39143 * kern/i386/pc/hardware.c: Likewise.
39144 * term/i386/pc/at_keyboard.c: Likewise.
39145 * term/i386/pc/vga_text.c: Likewise.
39146
39147 * include/grub/i386/linuxbios/boot.h: Likewise.
39148 * include/grub/i386/linuxbios/console.h: Likewise.
39149 * include/grub/i386/linuxbios/init.h: Likewise.
39150 * include/grub/i386/linuxbios/kernel.h: Likewise.
39151 * include/grub/i386/linuxbios/loader.h: Likewise.
39152 * include/grub/i386/linuxbios/memory.h: Likewise.
39153 * include/grub/i386/linuxbios/serial.h: Likewise.
39154 * include/grub/i386/linuxbios/time.h: Likewise.
39155
39156 * kern/i386/linuxbios/init.c: Likewise.
39157 * kern/i386/linuxbios/startup.S: Likewise.
39158 * kern/i386/linuxbios/table.c: Likewise.
39159
e911ecc1 391602007-10-31 Marco Gerards <marco@gnu.org>
39161
39162 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39163 (ata_mod_SOURCES): New variable.
39164 (ata_mod_CFLAGS): Likewise.
39165 (ata_mod_LDFLAGS): Likewise.
39166
39167 * disk/ata.c: New file.
39168
39169 * include/grub/disk.h (grub_disk_dev_id): Add
39170 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39171
7f66d0e0 391722007-10-31 Robert Millan <rmh@aybabtu.com>
39173
39174 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39175 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39176
39177 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39178 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39179
39180 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39181 `<grub/types.h>'.
39182
39183 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39184
5cd7dd46 391852007-10-27 Robert Millan <rmh@aybabtu.com>
39186
3236ca65 39187 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39188
2ebfc90f 391892007-10-22 Robert Millan <rmh@aybabtu.com>
39190
39191 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39192 `"../realmode.S"'.
39193 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39194
73fcb0f3 391952007-10-22 Robert Millan <rmh@aybabtu.com>
39196
39197 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39198 (pkgdata_MODULES): Add `biosdisk.mod'.
39199 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39200 variables.
39201
39202 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39203 (grub_biosdisk_init): Replace with ...
39204 (GRUB_MOD_INIT(biosdisk)): ... this.
39205 (grub_biosdisk_fini): Replace with ...
39206 (GRUB_MOD_FINI(biosdisk)): ... this.
39207
39208 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39209 (grub_machine_init): Remove call to grub_biosdisk_init().
39210 (grub_machine_fini): Remove call to grub_machine_fini().
39211
39212 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39213
3381d274 392142007-10-22 Robert Millan <rmh@aybabtu.com>
39215
39216 * include/grub/time.h: New file.
39217 * include/grub/i386/time.h: Likewise.
39218 * include/grub/powerpc/time.h: Likewise.
39219 * include/grub/sparc64/time.h: Likewise.
39220
39221 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39222 instances to ...
39223 (KERNEL_MACHINE_TIME_HEADER): ... this.
39224 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39225 instances to ...
39226 (KERNEL_MACHINE_TIME_HEADER): ... this.
39227 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39228 instances to ...
39229 (KERNEL_MACHINE_TIME_HEADER): ... this.
39230
39231 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39232 (grub_millisleep): New function.
39233 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39234 (grub_millisleep): New function.
39235 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39236 Remove `grub/machine/time.h' include.
39237 (grub_millisleep): New function.
39238 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39239 Remove `grub/machine/time.h' include.
39240 (grub_millisleep): New function.
39241
39242 * include/grub/misc.h (grub_div_roundup): New function.
39243
39244 * kern/misc.c: Include `<grub/time.h>'.
39245 (grub_millisleep_generic): New function.
39246
39247 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39248 Add `time.h'.
39249 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39250 Add `time.h'.
39251 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39252 `machine/time.h'. Add `time.h'.
39253 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39254
a39a0312 392552007-10-21 Robert Millan <rmh@aybabtu.com>
39256
39257 * include/grub/misc.h (grub_max): New function.
39258
2aad70e2 392592007-10-21 Robert Millan <rmh@aybabtu.com>
39260
39261 * util/misc.c (grub_util_info): Call fflush() before returning.
39262
54b71c4b 392632007-10-20 Robert Millan <rmh@aybabtu.com>
39264
39265 * genmk.rb (Image): Copy `extra_flags' from here ...
39266 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39267
39268 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39269 to `argc' and `args' arguments.
39270
a979f513 392712007-10-17 Robert Millan <rmh@aybabtu.com>
39272
39273 * kern/i386/loader.S: New file.
39274
39275 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39276 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39277 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39278 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39279 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39280 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39281 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39282 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39283 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39284 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39285 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39286 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39287 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39288 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39289
39290 * kern/i386/realmode.S: New file.
39291
39292 * kern/i386/pc/startup.S (protstack): Moved from here ...
39293 * kern/i386/realmode.S (protstack)... to here.
39294 * kern/i386/pc/startup.S (gdt): Moved from here ...
39295 * kern/i386/realmode.S (gdt)... to here.
39296 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39297 * kern/i386/realmode.S (prot_to_real)... to here.
39298
39299 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39300 `kern/i386/realmode.S'.
39301
825fc8fd 393022007-10-17 Robert Millan <rmh@aybabtu.com>
39303
39304 * include/grub/i386/loader.h: New file.
39305
39306 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39307 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39308 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39309 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39310 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39311 * include/grub/i386/loader.h (grub_linux_prot_size)
39312 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39313 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39314 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39315 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39316
39317 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39318
e179b2f4 393192007-10-15 Robert Millan <rmh@aybabtu.com>
39320
39321 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39322 filesystem when dev->disk is unset.
39323 Do probe for filesystem even when dev->disk->has_partitions is set.
39324 In case a filesystem is found, always report it.
39325 In case it isn't, if dev->disk->has_partitions is set, report that
39326 a partition table was found instead of reporting that no filesystem
39327 could be identified.
39328
5db82af6 393292007-10-12 Robert Millan <rmh@aybabtu.com>
39330
39331 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39332 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39333
68f6ac74 39334 * include/grub/types.h (grub_host_to_target16): New macro.
39335 (grub_host_to_target32): Likewise.
39336 (grub_host_to_target64): Likewise.
39337 (grub_target_to_host16): Likewise.
39338 (grub_target_to_host32): Likewise.
39339 (grub_target_to_host64): Likewise.
5db82af6 39340
39341 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39342 Renamed from to ...
39343 (GRUB_MOD_ALIGN): ...this. Update all users.
39344
68f6ac74 39345 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39346 grub_host_to_target32.
39347 Replace grub_be_to_cpu32 with grub_target_to_host32.
39348 (load_modules): Likewise.
39349 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39350 Replace grub_be_to_cpu32 with grub_target_to_host32.
39351 Replace grub_cpu_to_be16 with grub_host_to_target16.
39352 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39353
3cf497cc 393542007-10-12 Robert Millan <rmh@aybabtu.com>
39355
39356 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39357 * util/elf/grub-mkimage.c: ... here.
39358
39359 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39360 `util/powerpc/ieee1275/grub-mkimage.c'.
39361
c8cc3692 393622007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39363
c8cc3692 39364 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39365 and make it easier to figure out.
39366 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39367 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39368 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39369 leave us with less than HEAP_MIN_SIZE total heap.
39370 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39371
5c58b791 393722007-10-03 Robert Millan <rmh@aybabtu.com>
39373
39374 * include/grub/i386/io.h: New file.
39375 * commands/i386/pc/play.c (inb): Removed.
39376 (outb): Removed.
39377 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39378 with grub_outb().
afcd2ef8 39379 * term/i386/pc/serial.c (inb): Removed.
39380 (outb): Removed.
39381 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39382 with grub_outb().
39383 * term/i386/pc/vga.c (inb): Removed.
39384 (outb): Removed.
39385 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39386 with grub_outb().
5c58b791 39387
1a477ed6 393882007-10-02 Robert Millan <rmh@aybabtu.com>
39389
39390 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39392 Reported by Marcin Kurek.
39393
6b5d80fa 393942007-09-07 Robert Millan <rmh@aybabtu.com>
39395
39396 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39397 SmartFirmware version updates (as released by Sven Luther), and avoid
39398 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39399 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39400 known broken.
39401
5618afbf 394022007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39403
39404 From Hitoshi Ozeki:
39405 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39406 when merging two regions.
39407
6139dcd9 394082007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39409
508e39ee 39410 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39411 * normal/completion.c (grub_normal_do_completion): Likewise.
39412 Reported by Hitoshi Ozeki.
39413
394142007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39415
6139dcd9 39416 Do not use devices at boot in chainloading.
f19dbdb7 39417
6139dcd9 39418 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39419 (boot_part_addr): Likewise.
39420 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39421 with BOOT_DRIVE and BOOT_PART_ADDR.
39422 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39423 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39424
38da6516 394252007-08-29 Robert Millan <rmh@aybabtu.com>
39426
39427 Patch from Simon Peter <dn.tlp@gmx.net>:
39428 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39429 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39430 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39431 util/i386/pc/grub-setup.c_DEPENDENCIES.
39432 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39433 util/grub-probe.c_DEPENDENCIES.
39434 * conf/powerpc-ieee1275.rmk: Likewise.
39435
29d0928c 394362007-08-28 Robert Millan <rmh@aybabtu.com>
39437
39438 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39439 to tell grub-mkdevicemap how to name devices.
39440 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39441 feature).
39442
39443 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39444 util/i386/get_disk_name.c.
39445 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39446 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39447 util/ieee1275/get_disk_name.c.
39448
39449 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39450
39451 * DISTLIST: Add util/i386/get_disk_name.c and
39452 util/ieee1275/get_disk_name.c.
39453
39454 * util/grub-mkdevicemap.c: Replace device naming logic with
39455 grub_util_get_disk_name() calls.
39456
5a0d3cca 394572007-08-20 Robert Millan <rmh@aybabtu.com>
39458
39459 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39460 (so that it works for both plural and singular quantities).
39461
8b72db2f 394622007-08-05 Robert Millan <rmh@aybabtu.com>
39463
39464 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39465 so that [xz] isn't taken into account when determining order.
39466
352466bf 394672007-08-02 Marco Gerards <marco@gnu.org>
39468
39469 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39470 `include/multiboot2.h', `include/grub/elfload.h',
39471 `include/multiboot.h', `include/grub/multiboot.h',
39472 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39473 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39474 `kern/elf.c', `loader/multiboot_loader.c',
39475 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39476 `loader/i386/pc/multiboot2.c',
39477 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39478 `util/i386/pc/grub-mkrescue.in'. Remove
39479 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39480 `include/grub/i386/pc/util/biosdisk.h' and
39481 `include/grub/powerpc/ieee1275/multiboot.h'.
39482
8f096014 394832007-08-02 Bean <bean123ch@gmail.com>
39484
39485 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39486 (ntfs_mod_SOURCES): New variable.
39487 (ntfs_mod_CFLAGS): Likewise.
39488 (ntfs_mod_LDFLAGS): Likewise.
39489
39490 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39491 (grub_probe_SOURCES): Likewise.
39492 (grub_emu_SOURCES): Likewise.
39493
39494 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39495 (grub_emu_SOURCES): Likewise.
39496
39497 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39498 (grub_emu_SOURCES): Likewise.
f19dbdb7 39499
8f096014 39500 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39501
39502 * fs/ntfs.c: New file.
39503
9959f7db 395042007-08-02 Bean <bean123ch@gmail.com>
39505
39506 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39507
39508 * file.h (grub_file): Likewise.
39509
39510 * fshelp.h (grub_fshelp_read_file): Likewise.
39511
39512 * util/i386/pc/grub-setup.c (setup): Likewise.
39513 (save_first_sector): Likewise.
39514 (save_blocklists): Likewise.
f19dbdb7 39515
9959f7db 39516 * fs/affs.c (grub_affs_read_file): Likewise.
39517
39518 * fs/ext2.c (grub_ext2_read_file): Likewise.
39519
39520 * fs/fat.c (grub_fat_read_data): Likewise.
39521
39522 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39523
39524 * fs/hfs.c (grub_hfs_read_file): Likewise.
39525
39526 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39527
39528 * fs/jfs.c (grub_jfs_read_file): Likewise.
39529
39530 * fs/minix.c (grub_minix_read_file): Likewise.
39531
39532 * fs/sfs.c (grub_sfs_read_file): Likewise.
39533
39534 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39535
9959f7db 39536 * fs/xfs.c (grub_xfs_read_file): Likewise.
39537
39538 * command/blocklist.c (read_blocklist): Likewise.
39539 (print_blocklist): Likewise.
39540
0a203f83 395412007-08-02 Marco Gerards <marco@gnu.org>
39542
39543 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39544 `util/hostfs.c'.
39545
39546 * disk/host.c: New file.
39547
39548 * util/hostfs.c: Likewise.
39549
39550 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39551 return `GRUB_ERR_BAD_FS'.
39552 * fs/sfs.c (grub_sfs_mount): Likewise.
39553 * fs/xfs.c (grub_xfs_mount): Likewise.
39554
39555 * include/grub/disk.h (enum grub_disk_dev_id): Add
39556 `GRUB_DISK_DEVICE_HOST_ID'.
39557
39558 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39559
e5dfe777 395602007-07-24 Jerone Young <jerone@gmail.com>
39561
f19dbdb7 39562 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39563 modules for compilation.
39564 * conf/powerpc-ieee1275.rmk: Likewise.
39565
39566 * include/multiboot.h: Move multiboot definitions to one file. Rename
39567 many definitions to not get grub specific.
39568 * include/multiboot2.h: Create header with multiboot 2 definitions.
39569 * include/grub/multiboot.h: Header for grub specific function
39570 prototypes and definitions.
39571 * include/grub/multiboot2.h: Likewise.
39572 * include/grub/multiboot_loader.h: Likewise.
39573 * include/grub/i386/pc/multiboot.h: Removed.
39574 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39575
39576 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39577 and 2 to allow for one multiboot and module commands.
39578 * loader/multiboot2.c: Add multiboot2 functionality.
39579 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39580 and definition names.
39581 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39582 2 functions.
39583 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39584 ieee1275 specific multiboot2 code.
39585
39586 * kern/i386/pc/startup.S: Change headers and definition names for
39587 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39588
daf0f0ba 395892007-07-22 Robert Millan <rmh@aybabtu.com>
39590
39591 * geninitheader.sh: Process file specified in first parameter rather
39592 than hardcoding grub_modules_init.lst.
fe6b695a 39593 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39594 than hardcoding grub_modules_init.h.
39595
39596 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39597 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39598 grub_probe_init.[ch] and grub_setup_init.[ch].
39599
39600 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39601 grub_modules_init.h with grub_emu_init.h.
39602 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39603 grub_probe_init.[ch] files.
39604 * conf/i386-efi.rmk: Likewise.
39605 * conf/i386-pc.rmk: Likewise.
39606 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39607 grub_setup_init.[ch] files.
39608
39609 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39610 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39611 to initialize modules rather than a list of hardcoded functions.
39612 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39613 grub_init_all() to initialize modules rather than a list of hardcoded
39614 functions.
39615
54cdc1cc 396162007-07-22 Robert Millan <rmh@aybabtu.com>
39617
39618 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39619 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39620
ad0686cc 396212007-07-22 Robert Millan <rmh@aybabtu.com>
39622
39623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39624 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39625 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39626 flag when running on SmartFirmware.
39627 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39628 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39629 was set.
39630
39631 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39632 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39633 rather than decreasing it.
39634
39635 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39636 there's not enough space to do it, fail in the same way as when it
39637 can't be done because there are no partitions.
39638
39639 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39640 when nvsetenv failed.
39641
969c02ec 396422007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39643
39644 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39645 because this rule is automatically generated.
39646 (grub-mkrescue): Removed for the same reason as above.
39647
5a79f472 396482007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39649
39650 Migrate to GNU General Public License Version 3.
f19dbdb7 39651
5a79f472 39652 * COPYING: Replaced with the plain text version of GPLv3.
39653
39654 * config.guess: Updated from gnulib.
39655 * config.sub: Likewise.
39656
39657 * geninit.sh: Output a GPLv3 copyright notice.
39658 * geninitheader.sh: Likewise.
39659 * genmodsrc.sh: Likewise.
39660 * gensymlist.sh.in: Likewise.
39661
39662 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39663 * boot/i386/pc/diskboot.S: Likewise.
39664 * boot/i386/pc/pxeboot.S: Likewise.
39665 * commands/blocklist.c: Likewise.
39666 * commands/boot.c: Likewise.
39667 * commands/cat.c: Likewise.
39668 * commands/cmp.c: Likewise.
39669 * commands/configfile.c: Likewise.
39670 * commands/echo.c: Likewise.
39671 * commands/help.c: Likewise.
39672 * commands/ls.c: Likewise.
39673 * commands/search.c: Likewise.
39674 * commands/terminal.c: Likewise.
39675 * commands/test.c: Likewise.
39676 * commands/videotest.c: Likewise.
39677 * commands/i386/cpuid.c: Likewise.
39678 * commands/i386/pc/halt.c: Likewise.
39679 * commands/i386/pc/play.c: Likewise.
39680 * commands/i386/pc/reboot.c: Likewise.
39681 * commands/i386/pc/vbeinfo.c: Likewise.
39682 * commands/i386/pc/vbetest.c: Likewise.
39683 * commands/ieee1275/halt.c: Likewise.
39684 * commands/ieee1275/reboot.c: Likewise.
39685 * commands/ieee1275/suspend.c: Likewise.
39686 * disk/loopback.c: Likewise.
39687 * disk/lvm.c: Likewise.
39688 * disk/raid.c: Likewise.
39689 * disk/efi/efidisk.c: Likewise.
39690 * disk/i386/pc/biosdisk.c: Likewise.
39691 * disk/ieee1275/ofdisk.c: Likewise.
39692 * font/manager.c: Likewise.
39693 * fs/affs.c: Likewise.
39694 * fs/ext2.c: Likewise.
39695 * fs/fat.c: Likewise.
39696 * fs/fshelp.c: Likewise.
39697 * fs/hfs.c: Likewise.
39698 * fs/hfsplus.c: Likewise.
39699 * fs/iso9660.c: Likewise.
39700 * fs/jfs.c: Likewise.
39701 * fs/minix.c: Likewise.
39702 * fs/sfs.c: Likewise.
39703 * fs/ufs.c: Likewise.
39704 * fs/xfs.c: Likewise.
39705 * hello/hello.c: Likewise.
39706 * include/grub/acorn_filecore.h: Likewise.
39707 * include/grub/arg.h: Likewise.
39708 * include/grub/bitmap.h: Likewise.
39709 * include/grub/boot.h: Likewise.
39710 * include/grub/cache.h: Likewise.
39711 * include/grub/device.h: Likewise.
39712 * include/grub/disk.h: Likewise.
39713 * include/grub/dl.h: Likewise.
39714 * include/grub/elfload.h: Likewise.
39715 * include/grub/env.h: Likewise.
39716 * include/grub/err.h: Likewise.
39717 * include/grub/file.h: Likewise.
39718 * include/grub/font.h: Likewise.
39719 * include/grub/fs.h: Likewise.
39720 * include/grub/fshelp.h: Likewise.
39721 * include/grub/gzio.h: Likewise.
39722 * include/grub/hfs.h: Likewise.
39723 * include/grub/kernel.h: Likewise.
39724 * include/grub/loader.h: Likewise.
39725 * include/grub/lvm.h: Likewise.
39726 * include/grub/misc.h: Likewise.
39727 * include/grub/mm.h: Likewise.
39728 * include/grub/net.h: Likewise.
39729 * include/grub/normal.h: Likewise.
39730 * include/grub/parser.h: Likewise.
39731 * include/grub/partition.h: Likewise.
39732 * include/grub/pc_partition.h: Likewise.
39733 * include/grub/raid.h: Likewise.
39734 * include/grub/rescue.h: Likewise.
39735 * include/grub/script.h: Likewise.
39736 * include/grub/setjmp.h: Likewise.
39737 * include/grub/symbol.h: Likewise.
39738 * include/grub/term.h: Likewise.
39739 * include/grub/terminfo.h: Likewise.
39740 * include/grub/tparm.h: Likewise.
39741 * include/grub/types.h: Likewise.
39742 * include/grub/video.h: Likewise.
39743 * include/grub/efi/api.h: Likewise.
39744 * include/grub/efi/chainloader.h: Likewise.
39745 * include/grub/efi/console.h: Likewise.
39746 * include/grub/efi/console_control.h: Likewise.
39747 * include/grub/efi/disk.h: Likewise.
39748 * include/grub/efi/efi.h: Likewise.
39749 * include/grub/efi/pe32.h: Likewise.
39750 * include/grub/efi/time.h: Likewise.
39751 * include/grub/i386/linux.h: Likewise.
39752 * include/grub/i386/setjmp.h: Likewise.
39753 * include/grub/i386/types.h: Likewise.
39754 * include/grub/i386/efi/kernel.h: Likewise.
39755 * include/grub/i386/efi/loader.h: Likewise.
39756 * include/grub/i386/efi/time.h: Likewise.
39757 * include/grub/i386/pc/biosdisk.h: Likewise.
39758 * include/grub/i386/pc/boot.h: Likewise.
39759 * include/grub/i386/pc/chainloader.h: Likewise.
39760 * include/grub/i386/pc/console.h: Likewise.
39761 * include/grub/i386/pc/init.h: Likewise.
39762 * include/grub/i386/pc/kernel.h: Likewise.
39763 * include/grub/i386/pc/loader.h: Likewise.
39764 * include/grub/i386/pc/memory.h: Likewise.
39765 * include/grub/i386/pc/multiboot.h: Likewise.
39766 * include/grub/i386/pc/serial.h: Likewise.
39767 * include/grub/i386/pc/time.h: Likewise.
39768 * include/grub/i386/pc/vbe.h: Likewise.
39769 * include/grub/i386/pc/vbeblit.h: Likewise.
39770 * include/grub/i386/pc/vbefill.h: Likewise.
39771 * include/grub/i386/pc/vbeutil.h: Likewise.
39772 * include/grub/i386/pc/vga.h: Likewise.
39773 * include/grub/ieee1275/ieee1275.h: Likewise.
39774 * include/grub/ieee1275/ofdisk.h: Likewise.
39775 * include/grub/powerpc/libgcc.h: Likewise.
39776 * include/grub/powerpc/setjmp.h: Likewise.
39777 * include/grub/powerpc/types.h: Likewise.
39778 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39779 * include/grub/powerpc/ieee1275/console.h: Likewise.
39780 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39781 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39782 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39783 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39784 * include/grub/powerpc/ieee1275/time.h: Likewise.
39785 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39786 * include/grub/sparc64/libgcc.h: Likewise.
39787 * include/grub/sparc64/setjmp.h: Likewise.
39788 * include/grub/sparc64/types.h: Likewise.
39789 * include/grub/sparc64/ieee1275/console.h: Likewise.
39790 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39791 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39792 * include/grub/sparc64/ieee1275/time.h: Likewise.
39793 * include/grub/util/biosdisk.h: Likewise.
39794 * include/grub/util/getroot.h: Likewise.
39795 * include/grub/util/lvm.h: Likewise.
39796 * include/grub/util/misc.h: Likewise.
39797 * include/grub/util/raid.h: Likewise.
39798 * include/grub/util/resolve.h: Likewise.
39799 * io/gzio.c: Likewise.
39800 * kern/device.c: Likewise.
39801 * kern/disk.c: Likewise.
39802 * kern/dl.c: Likewise.
39803 * kern/elf.c: Likewise.
39804 * kern/env.c: Likewise.
39805 * kern/err.c: Likewise.
39806 * kern/file.c: Likewise.
39807 * kern/fs.c: Likewise.
39808 * kern/loader.c: Likewise.
39809 * kern/main.c: Likewise.
39810 * kern/misc.c: Likewise.
39811 * kern/mm.c: Likewise.
39812 * kern/parser.c: Likewise.
39813 * kern/partition.c: Likewise.
39814 * kern/rescue.c: Likewise.
39815 * kern/term.c: Likewise.
39816 * kern/efi/efi.c: Likewise.
39817 * kern/efi/init.c: Likewise.
39818 * kern/efi/mm.c: Likewise.
39819 * kern/i386/dl.c: Likewise.
39820 * kern/i386/efi/init.c: Likewise.
39821 * kern/i386/efi/startup.S: Likewise.
39822 * kern/i386/pc/init.c: Likewise.
39823 * kern/i386/pc/lzo1x.S: Likewise.
39824 * kern/i386/pc/startup.S: Likewise.
39825 * kern/ieee1275/ieee1275.c: Likewise.
39826 * kern/powerpc/cache.S: Likewise.
39827 * kern/powerpc/dl.c: Likewise.
39828 * kern/powerpc/ieee1275/cmain.c: Likewise.
39829 * kern/powerpc/ieee1275/crt0.S: Likewise.
39830 * kern/powerpc/ieee1275/init.c: Likewise.
39831 * kern/powerpc/ieee1275/openfw.c: Likewise.
39832 * kern/sparc64/cache.S: Likewise.
39833 * kern/sparc64/dl.c: Likewise.
39834 * kern/sparc64/ieee1275/init.c: Likewise.
39835 * kern/sparc64/ieee1275/openfw.c: Likewise.
39836 * loader/efi/chainloader.c: Likewise.
39837 * loader/efi/chainloader_normal.c: Likewise.
39838 * loader/i386/efi/linux.c: Likewise.
39839 * loader/i386/efi/linux_normal.c: Likewise.
39840 * loader/i386/pc/chainloader.c: Likewise.
39841 * loader/i386/pc/chainloader_normal.c: Likewise.
39842 * loader/i386/pc/linux.c: Likewise.
39843 * loader/i386/pc/linux_normal.c: Likewise.
39844 * loader/i386/pc/multiboot.c: Likewise.
39845 * loader/i386/pc/multiboot_normal.c: Likewise.
39846 * loader/powerpc/ieee1275/linux.c: Likewise.
39847 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39848 * normal/arg.c: Likewise.
39849 * normal/cmdline.c: Likewise.
39850 * normal/command.c: Likewise.
39851 * normal/completion.c: Likewise.
39852 * normal/execute.c: Likewise.
39853 * normal/function.c: Likewise.
39854 * normal/lexer.c: Likewise.
39855 * normal/main.c: Likewise.
39856 * normal/menu.c: Likewise.
39857 * normal/menu_entry.c: Likewise.
39858 * normal/misc.c: Likewise.
39859 * normal/parser.y: Likewise.
39860 * normal/script.c: Likewise.
39861 * normal/i386/setjmp.S: Likewise.
39862 * normal/powerpc/setjmp.S: Likewise.
39863 * normal/sparc64/setjmp.S: Likewise.
39864 * partmap/acorn.c: Likewise.
39865 * partmap/amiga.c: Likewise.
39866 * partmap/apple.c: Likewise.
39867 * partmap/gpt.c: Likewise.
39868 * partmap/pc.c: Likewise.
39869 * partmap/sun.c: Likewise.
39870 * term/gfxterm.c: Likewise.
39871 * term/terminfo.c: Likewise.
39872 * term/efi/console.c: Likewise.
39873 * term/i386/pc/console.c: Likewise.
39874 * term/i386/pc/serial.c: Likewise.
39875 * term/i386/pc/vesafb.c: Likewise.
39876 * term/i386/pc/vga.c: Likewise.
39877 * term/ieee1275/ofconsole.c: Likewise.
39878 * util/biosdisk.c: Likewise.
39879 * util/console.c: Likewise.
39880 * util/genmoddep.c: Likewise.
39881 * util/getroot.c: Likewise.
39882 * util/grub-emu.c: Likewise.
39883 * util/grub-mkdevicemap.c: Likewise.
39884 * util/grub-probe.c: Likewise.
39885 * util/lvm.c: Likewise.
39886 * util/misc.c: Likewise.
39887 * util/raid.c: Likewise.
39888 * util/resolve.c: Likewise.
39889 * util/update-grub.in: Likewise.
39890 * util/update-grub_lib.in: Likewise.
39891 * util/grub.d/00_header.in: Likewise.
39892 * util/grub.d/10_hurd.in: Likewise.
39893 * util/grub.d/10_linux.in: Likewise.
39894 * util/i386/efi/grub-install.in: Likewise.
39895 * util/i386/efi/grub-mkimage.c: Likewise.
39896 * util/i386/pc/grub-install.in: Likewise.
39897 * util/i386/pc/grub-mkimage.c: Likewise.
39898 * util/i386/pc/grub-mkrescue.in: Likewise.
39899 * util/i386/pc/grub-setup.c: Likewise.
39900 * util/i386/pc/misc.c: Likewise.
39901 * util/powerpc/ieee1275/grub-install.in: Likewise.
39902 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39903 * util/powerpc/ieee1275/misc.c: Likewise.
39904 * video/bitmap.c: Likewise.
39905 * video/video.c: Likewise.
39906 * video/i386/pc/vbe.c: Likewise.
39907 * video/i386/pc/vbeblit.c: Likewise.
39908 * video/i386/pc/vbefill.c: Likewise.
39909 * video/i386/pc/vbeutil.c: Likewise.
39910 * video/readers/tga.c: Likewise.
39911
3572d015 399122007-07-02 Robert Millan <rmh@aybabtu.com>
39913
39914 * conf/i386-efi.rmk: Replace obsolete reference to
39915 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39916 with util/getroot.c.
39917 * conf/powerpc-ieee1275.rmk: Likewise.
39918 * conf/sparc64-ieee1275.rmk: Likewise.
39919
39920 * util/grub-emu.c (main): Fix unchecked pointer handling.
39921
2c2a681b 399222007-07-02 Robert Millan <rmh@aybabtu.com>
39923
39924 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39925 invocation to fail, in order to support partition-less media.
39926
39927 * util/i386/pc/grub-install.in: Likewise.
39928
39929 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39930 which fs or partmap modules are needed (akin to its sister scripts).
39931
39932 Also use grub-probe to get rid of unportable /proc/mounts check.
39933
39934 Print the same informational message that the other scripts do, before
fe6b695a 39935 exiting.
2c2a681b 39936
6193defe 399372007-06-23 Robert Millan <rmh@aybabtu.com>
39938
fe6b695a 39939 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39940 a font file can be found and, if so, echo the GRUB path to it.
39941
39942 * util/update-grub.in: Handle multiple terminals depending on user
39943 input, platform availability and font file presence. Propagate
39944 variables of our findings to /etc/grub.d/ children.
39945
39946 * util/grub.d/00_header.in: Handle multiple terminals, based on
39947 environment setup by update-grub.
39948
eface1dc 399492007-06-23 Robert Millan <rmh@aybabtu.com>
39950
ba50d28f 39951 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39952
bf697e28 399532007-06-21 Robert Millan <rmh@aybabtu.com>
39954
39955 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39956 indicate end of data section in kernel image.
39957 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39958 GRUB_KERNEL_MACHINE_DATA_END.
39959
39960 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39961 space for it.
39962 * kern/i386/efi/startup.S: Likewise.
39963
39964 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39965 during image generation. Implement --prefix option to override this
39966 patch.
39967 * util/i386/efi/grub-mkimage.c: Likewise.
39968
39969 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39970 code to make path relative to its root into a separate function.
39971
39972 * util/i386/pc/grub-install.in: Use newly provided
39973 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39974 pass the result to grub-install --prefix.
39975
baa574b4 399762007-06-13 Robert Millan <rmh@aybabtu.com>
39977
39978 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39979 DEFAULT_DEVICE_MAP.
39980 * util/grub-emu.c: Use above definitions from misc.h instead of
39981 defining them.
39982 * util/grub-mkdevicemap.c: Likewise.
39983 * util/i386/pc/grub-setup.c: Likewise.
39984 * util/grub-probe.c: Likewise.
39985 (probe): Abort with grub_util_error() when either
39986 grub_guess_root_device or grub_util_get_grub_dev fails.
39987
0215dcbf 399882007-06-12 Robert Millan <rmh@aybabtu.com>
39989
39990 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39991 "pager" assignment.
39992 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39993 "pcdata".
39994 * util/grub-probe.c (probe): Likewise for "drive_name".
39995
8af2ab7b 399962007-06-11 Robert Millan <rmh@aybabtu.com>
39997
39998 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39999 not just the cdrom one.
40000
59d31694 400012007-06-11 Robert Millan <rmh@aybabtu.com>
40002
40003 * util/i386/pc/grub-mkrescue.in: Add "set -e".
40004 Add --pkglibdir=DIR option to override pkglibdir.
40005 Mention --image-type=TYPE in help output.
40006 Fix --grub-mkimage (it was a no-op).
fe6b695a 40007 Abort gracefully when no parameter is given.
59d31694 40008
7ee367e4 400092007-06-11 Robert Millan <rmh@aybabtu.com>
40010
40011 * util/i386/pc/grub-mkrescue.in: New file.
40012 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
40013 * Makefile.in: Handle bin_SCRIPTS.
40014
29b0ed46 400152007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
40016
40017 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
40018 list of video modes.
40019
c0f90770 400202007-06-06 Robert Millan <rmh@aybabtu.com>
40021
40022 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
40023 file doesn't exist, or if it is in a filesystem grub can't read.
40024
40025 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
40026 not abort if GRUB_DRIVE could not be defined. Rearrange generated
40027 header comment to fit in 80 columns when the variables are resolved.
40028
40029 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
40030 could be identified by update-grub. Remove redundant check for
fe6b695a 40031 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 40032 handles that).
40033
fb36dc26 400342007-06-04 Robert Millan <rmh@aybabtu.com>
40035
40036 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
40037
40038 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
40039
40040 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
40041
0c68c93e 400422007-06-04 Robert Millan <rmh@aybabtu.com>
40043
40044 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
40045
40046 * include/grub/partition.h: Declare grub_apple_partition_map_init and
40047 grub_apple_partition_map_fini.
40048
40049 * util/biosdisk.c
40050 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
40051 to access >2 TiB disks).
40052
40053 Print disk->total_sectors with %llu instead of %lu, since this
40054 variable is always 64-bit (prevents wrong disk size from being displayed
40055 on either >2 TiB disk or big-endian CPU).
40056
40057 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
40058 into a generic case that supports all (sane) partition maps.
40059
40060 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
40061 breaks big-endian.
40062
40063 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
40064 and grub_apple_partition_map_fini() after that.
40065
0f23eb74 400662007-06-01 Robert Millan <rmh@aybabtu.com>
40067
40068 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40069
40070 * util/grub.d/00_header.in: Only enable gfxterm when
40071 convert_system_path_to_grub_path() succeeds.
40072
42c71976 400732007-05-20 Robert Millan <rmh@aybabtu.com>
40074
40075 * util/update-grub_lib.in: New file.
40076 * DISTLIST: Add update-grub_lib.in.
40077 * conf/common.rmk: Generate update-grub_lib and install it in
40078 $(lib_DATA).
40079 * Makefile.in: Add install routine for $(lib_DATA).
40080
40081 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40082 function provided by update-grub_lib to support arbitrary paths of
40083 unifont.pff.
40084 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40085 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40086
5beb2291 400872007-05-19 Robert Millan <rmh@aybabtu.com>
40088
40089 * commands/i386/cpuid.c: New module.
40090 * DISTLIST: Add it.
40091 * conf/i386-efi.rmk: Enable cpuid.mod.
40092 * conf/i386-pc.rmk: Likewise.
40093
7262eca1 400942007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40095
40096 * kern/disk.c (grub_disk_read): Check return value of
40097 grub_realloc().
40098
260ba823 400992007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40100
40101 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40102 arrays.
40103 * disk/raid.c (grub_raid_open): Likewise.
40104
1ecb6cf2 401052007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40106
40107 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40108 stack instead of on the heap.
40109
40110 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40111 before doing a read on it.
40112
40113 * configure.ac: Only use -fno-stack-protector for the target
40114 environment.
f19dbdb7 40115
21c8cbb1 401162007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40117
40118 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40119 __attribute_ ((unused)) to mode_type argument.
40120
40121 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40122
21c8cbb1 40123 * kern/misc.c (memcmp): Fix prototype.
40124
40125 * include/grub/partition.h [GRUB_UTIL]
40126 (grub_gpt_partition_map_init): Add prototype.
40127 (grub_gpt_partition_map_fini): Likewise.
40128
40129 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40130 at the right place.
40131
40132 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40133 (grub_fat_read_data): Likewise.
40134 (grub_fat_find_dir): Likewise.
40135
40136 * font/manager.c (find_glyph): Make table a const.
40137 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40138
849d55d3 401392007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40140
40141 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40142 code, first search for device in /dev/mapper, then in /dev.
40143 (grub_util_get_grub_dev): New function.
40144 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40145 prototype.
40146 * util/grub-probe.c (probe): Remove check for RAID, call
40147 grub_util_get_grub_dev() instead of
40148 grub_util_biosdisk_get_grub_dev().
40149 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40150 grub_util_biosdisk_get_grub_dev().
40151 * util/i386/pc/grub-setup.c (main): Likewise.
40152
8fff7c2f 401532007-05-16 Robert Millan <rmh@aybabtu.com>
40154
40155 * DISTLIST: Update for the latest changes.
40156 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40157 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40158 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40159 grub/util/biosdisk.h.
40160 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40161 grub/util/biosdisk.h.
40162
48e12b52 401632007-05-16 Robert Millan <rmh@aybabtu.com>
40164
40165 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40166
46b9d128 401672007-05-16 Robert Millan <rmh@aybabtu.com>
40168
40169 * util/i386/efi/grub-install.in: New.
40170 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40171 newly added grub-install.
40172 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40173 include.
40174 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40175 grub/util/biosdisk.h.
40176 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40177 grub/util/biosdisk.h.
40178
2d1a40a9 401792007-05-16 Robert Millan <rmh@aybabtu.com>
40180
40181 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40182 * include/grub/util/biosdisk.h: ... here.
40183 * util/i386/pc/biosdisk.c: Moved to ...
40184 * util/biosdisk.c: ... here.
40185 * util/i386/pc/getroot.c: Moved to ...
40186 * util/getroot.c: ... here.
40187 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40188 * util/grub-mkdevicemap.c: ... here.
40189 * util/i386/pc/grub-probe.c: Moved to ...
40190 * util/grub-probe.c: ... here.
40191
9e26e3bc 401922007-05-15 Robert Millan <rmh@aybabtu.com>
40193
40194 * util/update-grub.in: Remove duplicated line in grub.cfg header
40195 message.
40196
57f96397 401972007-05-13 Robert Millan <rmh@aybabtu.com>
40198
40199 * util/update-grub.in: Fix a few assumptions about the devices holding
40200 /, /boot and /boot/grub being the same.
40201 * util/grub.d/00_header.in: Likewise.
40202 * util/grub.d/10_hurd.in: Likewise.
40203 * util/grub.d/10_linux.in: Likewise.
40204
40205 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40206 patterns. Use that to define the `.old' suffix as older than `'.
40207
40208 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40209
40210 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40211 the grub.cfg header message.
40212
2e610d62 402132007-05-11 Robert Millan <rmh@aybabtu.com>
40214
40215 * util/update-grub.in: Create device.map if it doesn't already exist,
40216 before attempting to run grub-probe.
40217 Check for grub-probe and grub-mkdevicemap with the same code
40218 grub-install is using.
40219 Remove test mode.
40220
3f6a10ef 402212007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40222
40223 * Makefile.in: Add the datarootdir autoconf variable.
40224
02e7b75e 402252007-05-09 Robert Millan <rmh@aybabtu.com>
40226
40227 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40228 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40229
75f396cc 402302007-05-07 Robert Millan <rmh@aybabtu.com>
40231
40232 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40233 determine partition map module.
40234 * util/i386/pc/grub-install.in: Use this feature to decide which
40235 partition module to load, instead of hardcoding pc and gpt.
40236
da65cb36 402372007-05-07 Robert Millan <rmh@aybabtu.com>
40238
40239 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40240 source directory differs from build directory.
40241
b57d6a91 402422007-05-05 Robert Millan <rmh@aybabtu.com>
40243
40244 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40245 initialisation.
40246
509d00f1 402472007-05-05 Robert Millan <rmh@aybabtu.com>
40248
40249 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40250
c48f23ef 402512007-05-05 Robert Millan <rmh@aybabtu.com>
40252
40253 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40254 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40255
20b97658 402562007-05-05 Robert Millan <rmh@aybabtu.com>
40257
40258 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40259 (grub_probe_SOURCES): Likewise.
40260 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40261 GPT and initialize dos_part and bsd_part accordingly.
40262 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40263 install_bsd_part.
40264 (main): Activate gpt module for use during partition identification,
40265 and deactivate it afterwards.
40266 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40267 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40268 partition identification, and deactivate it afterwards.
40269
99123174 402702007-05-05 Robert Millan <rmh@aybabtu.com>
40271
40272 * term/i386/pc/console.c (grub_console_fini): Call
40273 grub_term_set_current() before grub_term_unregister().
40274
ebd97f6e 402752007-05-04 Robert Millan <rmh@aybabtu.com>
40276
40277 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40278 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40279 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40280 and update-grub_DATA.
40281 * conf/common.rmk: Build and install update-grub components.
40282 * conf/common.mk: Regenerate.
40283 * util/update-grub.in: New. Core of update-grub.
40284 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40285 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40286 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40287 * util/grub.d/README: New. Document grub.d directory layout.
40288
b06a264d 402892007-05-01 Robert Millan <rmh@aybabtu.com>
40290
40291 * util/grub-emu.c: Move initialization functions
40292 grub_util_biosdisk_init() and grub_init_all() before
40293 grub_util_biosdisk_get_grub_dev(), which relies on them.
40294
41f0050e 402952007-04-19 Robert Millan <rmh@aybabtu.com>
40296
40297 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40298 it is used later.
40299
04582bb3 403002007-04-18 Jerone Young <jerone@gmail.com>
40301
f19dbdb7 40302 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40303 stanza.
40304
08db4632 403052007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40306
08db4632 40307 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40308 continue on and look for device node with real device name.
40309
801b76be 403102007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40311
fe6b695a 40312 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40313 ability.
40314 * Makefile.in: Add autoconf package transformation code.
40315 * util/i386/pc/grub-install.in: Likewise.
40316 * util/powerpc/ieee1275/grub-install.in: Likewise.
40317
6795c4e1 403182007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40319
40320 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40321 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40322 (EXT2_REVISION): Likewise.
40323 (EXT2_INODE_SIZE): Likewise.
40324 (struct grub_ext2_block_group): Added a missing member
40325 "used_dirs".
40326 (grub_ext2_read_inode): Divide by the inode size in a superblock
40327 instead of 128 to obtain INODES_PER_BLOCK.
40328 Use the macro EXT2_INODE_SIZE instead of directly using
40329 SBLOCK->INODE_SIZE.
40330
d70af616 403312007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40332
40333 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40334 superblock instead of the structure size to compute an
40335 offset. This fixes the problem that GRUB could not read a
40336 filesystem when inode size is different from 128-byte.
40337
3b801603 403382007-03-05 Marco Gerards <marco@gnu.org>
40339
40340 * normal/main.c (read_config_file): When "menu" is not set, create
40341 an initial context.
40342
4785bfe4 403432007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40344
40345 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40346 (HEAP_LIMIT): New macro.
40347 (grub_claim_heap): Claim memory up to `heaplimit'.
40348
a0cbb023 403492007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40350
40351 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40352 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40353 (_start): Likewise.
40354 (grub_arch_modules_addr): Return address after `_end'.
40355 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40356 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40357 (add_segments): Calculate `_end' from phdr size and location.
40358 (ALIGN_UP): Moved to ...
40359 * include/grub/misc.h: here.
40360 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40361 New macro.
40362 (GRUB_IEEE1275_MODULE_BASE): Removed.
40363
fd7d8eba 403642007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40365
40366 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40367 loop boundary.
40368
9b09e6fc 403692007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40370
40371 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40372 All users updated.
40373 (grub_elf64_load_hook_t): Likewise.
40374 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40375 debug output.
40376
3ce27299 403772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40378
40379 * kern/mm.c: Update copyright.
40380 (grub_mm_debug): Correct syntax error.
40381 (grub_mm_dump_free): New function.
40382 (grub_debug_free): Call `grub_free'.
40383 * include/grub/mm.h: Update copyright.
40384 (grub_mm_dump_free): Add declaration.
40385
077d5fee 403862007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40387
40388 * include/grub/ieee1275/ieee1275.h: Update copyright.
40389 * kern/powerpc/ieee1275/init.c: Likewise.
40390 * kern/powerpc/ieee1275/openfw.c: Likewise.
40391
40392 * loader/powerpc/ieee1275/linux.c: Likewise.
40393 * include/grub/elfload.h: Likewise.
40394 * kern/elf.c: Likewise.
40395 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40396 callers.
40397 (grub_elf64_load): Likewise.
40398 (grub_elf32_load_segment): Move to a nested function.
40399 (grub_elf64_load_segment): Likewise.
40400
dc946850 404012007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40402
40403 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40404 prototype.
40405 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40406 (grub_heap_len): Likewise.
40407 (HEAP_SIZE): New macro.
40408 (grub_claim_heap): New function.
40409 (grub_machine_init): Don't claim heap directly. Call
40410 `grub_claim_heap'.
40411 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40412 (grub_available_iterate): New function.
40413
baa2a121 404142007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40415
40416 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40417 * configure.ac: Use it for testing the HOST and TARGET compilers.
40418
4fe9862e 404192006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40420
40421 * Makefile.in (enable_grub_emu): New variable.
40422 * configure.ac (--enable-grub-emu): New option.
40423 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40424 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40425 * conf/i386-pc.rmk: Likewise.
40426 * conf/powerpc-ieee1275.rmk: Likewise.
40427 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40428
a8aa5762 404292006-12-12 Marco Gerards <marco@gnu.org>
40430
40431 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40432
40433 * kern/env.c (grub_env_unset): Don't free the member `value' when
40434 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40435 pointer.
40436
40437 * normal/main.c (current_menu): Removed.
40438 (free_menu): Unset the `menu' environment variable.
40439 (grub_normal_menu_addentry): Make use of the environment variable
40440 `menu', instead of using the global `current_menu'. Allocate
40441 memory for the sourcecode of this entry.
40442 (read_config_file): New argument `nested', changed all callers.
40443 Only in the case of a new context, initialize a new menu. Set the
40444 `menu' environment variable.
40445 (grub_normal_execute): Don't set and unset the environment
40446 variable `menu' here anymore. Only free the menu when leaving the
40447 context.
40448
40449 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40450 leak.
40451
957b3a3e 404522006-12-11 Marco Gerards <marco@gnu.org>
40453
40454 * normal/menu_entry.c (run): Fix off by one bug so the last line
40455 is executed. Move the loader check to outside the loop.
40456
ef875714 404572006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40458
40459 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40460
4e739985 404612006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40462
40463 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40464 the number of sectors. Reported by Andrey Shuvikov
40465 <mr_hyro@yahoo.com>.
f19dbdb7 40466
790707f2 404672006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40468
40469 * kern/disk.c (grub_disk_read): When there is a read error, always
40470 try to read only the necessary data.
f19dbdb7 40471
790707f2 40472 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40473 disk/raid.c.
40474 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40475 prototype.
40476 [GRUB_UTIL] (grub_raid_fini): Likewise.
40477 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40478 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40479 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40480 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40481 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40482 and grub_raid_fini().
f19dbdb7 40483
03e58196 404842006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40485
40486 * include/grub/types.h (__unused): Rename to UNUSED.
40487 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40488 (grub_elf64_size): Likewise.
f19dbdb7 40489
ae4f23bf 404902006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40491
40492 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40493 grub_error_push and grub_error_pop in the error-handling path.
40494 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40495 length.
40496
2166cc83 404972006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40498
40499 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40500 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40502 (kernel_elf_SOURCES): Likewise.
40503 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40504 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40505 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40506 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40507 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40508 (elf_mod_SOURCES): New variable.
40509 (elf_mod_CFLAGS): Likewise.
40510 (elf_mod_LDFLAGS): Likewise.
40511 * include/grub/types.h (__unused): New macro.
40512 * include/grub/elfload.h: New file.
40513 * kern/elf.c: Likewise.
40514 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40515 (ELF32_LOADMASK): New macro.
40516 (ELF64_LOADMASK): Likewise.
40517 (vmlinux): Removed.
40518 (grub_linux_load32): New function.
40519 (grub_linux_load64): Likewise.
40520 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40521 Use grub_elf_t instead of grub_file_t.
40522
a09d5aa5 405232006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40524
40525 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40526 `catch_result' to struct set_color_args.
40527
d976fc51 405282006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40529
40530 * normal/menu.c: Include grub/script.h.
40531 * normal/menu_entry.c: Likewise.
40532 * include/grub/normal.h: Do not include grub/script.h.
40533
67507549 405342006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40535
40536 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40537
69203a99 405382006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40539
40540 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40541 disk.
40542 (grub_disk_close): Print debug messages when closing a disk.
40543 (grub_disk_read): Print debug messages when disk read fails.
40544 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40545 filesystem type.
40546 * kern/partition.c: Include misc.h.
40547 (grub_partition_iterate): Print debug messages when detecting
40548 partition type.
40549
e2b8278c 405502006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40551
40552 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40553 is negative.
40554 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40555
97b2f2ff 405562006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40557
40558 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40559 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40560
6555d655 405612006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40562
40563 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40564 instead of sizeof(lv). Patch by Michael Guntsche.
40565
4d42b77f 405662006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40567
40568 * disk/lvm.c: Rename VGS to VG_LIST.
40569 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40570 (grub_lvm_open): Likewise.
40571 Thanks to Michael Guntsche for finding this bug.
40572
5d74d927 405732006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40574
40575 * configure.ac (AC_INIT): Bumped to 1.95.
40576
a1bb27e4 405772006-10-14 Robert Millan <rmh@aybabtu.com>
40578
40579 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40580 with "/dev/.static/dev/md".
40581
e0994b8b 405822006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40583
40584 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40585 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40586 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40587 DRIVE_NAME are always freed.
40588
40589 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40590 DOS_PART, as a DOS partition is counted from one instead of zero
40591 now. Reported by Robert Millan.
40592
ddd5cee9 405932006-10-14 Robert Millan <rmh@aybabtu.com>
40594
40595 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40596 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40597 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40598 string returned by grub_guess_root_device.
40599 * util/i386/pc/grub-setup.c: Likewise.
40600 * util/i386/pc/grub-probefs.c: Likewise.
40601
40602 * util/i386/pc/grub-probefs.c: Rename to ...
40603 * util/i386/pc/grub-probe.c: ... this.
40604 * DISTLIST: Remove grub-probefs, add grub-probe.
40605 * conf/i386-efi.rmk: Likewise.
40606 * conf/i386-pc.rmk: Likewise.
40607 * util/i386/pc/grub-install.in: Likewise.
40608
40609 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40610 choose which information we want to print.
40611
2b002173 406122006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40613
40614 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40615 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40616 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40617 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40618 video/readers/tga.c and video/i386/pc/vbeutil.c.
40619
406202006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40621
40622 Added support for RAID and LVM.
f19dbdb7 40623
2b002173 40624 * disk/lvm.c: New file.
40625 * disk/raid.c: Likewise.
40626 * include/grub/lvm.h: Likewise.
f19dbdb7 40627 * include/grub/raid.h: Likewise.
2b002173 40628 * include/grub/util/lvm.h: Likewise.
40629 * include/grub/util/raid.h: Likewise.
40630 * util/lvm.c: Likewise.
40631 * util/raid.c: Likewise.
40632
40633 * include/grub/disk.h (grub_disk_dev_id): Add
40634 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40635 (grub_disk_get_size): New prototype.
40636 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40637 returns a partition.
40638 (grub_disk_get_size): New function.
f19dbdb7 40639
2b002173 40640 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40641 verbatim if grub_install_dos_part is -2.
40642
40643 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40644 and LVM devices.
40645
40646 * util/i386/pc/grub-setup.c (setup): New argument
40647 MUST_EMBED. Force embedding of GRUB when the argument is
40648 true. Close FILE before returning.
40649 (main): Add support for RAID and LVM.
f19dbdb7 40650
2b002173 40651 * conf/common.rmk: Add RAID and LVM modules.
40652 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40653 util/lvm.c.
40654 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40655
40656 * kern/misc.c (grub_strstr): New function.
40657 * include/grub/misc.h (grub_strstr): New prototype.
40658
050548d0 406592006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40660
40661 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40662
da849d2d 406632006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40664
40665 * kern/misc.c (grub_strtoull): Guess the base only if not
40666 specified.
40667
97b2f2ff 406682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40669
40670 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40671 PowerMac support.
40672
97b2f2ff 406732006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40674
40675 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40676
40677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40678 Remove `flags' argument. All callers changed.
40679 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40680 (IEEE1275_IHANDLE_INVALID): New variable.
40681 (IEEE1275_CELL_INVALID): New variable.
40682 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40683 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40684 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40685 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40686 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40687 codes from Open Firmware. All callers updated.
40688 (grub_ieee1275_next_property): Directly return Open Firmware return
40689 code.
40690 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40691 Standardize error checking from `grub_ieee1275_get_property'.
40692 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40693 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40694
97b2f2ff 406952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40696
40697 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40698 `instance_to_package_args' to `instance_to_path_args'.
40699
40700 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40701 `grub_ieee1275_chosen'.
40702
40703 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40704 `grub_ieee1275_interpret'.
40705
97b2f2ff 407062006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40707
40708 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40709
97b2f2ff 407102006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40711
40712 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40713 (__cmpdi): Likewise.
40714
40715 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40716 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40717 `grub_ssize_t'.
40718
02bb8acc 40719 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40720
40721 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40722 to type `grub_ssize_t'.
40723 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40724
7f9a8531 407252006-09-22 Marco Gerards <marco@gnu.org>
40726
40727 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40728 newlines.
40729
b5ef1102 407302006-09-22 Marco Gerards <marco@gnu.org>
40731
40732 * commands/echo.c: New file.
40733
40734 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40735
40736 * conf/common.rmk (echo_mod_SOURCES): New variable.
40737 (echo_mod_CFLAGS): Likewise.
40738 (echo_mod_LDFLAGS): Likewise.
40739
2cff3677 407402006-09-22 Marco Gerards <marco@gnu.org>
40741
40742 * normal/main.c (get_line): Malloc memory instead of using
40743 preallocated memory. Removed the arguments `cmdline' and
40744 `max_len'. Updated all callers.
40745
6ba4688b 407462006-09-22 Marco Gerards <marco@gnu.org>
40747
40748 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40749 (normal_mod_DEPENDENCIES): Likewise.
40750
40751 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40752 (normal_mod_DEPENDENCIES): Likewise.
40753
40754 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40755
e02ac02c 407562006-09-22 Johan Rydberg <jrydberg@gnu.org>
40757
40758 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40759 programs.
40760 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40761 (normal_mod_DEPENDENCIES): Likewise.
40762 * conf/i386-pc.mk: Regenerate.
40763 * conf/i386-efi.mk: Likewise
40764 * conf/common.mk: Likewise.
40765 * conf/powerpc-ieee1275.mk: Likewise.
40766 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40767
8d252e44 407682006-09-22 Robert Millan <rmh@aybabtu.com>
40769
40770 Sync with i386 version.
40771 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40772 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40773
209bf7ac 407742006-09-21 Robert Millan <rmh@aybabtu.com>
40775
40776 Import from GRUB Legacy (lib/device.c):
40777 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40778 (init_device_map) [__linux__]: Add support for I2O devices.
40779
6b146090 407802006-09-14 Marco Gerards <marco@gnu.org>
40781
40782 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40783 `-melf_i386'.
40784
e38600a8 407852006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40786
40787 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40788 /boot/grub/*.lst.
78fa1790 40789
2952da5d 40790 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40791
2952da5d 40792 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40793 before adding it to device.map.
40794
01b82a64 407952006-08-15 Johan Rydberg <jrydberg@gnu.org>
40796
fe6b695a 40797 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40798 compiles a file; using the -MD option.
40799 * conf/common.mk: Regenerate.
40800 * conf/i386-pc.mk: Likewise.
40801 * conf/i386-efi.mk: Likewise.
40802 * conf/powerpc-ieee1275.mk: Likewise.
40803 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40804
1064790d 408052006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40806
40807 Move the prototypes of grub_setjmp and grub_longjmp to
40808 cpu/setjmp.h, so that each architecture may specify different
40809 attributes.
f19dbdb7 40810
1064790d 40811 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40812 (grub_longjmp): Likewise.
40813 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40814 (grub_longjmp): Likewise.
40815 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40816 (grub_longjmp): Likewise.
40817
40818 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40819 [!GRUB_UTIL] (grub_longjmp): Removed.
40820
29dda3ed 408212006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40822
40823 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40824 "color!" method does not return any value.
40825
ad2a06ed 408262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40827
40828 * include/grub/bitmap.h: New file.
40829
40830 * include/grub/i386/pc/vbeutil.h: Likewise.
40831
40832 * video/bitmap.c: Likewise.
40833
40834 * video/readers/tga.c: Likewise.
40835
40836 * video/i386/pc/vbeutil.c: Likewise.
40837
40838 * commands/videotest.c: Code cleanup and updated to reflect to new
40839 video API.
40840
40841 * term/gfxterm.c: Likewise.
40842
40843 * video/video.c: Likewise.
40844
40845 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40846 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40847 (bitmap_mod_SOURCES): New entry.
40848 (bitmap_mod_CFLAGS): Likewise.
40849 (bitmap_mod_LDFLAGS): Likewise.
40850 (tga_mod_SOURCES): Likewise.
40851 (tga_mod_CFLAGS): Likewise.
40852 (tga_mod_LDFLAGS): Likewise.
40853
40854 * include/grub/video.h (grub_video_blit_operators): New enum type.
40855 (grub_video_render_target): Changed as forward declaration and moved
40856 actual definition to be video driver specific.
40857 (grub_video_adapter.blit_bitmap): Added blitting operator.
40858 (grub_video_adapter.blit_render_target): Likewise.
40859 (grub_video_blit_bitmap): Likewise.
40860 (grub_video_blit_render_target): Likewise.
40861
40862 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40863 driver specific render target definition.
40864 (grub_video_vbe_map_rgba): Added driver internal helper.
40865 (grub_video_vbe_unmap_color): Updated to use
40866 grub_video_i386_vbeblit_info.
40867 (grub_video_vbe_get_video_ptr): Likewise.
40868
40869 * include/grub/i386/pc/vbeblit.h
40870 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40871 grub_video_i386_vbeblit_info.
40872 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40873 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40874 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40875 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40876 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40877 (grub_video_i386_vbeblit_index_index): Likewise.
40878 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40879 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40880 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40881 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40882 operator.
40883 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40884 operator.
40885
40886 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40887 include/grub/i386/pc/vbeblit.h.
40888
40889 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40890 Updated to use grub_video_i386_vbeblit_info.
40891 (grub_video_i386_vbefill_R8G8B8): Likewise.
40892 (grub_video_i386_vbefill_index): Likewise.
40893 (grub_video_i386_vbefill): Added generic filler.
40894
40895 * video/i386/pc/vbefill.c: Updated to reflect changes on
40896 include/grub/i386/pc/vbefill.h.
40897
40898 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40899 grub_video_i386_vbeblit_info.
40900 (grub_video_vbe_unmap_color): Likewise.
40901 (grub_video_vbe_blit_glyph): Likewise.
40902 (grub_video_vbe_scroll): Likewise.
40903 (grub_video_vbe_draw_pixel): Removed function.
40904 (grub_video_vbe_get_pixel): Likewise.
40905 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40906 updated code to use it.
40907 (common_blitter): Added common blitter for render target and bitmap.
40908 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40909 (grub_video_vbe_blit_render_target): Likewise.
40910
bc8c036d 409112006-07-30 Johan Rydberg <jrydberg@gnu.org>
40912
40913 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40914 is in text mode if there is no console control protocol instance
40915 available.
40916
684a8eff 409172006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40918
40919 * include/grub/video.h: Code cleanup.
40920
40921 * include/grub/i386/pc/vbe.h: Likewise.
40922
40923 * video/i386/pc/vbe.c: Likewise.
40924
40925 * video/i386/pc/vbeblit.c: Likewise.
40926
40927 * video/i386/pc/vbefill.c: Likewise.
40928
40929 * video/video.c: Likewise. Also added more comments.
40930
5915059b 409312006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40932
40933 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40934 (struct grub_biosdisk_dap): Likewise.
40935
40936 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40937 linkage settings for all functions.
40938
90ce5d56 409392006-07-12 Marco Gerards <marco@gnu.org>
40940
40941 * configure.ac (--enable-mm-debug): Fix typo.
40942
40943 * genkernsyms.sh.in: Use proper quoting for `CC'.
40944
43e7f879 409452006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40946
40947 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40948 (normal_mod_ASFLAGS): Remove "-m32".
40949
4889bdec 409502006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40951
40952 * util/misc.c: Include config.h.
40953 [!HAVE_MEMALIGN]: Do not include malloc.h.
40954 (grub_memalign): Use posix_memalign, if present. Then, use
40955 memalign, if present. Otherwise, emit an error.
40956
40957 * util/grub-emu.c: Do not include malloc.h.
40958
40959 * include/grub/util/misc.h: Include unistd.h. This is required for
40960 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40961 D. Eades III <hde@foobar-qux.org>.
40962
40963 * configure.ac (AC_GNU_SOURCE): Added.
40964 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40965 type.
40966
fd39d4da 409672006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40968
40969 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40970 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40971
b786f3b5 409722006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40973
40974 * include/grub/types.h (grub_host_addr_t): Rename to
40975 grub_target_addr_t.
40976 (grub_host_off_t): Rename to grub_target_off_t.
40977 (grub_host_size_t): Rename to grub_target_size_t.
40978 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40979 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40980
40981 * include/grub/kernel.h (struct grub_module_header): Change type
40982 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40983 (grub_module_info): Likewise.
f19dbdb7 40984
051988bb 409852006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40986
40987 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40988 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40989 Velazquez <jesus.velazquez@gmail.com>.
40990
deae281b 409912006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40992
40993 Count partitions from 1 instead of 0 in the string representation
40994 of partitions. Still use 0-based internally.
f19dbdb7 40995
deae281b 40996 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40997 (sun_partition_map_iterate): Use grub_partition_t instead of
40998 struct grub_partition *. Cast DESC->START_CYLINDER to
40999 grub_uint64_t after converting the endian.
41000 (sun_partition_map_probe): Subtract 1 for PARTNUM.
41001 (sun_partition_map_get_name): Add 1 to P->INDEX.
41002
41003 * partmap/pc.c (grub_partition_parse): Subtract 1 for
41004 PCDATA->DOS_PART.
41005 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
41006
41007 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
41008 zero instead of one.
41009 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
41010 (gpt_partition_map_get_name): Add 1 into P->INDEX.
41011
41012 * partmap/apple.c (apple_partition_map_iterate): Change the type
41013 of POS to unsigned.
41014 (apple_partition_map_probe): Subtract 1 for PARTNUM.
41015 (apple_partition_map_get_name): Add 1 into P->INDEX.
41016
41017 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
41018 of POS to unsigned.
41019 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
41020 calculate the offset of a partition.
41021 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
41022 (amiga_partition_map_get_name): Add 1 into P->INDEX.
41023
41024 * partmap/acorn.c (acorn_partition_map_find): Change the type of
41025 SECTOR to grub_disk_addr_t.
41026 (acorn_partition_map_iterate): Likewise.
41027 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
41028 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
41029 top.
41030 (acorn_partition_map_get_name): Add 1 into P->INDEX.
41031
41032 * kern/i386/pc/init.c (make_install_device): Add 1 into
41033 GRUB_INSTALL_DOS_PART.
41034
41035 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
41036 conditional.
41037
524a1e6a 410382006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41039
41040 Clean up the code to support 64-bit addressing in disks and
41041 files. This change is not enough for filesystems yet.
f19dbdb7 41042
524a1e6a 41043 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
41044 type of "start" to grub_uint64_t.
41045 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
41046 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
41047 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
41048 convert addresses.
41049
41050 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
41051 to grub_disk_addr_t.
41052
41053 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
41054 string.
41055
41056 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41057
41058 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
41059 to char *.
41060
41061 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
41062
41063 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
41064
41065 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
41066
41067 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
41068 to grub_off_t, to detect an error from grub_file_seek.
41069 (grub_multiboot_load_elf32): Likewise.
41070
41071 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41072 maximum unsigned long value when an overflow is detected.
41073 (grub_strtoull): New function.
41074 (grub_divmod64): Likewise.
41075 (grub_lltoa): use grub_divmod64.
41076
41077 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41078 grub_disk_addr_t.
41079 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41080 the pointer to next character. Use grub_strtoull instead of
41081 grub_strtoul.
41082 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41083 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41084 respectively.
41085
fe6b695a 41086 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41087 return value is signed.
41088 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41089 test if OFFSET is less than zero, as OFFSET is unsigned now.
41090
41091 * kern/disk.c (struct grub_disk_cache): Change the type of
41092 "sector" to grub_disk_addr_t.
41093 (grub_disk_cache_get_index): Change the type of SECTOR to
41094 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41095 unsigned after shifting.
41096 (grub_disk_cache_invalidate): Change the type of SECTOR to
41097 grub_disk_addr_t.
41098 (grub_disk_cache_unlock): Likewise.
41099 (grub_disk_cache_store): Likewise.
41100 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41101 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41102 grub_disk_addr_t and grub_uint64_t, respectively.
41103 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41104 body, as the value of OFFSET is tweaked by
41105 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41106 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41107 respectively.
41108 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41109 body, as the value of OFFSET is tweaked by
41110 grub_disk_check_range. Change the types of LEN and N to
41111 grub_size_t.
41112
41113 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41114 and "saved_offset" to grub_off_t.
41115 (test_header): Cast BUF to char *.
41116 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41117 to char *.
41118 (grub_gzio_read): Change the types of OFFSET and SIZE to
41119 grub_off_t and grub_size_t, respectively.
41120
41121 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41122 Removed.
41123 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41124 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41125 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41126 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41127 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41128
41129 * include/grub/types.h (grub_off_t): Unconditionally set to
41130 grub_uint64_t.
41131 (grub_disk_addr_t): Changed to grub_uint64_t.
41132
41133 * include/grub/partition.h (struct grub_partition): Change the
41134 types of "start", "len" and "offset" to grub_disk_addr_t,
41135 grub_uint64_t and grub_disk_addr_t, respectively.
41136 (grub_partition_get_start): Return grub_disk_addr_t.
41137 (grub_partition_get_len): Return grub_uint64_t.
41138
41139 * include/grub/misc.h (grub_strtoull): New prototype.
41140 (grub_divmod64): Likewise.
41141
41142 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41143 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41144 grub_off_t, respectively.
41145 All callers and references changed.
41146
41147 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41148 grub_size_t in "read".
41149 All callers and references changed.
41150
41151 * include/grub/file.h (struct grub_file): Change the types of
41152 "offset" and "size" to grub_off_t and grub_off_t,
41153 respectively. Change the type of SECTOR to grub_disk_addr_t in
41154 "read_hook".
41155 (grub_file_read): Change the type of LEN to grub_size_t.
41156 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41157 grub_off_t.
41158 (grub_file_size): Return grub_off_t.
41159 (grub_file_tell): Likewise.
41160 All callers and references changed.
41161
41162 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41163 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41164 "write".
41165 (struct grub_disk): Change the type of "total_sectors" to
41166 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41167 "read_hook".
524a1e6a 41168 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41169 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41170 (grub_disk_write): Likewise.
41171 All callers and references changed.
41172
41173 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41174 char * for grub_strncmp to silence gcc.
41175 (grub_iso9660_mount): Likewise.
41176 (grub_iso9660_mount): Likewise.
41177 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41178 return statement.
41179 (grub_iso9660_iterate_dir): Likewise.
41180 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41181
41182 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41183 LEN to grub_disk_addr_t and grub_size_t, respectively.
41184
41185 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41186
41187 * fs/jfs.c (grub_jfs_read_file): Likewise.
41188
41189 * fs/minix.c (grub_jfs_read_file): Likewise.
41190
41191 * fs/sfs.c (grub_jfs_read_file): Likewise.
41192
41193 * fs/ufs.c (grub_jfs_read_file): Likewise.
41194
41195 * fs/xfs.c (grub_jfs_read_file): Likewise.
41196
41197 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41198 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41199 respectively.
41200
41201 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41202 BLKNR to -1 instead of returning GRUB_ERRNO.
41203 (grub_ext2_read_file): Change the types of SECTOR and
41204 LEN to grub_disk_addr_t and grub_size_t, respectively.
41205
41206 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41207 LEN to grub_disk_addr_t and grub_size_t, respectively.
41208
41209 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41210 grub_file_read.
41211
41212 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41213 string. Do not cast SECTOR explicitly.
41214
41215 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41216 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41217 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41218 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41219 over 2TB and LBA mode is not supported, raise an error.
41220 (get_safe_sectors): New function.
41221 (grub_biosdisk_read): Use get_safe_sectors.
41222 (grub_biosdisk_write): Likewise.
41223
41224 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41225 (grub_efidisk_write): Likewise.
41226
41227 * disk/loopback.c (delete_loopback): Cosmetic changes.
41228 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41229 correctly.
41230 (grub_loopback_open): Likewise.
41231 (grub_loopback_read): Likewise. Also, change the type of POS to
41232 grub_off_t, and fix the usage of grub_memset.
41233
41234 * commands/i386/pc/play.c: Include grub/machine/time.h.
41235
41236 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41237 print FILE->SIZE.
41238
41239 * commands/configfile.c: Include grub/env.h.
41240
41241 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41242 GRUB_ERRNO directly instead. Change the type of POS to
41243 grub_off_t. Follow the coding standard.
41244
41245 * commands/blocklist.c: Include grub/partition.h.
41246 (grub_cmd_blocklist): Return an error if the underlying device is
41247 not a disk. Take the starting sector of a partition into account,
41248 if a partition is used.
41249
41250 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41251 a length field.
41252 (lba_mode): Support 64-bit addresses.
41253 (chs_mode): Likewise.
41254 (copy_buffer): Adapted to the new offsets of a length field and a
41255 segment field.
41256 (blocklist_default_start): Allocate 64-bit space.
41257
41258 * boot/i386/pc/boot.S (force_lba): Removed.
41259 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41260 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41261 space.
41262 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41263 is useless.
41264 (lba_mode): Refactored to support a 64-bit address. More size
41265 optimization.
41266 (setup_sectors): Likewise.
41267
53af98ad 412682006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41269
41270 * DISTLIST: Added include/grub/i386/linux.h. Removed
41271 include/grub/i386/pc/linux.h
41272
41273 * configure.ac (AC_INIT): Bumped to 1.94.
41274
41275 * config.guess: Updated from gnulib.
41276 * config.sub: Likewise.
41277 * install-sh: Likewise.
41278 * mkinstalldirs: Likewise.
41279
b4c1940a 412802006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41281
41282 * conf/common.rmk (grub_modules_init.lst): Depended on
41283 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41284 MODSRCFILES.
41285
41286 * genmk.rb (PModule::rule): Reverted the previous change.
41287
cfca1cfd 412882006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41289
41290 * conf/common.rmk (grub_modules_init.lst): Depends on
41291 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41292 that the target does not exist before producing.
41293 (grub_modules_init.h): Remove the target before generating.
41294 (grub_emu_init.c): Likewise.
41295
41296 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41297
aa6d7826 412982006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41299
41300 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41301 for the target-specific tests. Make sure that we also have the
41302 up-to-date target variables for those tests.
41303
26c607b9 413042006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41305
41306 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41307 (PModule::rule): Likewise.
41308
0162321a 413092006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41310
41311 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41312 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41313 target-specific flags should be prefixed.
41314 (PModule::rule): Likewise.
41315
6c826348 413162006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41317
41318 * configure.ac (CMP): Check if cmp is available explicitly.
41319
b977bf01 413202006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41321
41322 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41323 (target_cpu): New variable.
41324 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41325
b977bf01 41326 * util/i386/pc/grub-install.in (host_cpu): Removed.
41327 (target_cpu): New variable.
41328 (pkglibdir): Use target_cpu instead of host_cpu.
41329
41330 * util/genmoddep.c: Removed.
f19dbdb7 41331
b977bf01 41332 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41333 instead of GRUB_HOST_SIZEOF_VOID_P.
41334 * kern/dl.c: Likewise.
41335
41336 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41337 ...
41338 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41339 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41340 (GRUB_TARGET_SIZEOF_LONG): ... this.
41341 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41342 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41343 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41344 to ...
41345 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41346 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41347 (GRUB_TARGET_SIZEOF_LONG): ... this.
41348 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41349 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41350 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41351 to ...
41352 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41353 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41354 (GRUB_TARGET_SIZEOF_LONG): ... this.
41355 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41356 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41357
41358 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41359 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41360 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41361 instead of GRUB_HOST_SIZEOF_LONG.
41362 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41363 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41364 GRUB_CPU_WORDS_BIGENDIAN.
41365 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41366 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41367 grub_host_ssize_t.
41368
41369 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41370 (genmoddep_SOURCES): Likewise.
41371 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41372 (genmoddep_SOURCES): Likewise.
41373 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41374 (genmoddep_SOURCES): Likewise.
41375 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41376 Likewise.
41377 (genmoddep_SOURCES): Likewise.
41378
41379 * genmoddep.awk: New file.
41380
41381 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41382 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41383 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41384 (PModule::rule): Likewise.
41385 (Program::rule): Likewise.
41386 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41387 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41388 respectively.
41389
41390 * configure.ac: Rewritten intensively to use host and target
41391 instead of build and host, respectively.
41392
41393 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41394 (host_cpu): Removed.
41395 (target_cpu): New variable.
41396 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41397 (BUILD_CC): Removed.
41398 (BUILD_CFLAGS): Likewise.
41399 (BUILD_CPPFLAGS): Likewise.
41400 (TARGET_CC): New variable.
41401 (TARGET_CFLAGS): Likewise.
41402 (TARGET_CPPFLAGS): Likewise.
41403 (TARGET_LDFLAGS): Likewise.
41404 (AWK): Likewise.
41405 (include): Use target_cpu instead of host_cpu.
41406 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41407
b977bf01 41408 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41409
f09771a1 414102006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41411
41412 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41413 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41414 field 'false' to 'exec_on_false'.
41415 (grub_script_create_cmdif): Renamed argument names to reflect above
41416 changes.
41417
41418 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41419
41420 * normal/script.c (grub_script_create_cmdif): Likewise.
41421
118f4fb3 414222006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41423
41424 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41425 top.
41426 (grub_hfsplus_btree_recptr): Likewise.
41427 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41428 FILEBLOCK both to pass a block number and store next block
41429 number.
41430 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41431 overflow file correctly. Specify errors appropriately, because
41432 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41433 grub_hfsplus_btree_recptr to get the pointer to a found key.
41434 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41435 is found.
41436
41437 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41438 linux.mod.
41439 (_linux_mod_SOURCES): New variable.
41440 (_linux_mod_CFLAGS): Likewise.
41441 (_linux_mod_LDFLAGS): Likewise.
41442 (linux_mod_SOURCES): Likewise.
41443 (linux_mod_CFLAGS): Likewise.
41444 (linux_mod_LDFLAGS): Likewise.
41445
41446 * DISTLIST: Added loader/i386/efi/linux.c,
41447 loader/i386/efi/linux_normal.c and
41448 include/grub/i386/efi/loader.h.
41449
41450 * loader/i386/efi/linux.c: New file.
41451 * loader/i386/efi/linux_normal.c: Likewise.
41452 * include/grub/i386/efi/loader.h: Likewise.
41453
89a7d726 414542006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41455
41456 * commands/blocklist.c: New file.
41457
41458 * DISTLIST: Added commands/blocklist.c.
41459
41460 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41461 color for the background, and a darker color for the foreground.
89a7d726 41462 (grub_console_checkkey): Return READ_KEY.
41463 (grub_console_cls): Set the background to
41464 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41465
41466 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41467
41468 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41469 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41470
41471 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41472 prototype.
41473
41474 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41475 BG. The spec is wrong again.
41476
41477 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41478 prototype.
41479 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41480
41481 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41482 commands/blocklist.c.
41483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41484
89a7d726 41485 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41486 (blocklist_mod_SOURCES): New variable.
41487 (blocklist_mod_CFLAGS): Likewise.
41488 (blocklist_mod_LDFLAGS): Likewise.
41489
75c8f258 414902006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41491
41492 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41493 duplication.
41494 (lba_mode): Use %eax more intensively to reduce the code size.
41495
da2eb181 414962006-05-20 Marco Gerards <marco@gnu.org>
41497
41498 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41499
41500 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41501 for `menuentry'.
41502 (script): Accept leading newlines.
41503 (newlines): New rule to describe 0 or more newlines.
41504 (commands): Accept `command' with trailing newline. Fixed the
41505 order in which arguments were passed to `grub_script_add_cmd'.
41506 Accept commands separated by newlines.
41507 (function): Changed to accept newlines.
41508 (menuentry) Rewritten.
41509
41510 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41511 front of the list, instead of to the end.
41512
577b4050 415132006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41514
41515 * util/i386/pc/grub-install.in (bindir): New variable.
41516 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41517 Shaver <lbgwjl@gmail.com>.
41518
0d6e1189 415192006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41520
41521 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41522 grub/machine/linux.h
41523 * loader/i386/pc/linux.c: Likewise.
41524
41525 * include/grub/i386/pc/linux.h: Moved to ...
41526 * include/grub/i386/linux.h: ... here.
41527
41528 * include/grub/i386/linux.h (struct linux_kernel_params): New
41529 struct.
f19dbdb7 41530
31b86e9f 415312006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41532
41533 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41534 checking.
41535 (grub_video_vbe_blit_glyph): Likewise.
41536 (grub_video_vbe_blit_bitmap): Likewise.
41537 (grub_video_vbe_blit_render_target): Likewise.
41538
83b984de 415392006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41540
41541 * configure.ac (--with-platform): Properly quote the square
41542 brackets.
41543
5f0413bd 415442006-05-08 Marco Gerards <marco@gnu.org>
41545
41546 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41547 this...
41548 (kernel_elf_HEADERS): ...to this. Updated all users.
41549 (grubof_symlist.c): Renamed from this...
41550 (kernel_elf_symlist.c): ...to this. Updated all users.
41551 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41552 (grubof_SOURCES): Renamed from this...
41553 (kernel_elf_SOURCES): ...to this.
41554 (grubof_HEADERS): Renamed from this...
41555 (kernel_elf_HEADERS): ...to this.
41556 (grubof_CFLAGS): Renamed from this...
41557 (kernel_elf_CFLAGS): ...to this.
41558 (grubof_ASFLAGS): Renamed from this...
41559 (kernel_elf_ASFLAGS): ...to this.
41560 (grubof_LDFLAGS): Renamed from this...
41561 (kernel_elf_LDFLAGS): ...to this.
41562
41563 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41564 this...
41565 (kernel_elf_HEADERS): ...to this. Updated all users.
41566 (grubof_symlist.c): Renamed from this...
41567 (kernel_elf_symlist.c): ...to this. Updated all users.
41568 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41569 (grubof_SOURCES): Renamed from this...
41570 (kernel_elf_SOURCES): ...to this.
41571 (grubof_HEADERS): Renamed from this...
41572 (kernel_elf_HEADERS): ...to this.
41573 (grubof_CFLAGS): Renamed from this...
41574 (kernel_elf_CFLAGS): ...to this.
41575 (grubof_ASFLAGS): Renamed from this...
41576 (kernel_elf_ASFLAGS): ...to this.
41577 (grubof_LDFLAGS): Renamed from this...
41578 (kernel_elf_LDFLAGS): ...to this.
41579
41580 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41581 `kernel.elf' instead of `grubof'.
41582
05568c2e 415832006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41584
41585 Add --with-platform to configure. Use pkglibdir instead of
41586 pkgdatadir. This is reported by Roger Leigh.
41587
41588 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41589 (host_vendor): Likewise.
41590 (host_os): Likewise.
41591 (pkgdatadir): Likewise.
41592 (platform): New variable.
41593 (pkglibdir): Likewise.
41594 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41595
05568c2e 41596 * util/i386/pc/grub-install.in (datadir): Removed.
41597 (host_vendor): Likewise.
41598 (host_os): Likewise.
41599 (pkgdatadir): Likewise.
41600 (platform): New variable.
41601 (pkglibdir): Likewise.
41602 Use PKGLIBDIR instead of PKGDATADIR.
41603
41604 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41605 instead of GRUB_DATADIR.
41606 (main): Likewise.
41607 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41608 (main): Likewise.
41609 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41610 (main): Likewise.
41611
41612 * configure.ac (--with-platform): New option.
41613 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41614
41615 * Makefile.in: Include a makefile based on PLATFORM instead of
41616 HOST_VENDOR.
41617 (pkgdatadir): Not appended by the machine type.
41618 (pkglibdir): Appended by the machine type.
41619 (host_vendor): Removed.
41620 (platform): New variable.
41621 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41622 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41623 (uninstall): Likewise.
41624
4e93851c 416252006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41626
41627 Use the environment context in the menu. Remove the commands
41628 "default" and "timeout", and use variables instead.
f19dbdb7 41629
4e93851c 41630 * normal/menu.c: Include grub/env.h.
41631 (print_entry): Cast TITLE to silence gcc.
41632 (get_timeout): New function.
41633 (set_timeout): Likewise.
41634 (get_entry_number): Likewise.
41635 (run_menu): Use a default entry, a fallback entry and a timeout
41636 in the environment variables "default", "fallback" and
41637 "timeout". Also, tweak the default entry if it is not within the
41638 current menu entries.
41639 (grub_menu_run): Use a fallback entry in the environment variable
41640 "fallback".
41641
41642 * normal/main.c (read_config_file): Do not initialize
41643 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41644 NEWMENU->TIMEOUT.
41645 (grub_normal_execute): Use a data slot to store the menu.
41646
41647 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41648 fallback_entry and timeout.
41649 (struct grub_menu_list): Removed.
41650 (grub_menu_list_t): Likewise.
41651 (struct grub_context): Likewise.
41652 (grub_context_t): Likewise.
41653 (grub_context_get): Likewise.
41654 (grub_context_get_current_menu): Likewise.
41655 (grub_context_push_menu): Likewise.
41656 (grub_context_pop_menu): Likewise.
41657 (grub_default_init): Likewise.
41658 (grub_default_fini): Likewise.
41659 (grub_timeout_init): Likewise.
41660 (grub_timeout_fini): Likewise.
41661
41662 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41663 and timeout.mod.
41664 (normal_mod_SOURCES): Removed normal/context.c.
41665
41666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41667 commands/default.c, commands/timeout.c and normal/context.c.
41668 (normal_mod_SOURCES): Removed normal/context.c.
41669
41670 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41671 commands/timeout.c and normal/context.c.
41672 (normal_mod_SOURCES): Removed normal/context.c.
41673
41674 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41675 commands/default.c, commands/timeout.c and normal/context.c.
41676 (normal_mod_SOURCES): Removed normal/context.c.
41677
41678 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41679 timeout.mod.
41680 (default_mod_SOURCES): Removed.
41681 (default_mod_CFLAGS): Likewise.
41682 (default_mod_LDFLAGS): Likewise.
41683 (timeout_mod_SOURCES): Removed.
41684 (timeout_mod_CFLAGS): Likewise.
41685 (timeout_mod_LDFLAGS): Likewise.
41686
41687 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41688 normal/context.c.
41689
41690 * commands/default.c: Removed.
41691 * commands/timeout.c: Likewise.
41692 * normal/context.c: Likewise.
41693
1eb9cc1d 416942006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41695
41696 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41697
385bd9c1 416982006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41699
41700 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41701 "next" to "prev" for readability.
41702 (struct grub_env_sorted_var): New struct.
41703 (grub_env_context): Renamed to ...
41704 (initial_context): ... this.
41705 (grub_env_var_context): Renamed to ...
41706 (current_context): ... this.
41707 (grub_env_find): Look only at CURRENT_CONTEXT.
41708 (grub_env_context_open): Rewritten to copy exported variables from
41709 previous context.
41710 (grub_env_context_close): Rewritten according to the new
41711 scheme. Also, add an assertion to prevent the initial context from
41712 removed.
41713 (grub_env_insert): Removed the code for the sorted list.
41714 (grub_env_remove): Likewise.
41715 (grub_env_export): Simply mark the variable with
41716 GRUB_ENV_VAR_GLOBAL.
41717 (grub_env_set): A cosmetic change for naming consistency.
41718 (grub_env_get): Likewise.
41719 (grub_env_unset): Likewise.
41720 (grub_env_iterate): Rewritten to sort variables within this
41721 function.
41722 (grub_register_variable_hook): Fixed for naming consistency. Call
41723 grub_env_find again, only if NAME is not found at the first time.
41724 (mangle_data_slot_name): New function.
41725 (grub_env_set_data_slot): Likewise.
41726 (grub_env_get_data_slot): Likewise.
41727 (grub_env_unset_data_slot): Likewise.
41728
41729 * include/grub/env.h (grub_env_var_type): New enum.
41730 (GRUB_ENV_VAR_LOCAL): New constant.
41731 (GRUB_ENV_VAR_GLOBAL): Likewise.
41732 (GRUB_ENV_VAR_DATA): Likewise.
41733 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41734 "type".
41735 (grub_env_set): Replace VAR with NAME for consistency.
41736 (grub_register_variable_hook): Likewise.
41737 (grub_env_export): Specify the name of the argument.
41738 (grub_env_set_data_slot): New prototype.
41739 (grub_env_get_data_slot): Likewise.
41740 (grub_env_unset_data_slot): Likewise.
41741
7f362539 417422006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41743
41744 Extend the loader so that GRUB can accept a loader which comes
41745 back to GRUB when a loaded image exits. Also, this change adds
41746 support for a chainloader on EFI.
f19dbdb7 41747
7f362539 41748 * term/efi/console.c: Include grub/misc.h.
41749 (grub_console_checkkey): Display a scan code on the top for
41750 debugging. This will be removed once the EFI port gets stable.
41751 Correct the scan code mapping.
41752
41753 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41754 allocate memory from larger regions, in order to reduce the number
41755 of allocated regions. Otherwise, the MacOSX loader panics.
41756 (filter_memory_map): Avoid less than 1MB for compatibility with
41757 other loaders.
41758 (add_memory_regions): Allocate from the tail of a region, if
41759 possible, to avoid allocating a region near to 1MB, for the MacOSX
41760 loader.
41761
41762 * kern/efi/init.c (grub_efi_set_prefix): Specify
41763 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41764
41765 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41766 argument IMAGE_HANDLE and specify it to get a loaded image.
41767 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41768 grub_efi_get_loaded_image.
fe6b695a 41769 (grub_efi_get_filename): Divide the length by the size of
7f362539 41770 grub_efi_char16_t.
41771 (grub_efi_get_device_path): New function.
41772 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41773 the length by the size of grub_efi_char16_t for a file path device
41774 path node.
41775
41776 * kern/loader.c (grub_loader_noreturn): New variable.
41777 (grub_loader_set): Accept a new argument NORETURN. Set
41778 GRUB_LOADER_NORETURN to NORETURN.
41779 All callers changed.
41780 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41781 grub_machine_fini.
41782
41783 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41784 prototype.
41785 (grub_efi_get_loaded_image): Take an argument to specify an image
41786 handle.
41787
41788 * include/grub/loader.h (grub_loader_set): Added one more argument
41789 NORETURN.
41790
41791 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41792 instead of grub_efi_open_protocol.
41793 (grub_efidisk_get_device_name): Likewise.
41794 (grub_efidisk_close): Print a newline.
41795 (grub_efidisk_get_device_handle): Fixed to use
41796 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41797 GRUB_EFI_DEVICE_PATH_TYPE.
41798
41799 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41800 * kern/efi/efi.c (device_path_guid): ... here.
41801
41802 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41803 chain.mod.
41804 (kernel_mod_HEADERS): Added efi/disk.h.
41805 (_chain_mod_SOURCES): New variable.
41806 (_chain_mod_CFLAGS): Likewise.
41807 (_chain_mod_LDFLAGS): Likewise.
41808 (chain_mod_SOURCES): Likewise.
41809 (chain_mod_CFLAGS): Likewise.
41810 (chain_mod_LDFLAGS): Likewise.
41811
41812 * DISTLIST: Added include/grub/efi/chainloader.h,
41813 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41814
41815 * include/grub/efi/chainloader.h: New file.
41816 * loader/efi/chainloader.c: Likewise.
41817 * loader/efi/chainloader_normal.c: Likewise.
41818
c0111d6e 418192006-04-30 Marco Gerards <marco@gnu.org>
41820
41821 * commands/configfile.c (grub_cmd_source): New function.
41822 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41823 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41824
df5341da 418252006-04-30 Marco Gerards <marco@gnu.org>
41826
41827 * normal/execute.c (grub_script_execute_cmd): Change the return
41828 type to `grub_err_t'. Correctly return the error.
41829 (grub_script_execute_cmdline): In case a command line is not a
41830 command or a function, try to interpret it as an assignment.
41831
f85934bd 418322006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41833
41834 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41835 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41836 skip a node whose name is obviously invalid as UTF-16,
41837 i.e. contains a NUL character. Stop the iteration when the last
41838 directory entry is found. Instead of using the return value of
41839 grub_hfsplus_btree_iterate_node, store the value in RET and use
41840 it, because the iterator can be stopped by the last directory
41841 entry.
41842
8f8a2cf8 418432006-04-30 Marco Gerards <marco@gnu.org>
41844
41845 * include/grub/env.h (grub_env_export): New prototype. Reported
41846 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41847
a27e84ce 418482006-04-30 Marco Gerards <marco@gnu.org>
41849
41850 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41851 size of the extents in a catalog file record.
41852
eaef0553 418532006-04-29 Marco Gerards <marco@gnu.org>
41854
41855 * commands/configfile.c (grub_cmd_configfile): Execute the
41856 configfile within its own context.
41857
41858 * include/grub/env.h (grub_env_context_open): New prototype.
41859 (grub_env_context_close): Likewise.
41860
41861 * kern/env.c (grub_env): Removed.
41862 (grub_env_sorted): Likewise.
41863 (grub_env_context): New variable.
41864 (grub_env_var_context): Likewise.
41865 (grub_env_find): Search both the active context and the global
41866 context.
41867 (grub_env_context_open): New function.
41868 (grub_env_context_close): Likewise.
41869 (grub_env_insert): Likewise.
41870 (grub_env_remove): Likewise.
41871 (grub_env_export): Likewise.
41872 (grub_env_set): Changed to use helper functions to avoid code
41873 duplication.
41874 (grub_env_iterate): Rewritten so both the current context and the
41875 global context are being used.
41876
41877 * normal/command.c (export_command): New function.
41878 (grub_command_init): Register the `export' function.
41879
7b455f4d 418802006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41881
41882 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41883 explicitly to suppress gcc's warnings.
41884 * fs/fat.c (grub_fat_find_dir): Likewise.
41885 (grub_fat_label): Likewise.
41886 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41887 (grub_xfs_mount): Likewise.
41888 (grub_xfs_label): Likewise.
41889 * fs/affs.c (grub_affs_mount): Likewise.
41890 (grub_affs_label): Likewise.
41891 (grub_affs_iterate_dir): Likewise.
41892 * fs/sfs.c (grub_sfs_mount): Likewise.
41893 (grub_sfs_iterate_dir): Likewise.
41894 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41895 * fs/hfs.c (grub_hfs_mount): Likewise.
41896 (grub_hfs_cmp_catkeys): Likewise.
41897 (grub_hfs_find_dir): Likewise.
41898 (grub_hfs_dir): Likewise.
41899 (grub_hfs_label): Likewise.
41900 * fs/jfs.c (grub_jfs_mount): Likewise.
41901 (grub_jfs_opendir): Likewise.
41902 (grub_jfs_getent): Likewise.
41903 (grub_jfs_lookup_symlink): Likewise.
41904 (grub_jfs_label): Likewise.
41905 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41906 (grub_hfsplus_iterate_dir): Likewise.
41907 (grub_hfsplus_btree_iterate_node): Made static.
41908
41909 * util/grub-emu.c (prefix): New variable.
41910 (grub_machine_set_prefix): New function.
41911 (main): Do not set the environment variable "prefix" here. Only
41912 set PREFIX, which is used later by grub_machine_set_prefix.
41913
41914 * include/grub/video.h: Do not include grub/symbol.h.
41915 (grub_video_register): Not exported. This symbol is not defined in
41916 the kernel.
41917 (grub_video_unregister): Likewise.
41918 (grub_video_iterate): Likewise.
41919 (grub_video_setup): Likewise.
41920 (grub_video_restore): Likewise.
41921 (grub_video_get_info): Likewise.
41922 (grub_video_get_blit_format): Likewise.
41923 (grub_video_set_palette): Likewise.
41924 (grub_video_get_palette): Likewise.
41925 (grub_video_set_viewport): Likewise.
41926 (grub_video_get_viewport): Likewise.
41927 (grub_video_map_color): Likewise.
41928 (grub_video_map_rgb): Likewise.
41929 (grub_video_map_rgba): Likewise.
41930 (grub_video_fill_rect): Likewise.
41931 (grub_video_blit_glyph): Likewise.
41932 (grub_video_blit_bitmap): Likewise.
41933 (grub_video_blit_render_target): Likewise.
41934 (grub_video_scroll): Likewise.
41935 (grub_video_swap_buffers): Likewise.
41936 (grub_video_create_render_target): Likewise.
41937 (grub_video_delete_render_target): Likewise.
41938 (grub_video_set_active_render_target): Likewise.
41939
41940 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41941 Undefined.
41942 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41943
41944 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41945 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41946 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41947 instead of $(srcdir)/genkernsyms.sh.
41948
41949 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41950 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41951 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41952 instead of $(srcdir)/genkernsyms.sh.
41953
41954 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41955 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41956 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41957 instead of $(srcdir)/genkernsyms.sh.
41958
41959 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41960 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41961 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41962 instead of $(srcdir)/genkernsyms.sh.
41963
41964 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41965 genkernsyms.sh.
41966
41967 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41968 genkernsyms.sh.
41969 (gensymlist.sh): New target.
41970 (genkernsyms.sh): Likewise.
41971
41972 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41973 genkernsyms.sh.in and gensymlist.sh.in.
41974
41975 * genkernsyms.sh: Removed.
41976 * gensymlist.sh: Likewise.
f19dbdb7 41977
7b455f4d 41978 * genkernsyms.sh.in: New file.
41979 * gensymlist.sh.in: Likewise.
41980
1885bb27 419812006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41982
41983 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41984 clobber "prefix", since we may have already set it manually.
41985
71538dff 419862006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41987
41988 * kern/misc.c (abort): New alias for grub_abort.
41989
2965c7cc 419902006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41991
41992 A new machine-specific function "grub_machine_set_prefix" is
41993 defined. This is called after loading modules, so that a prefix
41994 initialization can use modules. Also, this change adds an
41995 intensive debugging feature for the memory manager via the
41996 configure option "--enable-mm-debug".
f19dbdb7 41997
2965c7cc 41998 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41999 PART.LEN.
42000
42001 * kern/sparc64/ieee1275/init.c (abort): Removed.
42002 (grub_stop): Likewise.
42003 (grub_exit): New function.
42004 (grub_set_prefix): Renamed to ...
42005 (grub_machine_set_prefix): ... this.
42006 (grub_machine_init): Do not call grub_set_prefix.
42007
42008 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
42009 (grub_machine_set_prefix): ... this.
42010 (grub_machine_init): Do not call grub_set_prefix.
42011
42012 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
42013 (grub_machine_init): Do not set the prefix here.
42014
42015 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
42016
42017 * kern/efi/init.c: Include grub/mm.h.
42018 (grub_efi_set_prefix): New function.
42019
42020 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
42021 (grub_efi_get_filename): New function.
42022 (grub_print_device_path): Renamed to ...
42023 (grub_efi_print_device_path): ... this.
42024
42025 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
42026 [MM_DEBUG] (grub_realloc): Likewise.
42027 [MM_DEBUG] (grub_free): Likewise.
42028 [MM_DEBUG] (grub_memalign): Likewise.
42029 [MM_DEBUG] (grub_mm_debug): New variable.
42030 [MM_DEBUG] (grub_debug_malloc): New function.
42031 [MM_DEBUG] (grub_debug_free): New function.
42032 [MM_DEBUG] (grub_debug_realloc): New function.
42033 [MM_DEBUG] (grub_debug_memalign): New function.
42034
42035 * kern/misc.c (grub_abort): Print a newline to distinguish
42036 the message.
42037
42038 * kern/main.c (grub_main): Call grub_machine_set_prefix and
42039 grub_set_root_dev after loading modules. This is necessary when
42040 setting a prefix depends on modules.
42041
42042 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
42043 (grub_efi_print_device_path): ... this.
42044 (grub_efi_get_filename): New prototype.
42045 (grub_efi_set_prefix): Likewise.
42046
42047 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
42048 and grub/disk.h.
42049 (grub_efidisk_get_device_handle): New prototype.
42050 (grub_efidisk_get_device_name): Likewise.
42051
42052 * include/grub/mm.h: Include config.h.
42053 (MM_DEBUG): Removed.
42054 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
42055 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
42056 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
42057 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
42058 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
42059 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
42060 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
42061 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
42062 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
42063
42064 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
42065
42066 * disk/efi/efidisk.c: Include grub/partition.h.
42067 (iterate_child_devices): New function.
42068 (add_device): First, compare only last device path nodes, so that
42069 devices are sorted by the types.
42070 (grub_efidisk_get_device_handle): New function.
42071 (grub_efidisk_get_device_name): Likewise.
42072
42073 * configure.ac (--enable-mm-debug): New option to enable the
42074 memory manager debugging feature. This makes the binary much
42075 bigger, so is disabled by default.
42076
9cacaa17 420772006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42078
42079 Use grub_abort instead of grub_stop, and grub_exit must be
42080 define in each architecture now. Also, this change adds support
42081 for EFI disks.
f19dbdb7 42082
9cacaa17 42083 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42084 (grub_getkey): New function.
42085 (grub_term_get_current): Likewise.
42086
42087 * util/i386/pc/grub-setup.c: Include grub/term.h.
42088 (grub_getkey): New function.
42089 (grub_term_get_current): Likewise.
42090
42091 * util/misc.c (grub_stop): Renamed to ...
42092 (grub_exit): ... this.
42093
42094 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42095 (grub_exit): ... this.
42096 (grub_machine_init): Use grub_abort instead of abort.
42097 (grub_stop): Removed.
42098
42099 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42100 abort.
42101
42102 * kern/i386/pc/startup.S (grub_exit): New function.
42103 (cold_reboot): New label.
42104
42105 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42106 (grub_efi_init): Call grub_efidisk_init.
42107 (grub_efi_fini): Call grub_efidisk_fini.
42108
42109 * kern/efi/efi.c: Include grub/mm.h.
42110 (grub_efi_console_control_guid): Renamed to ...
42111 (console_control_guid): ... this.
42112 (grub_efi_loaded_image_guid): Renamed to ...
42113 (loaded_image_guid): ... this.
42114 (grub_efi_locate_handle): New function.
42115 (grub_efi_open_protocol): Likewise.
42116 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42117 GRUB_EFI_CONSOLE_CONTROL_GUID.
42118 (grub_efi_exit): Removed.
42119 (grub_stop): Likewise.
42120 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42121 (grub_exit): New function.
42122 (grub_print_device_path): Likewise.
42123
42124 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42125 (grub_enter_rescue_mode): Register "exit".
42126
42127 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42128 (grub_abort): New function.
42129
42130 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42131
42132 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42133
42134 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42135
42136 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42137 (grub_print_device_path): New prototype.
42138 (grub_efi_locate_handle): Likewise.
42139 (grub_efi_open_protocol): Likewise.
42140
42141 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42142 * disk/efi/efidisk.c: Likewise.
42143
42144 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42145
42146 * include/grub/efi/console_control.h
42147 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42148
42149 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42150 last 8 bytes as an array.
42151 (GRUB_EFI_DISK_IO_GUID): New macro.
42152 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42153 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42154 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42155 grub_uint8_t.
42156 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42157 (struct grub_efi_device_path): Rename the member "sub_type" to
42158 "subtype".
42159 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42160 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42161 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42162 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42163 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42164 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42165 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42166 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42167 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42168 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42169 (struct grub_efi_pci_device_path): New structure.
42170 (grub_efi_pci_device_path_t): New type.
42171 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42172 (struct grub_efi_pccard_device_path): New structure.
42173 (grub_efi_pccard_device_path_t): New type.
42174 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42175 (struct grub_efi_memory_mapped_device_path): New structure.
42176 (grub_efi_memory_mapped_device_path_t): New type.
42177 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42178 (struct grub_efi_vendor_device_path): New structure.
42179 (grub_efi_vendor_device_path_t): New type.
42180 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42181 (struct grub_efi_controller_device_path): New structure.
42182 (grub_efi_controller_device_path_t): New type.
42183 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42184 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42185 (struct grub_efi_acpi_device_path): New structure.
42186 (grub_efi_acpi_device_path_t): New type.
42187 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42188 (struct grub_efi_expanded_acpi_device_path): New structure.
42189 (grub_efi_expanded_acpi_device_path_t): New type.
42190 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42191 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42192 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42193 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42194 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42195 (struct grub_efi_atapi_device_path): New structure.
42196 (grub_efi_atapi_device_path_t): New type.
42197 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42198 (struct grub_efi_fibre_channel_device_path): New structure.
42199 (grub_efi_fibre_channel_device_path_t): New type.
42200 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42201 (struct grub_efi_1394_device_path): New structure.
42202 (grub_efi_1394_device_path_t): New type.
42203 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42204 (struct grub_efi_usb_device_path): New structure.
42205 (grub_efi_usb_device_path_t): New type.
42206 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42207 (struct grub_efi_usb_class_device_path): New structure.
42208 (grub_efi_usb_class_device_path_t): New type.
42209 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42210 (struct grub_efi_i2o_device_path): New structure.
42211 (grub_efi_i2o_device_path_t): New type.
42212 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42213 (struct grub_efi_mac_address_device_path): New structure.
42214 (grub_efi_mac_address_device_path_t): New type.
42215 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42216 (struct grub_efi_ipv4_device_path): New structure.
42217 (grub_efi_ipv4_device_path_t): New type.
42218 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42219 (struct grub_efi_ipv6_device_path): New structure.
42220 (grub_efi_ipv6_device_path_t): New type.
42221 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42222 (struct grub_efi_infiniband_device_path): New structure.
42223 (grub_efi_infiniband_device_path_t): New type.
42224 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42225 (struct grub_efi_uart_device_path): New structure.
42226 (grub_efi_uart_device_path_t): New type.
42227 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42228 (struct grub_efi_vendor_messaging_device_path): New structure.
42229 (grub_efi_vendor_messaging_device_path_t): New type.
42230 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42231 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42232 (struct grub_efi_hard_drive_device_path): New structure.
42233 (grub_efi_hard_drive_device_path_t): New type.
42234 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42235 (struct grub_efi_cdrom_device_path): New structure.
42236 (grub_efi_cdrom_device_path_t): New type.
42237 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42238 (struct grub_efi_vendor_media_device_path): New structure.
42239 (grub_efi_vendor_media_device_path_t): New type.
42240 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42241 (struct grub_efi_file_path_device_path): New structure.
42242 (grub_efi_file_path_device_path_t): New type.
42243 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42244 (struct grub_efi_protocol_device_path): New structure.
42245 (grub_efi_protocol_device_path_t): New type.
42246 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42247 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42248 (struct grub_efi_bios_device_path): New structure.
42249 (grub_efi_bios_device_path_t): New type.
42250 (struct grub_efi_disk_io): New structure.
42251 (grub_efi_disk_io_t): New type.
42252 (struct grub_efi_block_io_media): New structure.
42253 (grub_efi_block_io_media_t): New type.
42254 (struct grub_efi_block_io): New structure.
42255 (grub_efi_block_io_t): New type.
42256
42257 * include/grub/misc.h (grub_stop): Removed.
42258 (grub_exit): New prototype.
42259 (grub_abort): Likewise.
42260
42261 * include/grub/disk.h (enum grub_disk_dev_id): Added
42262 GRUB_DISK_DEVICE_EFIDISK_ID.
42263
42264 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42265 disk/efi/efidisk.c.
42266 (kernel_syms.lst): Remove the target if an error occurs.
42267
49986a9f 422682006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42269
42270 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42271 as it was simply too buggy.
42272
970d3b8a 422732006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42274
42275 * kern/misc.c (grub_lltoa): New function.
42276 (grub_vsprintf): Added support for the long long suffix,
42277 i.e. "ll".
42278
ff04ec24 422792006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42280
42281 * Makefile.in (LDFLAGS): Add variable.
42282 (LD): Remove variable.
42283 * configure.ac: Add -m32 to LDFLAGS.
42284 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42285 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42286 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42287 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42288 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42289 variables.
42290 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42291 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42292 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42293
37e5e1a4 422942006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42295
42296 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42297 length for unknown glyph.
42298
c352d8dd 422992006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42300
2eab1c0d 42301 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42302
2eab1c0d 42303 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42304 completely. Accept one more argument DIR. The caller has changed.
42305
42306 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42307
42308 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42309 (grub_efi_loaded_image_guid): New variable.
42310 (grub_efi_get_loaded_image): New function.
42311 (grub_arch_modules_addr): Likewise.
42312
42313 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42314 prototype.
42315
42316 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42317 (struct grub_efi_loaded_image): New structure.
42318 (grub_efi_loaded_image_t): New type.
42319
423202006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42321
c352d8dd 42322 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42323 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42324 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42325
6d01d6b4 423262006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42327
42328 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42329
976a4ea0 423302006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42331
42332 * DISTLIST: Added include/grub/efi/console.h,
42333 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42334 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42335
42336 * include/grub/efi/console.h: New file.
42337 * include/grub/efi/time.h: Likewise.
42338 * include/grub/i386/efi/kernel.h: Likewise.
42339 * kern/efi/init.c: Likewise.
42340 * kern/efi/mm.c: Likewise.
42341 * term/efi/console.c: Likewise.
f19dbdb7 42342
976a4ea0 42343 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42344 (grub_stop): Removed.
42345 (grub_get_rtc): Likewise.
42346 (grub_machine_init): Simply call grub_efi_init.
42347 (grub_machine_fini): Call grub_efi_fini.
42348
42349 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42350 (grub_efi_output_string): Removed.
42351 (grub_efi_stall): New function.
42352 (grub_stop): Likewise.
42353 (grub_get_rtc): Likewise.
42354
42355 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42356 (grub_efi_stall): New prototype.
42357 (grub_efi_allocate_pages): Likewise.
42358 (grub_efi_free_pages): Likewise.
42359 (grub_efi_get_memory_map): Likewise.
42360 (grub_efi_mm_init): Likewise.
42361 (grub_efi_mm_fini): Likewise.
42362 (grub_efi_init): Likewise.
42363 (grub_efi_fini): Likewise.
42364
42365 * include/grub/i386/efi/time.h: Do not include
42366 grub/symbol.h. Include grub/efi/time.h.
42367 (GRUB_TICKS_PER_SECOND): Removed.
42368 (grub_get_rtc): Likewise.
42369
42370 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42371 Added padding. The EFI spec is buggy.
42372 (GRUB_EFI_BLACK): New macro.
42373 (GRUB_EFI_BLUE): Likewise.
42374 (GRUB_EFI_GREEN): Likewise.
42375 (GRUB_EFI_CYAN): Likewise.
42376 (GRUB_EFI_RED): Likewise.
42377 (GRUB_EFI_MAGENTA): Likewise.
42378 (GRUB_EFI_BROWN): Likewise.
42379 (GRUB_EFI_LIGHTGRAY): Likewise.
42380 (GRUB_EFI_BRIGHT): Likewise.
42381 (GRUB_EFI_DARKGRAY): Likewise.
42382 (GRUB_EFI_LIGHTBLUE): Likewise.
42383 (GRUB_EFI_LIGHTGREEN): Likewise.
42384 (GRUB_EFI_LIGHTCYAN): Likewise.
42385 (GRUB_EFI_LIGHTRED): Likewise.
42386 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42387 (GRUB_EFI_YELLOW): Likewise.
42388 (GRUB_EFI_WHITE): Likewise.
42389 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42390 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42391 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42392 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42393 (GRUB_EFI_BACKGROUND_RED): Likewise.
42394 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42395 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42396 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42397 (GRUB_EFI_TEXT_ATTR): Likewise.
42398
42399 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42400 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42401 (kernel_mod_HEADERS): Added efi/time.h.
42402
83709125 424032006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42404
42405 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42406 include/grub/efi/api.h, include/grub/efi/console_control.h,
42407 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42408 include/grub/i386/efi/time.h, kern/efi/efi.c,
42409 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42410 and util/i386/efi/grub-mkimage.c.
42411
42412 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42413
42414 * genmk.rb (PModule#rule): Do not export symbols if
42415 #{prefix}_EXPORTS is set to "no".
42416
42417 * conf/i386-efi.mk: New file.
42418 * conf/i386-efi.rmk: Likewise.
42419 * include/grub/efi/api.h: Likewise.
42420 * include/grub/efi/console_control.h: Likewise.
42421 * include/grub/efi/efi.h: Likewise.
42422 * include/grub/efi/pe32.h: Likewise.
42423 * include/grub/i386/efi/time.h: Likewise.
42424 * kern/efi/efi.c: Likewise.
42425 * kern/i386/efi/init.c: Likewise.
42426 * kern/i386/efi/startup.S: Likewise.
42427 * util/i386/efi/grub-mkimage.c: Likewise.
42428
424292006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42430
42431 * include/grub/script.h: Include <grub/parser.h> and
42432 "grub_script.tab.h".
42433 (struct grub_lexer_param): New struct.
42434 (struct grub_parser_param): Likewise.
42435 (grub_script_create_arglist): Pass the state in an argument.
42436 (grub_script_add_arglist): Likewise.
42437 (grub_script_create_cmdline): Likewise.
42438 (grub_script_create_cmdblock): Likewise.
42439 (grub_script_create_cmdif): Likewise.
42440 (grub_script_create_cmdmenu): Likewise.
42441 (grub_script_add_cmd): Likewise.
42442 (grub_script_arg_add): Likewise.
42443 (grub_script_lexer_ref): Likewise.
42444 (grub_script_lexer_deref): Likewise.
42445 (grub_script_lexer_record_start): Likewise.
42446 (grub_script_lexer_record_stop): Likewise.
42447 (grub_script_mem_record): Likewise.
42448 (grub_script_mem_record_stop): Likewise.
42449 (grub_script_malloc): Likewise.
42450 (grub_script_yylex): Likewise.
42451 (grub_script_yyparse): Likewise.
42452 (grub_script_yyerror): Likewise.
42453 (grub_script_yylex): Likewise.
42454 (grub_script_lexer_init): Return the state.
42455
42456 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42457 (grub_script_lexer_done): Likewise.
42458 (grub_script_lexer_getline): Likewise.
42459 (grub_script_lexer_refs): Likewise.
42460 (script): Likewise.
42461 (newscript): Likewise.
42462 (record): Likewise.
42463 (recording): Likewise.
42464 (recordpos): Likewise.
42465 (recordlen): Likewise.
42466 (grub_script_lexer_init): Return the state instead of setting
42467 global variables.
42468 (grub_script_lexer_ref): Use the newly added argument for state
42469 instead of globals.
42470 (grub_script_lexer_deref): Likewise.
42471 (grub_script_lexer_record_start): Likewise.
42472 (grub_script_lexer_record_stop): Likewise.
42473 (recordchar): Likewise.
42474 (nextchar): Likewise.
42475 (grub_script_yylex2): Likewise.
42476 (grub_script_yylex): Likewise.
42477 (grub_script_yyerror): Likewise.
42478
42479 * normal/parser.y (func_mem): Removed variable.
42480 (menu_entry): Likewise.
42481 (err): Likewise.
42482 (%lex-param): New parser option.
42483 (%parse-param): Likewise.
42484 (script): Always return the AST.
42485 (argument): Pass the state around.
42486 (arguments): Likewise.
42487 (grubcmd): Likewise.
42488 (commands): Likewise.
42489 (function): Likewise.
42490 (menuentry): Likewise.
42491 (if_statement): Likewise.
42492 (if): Likewise.
42493
42494 * normal/script.c (grub_script_memused): Removed variable.
42495 (grub_script_parsed): Likewise.
42496 (grub_script_malloc): Added a state argument. Use that instead of
42497 global variables.
42498 (grub_script_mem_record): Likewise.
42499 (grub_script_mem_record_stop): Likewise.
42500 (grub_script_arg_add): Likewise.
42501 (grub_script_add_arglist): Likewise.
42502 (grub_script_create_cmdline): Likewise.
42503 (grub_script_create_cmdif): Likewise.
42504 (grub_script_create_cmdmenu): Likewise.
42505 (grub_script_add_cmd): Likewise.
42506 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42507
e2a8c904 425082006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42509
42510 * normal/command.c (grub_command_init): Remove the title command.
42511
42512 * normal/lexer.c (grub_script_yylex): Renamed from this...
42513 (grub_script_yylex2): ... to this.
42514 (grub_script_yylex): New function. Temporary
42515 introduced to filter some tokens.
42516 (grub_script_yyerror): Print a newline.
42517
42518 * normal/main.c (read_config_file): Output information about the
42519 lines that contain errors. Wait for a key after all lines have
42520 been processed. Don't return an empty menu.
42521
42522 * normal/parser.y (func_mem): Don't initialize.
42523 (menu_entry): Likewise.
42524 (err): New variable.
42525 (script): Don't return anything when an error was encountered.
42526 (ws, returns): Removed rules.
42527 (argument): Disabled concatenated variable support.
42528 (arguments): Remove explicit separators.
42529 (grubcmd): Likewise.
42530 (function): Likewise.
42531 (menuentry): Likewise.
42532 (if): Likewise.
42533 (commands): Likewise. Add error handling.
42534
42535 * normal/script.c (grub_script_create_cmdline): If
42536 `grub_script_parsed' is 0, assume the parser encountered an error.
42537
c9a86192 425382006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42539
42540 * configure.ac: Add support for EFI. Fix the typo
42541 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42542
70f3b243 425432006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42544
42545 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42546 foreign multibyte characters should be shown correctly.
42547
65f201ad 425482006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42549
42550 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42551 calculation.
42552 (read_config_file): Made it to close file before returning.
42553
b4b93674 425542006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42555
42556 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42557 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42558 video/i386/pc/vbefill.c.
42559
42560 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42561 video/i386/pc/vbefill.c.
42562
42563 * include/grub/video.h (grub_video_blit_format): New enum.
42564 (grub_video_mode_info): Added new member blit_format.
42565 (grub_video_get_blit_format): New function prototype.
42566
42567 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42568 function prototype.
42569 (grub_video_vbe_map_rgb): Likewise.
42570 (grub_video_vbe_unmap_color): Likewise.
42571
42572 * include/grub/i386/pc/vbeblit.h: New file.
42573
42574 * include/grub/i386/pc/vbefill.h: New file.
42575
42576 * video/video.c (grub_video_get_blit_format): New function.
42577 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42578 (grub_video_vbe_map_rgb): Likewise.
42579 (grub_video_vbe_unmap_color): Likewise.
42580
42581 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42582 optimized fills.
42583 (grub_video_vbe_blit_render_target): Changed to use more optimized
42584 blits.
42585 (grub_video_vbe_setup): Added detection for optimized settings.
42586 (grub_video_vbe_create_render_target): Likewise.
42587
42588 * video/i386/pc/vbeblit.c: New file.
42589
42590 * video/i386/pc/vbefill.c: New file.
42591
c2379b9c 425922006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42593
42594 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42595 here...
42596
42597 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42598 parsing to support both hex and dec ranges. If filename was missing
42599 show usage information.
42600
bd0d7896 426012006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42602
42603 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42604 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42605
42606 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42607 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42608 (video_mod_SOURCES): Added.
42609 (video_mod_CFLAGS): Likewise.
42610 (video_mod_LDFLAGS): Likewise.
42611 (gfxterm_mod_SOURCES): Likewise.
42612 (gfxterm_mod_CFLAGS): Likewise.
42613 (gfxterm_mod_LDFLAGS): Likewise.
42614 (videotest_mod_SOURCES): Likewise.
42615 (videotest_mod_CFLAGS): Likewise.
42616 (videotest_mod_LDFLAGS): Likewise.
42617 (vesafb_mod_SOURCES): Removed.
42618 (vesafb_mod_CFLAGS): Likewise.
42619 (vesafb_mod_LDFLAGS): Likewise.
42620 (vga_mod_SOURCES): Likewise.
42621 (vga_mod_CFLAGS): Likewise.
42622 (vga_mod_LDFLAGS): Likewise.
42623
42624 * commands/videotest.c: New file.
42625
42626 * font/manager.c (fill_with_default_glyph): Modified to use
42627 grub_font_glyph.
42628 (grub_font_get_glyph): Likewise.
42629 (fontmanager): Renamed from this...
42630 (font_manager): ... to this.
42631
42632 * include/grub/font.h (grub_font_glyph): Added new structure.
42633 (grub_font_get_glyph): Modified to use grub_font_glyph.
42634
42635 * include/grub/misc.h (grub_abs): Added as inline function.
42636
42637 * include/grub/video.h: New file.
42638
42639 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42640 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42641 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42642 (grub_vbe_get_controller_info): Renamed from this...
42643 (grub_vbe_bios_get_controller_info): ... to this.
42644 (grub_vbe_get_mode_info): Renamed from this...
42645 (grub_vbe_bios_get_mode_info): ... to this.
42646 (grub_vbe_set_mode): Renamed from this...
42647 (grub_vbe_bios_set_mode): ... to this.
42648 (grub_vbe_get_mode): Renamed from this...
42649 (grub_vbe_bios_get_mode): ... to this.
42650 (grub_vbe_set_memory_window): Renamed from this...
42651 (grub_vbe_bios_set_memory_window): ... to this.
42652 (grub_vbe_get_memory_window): Renamed from this...
42653 (grub_vbe_bios_get_memory_window): ... to this.
42654 (grub_vbe_set_scanline_length): Renamed from this...
42655 (grub_vbe_set_scanline_length): ... to this.
42656 (grub_vbe_get_scanline_length): Renamed from this...
42657 (grub_vbe_bios_get_scanline_length): ... to this.
42658 (grub_vbe_set_display_start): Renamed from this...
42659 (grub_vbe_bios_set_display_start): ... to this.
42660 (grub_vbe_get_display_start): Renamed from this...
42661 (grub_vbe_bios_get_display_start): ... to this.
42662 (grub_vbe_set_palette_data): Renamed from this...
42663 (grub_vbe_bios_set_palette_data): ... to this.
42664 (grub_vbe_set_pixel_rgb): Removed.
42665 (grub_vbe_set_pixel_index): Likewise.
42666
42667 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42668 from this...
42669 (grub_vbe_bios_get_controller_info): ... to this.
42670 (grub_vbe_get_mode_info): Renamed from this...
42671 (grub_vbe_bios_get_mode_info): ... to this.
42672 (grub_vbe_set_mode): Renamed from this...
42673 (grub_vbe_bios_set_mode): ... to this.
42674 (grub_vbe_get_mode): Renamed from this...
42675 (grub_vbe_bios_get_mode): ... to this.
42676 (grub_vbe_set_memory_window): Renamed from this...
42677 (grub_vbe_bios_set_memory_window): ... to this.
42678 (grub_vbe_get_memory_window): Renamed from this...
42679 (grub_vbe_bios_get_memory_window): ... to this.
42680 (grub_vbe_set_scanline_length): Renamed from this...
42681 (grub_vbe_set_scanline_length): ... to this.
42682 (grub_vbe_get_scanline_length): Renamed from this...
42683 (grub_vbe_bios_get_scanline_length): ... to this.
42684 (grub_vbe_set_display_start): Renamed from this...
42685 (grub_vbe_bios_set_display_start): ... to this.
42686 (grub_vbe_get_display_start): Renamed from this...
42687 (grub_vbe_bios_get_display_start): ... to this.
42688 (grub_vbe_set_palette_data): Renamed from this...
42689 (grub_vbe_bios_set_palette_data): ... to this.
42690 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42691 getting corrupted after calling it. Added more pushes and pops.
42692 (grub_vbe_bios_set_mode): Likewise.
42693 (grub_vbe_bios_get_mode): Likewise.
42694 (grub_vbe_bios_get_memory_window): Likewise.
42695 (grub_vbe_bios_set_scanline_length): Likewise.
42696 (grub_vbe_bios_get_scanline_length): Likewise.
42697 (grub_vbe_bios_get_display_start): Likewise.
42698 (grub_vbe_bios_set_palette_data): Likewise.
42699
42700 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42701 (cl_insert): Likewise.
42702 (cl_delete): Likewise.
42703
42704 * term/gfxterm.c: New file.
42705
42706 * term/i386/pc/vesafb.c: Removed file.
42707
42708 * video/video.c: New file.
42709
42710 * video/i386/pc/vbe.c (real2pm): Added new function.
42711 (grub_video_vbe_draw_pixel): Likewise.
42712 (grub_video_vbe_get_video_ptr): Likewise.
42713 (grub_video_vbe_get_pixel): Likewise
42714 (grub_video_vbe_init): Likewise.
42715 (grub_video_vbe_fini): Likewise.
42716 (grub_video_vbe_setup): Likewise.
42717 (grub_video_vbe_get_info): Likewise.
42718 (grub_video_vbe_set_palette): Likewise.
42719 (grub_video_vbe_get_palette): Likewise.
42720 (grub_video_vbe_set_viewport): Likewise.
42721 (grub_video_vbe_get_viewport): Likewise.
42722 (grub_video_vbe_map_color): Likewise.
42723 (grub_video_vbe_map_rgb): Likewise.
42724 (grub_video_vbe_map_rgba): Likewise.
42725 (grub_video_vbe_unmap_color): Likewise.
42726 (grub_video_vbe_fill_rect): Likewise.
42727 (grub_video_vbe_blit_glyph): Likewise.
42728 (grub_video_vbe_blit_bitmap): Likewise.
42729 (grub_video_vbe_blit_render_target): Likewise.
42730 (grub_video_vbe_scroll): Likewise.
42731 (grub_video_vbe_swap_buffers): Likewise.
42732 (grub_video_vbe_create_render_target): Likewise.
42733 (grub_video_vbe_delete_render_target): Likewise.
42734 (grub_video_vbe_set_active_render_target): Likewise.
42735 (grub_vbe_set_pixel_rgb): Remove function.
42736 (grub_vbe_set_pixel_index): Likewise.
42737 (index_color_mode): Remove static variable.
42738 (active_mode): Likewise.
42739 (framebuffer): Likewise.
42740 (bytes_per_scan_line): Likewise.
42741 (grub_video_vbe_adapter): Added new static variable.
42742 (framebuffer): Likewise.
42743 (render_target): Likewise.
42744 (initial_mode): Likewise.
42745 (mode_in_use): Likewise.
42746 (mode_list): Likewise.
42747
5f97350b 427482006-03-10 Marco Gerards <marco@gnu.org>
42749
42750 * configure.ac (AC_INIT): Bumped to 1.93.
42751
42752 * DISTLIST: Added `include/grub/hfs.h'.
42753
a3c5c6f8 427542006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42755
42756 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42757 18H, which might help the BIOS falling back to next boot media.
42758
6de53d26 427592006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42760
42761 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42762 Poe Chen <poe.poechen@gmail.com>.
42763
77c4a393 427642006-01-17 Marco Gerards <marco@gnu.org>
42765
42766 * include/grub/normal.h: Include <grub/script.h>.
42767 (grub_command_list): Removed struct.
42768 (grub_command_list_t): Removed type.
42769 (grub_menu_entry): Remove members `num' and `command_list'. Add
42770 members `commands' and `sourcecode'.
42771 * include/grub/script.h: Add inclusion guards.
42772 (grub_script_cmd_menuentry): New struct.
42773 (grub_script_execute_menuentry): New prototype.
42774 (grub_script_lexer_record_start): Likewise.
42775 (grub_script_lexer_record_stop): Likewise.
42776 * normal/execute.c (grub_script_execute_menuentry): New function.
42777 * normal/lexer.c (record, recording, recordpos, recordlen): New
42778 variables.
42779 (grub_script_lexer_record_start): New function.
42780 (grub_script_lexer_record_stop): Likewise.
42781 (recordchar): Likewise.
42782 (nextchar): Likewise.
42783 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42784 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42785 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42786 (current_menu): New variable.
42787 (free_menu): Mainly rewritten.
42788 (grub_normal_menu_addentry): New function.
42789 (read_config_file): Rewritten.
42790 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42791 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42792 the menu entry.
42793 (run): Mainly rewritten.
42794 * normal/parser.y (menu_entry): New variable.
42795 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42796 (menuentry): New rule.
42797 (command): Add `menuentry'.
42798 (if_statement): Allow additional returns before `fi'.
42799 * normal/script.c (grub_script_create_cmdmenu): New function.
42800
144f1f98 428012006-01-03 Marco Gerards <marco@gnu.org>
42802
42803 * INSTALL: GNU Bison is required.
42804 * configure.ac: Rewritten the test to detect Bison.
42805 * Makefile.in (YACC): New variable. Reported by Xun Sun
42806 <xun.sun.cn@gmail.com>.
42807
af4b2d89 428082006-01-03 Marco Gerards <marco@gnu.org>
42809
42810 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42811 the HFS+ filesystem to filesystem blocks.
42812 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42813 GCC warning is silenced.
42814
15643b71 428152006-01-03 Marco Gerards <marco@gnu.org>
42816
42817 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42818 read from disk from big endian to host byte order.
42819
00905879 428202006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42821
42822 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42823 documentation.
42824 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42825 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42826 embedded HFS+ filesystem.
42827 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42828 (grub_hfs_sblock): Move from here...
42829 * include/grub/hfs.h: To here... New file.
42830 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42831 documentation.
42832 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42833 New macros.
42834 (grub_hfsplus_volheader): Change type of member `magic' to
42835 `grub_uint16_t'.
42836 (grub_hfsplus_data): Add new member `embedded_offset'.
42837 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42838 returned block.
42839 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42840 Calculate the offset.
42841
8899bc3e 428422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42843
42844 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42845 Removed.
42846 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42847
ae8c0277 428482005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42849
42850 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42851 ENV->NAME is NULL after allocating ENV->VALUE.
42852
07084456 428532005-12-25 Marco Gerards <marco@gnu.org>
42854
42855 * kern/env.c (grub_env_set): Rewritten the error handling code.
42856
4750f5f1 428572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42858
42859 * geninit.sh: Made more robust, and more portable.
42860
50214199 428612005-12-25 Marco Gerards <marco@gnu.org>
42862
42863 Add support for Apple HFS+ filesystems.
f19dbdb7 42864
50214199 42865 * fs/hfsplus.c: New file.
42866
42867 * DISTLIST: Added `fs/hfsplus.c'.
42868
42869 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42870 (hfsplus_mod_SOURCES): New variable.
42871 (hfsplus_mod_CFLAGS): Likewise.
42872 (hfsplus_mod_LDFLAGS): Likewise.
42873 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42874 (grub_setup_SOURCES): Likewise.
42875 (grub_mkdevicemap_SOURCES): Likewise.
42876 (grub_emu_SOURCES): Likewise.
42877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42878
42879 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42880
42881 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42882
befaed6c 428832005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42884
42885 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42886 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42887 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42888 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42889 normal/lexer.c, normal/parser.y, normal/script.c, and
42890 partmap/gpt.c.
42891 Removed kern/sparc64/cache.c.
42892
42893 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42894 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42895 grub_emu_init.c.
42896
42897 * configure.ac (AC_INIT): Bumped to 1.92.
42898
6a124103 428992005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42900
42901 * kern/err.c (grub_error_push): Added new function to support error
42902 stacks.
42903 (grub_error_pop): Likewise.
42904 (grub_error_stack_items): New local variable to support error stacks.
42905 (grub_error_stack_pos): Likewise.
42906 (grub_error_stack_assert): Likewise.
42907 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42908 stack depth.
42909 (grub_print_error): Added support to print errors from error stack.
42910
42911 * include/grub/err.h (grub_error_push): Added function prototype.
42912 (grub_error_pop): Likewise.
42913
be973c1b 429142005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42915
42916 * configure.ac: Accept `powerpc64' as host_cpu.
42917 (amd64): Rename to `biarch32'.
42918
42919 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42920 non-cacheline-aligned addresses.
42921
42922 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42923 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42924 if `size' is non-zero.
42925
b04216ab 429262005-12-03 Marco Gerards <mgerards@xs4all.nl>
42927
42928 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42929 and `cd' to make sure the filename is not prefixed with a
42930 directory name.
42931 (pkgdata_MODULES): Add `gpt.mod'.
42932 (gpt_mod_SOURCES): New variable.
42933 (gpt_mod_CFLAGS): Likewise.
42934 (gpt_mod_LDFLAGS): Likewise.
42935
42936 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42937
42938 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42939 New macro.
42940
42941 * partmap/gpt.c: New file.
42942
42943 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42944 GPT partition map is detected.
42945
41730ed9 429462005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42947
42948 * commands/i386/pc/play.c: New file.
42949 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42950 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42951 macros.
f19dbdb7 42952
95dc3643 429532005-11-27 Marco Gerards <mgerards@xs4all.nl>
42954
42955 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42956 ((unused))' to silence gcc warning.
42957
1569ec51 429582005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42959
42960 * configure.ac: Correct `AC_PROG_YACC' test.
42961
9abde152 429622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42963
42964 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42965 check before installing files.
42966
44b83271 429672005-11-22 Mike Small <smallm@panix.com>
42968
42969 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42970 number regex so multidigit numbers are recognized correctly.
42971
429722005-11-22 Mike Small <smallm@panix.com>
42973
42974 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42975 debugging message before attempting to claim memory.
42976 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42977 multiple addresses in case of failure.
42978
9c12956b 429792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42980
42981 * term/tparm.c (get_space): Remove empty `if' statement.
42982
42983 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42984
42985 * kern/parser.c (check_varstate): Rename `state' to 's'.
42986
aeaf81d9 429872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42988
42989 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42990 variable definitions to the beginning of each function. Sort stack
42991 variables by size.
42992 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42993 `buf' argument to `char *'.
42994
79bbb63f 429952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42996
42997 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42998 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42999 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 43000 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43001 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43002 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43003 configfile.mod, search.mod, gzio.mod and test.mod.
43004 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43005 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43006 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43007 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43008 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43009 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43010 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43011 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43012 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43013 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43014 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43015 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43016 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43017 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43018 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43019 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43020 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43021 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43022 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43023 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43024 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43025 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43026 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
43027
43028 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
43029 `grep --include'.
43030 (pkgdata_MODULES): Add test.mod.
43031
233b1628 430322005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43033
43034 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
43035 appending to variables with "+=".
43036 (PModule): Use full pathname to generate *.lst filenames.
43037
43038 * Makefile.in: Fixed list rules moved from genmk.rb.
43039 (.DELETE_ON_ERROR): New special target.
43040 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
43041
43042 * conf/i386-pc.rmk: Include conf/common.mk.
43043 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 43044 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 43045 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
43046 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
43047 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
43048 configfile.mod, search.mod, gzio.mod and test.mod.
43049 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
43050 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
43051 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
43052 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
43053 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
43054 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
43055 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
43056 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
43057 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
43058 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
43059 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43060 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43061 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
43062 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
43063 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
43064 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
43065 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43066 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
43067 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
43068 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43069 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43070 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43071 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43072 here...
43073 * conf/common.rmk: ... to here. New file.
43074
43075 * conf/common.mk: New file.
43076
16f820c8 430772005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43078
43079 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43080 (grub_script.tab.c): ... here.
43081
43082 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43083 (grub_script.tab.c): ... here.
43084
43085 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43086 (grub_script.tab.c): ... here.
43087
43088 * normal/command.c (grub_command_find): Fixed a memory leak of
43089 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43090
63ba1554 430912005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43092
43093 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43094 "@" which marks the start of a comment on ARM.
43095 (VARIABLE): Likewise.
43096
7f67dc13 430972005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43098
79bbb63f 43099 Add support for Linux/ADFS partition tables.
7f67dc13 43100
43101 * partmap/acorn.c: New file.
43102
43103 * include/grub/acorn_filecore.h: Likewise.
43104
43105 * DISTLIST: Added `partmap/acorn.c' and
43106 `include/grub/acorn_filecore.h'.
f19dbdb7 43107
7f67dc13 43108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43109 `partmap/acorn.c'.
43110 (pkgdata_MODULES): Add `acorn.mod'.
43111 (acorn_mod_SOURCES): New variable.
43112 (acorn_mod_CFLAGS): Likewise.
43113
43114 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43115 `partmap/acorn.c'.
43116 (pkgdata_MODULES): Add `acorn.mod'.
43117 (acorn_mod_SOURCES): New variable.
43118 (acorn_mod_CFLAGS): Likewise.
43119
43120 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43121 (pkgdata_MODULES): Add `acorn.mod'.
43122 (acorn_mod_SOURCES): New variable.
43123 (acorn_mod_CFLAGS): Likewise.
43124 (acorn_mod_LDFLAGS): Likewise.
43125
43126 * include/types.h (grub_disk_addr_t): New typedef.
43127
6d099807 431282005-11-13 Marco Gerards <mgerards@xs4all.nl>
43129
43130 * geninit.sh: New file.
43131
43132 * geninitheader.sh: Likewise.
43133
43134 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43135 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43136 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43137 * commands/configfile.c (grub_configfile_init)
43138 (grub_configfile_fini): Likewise.
43139 * commands/default.c (grub_default_init, grub_default_fini):
43140 Likewise.
43141 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43142 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43143 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43144 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43145 Likewise.
43146 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43147 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43148 Likewise.
43149 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43150 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43151 Likewise.
43152 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43153 Likewise.
fe6b695a 43154 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43155 Likewise.
43156 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43157 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43158 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43159 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43160 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43161 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43162 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43163 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43164 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43165 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43166 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43167 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43168 * partmap/amiga.c (grub_amiga_partition_map_init)
43169 (grub_amiga_partition_map_fini): Likewise.
43170 * partmap/apple.c (grub_apple_partition_map_init)
43171 (grub_apple_partition_map_fini): Likewise.
43172 * partmap/pc.c (grub_pc_partition_map_init)
43173 (grub_pc_partition_map_fini): Likewise.
43174 * partmap/sun.c (grub_sun_partition_map_init,
43175 grub_sun_partition_map_fini): Likewise.
43176 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43177 Likewise.
43178
43179 * util/grub-emu.c: Include <grub_modules_init.h>.
43180 (main): Don't initialize and de-initialize any modules directly,
43181 use `grub_init_all' and `grub_fini_all' instead.
43182
43183 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43184 `grub_vesafb_mod_init'.
43185 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43186 all users.
43187 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43188 `grub_vga_mod_init'. Updated all users.
43189 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43190
6d099807 43191 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43192 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43193 rules.
43194
43195 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43196 Generate a function to initialize the module in utilities.
43197 Updated all callers.
43198 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43199 initialize the module in utilities. Updated all callers.
43200
9046bcf0 432012005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43202
43203 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43204 escape sequence and a literal ^L to clear the screen.
43205
43206 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43207 when returning from Open Firmware.
43208
d13ea639 432092005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43210
43211 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43212 (grub_ofconsole_height): Likewise.
43213 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43214 manually insert a '\n'.
43215 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43216 `grub_ofconsole_height'. Return early if these are already set.
43217
a8fcf206 432182005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43219
43220 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43221 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43222 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43223 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43224 and `normal/script.c'.
43225 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43226 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43227 (test_mod_SOURCES): New variable.
43228 (test_mod_CFLAGS): Likewise.
43229 (test_mod_LDFLAGS): Likewise.
43230 (pkgdata_MODULES): Add `test.mod'.
43231 (grub_script.tab.c): New rule.
43232 (grub_script.tab.h): Likewise.
43233
b6b32745 432342005-11-07 Marco Gerards <mgerards@xs4all.nl>
43235
43236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43237 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43238 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43239 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43240 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43241 (test_mod_SOURCES): New variable.
43242 (test_mod_CFLAGS): Likewise.
43243 (pkgdata_MODULES): Add `test.mod'.
43244 (grub_script.tab.c): New rule.
43245 (grub_script.tab.h): Likewise.
43246
daac212a 432472005-11-06 Marco Gerards <mgerards@xs4all.nl>
43248
43249 Add initial scripting support.
43250
43251 * commands/test.c: New file.
43252 * include/grub/script.h: Likewise.
43253 * normal/execute.c: Likewise.
43254 * normal/function.c: Likewise.
43255 * normal/lexer.c: Likewise.
43256 * normal/parser.y: Likewise.
43257 * normal/script.c: Likewise.
43258
43259 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43260
daac212a 43261 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43262 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43263 `normal/function.c' and `normal/script.c'.
43264 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43265 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43266 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43267 variables.
daac212a 43268 (pkgdata_MODULES): Add `test.mod'.
43269 (grub_script.tab.c): New rule.
43270 (grub_script.tab.h): Likewise.
43271
43272 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43273
43274 * include/grub/normal.h (grub_test_init): New prototype.
43275 (grub_test_fini): Likewise.
f19dbdb7 43276
daac212a 43277 * normal/command.c: Include <grub/script.h>.
43278 (grub_command_execute): Rewritten.
f19dbdb7 43279
daac212a 43280 * util/grub-emu.c (main): Call `grub_test_init' and
43281 `grub_test_fini'.
43282
77500b2b 432832005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43284
43285 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43286 to 0.
43287 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43288 there are no pending characters.
43289
e45deb9e 432902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43291
43292 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43293 `grub_strndup' to drop device arguments. Replace unnecessary
43294 `grub_strndup' with `grub_strdup'.
43295
4ce32619 432962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43297
43298 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43299 `debug' environment variable has been set.
43300
433012005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43302
4ce32619 43303 * Makefile.in (install-local): Use $(DATA).
43304 (uninstall): Likewise.
43305 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43306 (sbin_UTILITIES): ... to here.
43307 (sbin_SCRIPTS): New variable.
43308 (grub_install_SOURCES): New variable.
43309 * util/powerpc/ieee1275/grub-install.in: New file.
43310 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43311 variable.
43312 (add_segments): Call `grub_util_get_path'.
43313
25fe6f03 433142005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43315
43316 From Timothy Baldwin:
43317 * commands/ls.c (grub_ls_list_files): Close FILE with
43318 grub_file_close.
43319 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43320
04ccf3ec 433212005-10-24 Marco Gerards <mgerards@xs4all.nl>
43322
43323 * include/grub/parser.h: New file.
43324
43325 * kern/parser.c: Likewise.
43326
43327 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43328 (grub_setup_SOURCES): Likewise.
43329 (grub_probefs_SOURCES): Likewise.
43330 (grub_emu_SOURCES): Likewise.
43331 (kernel_img_HEADERS): Add `parser.h'.
43332
43333 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43334 (grub_emu_SOURCES): Add `kern/parser.c'.
43335 (grubof_SOURCES): Likewise.
43336
43337 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43338 (grubof_SOURCES): Add `kern/parser.c'.
43339
43340 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43341
43342 * kern/misc.c (grub_split_cmdline): Removed function.
43343
43344 * kern/rescue.c: Include <grub/parser.h>.
43345 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43346 of `grub_split_cmdline'.
43347
43348 * normal/command.c: Include <grub/parser.h>.
43349 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43350 of `grub_split_cmdline'.
43351
43352 * normal/completion.c: Include <grub/parser.h>.
43353 (cmdline_state): New variable.
43354 (iterate_dir): End the filename with a quote depending on the
43355 command line state.
43356 (get_state): new function.
43357 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43358 split the arguments and determine the current argument. When the
43359 argument string is not quoted, escape all spaces.
43360
6d8f4b0e 433612005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43362
43363 * normal/sparc64/setjmp.S: New file.
43364
15cf03ed 433652005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43366
43367 * include/grub/sparc64/libgcc.h: New file.
43368 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43369 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43370 normal/sparc64/setjmp.c.
43371
03e8661a 433722005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43373
43374 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43375 * kern/sparc64/cache.S: New file.
43376 * kern/sparc64/cache.c: Removed.
43377 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43378 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43379 -mtune=ultrasparc.
43380 (COMMON_LDFLAGS): Add -melf64_sparc.
43381 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43382 (grubof_SOURCES): Use cache.S instead of cache.c.
43383 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43384 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43385 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43386 commented though.
43387 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43388 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43389 (linux_mod_CFLAGS): Commented out.
43390 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43391 out because module isn't built.
43392 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43393 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43394 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43395 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43396 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43397 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43398 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43399 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43400 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43401 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43402 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43403 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43404 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43405 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43406
34eeec8a 434072005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43408
43409 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43410 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43411 longer, because HFS should not be used on PC.
43412
708367a3 434132005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43414
43415 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43416 consistently within the loop.
43417
6fa1251a 434182005-10-15 Marco Gerards <mgerards@xs4all.nl>
43419
43420 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43421 directory can not be read.
43422
4801580b 434232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43424
43425 * configure.ac (AC_INIT): Increase the version number to 1.91.
43426
43427 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43428 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43429 term/i386/pc/serial.c.
43430
219ad426 434312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43432
43433 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43434 file size must be permitted.
43435
43436 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43437 between %ah and %al.
43438
688e5699 434392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43440
43441 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43442 grub_uint64_t.
43443 Call the hook with a NUL-terminated filename.
43444 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43445 grub_cpu_to_be32.
43446
43447 * kern/term.c (cursor_state): New variable.
43448 (grub_term_set_current): Reset the cursor state on a new
43449 terminal.
43450 (grub_setcursor): Rewritten to use CURSOR_STATE.
43451 (grub_getcursor): New function.
43452
43453 * include/grub/term.h (grub_getcursor): New prototype.
43454
43455 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43456 integers on ARM. Reported by Timothy Baldwin
43457 <T.E.Baldwin99@members.leeds.ac.uk>.
43458
bb34586c 434592005-10-11 Marco Gerards <mgerards@xs4all.nl>
43460
43461 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43462 allocated.
43463 (grub_sfs_dir): Likewise.
43464
9a909877 434652005-10-09 Marco Gerards <mgerards@xs4all.nl>
43466
43467 Add support for the SFS filesystem.
43468
43469 * fs/sfs.c: New file.
43470
43471 * DISTLIST: Added `fs/sfs.c'.
43472
43473 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43474 (grub_probefs_SOURCES): Likewise.
43475 (grub_emu_SOURCES): Likewise.
43476 (pkgdata_MODULES): Add `sfs.mod'.
43477 (sfs_mod_SOURCES): New variable.
43478 (sfs_mod_CFLAGS): Likewise.
43479 (sfs_mod_LDFLAGS): Likewise.
43480
43481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43482 (pkgdata_MODULES): Add `sfs.mod'.
43483 (sfs_mod_SOURCES): New variable.
43484 (sfs_mod_CFLAGS): Likewise.
43485
43486 * util/grub-emu.c (main): Call `grub_sfs_init' and
43487 `grub_sfs_fini'.
43488
43489 * include/grub/fs.h (grub_sfs_init): New prototype.
43490 (grub_sfs_fini): Likewise.
43491
57bdbde3 434922005-10-07 Marco Gerards <mgerards@xs4all.nl>
43493
43494 Add support for the AFFS filesystem.
43495
43496 * fs/affs.c: New file.
43497
43498 * DISTLIST: Added `fs/affs.c'.
43499
43500 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43501 (grub_probefs_SOURCES): Likewise.
43502 (grub_emu_SOURCES): Likewise.
43503 (pkgdata_MODULES): Add `affs.mod'.
43504 (affs_mod_SOURCES): New variable.
43505 (affs_mod_CFLAGS): Likewise.
43506 (affs_mod_LDFLAGS): Likewise.
43507
43508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43509 (pkgdata_MODULES): Add `affs.mod'.
43510 (affs_mod_SOURCES): New variable.
43511 (affs_mod_CFLAGS): Likewise.
43512
43513 * util/grub-emu.c (main): Call `grub_affs_init' and
43514 `grub_affs_fini'.
43515
43516 * include/grub/fs.h (grub_affs_init): New prototype.
43517 (grub_affs_fini): Likewise.
43518
047b67e0 435192005-10-01 Marco Gerards <mgerards@xs4all.nl>
43520
43521 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43522
59b8208a 435232005-10-01 Marco Gerards <mgerards@xs4all.nl>
43524
43525 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43526 `-m32' to CFLAGS.
43527
43528 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43529 linking.
f19dbdb7 43530
59b8208a 43531 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43532 (COMMON_LDFLAGS): New variable.
43533 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43534 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43535 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43536 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43537 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43538 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43539 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43540 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43541 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43542 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43543 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43544 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43545 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43546 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43547 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43548 variables.
43549 (normal_mod_ASFLAGS): Add `-m32'.
43550
43551 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43552 (grub_host_size_t, grub_host_ssize_t): New types.
43553 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43554 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43555 `GRUB_HOST_SIZEOF_VOID_P'.
43556
43557 * include/grub/kernel.h (struct grub_module_header): Type of
43558 member offset changed to `grub_host_off_t'. Type of member size
43559 changed to `grub_host_size_t'.
43560 (struct grub_module_info): Type of member offset changed to
43561 `grub_host_off_t'. Type of member size changed to
43562 `grub_host_size_t'.
43563
b4093103 435642005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43565
43566 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43567
b4093103 43568 * kern/i386/pc/startup.S (multiboot_header): New label.
43569 (multiboot_entry): Likewise.
43570 (multiboot_trampoline): Likewise.
43571
43572 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43573 Increased to 0x4A0.
43574
43575 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43576 put parentheses after a question mark.
43577 [!GRUB_UTIL] (my_mod): New variable.
43578
43579 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43580
b2499b29 435812005-09-28 Marco Gerards <mgerards@xs4all.nl>
43582
43583 Adds support for the XFS filesystem. Btrees are not supported
43584 yet.
43585
43586 * fs/xfs.c: New file.
43587
43588 * DISTLIST: Added `fs/xfs.c'.
43589
43590 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43591 (grub_probefs_SOURCES): Likewise.
43592 (grub_emu_SOURCES): Likewise.
43593 (pkgdata_MODULES): Add `xfs.mod'.
43594 (xfs_mod_SOURCES): New variable.
43595 (xfs_mod_CFLAGS): Likewise.
43596
43597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43598 (pkgdata_MODULES): Add `xfs.mod'.
43599 (xfs_mod_SOURCES): New variable.
43600 (xfs_mod_CFLAGS): Likewise.
43601
43602 * util/grub-emu.c (main): Call `grub_xfs_init' and
43603 `grub_xfs_fini'.
43604
43605 * include/grub/fs.h (grub_xfs_init): New prototype.
43606 (grub_xfs_fini): Likewise.
43607
f19dbdb7 43608
83d37a62 436092005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43610
43611 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43612 color modes, allow greater than 16 colors to be configured as
43613 a default palette.
43614
47d2d65e 436152005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43616
43617 * normal/completion.c (complete_arguments): Add the qualifier
43618 const into OPTIONS.
43619
43620 From Omniflux <omniflux+lists@omniflux.com>:
43621 * include/grub/terminfo.h: New file.
43622 * include/grub/tparm.h: Likewise.
43623 * include/grub/i386/pc/serial.h: Likewise.
43624 * term/terminfo.c: Likewise.
43625 * term/tparm.c: Likewise.
43626 * term/i386/pc/serial.c: Likewise.
43627 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43628 serial.mod.
43629 (terminfo_mod_SOURCES): New variable.
43630 (terminfo_mod_CFLAGS): Likewise.
43631 (serial_mod_SOURCES): Likewise.
43632 (serial_mod_CFLAGS): Likewise.
43633
48b671ff 436342005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43635
43636 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43637 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43638 and kern/powerpc/ieee1275/cmain.c, respectively.
43639
43640 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43641 * kern/powerpc/ieee1275/crt0.S: ... here.
43642
43643 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43644 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43645
48b671ff 43646 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43647 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43648 instead of boot/powerpc/ieee1275/crt0.S and
43649 boot/powerpc/ieee1275/cmain.c, respectively.
43650
43651 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43652 sectors. It was not used anyway.
43653
09fc77a7 436542005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43655
43656 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43657 `unused parameter' warning.
43658
003789c7 436592005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43660
43661 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43662 function.
43663 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43664 getcharwidth.
43665
67f44c86 436662005-08-28 Marco Gerards <metgerards@student.han.nl>
43667
43668 * include/grub/normal.h (enum grub_completion_type): Added
43669 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43670
43671 * normal/cmdline.c (print_completion): Handle
43672 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43673 * normal/menu_entry.c (store_completion): Likewise.
43674
43675 * normal/completion.c (complete_arguments): New function.
43676 (grub_normal_do_completion): Call `complete_arguments' when the
43677 current words start with a dash.
43678
0b5abe02 436792005-08-27 Marco Gerards <metgerards@student.han.nl>
43680
43681 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43682 `gzio.mod' instead of `io.mod').
43683
d9864ee1 436842005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43685
43686 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43687 (DISTDIRS): Added io and video.
43688 Rewrite the search routine to make an output consistently.
43689
43690 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43691 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43692 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43693 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43694 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43695 util/powerpc/ieee1275/misc.c.
f19dbdb7 43696
d9864ee1 43697 * include/grub/gzio.h: New file.
43698 * io/gzio.c: Likewise.
f19dbdb7 43699
d9864ee1 43700 * kern/file.c (grub_file_close): Call grub_device_close only if
43701 FILE->DEVICE is not NULL.
43702
43703 * include/grub/mm.h [!NULL] (NULL): New macro.
43704
43705 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43706
43707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43708 (pkgdata_MODULES): Added gzio.mod.
43709 (gzio_mod_SOURCES): New variable.
43710 (gzio_mod_CFLAGS): Likewise.
43711
43712 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43713 (pkgdata_MODULES): Added gzio.mod.
43714 (gzio_mod_SOURCES): New variable.
43715 (gzio_mod_CFLAGS): Likewise.
43716
43717 * commands/cat.c: Include grub/gzio.h.
43718 (grub_cmd_cat): Use grub_gzfile_open instead of
43719 grub_file_open.
f19dbdb7 43720
d9864ee1 43721 * commands/cmp.c: Include grub/gzio.h.
43722 (grub_cmd_cmp): Use grub_gzfile_open instead of
43723 grub_file_open.
43724
43725 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43726 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43727 grub_file_open.
43728 (grub_rescue_cmd_module): Likewise.
43729
fa46f4b5 437302005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43731
43732 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43733 kern/sparc64/ieee1275/init.c because it contains _start.
43734 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43735
e9211b5d 437362005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43737
43738 * configure.ac: Add support for sparc64 host with ieee1275
43739 firmware.
43740 * configure: Generated from configure.ac.
43741 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43742 instead of int.
43743 (grub_ofdisk_read): Likewise.
43744 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43745 pointers as (void *) to remove a warning.
43746 (grub_ofdisk_close): Likewise.
43747 (grub_ofdisk_read): Likewise.
43748 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43749 returns, so make it return void to remove a warning.
43750 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43751 Corresponding prototype change.
43752 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43753 values, and cast the pointers as (void *) to remove a warning.
43754 (grub_mm_dump): Likewise.
43755 * conf/sparc64-ieee1275.mk: New file.
43756 * conf/sparc64-ieee1275.rmk: Likewise.
43757 * include/grub/sparc64/setjmp.h: Likewise.
43758 * include/grub/sparc64/types.h: Likewise.
43759 * include/grub/sparc64/ieee1275/console.h: Likewise.
43760 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43761 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43762 * include/grub/sparc64/ieee1275/time.h: Likewise.
43763 * kern/sparc64/cache.c: Likewise.
43764 * kern/sparc64/dl.c: Likewise.
43765 * kern/sparc64/ieee1275/init.c: Likewise.
43766 * kern/sparc64/ieee1275/openfw.c: Likewise.
43767
385c6a92 437682005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43769
43770 * util/console.c (grub_ncurses_putchar): If C is greater than
43771 0x7f, set C to a question mark.
43772 (grub_ncurses_getcharwidth): New function.
43773 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43774 getcharwidth.
43775
43776 * normal/menu.c (print_entry): Made aware of Unicode. First,
43777 convert TITLE to UCS-4, and predict the cursor position by
43778 grub_getcharwidth.
43779
43780 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43781 const to SRC.
43782 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43783
16ccb8b1 437842005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43785
43786 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43787 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43788 grub_strcat.
43789
43790 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43791 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43792 grub_strcpy and grub_strlen. Take it into account that a space
43793 character is inserted as a delimiter.
43794
6a85ce79 437952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43796
43797 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43798 invalid magic in the error.
6a85ce79 43799
43800 * commands/search.c: New file.
f19dbdb7 43801
6a85ce79 43802 * util/grub-emu.c (main): Call grub_search_init and
43803 grub_search_fini.
43804
43805 * kern/rescue.c (grub_rescue_print_disks): Removed.
43806 (grub_rescue_print_devices): New function.
43807 (grub_rescue_cmd_ls): Use grub_device_iterate with
43808 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43809 grub_rescue_print_disks.
43810
43811 * kern/partition.c (grub_partition_iterate): Return the result of
43812 PARTMAP->ITERATE instead of GRUB_ERRNO.
43813
43814 * kern/device.c: Include grub/partition.h.
43815 (grub_device_iterate): New function.
43816
43817 * include/grub/partition.h (grub_partition_iterate): Return int
43818 instead of grub_err_t.
43819
43820 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43821 prototype.
43822 [GRUB_UTIL] (grub_search_fini): Likewise.
43823
43824 * include/grub/device.h (grub_device_iterate): New prototype.
43825
43826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43827 commands/search.c.
43828 (pkgdata_MODULES): Added search.mod.
43829 (search_mod_SOURCES): New variable.
43830 (search_mod_CFLAGS): Likewise.
43831
43832 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43833 (pkgdata_MODULES): Added search.mod.
43834 (search_mod_SOURCES): New variable.
43835 (search_mod_CFLAGS): Likewise.
43836
43837 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43838 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43839 All callers changed.
43840
43841 * DISTLIST: Added commands/search.c.
43842
ef095434 438432005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43844
43845 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43846 conversion.
43847 (grub_getcharwidth): New function.
43848
43849 * kern/misc.c (grub_utf8_to_ucs4): New function.
43850
43851 * include/grub/term.h (struct grub_term): Added a new member
43852 "getcharwidth".
43853 (grub_getcharwidth): New prototype.
43854
43855 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43856
43857 * term/i386/pc/console.c (map_char): New function. Segregated from
43858 grub_console_putchar.
43859 (grub_console_putchar): Use map_char.
43860 (grub_console_getcharwidth): New function.
43861 (grub_console_term): Specified grub_console_getcharwidth as
43862 getcharwidth.
43863
43864 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43865 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43866
43867 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43868 GRUB_ERRNO.
43869 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43870 on grub_strtoul completely.
43871 (write_char): Declare local variables in the beginning of the
43872 function.
43873 (grub_vesafb_getcharwidth): New function.
43874 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43875 getcharwidth.
43876
1f0a95e4 438772005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43878
43879 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43880 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43881 commands/i386/pc/vbetest.c.
43882
43883 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43884 call grub_vbe_get_controller_info again, because the returned
43885 information is volatile.
43886 (grub_vbe_set_video_mode): Mostly rewritten.
43887 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43888 grub_vbe_status_t correctly.
43889 (grub_vbe_get_video_mode_info): Likewise.
43890 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43891 several if statements.
43892
43893 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43894 * commands/i386/pc/vbeinfo.c: ... this.
43895
43896 * commands/i386/pc/vbe_test.c: Renamed to ...
43897 * commands/i386/pc/vbetest.c: ... this.
43898
43899 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43900 ...
43901 (grub_cmd_vbeinfo): ... this. Save video modes before
43902 iterating. Skip a video mode, if it is not available, not enough
43903 information is given or it is monochrome. Show the memory
43904 model. Leave the interpretation of MODEVAR to grub_strtoul
43905 completely.
43906 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43907 (GRUB_MOD_FINI): Likewise.
43908
43909 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43910 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43911 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43912 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43913 grub_strtoul completely.
43914 (real2pm): Removed.
43915 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43916 (GRUB_MOD_FINI): Likewise.
43917
43918 * normal/misc.c: Include grub/mm.h.
43919
43920 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43921 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43922 (vbe_list_modes_mod_SOURCES): Removed.
43923 (vbe_list_modes_mod_CFLAGS): Likewise.
43924 (vbe_test_mod_SOURCES): Likewise.
43925 (vbe_test_mod_CFLAGS): Likewise.
43926 (vbeinfo_mod_SOURCES): New variable.
43927 (vbeinfo_mod_CFLAGS): Likewise.
43928 (vbetest_mod_SOURCES): Likewise.
43929 (vbetest_mod_CFLAGS): Likewise.
43930
992ffbbe 439312005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43932
43933 * normal/misc.c: New file.
43934
43935 * DISTLIST: Added normal/misc.c.
f19dbdb7 43936
992ffbbe 43937 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43938 DISK to HOOK. Call HOOK with DISK.
43939 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43940 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43941 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43942
43943 * normal/menu_entry.c (struct screen): Added a new member
43944 "completion_shown".
43945 (completion_buffer): New global variable.
43946 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43947 (store_completion): New function.
43948 (complete): Likewise.
43949 (clear_completions): Likewise.
43950 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43951 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43952 a tab, call complete.
43953
43954 * normal/completion.c (disk_dev): Removed.
43955 (print_simple_completion): Likewise.
43956 (print_partition_completion): Likewise.
43957 (print_func): New global variable.
43958 (add_completion): Do not take the arguments WHAT or PRINT any
43959 longer. Added a new argument TYPE. Instead of printing directly,
43960 call PRINT_FUNC if not NULL.
43961 All callers changed.
43962 (complete_device): Use a local variable DEV instead of
43963 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43964 (grub_normal_do_completion): Take a new argument HOOK. Do not
43965 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43966 empty string, return NULL instead.
43967 All callers changed.
43968
43969 * normal/cmdline.c (print_completion): New function.
43970
43971 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43972 to HOOK.
43973 All callers changed.
43974
43975 * kern/disk.c (grub_print_partinfo): Removed.
43976
43977 * include/grub/partition.h (struct grub_partition_map): Add a new
43978 argument DISK into HOOK of ITERATE.
43979 (grub_partition_iterate): Add a new argument DISK to HOOK.
43980
43981 * include/grub/normal.h (enum grub_completion_type): New enum.
43982 (grub_completion_type_t): New type.
43983 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43984 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43985 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43986 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43987 (grub_normal_do_completion): Added a new argument HOOK.
43988 (grub_normal_print_device_info): New prototype.
43989
43990 * include/grub/disk.h (grub_print_partinfo): Removed.
43991
43992 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43993 (normal_mod_SOURCES): Likewise.
43994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43995 (normal_mod_SOURCES): Likewise.
43996
43997 * commands/ls.c (grub_ls_list_disks): Use
43998 grub_normal_print_device_info instead of grub_print_partinfo. Free
43999 PNAME.
44000 (grub_ls_list_files): Use grub_normal_print_device_info instead of
44001 duplicating the code.
44002
0bd41162 440032005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44004
44005 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 44006 follow GCS more precisely.
44007 * commands/i386/pc/vbe_test.c: Likewise.
44008 * include/grub/i386/pc/vbe.h: Likewise.
44009 * term/i386/pc/vesafb.c: Likewise.
44010 * video/i386/pc/vbe.c: Likewise.
0bd41162 44011
6323696a 440122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
44013
44014 * DISTLIST: Added term/i386/pc/vesafb.c
44015 DISTLIST: Added video/i386/pc/vbe.c
44016 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
44017 DISTLIST: Added commands/i386/pc/vbe_test.c.
44018 * commands/i386/pc/vbe_list_modes.c: New file.
44019 * commands/i386/pc/vbe_test.c: Likewise.
44020 * term/i386/pc/vesafb.c: Likewise.
44021 * video/i386/pc/vbe.c: Likewise.
44022 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
44023 (grub_vbe_probe) Added prototype.
44024 (grub_vbe_set_video_mode) Likewise.
44025 (grub_vbe_get_video_mode) Likewise.
44026 (grub_vbe_get_video_mode_info) Likewise.
44027 (grub_vbe_set_pixel_rgb) Likewise.
44028 (grub_vbe_set_pixel_index) Likewise.
44029 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
44030 (pkgdata_MODULES): Added vesafb.mod.
44031 (pkgdata_MODULES): Added vbe_list_modes.mod.
44032 (pkgdata_MODULES): Added vbe_test.mod.
44033 (vbe_mod_SOURCES): Added.
44034 (vbe_mod_CFLAGS): Likewise.
44035 (vesafb_mod_SOURCES): Likewise.
44036 (vesafb_mod_CFLAGS): Likewise.
44037 (vbe_list_modes_mod_SOURCES): Likewise.
44038 (vbe_list_modes_mod_CFLAGS): Likewise.
44039 (vbe_test_mod_SOURCES): Likewise.
44040 (vbe_test_mod_CFLAGS): Likewise.
44041
0a74e62f 440422005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
44043
0a74e62f 44044 * normal/command.c (grub_command_execute): If INTERACTIVE is
44045 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
44046 CMDLINE. Disable the pager if INTERACTIVE is true.
44047 All callers are changed.
44048
44049 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
44050 before reading a config file.
44051 * normal/main.c (read_config_file): Even if a command is not
44052 found, register it if it is within an entry.
44053
44054 * util/grub-emu.c: Include sys/types.h and unistd.h.
44055 (options): Added --hold.
44056 (struct arguments): Added a new member "hold".
44057 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
44058 missing.
44059 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
44060 cleared by a debugger, if it is not zero.
44061
44062 * include/grub/normal.h (grub_command_execute): Add an argument
44063 INTERACTIVE.
44064
e51f85ae 440652005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
44066
44067 * DISTLIST: Added include/grub/i386/pc/vbe.h.
44068
e9c6f39b 440692005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44070
44071 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44072 program with another one, because the old one didn't detect a bug
44073 in gcc-3.4. Always use regparm 2, because the new test is still
44074 not enough for gcc-4.0. Someone must investigate a simple test
44075 case which detects a bug in gcc-4.0.
44076
8de3495c 440772005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44078
44079 * DISTLIST: Added normal/completion.c.
44080
44081 * normal/completion.c: New file.
f19dbdb7 44082
8de3495c 44083 * term/i386/pc/console.c (grub_console_getwh): New function.
44084 (grub_console_term): Assign grub_console_getwh to getwh.
44085
44086 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44087 function is defined in normal/completion.c as
44088 grub_normal_do_completion.
44089 (grub_cmdline_get): Use grub_normal_do_completion instead of
44090 grub_tab_complete.
44091
44092 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44093 returns non-zero, otherwise return 0.
44094 (grub_partition_iterate): First, probe the partition map. Then,
44095 call ITERATE only for this partition map.
44096
44097 * kern/misc.c (grub_strncmp): Rewritten.
44098
44099 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44100 returns non-zero. Otherwise return 0.
44101
44102 * include/grub/partition.h (grub_partition_map_iterate): Return
44103 int instead of void.
44104
44105 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44106
44107 * include/grub/misc.h (grub_strncmp): Change the type of N to
44108 grub_size_t.
44109
44110 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44111 of void.
44112
44113 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44114 unsigned explicitly before comparing it with I.
8de3495c 44115
44116 * kern/main.c (grub_env_write_root): Add the attribute unused into
44117 VAR.
44118
44119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44120 normal/completion.c.
44121 (normal_mod_SOURCES): Likewise.
44122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44123 (normal_mod_SOURCES): Likewise.
44124
44125 * normal/command.c (grub_iterate_commands): If ITERATE returns
44126 non-zero, return one immediately.
44127
e85e144b 441282005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44129
44130 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44131 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44132 descriptions.
44133 (grub_vbe_get_controller_info): New function.
44134 (grub_vbe_get_mode_info): Likewise.
44135 (grub_vbe_set_mode): Likewise.
44136 (grub_vbe_get_mode): Likewise.
44137 (grub_vbe_set_memory_window): Likewise.
44138 (grub_vbe_get_memory_window): Likewise.
44139 (grub_vbe_set_scanline_length): Likewise.
44140 (grub_vbe_get_scanline_length): Likewise.
44141 (grub_vbe_set_display_start): Likewise.
44142 (grub_vbe_get_display_start): Likewise.
44143 (grub_vbe_set_palette_data): Likewise.
44144 * include/grub/i386/pc/vbe.h: New file.
44145
c46153d2 441462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44147
44148 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44149 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44150 * DISTLIST: Likewise.
44151 * kern/ieee1275/of.c: Moved to ...
44152 * kern/ieee1275/ieee1275.c: ... here.
44153
0cb90c45 441542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44155
44156 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44157 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44158 Pass 0 as `end' parameter to grub_strtoul().
44159
a19fb360 441602005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44161
44162 * include/grub/powerpc/ieee1275/console.h: Do not include
44163 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44164 ifdef.
44165 (grub_console_cur_color): Remove i386-specific prototype.
44166 (grub_console_real_putchar): Likewise.
44167 (grub_console_checkkey): Likewise.
44168 (grub_console_getkey): Likewise.
44169 (grub_console_getxy): Likewise.
44170 (grub_console_gotoxy): Likewise.
44171 (grub_console_cls): Likewise.
44172 (grub_console_setcursor): Likewise.
44173 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44174 Include <grub/machine/console.h>.
44175 * term/ieee1275/ofconsole.c: Likewise.
44176
4ac9bd04 441772005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44178
44179 * Makefile.in (LIBLZO): New variable.
44180
44181 * configure.ac: Check for LZO version 2.
44182
44183 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44184 lzo/lzo1x.h instead of lzo1x.h.
44185
44186 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44187 of -llzo.
44188
44189 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44190 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44191
44192 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44193 copying the data from PARTITION to P.
44194
f4917dfd 441952005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44196
44197 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44198 negative, unload the module.
44199
44200 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44201 map is "pc_partition_map" but not "pc".
44202 (usage): Fix the description. The options are --boot-image and
44203 --core-image but not --boot-file or --core-file.
44204 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44205 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44206 DEFAULT_DIRECTORY.
44207
44208 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44209 --core-file. Specify INSTALL_DEVICE as an argument.
44210
44211 * util/console.c: Include config.h.
44212 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44213 [HAVE_NCURSES_H]: Include ncurses.h.
44214 [HAVE_CURSES_H]: Include curses.h.
44215 [!A_NORMAL] (A_NORMAL): Defined as zero.
44216 [!A_STANDOUT] (A_STANDOUT): Likewise.
44217
44218 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44219 -lncurses.
44220 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44221
44222 * configure.ac: Check for curses libraries and headers.
44223
44224 * Makefile.in (LIBCURSES): New variable.
44225
44226 * genmk.rb (Script::rule): Set the executable bits.
44227
44228 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44229 name of the PC partition map is "pc_partition_map" but not "pc".
44230
0e143073 442312005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44232
44233 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44234 (modules): Likewise.
44235 (usage): Added descriptions for --modules and --grub-probefs.
44236 Handle --modules and --grub-probefs. Save the arguments in MODULES
44237 and GRUB_PROBEFS, respectively.
44238 Auto-detect a filesystem module against GRUBDIR. If the result is
44239 empty and modules are not specified explicitly, abort the
44240 installation. Add the result to MODULES.
44241
44242 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44243 disk/powerpc/ieee1275/ofdisk.c,
44244 include/grub/powerpc/ieee1275/init.h and
44245 term/powerpc/ieee1275/ofconsole.c.
44246 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44247 term/ieee1275/ofconsole.c.
44248
44249 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44250
44251 * COPYING: Upgraded to the latest version. Only the address of the
44252 FSF office has changed.
f19dbdb7 44253
efd6e6d5 442542005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44255
44256 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44257 kern/ieee1275.c with kern/ieee1275/of.c.
44258
44259 * kern/ieee1275.c: Moved to ...
44260 * kern/ieee1275/of.c: ... here.
44261
8ceafda2 442622005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44263
44264 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44265 readability.
8ceafda2 44266
44267 * config.guess: Updated to the latest version from gnulib.
44268 * config.sub: Likewise.
44269 * install.sh: Likewise.
44270 * mkinstalldirs: Likewise.
44271
44272 * include/grub/console.h: Removed. This file is arch-specific. Do
44273 not put this in include/grub.
44274
44275 * include/grub/i386/pc/console.h: Resurrected.
44276
44277 * util/console.c: Include grub/machine/console.h instead of
44278 grub/console.h.
44279 * util/grub-emu.c: Likewise.
44280
267f6cd9 442812005-08-04 Marco Gerards <metgerards@student.han.nl>
44282
44283 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44284 hardcoded value.
f19dbdb7 44285
267f6cd9 44286 From Vincent Pelletier <subdino2004@yahoo.fr>
44287 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44288 Redefined to use grub_getwh.
44289 (grub_term): New member named getwh.
44290 (grub_getwh): New prototype.
44291 * kern/term.c (grub_getwh): New function.
44292 * term/i386/pc/console.c (grub_console_getwh): New function.
44293 (grub_console_term): New member `getwh'.
44294 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44295 (grub_vga_term): New member `getwh'.
0b5abe02 44296 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44297 grub_ssize_t.
44298 (grub_ofconsole_getw): New function.
44299 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44300 (grub_ofconsole_term): New field named getwh and new initial
44301 value.
44302
3be7266d 443032005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44304
44305 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44306 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44307 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44308 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44309 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44310 of <grub/machine/ieee1275.h>.
44311 * commands/ieee1275/reboot.c: Likewise.
44312 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44313 * kern/ieee1275.c: ... to here. All users updated. Change all
44314 parameter structs to use new type `grub_ieee1275_cell_t'.
44315 * term/powerpc/ieee1275/ofconsole.c: Move ...
44316 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44317 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44318 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44319 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44320 to return int.
44321 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44322 Remove unused prototypes. All users updated.
44323 * include/grub/powerpc/ieee1275/console.h: Removed.
44324 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44325 `grub_ieee1275_cell_t'.
44326 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44327 Cast comparisons with -1 to the correct type.
44328 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44329 type to match `grub_ieee1275_entry_fn'.
44330
8b5f3938 443312005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44332
44333 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44334
44335 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44336 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44337 partmap/sun.c.
44338 (grub_probefs_SOURCES): New variable.
44339
44340 * util/i386/pc/grub-probefs.c: New file.
44341
44342 * util/i386/pc/grub-setup.c (main): Call
44343 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44344 grub_hfs_init and grub_jfs_init to initialize the system. Call
44345 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44346 grub_pc_partition_map_fini to finish the system.
44347
ea409713 443482005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44349
44350 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44351 function.
44352 (grub_multiboot_load_elf32): Likewise.
44353 (grub_multiboot_is_elf64): Likewise.
44354 (grub_multiboot_load_elf64): Likewise.
44355 (grub_multiboot_load_elf): Likewise.
44356 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44357 an ELF32 or ELF64 file.
44358 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44359
44360 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44361 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44362 NULL before calling FS->LABEL.
44363 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44364 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44365 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44366 before calling FS->LABEL.
44367
141a288b 443682005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44369
44370 * util/i386/pc/grub-install.in (datadir): New variable.
44371 (libdir): Removed.
44372 (pkgdatadir): New variable.
44373 (pkglibdir): Removed.
44374
0d5f8a54 443752005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44376
44377 * DISTLIST: Added util/i386/pc/grub-install.in.
44378
44379 * util/i386/pc/grub-install.in: New file.
44380
44381 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44382 (grub_install_SOURCES): Likewise.
44383
44384 * genmk.rb: Added support for scripts.
44385 (Script): New class.
44386 (scripts): New variable.
44387
44388 * Makefile.in (install-local): Install sbin_SCRIPTS by
44389 INSTALL_SCRIPT.
44390 (uninstall): Remove sbin_SCRIPTS.
44391
44392 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44393 device, try to get a GRUB device by
44394 grub_util_biosdisk_get_grub_dev.
44395 Free DEST_DEV.
44396
44397 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44398 description for --device-map.
44399
5f968e1e 444002005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44401
44402 Change the semantics of variable hooks. They now return strings
44403 instead of error values.
f19dbdb7 44404
5f968e1e 44405 * util/i386/pc/grub-setup.c: Include grub/env.h.
44406 (setup): Use grub_device_set_root instead of grub_env_set.
44407
44408 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44409 grub_env_get instead of grub_device_set_root and
44410 grub_device_get_root, respectively.
44411
44412 * kern/main.c (grub_env_write_root): New function.
44413 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44414 grub_env_set instead of grub_device_set_root.
44415
44416 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44417 many variables.
44418 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44419 rather than calling ENV->WRITE_HOOK afterwards.
44420 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44421 passing a pointer of a pointer.
44422 (grub_register_variable_hook): Change the types of "read_hook" and
44423 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44424 respectively.
44425 Allocate the default empty string on the heap, because this string
44426 may be freed later.
44427
44428 * kern/device.c: Include grub/env.h.
44429 (grub_device_set_root): Removed.
44430 (grub_device_get_root): Likewise.
44431 (grub_device_open): Use grub_env_get instead of
44432 grub_device_get_root.
44433
44434 * include/grub/env.h (grub_env_read_hook_t): New type.
44435 (grub_env_write_hook_t): Likewise.
44436 (grub_env_var): Change the types of "read_hook" and "write_hook"
44437 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44438 (grub_register_variable_hook): Likewise.
44439
44440 * include/grub/device.h (grub_device_set_root): Removed.
44441 (grub_device_set_root): Likewise.
44442
44443 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44444 make sure that DIRNAME terminates with '/', so that
44445 grub_fat_find_dir will fail if PATH is not a directory.
44446
44447 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44448 from DIRNAME.
44449 Use the qualifier auto for print_files and print_files_long.
44450 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44451 as a regular file.
44452 Put a newline only if there is no error.
44453 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44454 used.
44455
896f0afd 444562005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44457
44458 * kern/partition.c (grub_partition_probe): Initialize PART to
44459 NULL. Otherwise, when no partition map is registered, this returns
44460 a garbage.
44461
b28b81b2 444622005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44463
44464 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44465 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44466 valid.
44467
5f3607e0 444682005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44469
44470 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44471 information on each device, if it does not have partitions. Print
44472 "Device" instead of "Disk", because this function is not specific
44473 to disk devices.
44474
44475 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44476 static to ensure that it is put on the memory rather than a
44477 register.
44478
502c87e8 444792005-07-17 Yoshinori Okuji <okuji@enbug.org>
44480
44481 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44482 (grub_cat_init): Likewise.
44483 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44484 (options): Likewise.
44485 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44486 (grub_configfile_init): Likewise.
44487 * font/manager.c (GRUB_MOD_INIT): Likewise.
44488 * commands/help.c (GRUB_MOD_INIT): Likewise.
44489 (grub_help_init): Likewise.
44490 * normal/command.c (grub_command_init): Likewise.
44491 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44492 * disk/loopback.c (grub_loop_init): Likewise.
44493 (GRUB_MOD_INIT): Likewise.
44494 * commands/ls.c (grub_ls_init): Likewise.
44495 (GRUB_MOD_INIT): Likewise.
44496 (options): Likewise.
44497 * commands/boot.c (grub_boot_init): Likewise.
44498 (GRUB_MOD_INIT): Likewise.
44499 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44500 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44501 (GRUB_MOD_INIT): Likewise.
44502 * commands/cmp.c (grub_cmp_init): Likewise.
44503 (GRUB_MOD_INIT): Likewise.
44504
44505 * normal/arg.c: Use <> instead of "" to include header files.
44506 (SHORT_ARG_HELP): New macro.
44507 (SHORT_ARG_USAGE): Likewise.
44508 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44509 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44510 descriptions.
44511 (find_short): Check if C is 'h' or 'u' explicitly.
44512 (grub_arg_show_help): Use space characters instead of tabs. Treat
44513 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44514 are shown with --help and --usage only if they are not used for
44515 the command itself.
44516 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44517 'h' and 'u'.
44518
44519 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44520 const into "longarg". Change the type of "shortarg" to int.
44521
f806d18e 445222005-07-17 Yoshinori Okuji <okuji@enbug.org>
44523
44524 * boot/i386/pc/boot.S (boot_drive_check): New label.
44525
44526 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44527 macro.
44528
44529 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44530 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44531
e293232b 445322005-07-17 Yoshinori Okuji <okuji@enbug.org>
44533
44534 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44535 When turning off Gate A20, skip the check and return immediately,
44536 because this is not fatal usually.
44537
ebedfd00 445382005-07-17 Yoshinori Okuji <okuji@enbug.org>
44539
44540 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44541 be 0x7C00 instead of 0x8000.
44542
44543 * boot/i386/pc/pxeboot.S: Rewritten.
44544
44545 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44546 EXT_C.
44547 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44548 result.
44549
654fc59f 445502005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44551
44552 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44553 robustness. This routine now supports a BIOS call and System
44554 Control Port A to modify the gate A20.
44555
44556 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44557 Increased to 0x440.
44558
09f9923f 445592005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44560
44561 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44562 device path and resulting ihandle.
44563 (grub_ofdisk_close): dprintf the ihandle being closed.
44564 (grub_ofdisk_read): dprintf function parameters.
44565 * kern/mm.c (grub_mm_init_region): Likewise.
44566 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44567 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44568 size, and boot arguments.
44569 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44570 before loading into memory.
44571 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44572 before loading into memory.
44573
7ef504d8 445742005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44575
44576 * kern/mm.c: Added much documentation.
44577 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44578 8, set to 5 instead of 8.
44579
e0f050c2 445802005-07-10 Yoshinori Okuji <okuji@enbug.org>
44581
44582 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44583
44584 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44585 (grub_mkdevicemap_SOURCES): New variable.
44586
44587 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44588 lib/device.c of GRUB Legacy.
44589
7224189a 445902005-07-10 Yoshinori Okuji <okuji@enbug.org>
44591
44592 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44593 instead of PATH is NULL.
44594
68c864eb 445952005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44596
44597 * commands/cmp.c (BUFFER_SIZE): New macro.
44598 (grub_cmd_cmp): Close the right file at the right time. Compare
44599 only data just read. Don't report files of different size as
44600 identical. Dynamically allocate buffers. Move variable
44601 declarations at the beginning of function.
44602
e6f3e614 446032005-07-09 Yoshinori Okuji <okuji@enbug.org>
44604
44605 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44606 reverse.
44607
f8f1559a 446082004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44609
44610 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44611 when backspace is pressed at beginning of line.
44612
39c9d41d 446132005-07-03 Yoshinori Okuji <okuji@enbug.org>
44614
44615 * DISTLIST: Added genfslist.sh.
44616
44617 * normal/main.c (fs_module_list): New variable.
44618 (autoload_fs_module): New function.
44619 (read_fs_list): Likewise.
44620 (grub_normal_execute): Call read_fs_list.
44621
44622 * kern/fs.c (grub_fs_autoload_hook): New variable.
44623 (grub_fs_probe): Added support for auto-loading.
44624
44625 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44626 (grub_fs_module_list_t): New type.
44627
44628 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44629 (grub_fs_autoload_hook): New prototype.
44630
44631 * genfslist.sh: New file.
f19dbdb7 44632
39c9d41d 44633 * genmk.rb: Added a rule to generate a filesystem list.
44634
121c1d83 446352005-06-30 Marco Gerards <metgerards@student.han.nl>
44636
44637 * configure.ac: Fix the test for cross-compiling.
44638
44639 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44640 define GRUB_UTIL anymore.
44641
44642 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44643 so this function works on other systems than just big endian.
44644 (load_modules): Likewise.
44645 (add_segments): Likewise.
44646
e75d76e1 446472005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44648
44649 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44650 contains `l' modifier, get a long from va_arg().
44651
50b5a0a7 446522005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44653
44654 * kern/mm.c (grub_free): If the next free block which is being
44655 merged is the first free block, set the first block to the block
44656 being freed.
44657 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44658
89371b20 446592005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44660
44661 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44662 `grub_ieee1275_chosen'.
44663
168d6e58 446642005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44665
44666 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44667 (grub_ieee1275_chosen): New variable.
44668 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44669 `chosen'.
44670 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44671 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44672 Rename first argument to `phandle' for consistency.
44673 (grub_ieee1275_get_property_length): Likewise.
44674 (grub_ieee1275_next_property): Likewise. Change type of first argument
44675 to grub_ieee1275_phandle_t.
44676 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44677 Move export next to declaration.
44678 (grub_ieee1275_chosen): New variable.
44679 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44680 Correct cosmetic typo.
44681 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44682 `grub_ieee1275_chosen'.
44683 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44684 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44685 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44686 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44687 `grub_ieee1275_chosen'.
44688
ca5baa3f 446892005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44690
44691 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44692 /chosen/bootargs.
44693 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44694 /chosen/bootargs as "variable=value" pairs.
44695
708b345f 446962005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44697
44698 * include/grub/misc.h (grub_dprintf): New macro.
44699 (grub_real_dprintf): New prototype.
44700 (grub_strword): Likewise.
44701 (grub_iswordseparator): Likewise.
44702 * kern/misc.c (grub_real_dprintf): New function.
44703 (grub_strword): Likewise.
44704 (grub_iswordseparator): Likewise.
44705
f4c5e67c 447062005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44707
44708 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44709 (roundup): Remove macro.
44710 (grub_ieee1275_flags): Make static.
44711 (grub_ieee1275_realmode): Remove.
44712 (grub_ieee1275_test_flag): New function.
44713 (grub_ieee1275_set_flag): Likewise.
44714 (find_options): Rename to `grub_ieee1275_find_options'; update
44715 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44716 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44717 (cmain): New prototype.
44718 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44719 `grub_ieee1275_flags' directly.
44720 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44721 machine/biosdisk.h.
44722 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44723 Don't include grub/machine/init.h.
44724 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44725 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44726 Remove prototype.
44727 (grub_ieee1275_realmode): Likewise.
44728 (grub_ieee1275_flag): New enum.
44729 (grub_ieee1275_test_flag): New prototype.
44730 (grub_ieee1275_set_flag): New prototype.
44731 * include/grub/powerpc/ieee1275/init.h: Remove file.
44732 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44733 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44734 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44735 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44736 comment.
44737 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44738 `grub_ieee1275_test_flag'.
44739 (grub_ieee1275_encode_devname): Likewise.
44740
ed16607e 447412005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44742
44743 * include/grub/powerpc/ieee1275/ieee1275.h
44744 (grub_ieee1275_encode_devname): New prototype.
44745 (grub_ieee1275_get_filename): Likewise.
44746 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44747 function.
44748 (grub_set_prefix): Likewise.
44749 (grub_machine_init): Call grub_set_prefix.
44750 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44751 (grub_parse_type): New enum.
44752 (grub_ieee1275_get_devargs): New function.
44753 (grub_ieee1275_get_devname): Likewise.
44754 (grub_ieee1275_parse_args): Likewise.
44755 (grub_ieee1275_get_filename): Likewise.
44756 (grub_ieee1275_encode_devname): Likewise.
44757
be369920 447582005-03-30 Marco Gerards <metgerards@student.han.nl>
44759
44760 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44761 `grub_loader_unset'.
44762
a5ce3a4a 447632005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44764
44765 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44766 instead of grub_ieee1275_interpret.
44767 (grub_halt_init): New function.
44768 (grub_halt_fini): Likewise.
44769 (GRUB_MOD_INIT): Correct message grammar.
44770 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44771 instead of grub_ieee1275_interpret.
44772 (grub_reboot_init): New function.
44773 (grub_reboot_fini): Likewise.
44774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44775 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44776 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44777 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44778 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44779 function.
44780 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44781 Add prototype.
44782 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44783 prototype.
44784 (grub_halt): Likewise.
44785 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44786 (cmain): Remove __attribute__((unused)).
44787 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44788 (grub_heap_len): Likewise.
44789 (grub_machine_fini): New function.
44790 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44791 (grub_halt): Likewise.
44792 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44793 function.
44794 * util/powerpc/ieee1275/misc.c: New file.
44795
0058f771 447962005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44797
44798 * DISTLIST: New file.
44799 * gendistlist.sh: Likewise.
f19dbdb7 44800
0058f771 44801 * Makefile.in (COMMON_DISTFILES): Removed.
44802 (BOOT_DISTFILES): Likewise.
44803 (CONF_DISTFILES): Likewise.
44804 (DISK_DISTFILES): Likewise.
44805 (FS_DISTFILES): Likewise.
44806 (INCLUDE_DISTFILES): Likewise.
44807 (KERN_DISTFILES): Likewise.
44808 (LOADER_DISTFILES): Likewise.
44809 (TERM_DISTFILES): Likewise.
44810 (UTIL_DISTFILES): Likewise.
44811 (DISTFILES): Likewise.
44812 (uninstall): Uninstall files in $(pkgdata_DATA).
44813 (DISTLIST): New target.
44814 (distdir): Use the contents of the file DISTLIST to get a list of
44815 distributed files.
44816
46b3b8a5 448172005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44818
44819 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44820 descriptor. This is ported from GRUB Legacy.
44821
44822 * gencmdlist.sh: Added an extra semicolon to make it work with
44823 old sed versions. Reported by Robert Bihlmeyer
44824 <robbe@orcus.priv.at>.
44825
5822ff87 448262005-03-08 Yoshinori Okuji <okuji@enbug.org>
44827
44828 Automatic loading of commands is supported.
f19dbdb7 44829
5822ff87 44830 * normal/main.c (read_command_list): New function.
44831 (grub_normal_execute): Call read_command_list.
44832
44833 * normal/command.c (grub_register_command): Return zero or CMD.
44834 Allocate CMD->NAME from the heap.
44835 Initialize CMD->MODULE_NAME to zero.
44836 Find the same name as well. If the same command is found and it is
44837 a dummy command, overwrite members. If it is not a dummy command,
44838 return zero.
44839 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44840 (grub_command_find): If a dummy command is found, load a module
44841 and retry to find a command only once.
44842
44843 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44844 make sure that each command is loaded.
44845
44846 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44847 macro.
44848 (struct grub_command): Remove const from the member `name'.
44849 Add a new member `module_name'.
44850 (grub_register_command): Return grub_command_t.
44851
44852 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44853 sure that each command is loaded.
44854
44855 * genmk.rb (PModule::rule): Specify a module name without the
44856 suffix ".mod" to gencmdlist.sh.
44857
7b1f4b57 448582005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44859
44860 * gencmdlist.sh: New file.
f19dbdb7 44861
7b1f4b57 44862 * genmk.rb (PModule::rule): Generate a rule for a command list.
44863 Clean command.lst.
44864 Generate command.lst from $(COMMANDFILES).
44865
44866 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44867 (DATA): Added $(pkgdata_DATA).
44868 (install-local): Install files in $(pkgdata_DATA).
44869
062aaf39 448702005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44871
44872 * term/i386/pc/vga.c (debug_command): Removed.
44873 (GRUB_MOD_INIT): Do not register the command "debug".
44874
44875 From Hollis Blanchard:
44876 * commands/configfile.c: New file.
44877 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44878 commands/configfile.c.
44879 (pkgdata_MODULES): Added configfile.mod.
44880 (configfile_mod_SOURCES): New variable.
44881 (configfile_mod_CFLAGS): Likewise.
44882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44883 commands/configfile.c.
44884 (pkgdata_MODULES): Added configfile.mod.
44885 (configfile_mod_SOURCES): New variable.
44886 (configfile_mod_CFLAGS): Likewise.
44887 * util/grub-emu.c (main): Call grub_configfile_init and
44888 grub_configfile_fini.
44889 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44890 prototype.
44891 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44892
cee01aa6 448932005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44894
44895 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44896 address.
44897
44898 * commands/help.c (grub_cmd_help): Do not print newlines after
44899 the last command in print_command_help.
44900
93f3a1d8 449012005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44902
44903 * commands/default.h: New file.
44904 * commands/timeout.h: Likewise.
44905 * normal/context.c: Likewise.
f19dbdb7 44906
93f3a1d8 44907 * util/misc.c: Do not include sys/times.h.
44908 Include sys/time.h and grub/machine/time.h.
44909 (grub_get_rtc): Rewritten with gettimeofday.
44910
44911 * util/grub-emu.c (main): Call grub_default_init and
44912 grub_timeout_init before grub_normal_init, and call
44913 grub_timeout_fini and grub_default_fini after grub_main.
44914
44915 * util/console.c (grub_ncurses_checkkey): Return the read
44916 character or -1.
44917
44918 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44919 timeouts.
44920
44921 * normal/main.c (read_config_file): Push MENU. If this fails,
44922 print an error and wait for a user input.
44923 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44924 If a menu is empty or an error occurs, pop MENU.
44925 (grub_normal_execute): Pop and free MENU after grub_menu_run
44926 returns.
44927
44928 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44929
44930 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44931 include time.h.
44932 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44933 without GRUB_UTIL.
44934 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44935 time.h.
44936 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44937 without GRUB_UTIL.
44938
44939 * include/grub/normal.h (struct grub_menu_list): New struct.
44940 (grub_menu_list_t): New type.
44941 (struct grub_context): New struct.
44942 (grub_context_t): New type.
44943 (grub_register_command): Got rid of EXPORT_FUNC.
44944 (grub_unregister_command): Likewise.
44945 (grub_context_get): New prototype.
44946 (grub_context_get_current_menu): Likewise.
44947 (grub_context_push_menu): Likewise.
44948 (grub_context_pop_menu): Likewise.
44949 [GRUB_UTIL] (grub_default_init): Likewise.
44950 [GRUB_UTIL] (grub_default_fini): Likewise.
44951 [GRUB_UTIL] (grub_timeout_init): Likewise.
44952 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44953
44954 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44955 commands/timeout.c and normal/context.c.
44956 (pkgdata_MODULES): Added default.mod and timeout.mod.
44957 (normal_mod_SOURCES): Added normal/context.c.
44958 (default_mod_SOURCES): New variable.
44959 (default_mod_CFLAGS): Likewise.
44960 (timeout_mod_SOURCES): Likewise.
44961 (timeout_mod_CFLAGS): Likewise.
44962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44963 conf/i386-pc.rmk.
44964 (pkgdata_MODULES): Added default.mod and timeout.mod.
44965 (normal_mod_SOURCES): Added normal/context.c.
44966 (default_mod_SOURCES): New variable.
44967 (default_mod_CFLAGS): Likewise.
44968 (timeout_mod_SOURCES): Likewise.
44969 (timeout_mod_CFLAGS): Likewise.
44970
44971 * Makefile.in (all-local): Added $(MKFILES).
44972
4ed2e1dd 449732005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44974
44975 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44976 (grub_emu_SOURCES): Likewise.
44977 (pkgdata_MODULES): Add `sun.mod'.
44978 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44980 `partmap/sun.c'.
44981 (pkgdata_MODULES): Add `sun.mod'.
44982 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44983 * include/grub/partition.h (grub_sun_partition_map_init): New
44984 prototype.
44985 (grub_sun_partition_map_fini): Likewise.
44986 * partmap/sun.c: New file.
44987 * util/grub-emu.c (main): Initialize and de-initialize the sun
44988 partitionmap support.
44989
4d4e372e 449902005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44991
44992 This implements an Emacs-like menu entry editor.
f19dbdb7 44993
4d4e372e 44994 * normal/menu_entry.c: New file.
f19dbdb7 44995
4d4e372e 44996 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44997 characters to ASCII.
44998 (saved_char): New variable.
44999 (grub_ncurses_checkkey): Rewritten completely.
45000 (grub_ncurses_getkey): Likewise.
45001 (grub_ncurses_init): Call raw instead of cbreak.
45002
45003 * normal/menu.c (print_entry): Do not put a space.
45004 (init_page): Renamed to ...
45005 (grub_menu_init_page): ... this. All callers changed.
45006 (edit_menu_entry): Removed.
45007 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
45008
45009 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
45010
45011 * kern/misc.c (grub_vprintf): Call grub_refresh.
45012
45013 * normal/menu.c (DISP_LEFT): Renamed to ...
45014 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
45015 * normal/menu.c (DISP_UP): Renamed to ...
45016 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
45017 * normal/menu.c (DISP_RIGHT): Renamed to ...
45018 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
45019 * normal/menu.c (DISP_DOWN): Renamed to ...
45020 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
45021 * normal/menu.c (DISP_HLINE): Renamed to ...
45022 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
45023 * normal/menu.c (DISP_VLINE): Renamed to ...
45024 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
45025 * normal/menu.c (DISP_UL): Renamed to ...
45026 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
45027 * normal/menu.c (DISP_UR): Renamed to ...
45028 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
45029 * normal/menu.c (DISP_LL): Renamed to ...
45030 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
45031 * normal/menu.c (DISP_LR): Renamed to ...
45032 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
45033 * normal/menu.c (TERM_WIDTH): Renamed to ...
45034 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
45035 * normal/menu.c (TERM_HEIGHT): Renamed to ...
45036 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
45037 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
45038 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
45039 * normal/menu.c (TERM_MARGIN): Renamed to ...
45040 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
45041 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
45042 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
45043 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
45044 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
45045 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
45046 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
45047 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
45048 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
45049 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
45050 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
45051 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
45052 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
45053 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
45054 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
45055 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
45056 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
45057 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
45058 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
45059 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
45060 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
45061 All callers changed.
45062
45063 * include/grub/normal.h: New prototype.
45064
45065 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45066 normal/menu_entry.c.
45067 (normal_mod_SOURCES): Likewise.
45068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45069 (normal_mod_SOURCES): Likewise.
45070
e6b92c8a 450712005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45072
45073 * include/grub/normal.h (grub_halt_init): New prototype.
45074 (grub_halt_fini): Likewise.
45075 (grub_reboot_init): Likewise.
45076 (grub_reboot_fini): Likewise.
45077
45078 * util/grub-emu.c: Include signal.h.
45079 (main_env): New global variable.
45080 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45081 catch C-c.
45082 (grub_machine_fini): New function.
45083 (main): Call grub_halt_init and grub_reboot_init before
45084 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45085 Call setjmp with MAIN_ENV to go back afterwards.
45086 Call grub_machine_fini right before return.
45087
45088 * include/grub/util/misc.h: Include setjmp.h.
45089 (main_env): New prototype.
45090
45091 * include/grub/kernel.h (grub_machine_fini): New prototype.
45092 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45093 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45094
45095 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45096 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45097 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45098
e6b92c8a 45099 * util/i386/pc/misc.c: New file.
f19dbdb7 45100
e6b92c8a 45101 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45102 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45103 commands/i386/pc/reboot.c.
45104
c642636f 451052005-02-14 Guillem Jover <guillem@hadrons.org>
45106
45107 * include/grub/dl.h (grub_dl_check_header): New prototype.
45108 (grub_arch_dl_check_header): Change return type to grub_err_t,
45109 remove size parameter and export function. Update all callers.
45110 * kern/dl.c (grub_dl_check_header): New function.
45111 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45112 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45113 are inside the core.
45114 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45115 independent ELF header checks.
45116 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45117 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45118 `grub_dl_check_header' instead of explicit checks. Check for the
45119 ELF type.
45120 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45121 `grub_dl_check_header' instead of explicit checks. Remove arch
45122 specific ELF header checks.
45123
e6b92c8a 45124 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45125 argument SIZE.
45126
5eabe94b 451272005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45128
45129 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45130 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45131
1b14a681 451322005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45133
45134 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45135 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45136 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45137 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45138 * partmap/amiga.c (amiga_partition_map_iterate): Return
45139 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45140 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45141
aca108aa 451422005-02-01 Guillem Jover <guillem@hadrons.org>
45143
45144 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45145 help info.
45146
c9f9c556 451472005-01-31 Marco Gerards <metgerards@student.han.nl>
45148
45149 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45150 Removed prototype.
45151 (grub_rescue_cmd_linux): New prototype.
45152 (grub_rescue_cmd_initrd): Likewise.
45153 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45154 `bi_rec'.
45155 (grub_linux_release_mem): Release the memory for the initrd.
45156 (grub_load_linux): Renamed from this...
45157 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45158 Changed `entry' not to be static. Loop over memory regions to
45159 find another one when the default fails.
45160 (grub_rescue_cmd_initrd): New function.
45161 (grub_linux_init): Remove function.
45162 (grub_linux_fini): Likewise.
45163 (GRUB_MOD_INIT): Register `initrd'.
45164 (GRUB_MOD_FINI): Unregister `initrd'.
45165 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45166 Function removed.
45167 (grub_linux_normal_fini): Likewise.
45168 (GRUB_MOD_INIT): Register `initrd'.
45169 (GRUB_MOD_FINI): Unregister `initrd'.
45170
990cf3aa 451712005-01-31 Marco Gerards <metgerards@student.han.nl>
45172
45173 * commands/help.c: New file.
45174 * normal/arg.c (show_help): Renamed to...
45175 (grub_arg_show_help): ... this.
45176 * commands/i386/pc/halt.c: New file.
45177 * commands/i386/pc/reboot.c: Likewise.
45178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45179 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45180 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45181 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45182 variables.
45183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45184 `commands/help.c'.
45185 (pkgdata_MODULES): Add `help.mod'.
45186 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45187 * grub/i386/pc/init.h (grub_reboot): New prototype.
45188 (grub_halt): Likewise.
45189 * include/grub/normal.h (grub_arg_show_help): New prototype.
45190 (grub_help_init): Likewise.
45191 (grub_help_fini): Likewise.
45192 * util/grub-emu.c (main): Initialize and deinitialize the help
45193 command.
45194
45195 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45196
45197 * normal/command.c (grub_command_init): Fixed the description of
45198 the `set' and `unset' commands.
45199
452002005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45201
45202 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45203 function.
45204 * commands/ieee1275/halt.c: New file.
45205 * commands/ieee1275/reboot.c: Likewise.
45206 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45207 `__attribute__ ((unused))'. Some GCS related fixed.
45208 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45209 (grub_suspend_fini): Likewise.
45210 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45211 and `halt.mod'.
45212 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45213 (halt_mod_CFLAGS): New variables.
45214 * include/grub/powerpc/ieee1275/ieee1275.h
45215 (grub_ieee1275_interpret): New prototype.
45216
1ab09cc7 452172005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45218
45219 * include/grub/misc.h (memmove): New prototype.
45220 (memcpy): Likewise.
45221
8b8cbdb2 452222005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45223
45224 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45225 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45226
e3741a27 452272005-01-22 Marco Gerards <metgerards@student.han.nl>
45228
45229 * kern/misc.c (grub_strndup): Function rewritten.
45230
776bd780 452312005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45232
45233 * normal/menu.c (TERM_WIDTH): Macro redefined.
45234 (TERM_TOP_BORDER_Y): Likewise.
45235 (draw_border): Replaced while-loop by a for-loop. Make the number
45236 of lines consistent with the number of lines displayed in
45237 print_entries. Added a margin below the rectangle.
45238 (print_entry): Make the entry fit in the rectangle.
45239 (print_entries): Display the scroll arrows next to the right
45240 border.
45241
78026bce 452422005-01-21 Marco Gerards <metgerards@student.han.nl>
45243
45244 * fs/minix.c (grub_minix_find_file): Reserve more space for
45245 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45246 `grub_strncpy' to copy `path' into it.
45247
67bbaf0f 452482005-01-21 Marco Gerards <metgerards@student.han.nl>
45249
45250 Add the loopback device, a device via which files can be accessed
45251 as devices.
f19dbdb7 45252
67bbaf0f 45253 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45254 (pkgdata_MODULES): Add loopback.mod.
45255 (loopback_mod_SOURCES): New variable.
45256 (loopback_mod_CFLAGS): Likewise.
45257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45258 `disk/loopback.c'.
45259 (pkgdata_MODULES): Add loopback.mod.
45260 (loopback_mod_SOURCES): New variable.
45261 (loopback_mod_CFLAGS): Likewise.
45262 * disk/loopback.c: new file.
45263 * include/grub/normal.h (grub_loop_init): New prototype.
45264 (grub_loop_fini): New prototype.
45265 * util/grub-emu.c (main): Initialize and de-initialize loopback
45266 support.
45267 * include/grub/disk.h (grub_disk_dev_id): Add
45268 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45269
6f1c18bd 452702005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45271
45272 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45273 function.
45274 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45275 (suspend_mod_SOURCES): New variable.
45276 (suspend_mod_CFLAGS): Likewise.
45277 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45278 New prototype.
45279 * commands/ieee1275/suspend.c: New file.
45280
b38551da 452812005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45282
45283 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45284 ((unused))' to `__attribute__ ((used))'.
b38551da 45285 (GRUB_MOD_FINI): Likewise.
45286 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45287 * genmk.rb (PModule): Assign space to common symbols when linking
45288 modules.
45289
777aff39 452902005-01-20 Marco Gerards <metgerards@student.han.nl>
45291
45292 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45293 `unsigned' arguments to `grub_size_t'.
45294 (grub_malloc): Likewise.
45295 (grub_realloc): Likewise.
45296 (grub_memalign): Likewise.
45297 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45298 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45299 * util/misc.c (grub_malloc): Likewise.
45300 (grub_realloc): Likewise.
45301 * kern/mm.c (get_header_from_pointer): Change the casts to
45302 `unsigned' into a cast to `grub_size_t'.
45303
45304 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45305 point to `currnode' when `currnode' is changed.
45306
45307 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45308 Schottelius <nico-linux@schottelius.org>.
45309
d0ff18e1 453102005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45311
45312 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45313 (note_path): Remove variable.
45314 (GRUB_IEEE1275_NOTE_NAME): New macro.
45315 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45316 (grub_ieee1275_note_hdr): New structure.
45317 (grub_ieee1275_note_desc): Likewise.
45318 (grub_ieee1275_note): Likewise.
45319 (load_note): Remove `dir' argument. All callers updated. Remove
45320 `note_img' and `path'. Do not load a file from `note_path'.
45321 Initialize a struct grub_ieee1275_note and write that to `out'.
45322 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45323
4ca7004c 453242005-01-05 Marco Gerards <metgerards@student.han.nl>
45325
45326 * util/misc.c (grub_util_read_image): Revert last change. It
45327 called `grub_util_read_at', which seeks from the beginning of the
45328 file.
45329
0b412211 453302005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45331
45332 * TODO: Add note about endianness in grub-mkimage.
45333 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45334 section.
45335 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45336 (grub_mkimage_SOURCES): New target.
45337 * include/grub/kernel.h (grub_start_addr): Remove variable.
45338 (grub_end_addr): Likewise.
45339 (grub_total_module_size): Likewise.
45340 (grub_kernel_image_size): Likewise.
45341 (GRUB_MODULE_MAGIC): New constant.
45342 (grub_module_info): New structure.
45343 (grub_arch_modules_addr): New prototype.
45344 (grub_get_end_addr): Remove prototype.
45345 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45346 * include/grub/powerpc/ieee1275/kernel.h: New file.
45347 * include/grub/util/misc.h (grub_util_get_fp_size): New
45348 prototype.
45349 (grub_util_read_at): Likewise.
45350 (grub_util_write_image_at): Likewise.
45351 * kern/main.c (grub_get_end_addr): Remove function.
45352 (grub_load_modules): Call grub_arch_modules_addr instead of using
45353 grub_end_addr. Look for a grub_module_info struct in memory. Use
45354 the grub_module_info fields instead of calling grub_get_end_addr
45355 as loop conditions. Move grub_add_unused_region code here.
45356 (grub_add_unused_region): Remove function.
45357 * kern/i386/pc/init.c: Include grub/cache.h.
45358 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45359 one call to add_mem_region.
45360 (grub_arch_modules_addr): New function.
45361 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45362 (grub_total_module_size): Likewise.
45363 Include grub/machine/kernel.h.
45364 (grub_arch_modules_addr): New function.
45365 * util/grub-emu.c (grub_end_addr): Remove variable.
45366 (grub_total_module_size): Likewise.
45367 (grub_arch_modules_addr): New function.
45368 * util/misc.c: Include unistd.h.
45369 (grub_util_get_fp_size): New function.
45370 (grub_util_read_at): Likewise.
45371 (grub_util_write_image_at): Likewise.
45372 (grub_util_read_image): Call grub_util_read_at.
45373 (grub_util_write_image): Call grub_util_write_image_at.
45374 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45375 additional memory in kernel_img for a struct grub_module_info.
45376 Fill in that grub_module_info.
45377 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45378
458786f8 453792005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45380
45381 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45382 New function.
45383 * include/grub/powerpc/ieee1275/ieee1275.h
45384 (grub_ieee1275_milliseconds): New prototype.
45385 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45386 Change to 1000.
45387 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45388 grub_ieee1275_milliseconds.
45389
ac507d1b 453902005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45391
45392 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45393 variable.
45394 (find_options): New function.
45395 (cmain): Call find_options.
45396 * include/grub/powerpc/ieee1275/ieee1275.h
45397 (grub_ieee1275_realmode): New extern variable.
45398 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45399 grub_map if grub_ieee1275_realmode is false.
45400
6b8fd1c4 454012004-12-29 Marco Gerards <metgerards@student.han.nl>
45402
45403 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45404 lines are inserted and make it work like readline. Reported by
45405 Vincent Pelletier <subdino2004@yahoo.fr>.
45406
8514a1e0 454072004-12-28 Marco Gerards <metgerards@student.han.nl>
45408
45409 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45410
45411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45412 `kern/powerpc/cache.S'.
45413
924b6140 454142004-12-27 Marco Gerards <metgerards@student.han.nl>
45415
45416 * genmk.rb: Handle the `Program' class in the main loop. Written
45417 by Johan Rydberg <jrydberg@gnu.org>.
45418 (Program): New class.
45419 (programs): New variable.
45420 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45421 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45422 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45423 (help_arch): Function removed.
45424 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45425 `powerpc/libgcc.h' and `loader.h'.
45426 (pkgdata_PROGRAMS): New variable.
45427 (sbin_UTILITIES): Variable removed.
45428 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45429 (grubof_SOURCES): Variable re-defined so it only includes the
45430 core functionality.
45431 (grubof_CFLAGS): Remove `-DGRUBOF'.
45432 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45433 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45434 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45435 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45436 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45437 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45438 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45439 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45440 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45441 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45442 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45443 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45444 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45445 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45446 (pc_mod_CFLAGS): New variables.
45447 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45448 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45449 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45450 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45451 Moved from here...
45452 * include/grub/i386/pc/init.h (grub_os_area_addr)
45453 (rub_os_area_size): ... to here.
45454 * include/grub/powerpc/ieee1275/ieee1275.h
45455 (grub_ieee1275_entry_fn): Export symbol.
45456 * include/grub/powerpc/ieee1275/init.h: New file.
45457 * include/grub/powerpc/libgcc.h: Likewise.
45458 * include/grub/cache.h: Likewise.
45459 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45460 <hollis@penguinppc.org>.
45461 * kern/dl.c: Include <grub/cache.h>.
45462 (grub_dl_flush_cache): New function.
45463 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45464 for this module.
45465 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45466 (grub_console_init): Removed prototypes.
45467 (grub_machine_init): Don't initialize the modules anymore.
45468 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45469 static.
45470 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45471 Macro undef removed.
45472 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45473 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45474 relocation `R_PPC_REL32'. Return an error when the relocation is
45475 unknown.
45476 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45477 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45478 * util/misc.c (grub_arch_sync_caches): Likewise.
45479
e4b47e0c 454802004-12-19 Marco Gerards <metgerards@student.han.nl>
45481
45482 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45483 `symlist.c', add `grubof_symlist.c'.
45484 (symlist.c): Variable removed.
45485 (grubof_HEADERS): Variable added.
45486 (grubof_symlist.c): New target.
45487 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45488 `kernel_img_HEADERS'.
45489 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45490 * kern/powerpc/dl.c: New file.
45491 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45492 Function removed.
45493 (grub_arch_dl_relocate_symbols): Likewise.
45494 (grub_register_exported_symbols): Likewise.
45495
4ceb3636 454962004-12-13 Marco Gerards <metgerards@student.han.nl>
45497
45498 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45499 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45500 to fail instead. Reported by Vincent Pelletier
45501 <subdino2004@yahoo.fr>.
45502
45503 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45504 it is not allocated. Reported by Vincent Pelletier
45505 <subdino2004@yahoo.fr>.
45506
45507 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45508 output so the output looks better.
f19dbdb7 45509
3f1578fe 455102004-12-04 Marco Gerards <metgerards@student.han.nl>
45511
45512 Modulize the partition map support and add support for the amiga
45513 partition map.
f19dbdb7 45514
3f1578fe 45515 * commands/ls.c: Include <grub/partition.h> instead of
45516 <grub/machine/partition.h>.
45517 * kern/disk.c: Likewise.
45518 * kern/rescue.c: Likewise.
45519 * loader/i386/pc/chainloader.c: Likewise.
45520 * normal/cmdline.c: Likewise.
45521 * kern/powerpc/ieee1275/init.c: Likewise.
45522 (grub_machine_init): Call `grub_pc_partition_map_init',
45523 `grub_amiga_partition_map_init' and
45524 `grub_apple_partition_map_init'.
45525 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45526 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45527 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45528 `partition.h' and `pc_partition.h'.
45529 (grub_setup_SOURCES): Remove
45530 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45531 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45532 (grub_emu_SOURCES): Likewise.
45533 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45534 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45535 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45537 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45538 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45539 (grubof_SOURCES): Likewise.
45540 * disk/i386/pc/partition.c: File removed.
45541 * disk/powerpc/ieee1275/partition.c: Likewise.
45542 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45543 * include/grub/i386/pc/partition.h: Likewise.
45544 * kern/partition.c: New file.
45545 * partmap/amiga.c: Likewise.
45546 * partmap/apple.c: Likewise.
45547 * partmap/pc.c: Likewise.
45548 * include/grub/partition.h: Likewise..
45549 * include/grub/pc_partition.h: Likewise.
45550 * util/grub-emu.c: Include <grub/partition.h> instead of
45551 <grub/machine/partition.h>.
45552 (main): Call `grub_pc_partition_map_init',
45553 `grub_amiga_partition_map_init' and
45554 `grub_apple_partition_map_init' and deinitialize afterwards.
45555 * util/i386/pc/biosdisk.c: Include `#include
45556 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45557 `<grub/machine/partition.h>'.
45558 * util/i386/pc/grub-setup.c: Likewise.
45559 * util/i386/pc/biosdisk.c: Likewise.
45560 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45561 partition information in case of a PC partition.
45562 * util/i386/pc/grub-setup.c: Include `#include
45563 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45564 `<grub/machine/partition.h>'.
45565 (setup): Only access the PC specific partition information in case
45566 of a PC partition.
45567
0ef4ced9 455682004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45569
0ef4ced9 45570 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45571 (grub_longjmp): Likewise.
45572 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45573 20.
45574 * normal/powerpc/setjmp.S: New file.
45575 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45576 `normal/powerpc/setjmp.S'.
45577 (grubof_CFLAGS): Add `-DGRUBOF'.
45578 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45579 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45580
19950e29 455812004-11-16 Marco Gerards <metgerards@student.han.nl>
45582
45583 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45584 property named `name'. Correctly handle the error returned by
45585 `grub_ieee1275_finddevice' if a device can not be opened.
45586
a2fea427 455872004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45588
45589 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45590 `actual' for negativity.
45591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45592 kern/fshelp.c.
45593
41ea0ea3 455942004-11-01 Marco Gerards <metgerards@student.han.nl>
45595
45596 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45597 (PAGE_OFFSET): New macro.
45598 (CRTC_ADDR_PORT): Likewise.
45599 (CRTC_DATA_PORT): Likewise.
45600 (START_ADDR_HIGH_REGISTER): Likewise.
45601 (START_ADDR_LOW_REGISTER): Likewise.
45602 (GRAPHICS_ADDR_PORT): Likewise.
45603 (GRAPHICS_DATA_PORT): Likewise.
45604 (READ_MAP_REGISTER): Likewise.
45605 (INPUT_STATUS1_REGISTER): Likewise.
45606 (INPUT_STATUS1_VERTR_BIT): Likewise.
45607 (page): New variable.
45608 (wait_vretrace): New function.
45609 (set_read_map): Likewise.
45610 (set_start_address): Likewise.
45611 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45612 the right page.
45613 (check_vga_mem): Take the page into account.
45614 (write_char): Likewise.
45615 (write_cursor): Likewise.
45616 (scroll_up): Likewise. Copy the page to the page that is not
45617 shown and switch between both pages.
45618 (grub_vga_putchar): Fix off by one error.
45619 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45620 account.
45621
ad0bd20b 456222004-11-01 Marco Gerards <metgerards@student.han.nl>
45623
45624 Add support for iso9660 (including rockridge).
f19dbdb7 45625
ad0bd20b 45626 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45627 (iso9660_mod_SOURCES): New variable.
45628 (iso9660_mod_CFLAGS): Likewise.
45629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45630 * include/grub/fs.h (grub_iso9660_init): New prototype.
45631 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45632 * fs/iso9660.c: New file.
45633
45634 * include/grub/misc.h (grub_strncat): New prototype.
45635 * kern/misc.c (grub_strncat): New function.
f19dbdb7 45636
ad0bd20b 45637 * fs/hfs.c (grub_hfs_mount): Translate the error
45638 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45639 * fs/jfs.c (grub_jfs_mount): Likewise.
45640 * fs/ufs.c (grub_ufs_mount): Likewise.
45641
a5477a59 456422004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45643
45644 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45645 which initialized BAT registers.
45646 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45647 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45648 Move from here...
45649 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45650 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45651 ... to here.
45652 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45653 (grub_mapclaim): Likewise.
45654 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45655 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45656 hand.
45657
9304c1f8 456582004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45659
45660 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45661 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45662 -ffreestanding and -msoft-float.
45663
86f4ae25 456642004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45665
45666 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45667 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45668 set in grub_ieee1275_flags.
45669
38912228 456702004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45671
45672 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45673 prototype.
45674 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45675 grub_console_init first.
45676 Change the memory range used for grub_ieee1275_claim and
45677 grub_mm_init_region.
45678 Print an error message if the claim fails.
45679 Include <grub/misc.h>.
45680
d1923dc8 456812004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45682
45683 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45684 Call grub_children_iterate for device nodes of type `scsi',
45685 `ide', or `ata'.
45686 (grub_ofdisk_open): Remove manual device alias resolution.
45687 Fix memory leak when device cannot be opened.
f19dbdb7 45688 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45689 (grub_children_iterate): New prototype.
45690 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45691 New function.
45692 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45693 Return -1 if args.size was -1.
45694
4512e4f3 456952004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45696
45697 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45698 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45699 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45700 Open Firmware's memory for it; claim memory from _start to _end.
45701 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45702 (_end): New extern.
45703 (_start): Zero BSS from __bss_start to _end.
45704 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45705 New extern.
45706 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45707
4d61feb0 457082004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45709
ad0bd20b 45710 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45711 -1 if args.base was -1.
4d61feb0 45712
026fa2f9 457132004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45714
45715 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45716 escape sequence instead of a literal ^L. Also call
45717 grub_ofconsole_gotoxy.
45718
9f2220ef 457192004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45720
45721 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45722 void * arguments to grub_addr_t. All callers updated. Also make
45723 the `result' argument optional.
45724 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45725 All callers updated.
45726
8a572cd7 457272004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45728
45729 * commands/ls.c (grub_ls_list_files): Use the string following the
45730 initial ')', if present, as the filesystem path.
45731 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45732
45733 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45734
18aa81f2 457352004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45736
45737 Make the source code of the menu interface more readable.
f19dbdb7 45738
18aa81f2 45739 * normal/menu.c: Include grub/mm.h.
45740 (TERM_WIDTH): New macro.
45741 (TERM_HEIGHT): Likewise.
45742 (TERM_INFO_HEIGHT): Likewise.
45743 (TERM_MARGIN): Likewise.
45744 (TERM_SCROLL_WIDTH): Likewise.
45745 (TERM_TOP_BORDER_Y): Likewise.
45746 (TERM_LEFT_BORDER_X): Likewise.
45747 (TERM_BORDER_WIDTH): Likewise.
45748 (TERM_MESSAGE_HEIGHT): Likewise.
45749 (TERM_BORDER_HEIGHT): Likewise.
45750 (TERM_NUM_ENTRIES): Likewise.
45751 (TERM_FIRST_ENTRY_Y): Likewise.
45752 (TERM_ENTRY_WIDTH): Likewise.
45753 (TERM_CURSOR_X): Likewise.
45754 (draw_border): Use macros instead of magic numbers.
45755 (print_entry): Likewise.
45756 (print_entries): Likewise.
45757 (run_menu): Likewise. Also, handle the key 'e'.
45758 (run_menu_entry): Ignore empty command lines.
45759 (print_message): Added a new argument EDIT. If EDIT is true,
45760 print a different message.
45761 (init_page): Likewise.
45762 (edit_menu_entry): New function. Not implemented yet.
45763
b47efe30 457642004-09-17 Marco Gerards <metgerards@student.han.nl>
45765
45766 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45767 can be loaded from normal mode.
f19dbdb7 45768
b47efe30 45769 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45770 `multiboot.mod'.
45771 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45772 (multiboot_mod_CFLAGS): New variables.
45773 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45774 * loader/i386/pc/multiboot_normal.c: Likewise.
45775
b47efe30 45776 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45777 attribute `unused'.
f19dbdb7 45778
b47efe30 45779 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45780 `fdiro' to read the mode information from instead of `diro'.
45781
45782 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45783 looking up a symlink.
45784
45785 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45786 macro.
45787 * normal/command.c (grub_command_execute): Don't parse the
45788 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45789 flags of the command.
45790
45791 * normal/menu.c (grub_menu_run): Fix typo.
45792
da75ac71 457932004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45794
45795 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45796
45797 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45798 `y + 1' instead of `y - 1'.
45799
45800 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45801
062b24c2 458022004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45803
45804 From Hollis Blanchard <hollis@penguinppc.org>:
45805 * kern/misc.c (memmove): New alias for grub_memmove.
45806 (memcmp): New alias for grub_memcmp.
45807 (memset): New alias for grub_memset.
f19dbdb7 45808 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45809 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45810 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45811 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45812
8ddad845 458132004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45814
45815 Added normal mode command `chainloader' as module chain.mod, which
45816 depends on normal.mod and _chain.mod.
f19dbdb7 45817
8ddad845 45818 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45819 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45820 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45821 Deleted prototype.
45822 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45823 but arguments parsing moved to ...
45824 (grub_chainloader_cmd): ... here. New function.
45825 * include/grub/i386/pc/chainloader.h: New file.
45826 * loader/i386/pc/chainloader_normal.c: Likewise.
45827
2c1f4ce3 458282004-09-11 Marco Gerards <metgerards@student.han.nl>
45829
45830 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45831 (grub_mkimage_LDFLAGS): Likewise.
45832 (grub_emu_SOURCES): Likewise.
45833 (kernel_img_HEADERS): Added fshelp.h.
45834 * fs/ext2.c: Include <grub/fshelp.h>.
45835 (FILETYPE_REG): New macro.
45836 (FILETYPE_INO_REG): Likewise.
45837 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45838 Changed all users.
45839 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45840 all users.
45841 (grub_fshelp_node): New struct.
45842 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45843 to a pointer.
45844 (grub_ext2_get_file_block): Removed function.
45845 (grub_ext2_read_block): New function.
45846 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45847 This function was written.
45848 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45849 (grub_ext2_find_file): Removed function.
45850 (grub_ext2_read_symlink): New function.
45851 (grub_ext2_iterate_dir): Likewise.
45852 (grub_ext2_open): Rewritten.
45853 (grub_ext2_dir): Rewritten.
45854 * include/grub/fshelp.h: New file.
45855 * fs/fshelp.c: Likewise.
45856
3c52136a 458572004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45858
45859 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45860 (print_message): Add a missing newline.
45861 (run_menu): Added timeout support.
45862 (run_menu_entry): New local function.
45863 (grub_menu_run): Added support for booting.
45864
45865 * kern/loader.c (grub_loader_is_loaded): New function.
45866
45867 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45868 (grub_get_rtc): Exported.
45869
45870 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45871 (grub_get_rtc): Exported.
45872
45873 * include/grub/normal.h (struct grub_command_list): Remove
45874 constant from the member `command'.
45875
45876 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45877
45878 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45879
45880 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45881
aa033560 458822004-08-28 Marco Gerards <metgerards@student.han.nl>
45883
45884 Add support for the JFS filesystem.
45885
45886 * fs/jfs.c: New file.
45887 * include/grub/fs.h (grub_jfs_init): New prototype.
45888 (grub_jfs_fini): New prototype.
45889 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45890 (grub_emu_SOURCES): Likewise.
45891 (pkgdata_MODULES): Add jfs.mod.
45892 (jfs_mod_SOURCES): New variable.
45893 (jfs_mod_CFLAGS): Likewise.
45894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45895 (grubof_SOURCES): Likewise.
45896 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45897
45898 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45899 endian to the host endian.
45900 (grub_fat_utf16_to_utf8): Move function from there...
45901 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45902 the endianness of the source string anymore.
aa033560 45903 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45904
94bc45af 459052004-08-24 Marco Gerards <metgerards@student.han.nl>
45906
45907 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45908 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45909 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45910 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45911
94bc45af 45912 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45913 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45914 for `node_found' and `it_dir'.
45915 (grub_hfs_dir): Add prototype for `dir_hook'.
45916
45917 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45918 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45919 and `indir32' to silence a gcc warning.
45920
45921 * include/grub/fs.h (grub_hfs_init): New prototype.
45922 (grub_hfs_fini): Likewise.
f19dbdb7 45923
45924
97543f08 459252004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45926
45927 Each disk device has its own id now. This is useful to make use
45928 of multiple disk devices.
f19dbdb7 45929
97543f08 45930 * include/grub/disk.h (grub_disk_dev_id): New enum.
45931 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45932 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45933
45934 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45935 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45936
45937 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45938 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45939
45940 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45941 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45942
45943 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45944 "id" which is used by the cache manager.
45945
45946 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45947 of just "GRUB".
45948
64372eb4 459492004-08-18 Marco Gerards <metgerards@student.han.nl>
45950
45951 * fs/hfs.c: New file.
45952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45953 (grub_emu_SOURCES): Likewise.
45954 (pkgdata_MODULES): Add hfs.mod.
45955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45956 (grubof_SOURCES): Likewise.
45957 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45958
45959 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45960 * kern/misc.c (grub_strncasecmp): Add function.
45961
cc61b58f 459622004-08-14 Marco Gerards <metgerards@student.han.nl>
45963
45964 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45965 with parentheses.
45966
45967 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45968 (grub_ext2_dir): In case the directory entry type is unknown, read
45969 it from the inode.
45970
0ef123f6 459712004-08-02 Peter Bruin <pjbruin@dds.nl>
45972
45973 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45974 grub_load_linux instead of grub_rescue_cmd_linux as second
45975 argument of grub_rescue_register_command.
45976
45977 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45978
a447c5df 459792004-07-27 Marco Gerards <metgerards@student.han.nl>
45980
45981 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45982 function.
45983 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45984 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45985 `loader/powerpc/ieee1275/linux.c',
45986 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45987 * include/grub/powerpc/ieee1275/ieee1275.h
45988 (grub_ieee1275_release): New prototype.
45989 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45990 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45991 normal, boot, linux and linux_normal.
45992 * loader/powerpc/ieee1275/linux.c: New file.
45993 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45994
5a9e3546 459952004-07-12 Marco Gerards <metgerards@student.han.nl>
45996
45997 * normal/arg.c (grub_arg_parse): Correct error handling after
45998 reallocating the argumentlist (check if `argl' is not null instead
45999 of checking if `args' is not null).
46000 * kern/mm.c (grub_realloc): Return the same pointer when using the
46001 same region, instead of returning the header address.
46002
e15199cb 460032004-07-11 Marco Gerards <metgerards@student.han.nl>
46004
46005 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
46006 one block instead of two when looking for the initial partition.
46007 (grub_partition_probe): Initialize the local variable `p' with 0.
46008 Use base 10 for the grub_strtoul call.
46009 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
46010 need for one local variable.
46011 (grub_strtoul): Don't add the new value to `num', instead of that
46012 just assign it.
46013
020616c2 460142004-07-11 Marco Gerards <metgerards@student.han.nl>
46015
46016 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
46017 (pxeboot_img_SOURCES): New variable.
46018 (pxeboot_img_ASFLAGS): Likewise.
46019 (pxeboot_img_LDFLAGS): Likewise.
46020 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
46021 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
46022 <lode_leroy@hotmail.com>.
46023
6c51eb64 460242004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46025
46026 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
46027 there was no input.
46028
cfb12aff 460292004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46030
46031 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
46032 the history buffer logic.
46033
6eabba74 460342004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
46035
46036 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
46037 (FILETYPE_INO_SYMLINK): New macros.
46038 (grub_ext2_find_file): Check if the node is a directory using the
46039 inode stat information instead of using the filetype in the
46040 dirent. Exclude the first character of an absolute symlink.
46041 (grub_ext2_dir): Mask out the filetype part of the mode member of
46042 the inode.
46043
66e19ef8 460442004-05-24 Marco Gerards <metgerards@student.han.nl>
46045
46046 Add support for UFS version 1 and 2. Add support for the minix
46047 filesystem version 1 and 2, both the variants with 14 and 30 long
46048 filenames.
f19dbdb7 46049
66e19ef8 46050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
46051 fs/minix.c.
46052 (grub_emu_SOURCES): Likewise.
46053 (pkgdata_MODULES): Add ufs.mod and minix.mod.
46054 (ufs_mod_SOURCES): New variable.
46055 (ufs_mod_CFLAGS): Likewise.
46056 (minix_mod_SOURCES): Likewise.
46057 (minix_mod_CFLAGS): Likewise.
46058 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
46059 fs/minix.c.
46060 (grubof_SOURCES): Likewise.
46061 * fs/ufs.c: New file.
46062 * fs/minix.c: New file.
46063 * include/grub/fs.h (grub_ufs_init): New prototype.
46064 (grub_ufs_fini): Likewise.
46065 (grub_minix_init): Likewise.
46066 (grub_minix_fini): Likewise.
46067 * util/grub-emu.c (main): Initialize and deinitialize UFS and
46068 minix fs.
46069
cc2e748a 460702004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46071
46072 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46073 commands/ls.c, commands/terminal.c, commands/boot.c,
46074 commands/cmp.c and commands/cat.c.
46075 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46076
46077 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46078 "env.h"
46079
4b13b216 460802004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46081
46082 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46083 and grub_, respectively. Because the conversion is trivial and
46084 mechanical, I omit the details here. Please refer to the CVS
46085 if you need more information.
46086
6a142551 460872004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46088
46089 * include/pupa: Renamed to ...
46090 * include/grub: ... this.
46091 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46092 * util/i386/pc/grub-mkimage.c: ... this.
46093 * util/i386/pc/pupa-setup.c: Renamed to ...
46094 * util/i386/pc/grub-setup.c: ... this.
46095 * util/pupa-emu.c: Renamed to ...
46096 * util/grub-emu.c: ... this.
46097
e56cdf21 460982004-03-29 Marco Gerards <metgerards@student.han.nl>
46099
46100 Add support for the newworld apple macintosh (PPC). This has been
46101 tested on the powerbook 2000 only. It only adds support for
46102 generic ieee1275 functions, console and disk support. This should
46103 be easy to port to other architectures with support for Open
46104 Firmware.
f19dbdb7 46105
e56cdf21 46106 * configure.ac: Accept the powerpc as host_cpu. In the case of
46107 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46108 specific tests are only executed while building for the i386.
46109 Inverse test for crosscompile.
46110 * genmk.rb (Utility): Allow assembler files.
46111 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46112 * conf/powerpc-ieee1275.rmk: New file.
46113 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46114 * disk/powerpc/ieee1275/partition.c: Likewise.
46115 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46116 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46117 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46118 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46119 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46120 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46121 * include/pupa/powerpc/ieee1275/loader.h
46122 * include/pupa/powerpc/setjmp.h: Likewise.
46123 * include/pupa/powerpc/types.h: Likewise.
46124 * kern/powerpc/ieee1275/init.c: Likewise.
46125 * kern/powerpc/ieee1275/openfw.c: Likewise.
46126 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46127
46128 These files were written by Johan Rydberg
46129 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46130
e56cdf21 46131 * boot/powerpc/ieee1275/cmain.c: New file.
46132 * boot/powerpc/ieee1275/crt0.S: Likewise.
46133 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46134 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46135
8c8cc205 461362004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46137
46138 * Makefile.in: Update copyright.
46139 * genmodsrc.sh: Likewise.
46140 * gensymlist.sh: Likewise.
46141 * term/i386/pc/vga.c: Indent correctly.
46142
46143 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46144 bugreporting address.
46145 * util/i386/pc/pupa-setup.c (usage): Likewise,
46146 (main): Call pupa_ext2_init and pupa_ext2_fini.
46147
f19dbdb7 46148 * fs/fat.c (log2): Renamed to ...
8c8cc205 46149 (fat_log2): ... this.
46150 All callers changed.
46151 * kern/misc.c (memcpy): Alias to pupa_memmove.
46152 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46153 lvalue cast.
46154 * util/console.c (pupa_ncurses_fini): Return 0.
46155
46156 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46157 Move fail label here.
46158 [__GNU__]: Don't warn when using stat.
46159 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46160 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46161 long int. Use strtol instead of strtoul.
f19dbdb7 46162
db1771cf 461632004-03-14 Marco Gerards <metgerards@student.han.nl>
46164
46165 * commands/boot.c: New file.
46166 * commands/cat.c: Likewise.
46167 * commands/cmp.c: Likewise.
46168 * commands/ls.c: Likewise.
46169 * commands/terminal.c: Likewise.
46170 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46171 (pupa_register_command): Changed interface to match the new
46172 argument parser.
46173 (pupa_command_execute): Changed (almost rewritten) so it uses
46174 pupa_split_command. Added support for setting variables using the
46175 syntax `foo=bar'.
46176 (rescue_command): Changed to work with the new argument parser.
46177 (terminal_command): Moved from here to commands/terminal.c.
46178 (set_command): New function.
46179 (unset_command): New function.
46180 (insmod_command): New function.
46181 (rmmod_command): New function.
46182 (lsmod_command): New function.
46183 (pupa_command_init): Don't initialize the command terminal
46184 anymore. Initialize the commands set, unset, insmod, rmmod and
46185 lsmod.
46186 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46187 (kernel_img_HEADERS): Add arg.h and env.h.
46188 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46189 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46190 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46191 normal/arg.c.
46192 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46193 terminal.mod.
46194 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46195 (boot_mod_SOURCES): New variable.
46196 (terminal_mod_SOURCES): Likewise.
46197 (ls_mod_SOURCES): Likewise.
46198 (cmp_mod_SOURCES): Likewise.
46199 (cat_mod_SOURCES): Likewise.
46200
46201 * normal/arg.c: New file.
46202 * kern/env.c: Likewise.
46203 * include/pupa/arg.h: Likewise.
46204 * include/pupa/env.h: Likewise.
46205 * font/manager.c (font_command): Changed to match argument parsing
46206 interface changes.
46207 (PUPA_MOD_INIT): Likewise.
46208 * hello/hello.c (pupa_cmd_hello): Likewise.
46209 (PUPA_MOD_INIT): Likewise.
46210 * include/pupa/disk.h: Include <pupa/device.h>.
46211 (pupa_print_partinfo): New prototype.
46212 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46213 (pupa_dl_get_prefix): Likewise.
46214 * include/pupa/misc.h: Include <pupa/err.h>.
46215 (pupa_isgraph): New prototype.
46216 (pupa_isdigit): Likewise.
46217 (pupa_split_cmdline): Likewise.
46218 * include/pupa/normal.h: Include <pupa/arg.h>.
46219 (pupa_command): Changed the prototype of the member `func' to
46220 match the argument parsing interface. Added member `options'.
46221 (pupa_register_command): Updated to match function.
46222 (pupa_arg_parse): New prototype.
46223 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46224 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46225 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46226 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46227 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46228 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46229 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46230 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46231 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46232 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46233 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46234 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46235 * kern/disk.c: Include <pupa/file.h>.
46236 (pupa_print_partinfo): New function.
46237 * kern/dl.c: Include <pupa/env.h>.
46238 (pupa_dl_dir): Variable removed.
46239 (pupa_dl_load): Use the environment variable `prefix' instead of
46240 the variable pupa_dl_dir.
46241 (pupa_dl_set_prefix): Function removed.
46242 (pupa_dl_get_prefix): Likewise.
46243 * kern/i386/pc/init.c: Include <pupa/env.h>.
46244 (pupa_machine_init): Use the environment variable `prefix' instead of
46245 using pupa_dl_set_prefix to set the prefix.
46246 * kern/main.c: Include <pupa/env.h>.
46247 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46248 using pupa_dl_get_prefix to get the prefix.
46249 * kern/misc.c: Include <pupa/env.h>.
46250 (pupa_isdigit): New function.
46251 (pupa_isgraph): Likewise.
46252 (pupa_ftoa): Likewise.
46253 (pupa_vsprintf): Added support for printing values of the type
46254 `double'. Make it possible to format variable output when using
46255 formatting like `%1.2%f'.
46256 (pupa_split_cmdline): New function.
46257 * kern/rescue.c: Include <pupa/env.h>.
46258 (next_word): Removed function.
46259 (pupa_rescue_cmd_prefix): Likewise.
46260 (pupa_rescue_cmd_set): New function.
46261 (pupa_rescue_cmd_unset): New function.
46262 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46263 split the command line instead of splitting it here. Added
46264 support for setting variables using the syntax `foo=bar'. Don't
46265 initialize the prefix command anymore. Initialized the set and
46266 unset commands.
46267 * normal/cmdline.c: Include <pupa/env.h>.
46268 (pupa_tab_complete): Added prototypes for print_simple_completion,
46269 print_partition_completion, add_completion, iterate_commands,
46270 iterate_dev, iterate_part and iterate_dir. Moved code to print
46271 partition information from here to kern/disk.c.
fe6b695a 46272 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46273 * normal/main.c: Include <pupa/env.h>.
46274 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46275 instead of using pupa_dl_get_prefix to get the prefix.
46276 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46277 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46278 warning.
46279 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46280 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46281 ((unused))' to silence a gcc warning.
46282 (pupa_vga_setcolor): Likewise.
46283 (debug_command): Changed to match argument parsing
46284 interface changes.
46285 * util/pupa-emu.c: Include <pupa/env.h>.
46286 (options): Added 0's for unused fields to silence a gcc warning.
46287 (argp): Likewise.
46288 (main): Use the environment variable `prefix' instead of using
46289 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46290 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46291 and terminal.
46292
46293 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46294 * util/misc.c: Include <malloc.h>.
46295 (pupa_malloc): Rewritten so errors are correctly reported.
46296 (pupa_realloc): Likewise.
46297 (pupa_memalign): Likewise.
46298 (pupa_mm_init_region): Declare unused variables with
46299 `__attribute__ ((unused))' to silence a gcc warning.
46300 * normal/i386/setjmp.S: Remove tab at the end of the file to
46301 silence a gcc warning.
46302 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46303 variables with `__attribute__ ((unused))' to silence a gcc
46304 warning.
46305 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46306 local variable i unsigned to silence a gcc warning.
46307
46308 * kern/term.c: Include <pupa/misc.h>.
46309 (pupa_more_lines): New variable.
46310 (pupa_more): Likewise.
46311 (pupa_putcode): When the pager is active pause at the end of every
46312 screen.
46313 (pupa_set_more): New function.
46314 * include/pupa/term.h (pupa_set_more): New prototype.
46315
46316
3b1139cb 463172004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46318
46319 Now this project is GRUB 2 rather than PUPA. The location of
46320 the CVS repository was moved to GRUB's.
f19dbdb7 46321
3b1139cb 46322 * configure.ac: Use bug-grub as the reporting address.
46323 Use GRUB instead of PUPA.
46324 Change the version number to 1.90.
46325
8367695c 463262004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46327
46328 * genkernsyms.sh: Updated copyright information.
46329 * genmk.rb: Likewise.
46330 * genmodsrc.sh: Likewise.
46331 * gensymlist.sh: Likewise.
46332 * boot/i386/pc/boot.S: Likewise.
46333 * boot/i386/pc/diskboot.S: Likewise.
46334 * disk/i386/pc/biosdisk.c: Likewise.
46335 * disk/i386/pc/partition.c: Likewise.
46336 * font/manager.c: Likewise.
46337 * fs/ext2.c: Likewise.
46338 * fs/fat.c: Likewise.
46339 * include/pupa/boot.h: Likewise.
46340 * include/pupa/device.h: Likewise.
46341 * include/pupa/disk.h: Likewise.
46342 * include/pupa/dl.h: Likewise.
46343 * include/pupa/elf.h: Likewise.
46344 * include/pupa/err.h: Likewise.
46345 * include/pupa/file.h: Likewise.
46346 * include/pupa/font.h: Likewise.
46347 * include/pupa/fs.h: Likewise.
46348 * include/pupa/kernel.h: Likewise.
46349 * include/pupa/loader.h: Likewise.
46350 * include/pupa/misc.h: Likewise.
46351 * include/pupa/mm.h: Likewise.
46352 * include/pupa/net.h: Likewise.
46353 * include/pupa/normal.h: Likewise.
46354 * include/pupa/rescue.h: Likewise.
46355 * include/pupa/setjmp.h: Likewise.
46356 * include/pupa/symbol.h: Likewise.
46357 * include/pupa/term.h: Likewise.
46358 * include/pupa/types.h: Likewise.
46359 * include/pupa/i386/setjmp.h: Likewise.
46360 * include/pupa/i386/types.h: Likewise.
46361 * include/pupa/i386/pc/biosdisk.h: Likewise.
46362 * include/pupa/i386/pc/boot.h: Likewise.
46363 * include/pupa/i386/pc/console.h: Likewise.
46364 * include/pupa/i386/pc/init.h: Likewise.
46365 * include/pupa/i386/pc/kernel.h: Likewise.
46366 * include/pupa/i386/pc/linux.h: Likewise.
46367 * include/pupa/i386/pc/loader.h: Likewise.
46368 * include/pupa/i386/pc/memory.h: Likewise.
46369 * include/pupa/i386/pc/multiboot.h: Likewise.
46370 * include/pupa/i386/pc/partition.h: Likewise.
46371 * include/pupa/i386/pc/time.h: Likewise.
46372 * include/pupa/i386/pc/vga.h: Likewise.
46373 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46374 * include/pupa/util/getroot.h: Likewise.
46375 * include/pupa/util/misc.h: Likewise.
46376 * include/pupa/util/resolve.h: Likewise.
46377 * kern/device.c: Likewise.
46378 * kern/disk.c: Likewise.
46379 * kern/dl.c: Likewise.
46380 * kern/err.c: Likewise.
46381 * kern/file.c: Likewise.
46382 * kern/fs.c: Likewise.
46383 * kern/loader.c: Likewise.
46384 * kern/main.c: Likewise.
46385 * kern/misc.c: Likewise.
46386 * kern/mm.c: Likewise.
46387 * kern/rescue.c: Likewise.
46388 * kern/term.c: Likewise.
46389 * kern/i386/dl.c: Likewise.
46390 * kern/i386/pc/init.c: Likewise.
46391 * kern/i386/pc/lzo1x.S: Likewise.
46392 * kern/i386/pc/startup.S: Likewise.
46393 * loader/i386/pc/chainloader.c: Likewise.
46394 * loader/i386/pc/linux.c: Likewise.
46395 * loader/i386/pc/multiboot.c: Likewise.
46396 * normal/cmdline.c: Likewise.
46397 * normal/command.c: Likewise.
46398 * normal/main.c: Likewise.
46399 * normal/menu.c: Likewise.
46400 * normal/i386/setjmp.S: Likewise.
46401 * term/i386/pc/console.c: Likewise.
46402 * term/i386/pc/vga.c: Likewise.
46403 * util/console.c: Likewise.
46404 * util/genmoddep.c: Likewise.
46405 * util/misc.c: Likewise.
46406 * util/pupa-emu.c: Likewise.
46407 * util/resolve.c: Likewise.
46408 * util/unifont2pff.rb: Likewise.
46409 * util/i386/pc/biosdisk.c: Likewise.
46410 * util/i386/pc/getroot.c: Likewise.
46411 * util/i386/pc/pupa-mkimage.c: Likewise.
46412 * util/i386/pc/pupa-setup.c: Likewise.
46413
e6eced71 464142004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46415
46416 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46417 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46418 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46419 reading and reset it after reading.
46420 (pupa_ext2_close): Return PUPA_ERR_NONE.
46421
46422 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46423 Correct value.
46424 (struct linux_kernel_header): Add kernel_version and
46425 initrd_addr_max.
46426 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46427 pupa_file_read succeeds.
46428 (pupa_rescue_cmd_initrd): Implement.
46429
5aded270 464302003-12-03 Marco Gerards <metgerards@student.han.nl>
46431
46432 * fs/ext2.c (pupa_ext2_label): New function.
46433 (pupa_ext2_fs): Added label.
46434 * fs/fat.c (pupa_fat_label): New function.
46435 (pupa_fat_fs): Added label.
46436 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46437
46438 * kern/misc.c (pupa_strndup): New function.
46439 * include/pupa/misc.h (pupa_strndup): New prototype.
46440
46441 * include/pupa/normal.h: Include <pupa/err.h>.
46442 (pupa_set_history): New prototype.
46443 (pupa_iterate_commands): New prototype.
46444 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46445 <pupa/disk.h>, <pupa/file.h>.
46446 (hist_size): New variable.
46447 (hist_lines): Likewise.
46448 (hist_end): Likewise.
46449 (hist_used): Likewise.
46450 (pupa_set_history): New function.
46451 (pupa_history_get): Likewise.
46452 (pupa_history_add): Likewise.
46453 (pupa_history_replace): Likewise.
46454 (pupa_tab_complete): Likewise.
46455 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46456 completion shows partitionnames while completing partitions, this
46457 feature was suggested by Jeff Bailey.
46458 * normal/command.c (pupa_iterate_commands): New function.
46459 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46460 (pupa_normal_init): Initialize history buffer.
46461 (PUPA_MOD_INIT): Likewise.
46462 (pupa_normal_fini): Free the history buffer.
46463 (PUPA_MOD_FINI): Likewise.
46464
46465 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46466 key.
46467
46468 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46469 * configure.ac [i386]: Check for regparam bug.
46470 (NESTED_FUNC_ATTR) [! i386]: Defined.
46471
1f7315a3 464722003-11-17 Marco Gerards <metgerards@student.han.nl>
46473
46474 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46475 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46476 (pupa_emu_SOURCES): New variable.
46477 (pupa_emu_LDFLAGS): Likewise.
46478 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46479 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46480 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46481 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46482 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46483 (pupa_jmp_buf): New typedef.
46484 (pupa_setjmp) [PUPA_UTIL]: New macro.
46485 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46486 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46487 (pupa_refresh): New prototype.
46488 * include/pupa/util/getroot.h: New file.
46489 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46490 it.
46491 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46492 (pupa_rescue_cmd_cat): Likewise.
46493 (pupa_rescue_cmd_ls): Likewise.
46494 (pupa_rescue_cmd_testload): Likewise.
46495 (pupa_rescue_cmd_lsmod): Likewise.
46496 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46497 * normal/menu.c (run_menu): Likewise.
46498 * kern/term.c (pupa_cls): Likewise.
46499 (pupa_refresh): New function.
46500 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46501 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46502 * util/console.c: New file.
f19dbdb7 46503
1f7315a3 46504 * util/i386/pc/getroot.c: New file.
46505 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46506 (pupa_putchar): New function.
46507 (pupa_refresh): Likewise.
46508 (xgetcwd): Function moved to ...
46509 (strip_extra_slashes): Likewise.
46510 (get_prefix): Likewise.
f19dbdb7 46511 * util/i386/pc/getroot.c: ... here.
1f7315a3 46512 (find_root_device): Function moved and renamed to...
46513 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46514 Changed all callers.
46515 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46516 and renamed to...
46517 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46518 Changed all callers.
46519 * util/misc.c (pupa_memalign): New function.
46520 (pupa_mm_init_region): Likewise.
46521 (pupa_register_exported_symbols): Likewise.
46522 (pupa_putchar): Function removed.
46523 * util/pupa-emu.c: New file.
46524
9a5c1ade 465252003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46526
46527 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46528 (_multiboot_mod_SOURCES): New variable.
46529 (_multiboot_mod_CFLAGS): Likewise.
46530 * loader/i386/pc/multiboot.c: New file.
46531 * include/pupa/i386/pc/multiboot.h: Likewise.
46532 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46533 (pupa_multiboot_real_boot): New function.
46534 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46535 (pupa_multiboot_real_boot): New prototype.
46536 (pupa_rescue_cmd_multiboot): Likewise
46537 (pupa_rescue_cmd_module): Likewise.
46538
46539 * kern/loader.c (pupa_loader_set): Continue when
46540 pupa_loader_unload_func() fails.
46541 (pupa_loader_unset): New function.
46542 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46543
46544 * kern/misc.c (pupa_stpcpy): New function.
46545 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46546
8e72a9c0 465472003-11-12 Marco Gerards <metgerards@student.han.nl>
46548
46549 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46550 for available extensions.
46551
46552 * include/pupa/i386/pc/time.h: New file.
46553 * kern/disk.c: Include <pupa/machine/time.h>.
46554 (PUPA_CACHE_TIMEOUT): New macro.
46555 (pupa_last_time): New variable.
46556 (pupa_disk_open): Flush the cache when there was a timeout.
46557 (pupa_disk_close): Reset the timer.
46558 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46559 pupa_currticks.
46560 * util/misc.c: Include <sys/times.h>
46561 (pupa_get_rtc): New function.
46562
c4adbd32 465632003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46564
46565 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46566 as blocks.
46567 (pupa_ext2_get_file_block): Use blocks member.
46568
46569 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46570 first block. Return -1 instead of pupa_errno on error.
46571
bfd30f06 465722003-10-27 Marco Gerards <metgerards@student.han.nl>
46573
46574 * README: In the pupa-mkimage example use _chain instead of chain
46575 and ext2 instead of fat.
46576 * TODO: Replace ext2fs with jfs as an example. Add an item for
46577 adding journal playback for ext2fs.
46578 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46579 (pkgdata_MODULES): Added ext2.mod.
46580 (ext2_mod_SOURCES): New variable.
46581 (ext2_mod_CFLAGS): Likewise.
46582 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46583 * include/pupa/misc.h (pupa_strncpy): New prototype.
46584 (pupa_strcat): Likewise.
46585 (pupa_strncmp): Likewise.
46586 * kern/misc.c (pupa_strcat): Enable function.
46587 (pupa_strncpy): New function.
46588 (pupa_strncmp): Likewise.
46589 * fs/ext2.c: New file.
f19dbdb7 46590
bfd30f06 46591 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46592 when the read failed before retrying.
46593 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46594 (_FILE_OFFSET_BITS): Likewise.
46595 * configure.ac: Added AC_SYS_LARGEFILE.
46596
98d15063 465972003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46598
46599 * genmk.rb (PModule#rule): Make sure to get only symbol names
46600 from the output of nm.
59cad637 46601 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46602
18d9c7cd 466032003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46604
46605 I forgot to check in these changes for a long time. This adds
46606 incomplete support for VGA console, and this is still very
46607 buggy. Also, a lot of consideration is required for I18N,
46608 UNICODE, and VGA font issues. Therefore, assume that this is
46609 such that "better than nothing".
f19dbdb7 46610
18d9c7cd 46611 * font/manager.c: New file.
46612 * include/pupa/font.h: Likewise.
46613 * include/pupa/i386/pc/vga.h: Likewise.
46614 * term/i386/pc/vga.c: Likewise.
46615 * util/unifont2pff.rb: Likewise.
46616
46617 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46618 (pkgdata_MODULES): Added vga.mod and font.mod.
46619 (vga_mod_SOURCES): New variables.
46620 (vga_mod_CFLAGS): Likewise.
46621 (font_mod_SOURCES): Likewise.
46622 (font_mod_CFLAGS): Likewise.
46623
46624 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46625
46626 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 46627 (struct pupa_term): Added init and fini.
18d9c7cd 46628 Changed the argument of putchar to pupa_uint32_t.
46629
46630 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46631 (pupa_console_real_putchar): New prototype.
46632 (pupa_console_putchar): Removed.
46633 (pupa_console_checkkey): Exported.
46634 (pupa_console_getkey): Likewise.
46635
46636 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46637 characters.
46638
46639 * kern/term.c (pupa_term_set_current): Rewritten.
46640 (pupa_putchar): Likewise.
46641 (pupa_putcode): New function.
46642
46643 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46644 (pupa_console_real_putchar): ... this.
46645 (pupa_vga_set_mode): New function.
46646 (pupa_vga_get_font): Likewise.
46647
46648 * normal/command.c: Include pupa/term.h.
46649 (terminal_command): New function.
46650 (pupa_command_init): Register the command "terminal".
46651
46652 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46653 (DISP_UP): Likewise.
46654 (DISP_RIGHT): Likewise.
46655 (DISP_DOWN): Likewise.
46656 (DISP_HLINE): Likewise.
46657 (DISP_VLINE): Likewise.
46658 (DISP_UL): Likewise.
46659 (DISP_UR): Likewise.
46660 (DISP_LL): Likewise.
46661 (DISP_LR): Likewise.
46662
46663 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46664
977329f5 466652003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46666
46667 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46668 FIX. Reverse the path_list.
46669
46670 * include/pupa/normal.h: Export pupa_register_command and
46671 pupa_unregister_command.
46672
46673 * hello/hello.c (pupa_cmd_hello): New module.
46674 * conf/i386-pc.rmk: Added hello.mod.
46675
1f5ab428 466762003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46677
46678 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46679
1f5ab428 46680 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46681 (compress_kernel): New variable.
46682 (generate_image): Heavily modified to support compressing a
46683 large part of the core image.
46684
46685 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46686 leak.
46687 (pupa_util_load_image): New function.
46688
46689 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46690 (pupa_compressed_size): New variable.
46691 (codestart): Enable Gate A20 here.
46692 Decompress the compressed part of the core image.
46693 Rearrange the code to put functions and variables which are
46694 required for initialization in the non-compressed part.
46695 Include lzo1x.S.
46696
46697 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46698 here.
46699
46700 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46701
f19dbdb7 46702 * include/pupa/i386/pc/kernel.h
1f5ab428 46703 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46704 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46705 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46706 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46707 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46708
46709 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46710
46711 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46712 (Utility#rule): Likewise.
46713
46714 * configure.ac: Check if LZO is available.
46715
ce5bf700 467162003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46717
46718 * include/pupa/normal.h: New file.
46719 * include/pupa/setjmp.h: Likewise.
46720 * include/pupa/i386/setjmp.h: Likewise.
46721 * normal/cmdline.c: Likewise.
46722 * normal/command.c: Likewise.
46723 * normal/main.c: Likewise.
46724 * normal/menu.c: Likewise.
46725 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46726
ce5bf700 46727 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46728 (pupa_rescue_cmd_initrd): Likewise.
46729
46730 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46731 Likewise.
46732
46733 * kern/i386/pc/startup.S (translation_table): New variable.
46734 (translate_keycode): New function.
46735 (pupa_console_getkey): Call translate_keycode.
46736
46737 * kern/rescue.c (attempt_normal_mode): New function.
46738 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46739 it failed, print a message.
46740
46741 * kern/mm.c (pupa_real_malloc): Print more information when a
46742 free magic is broken.
46743 (pupa_free): If the first free header is not free actually, set
46744 it to P.
46745
46746 * kern/main.c (pupa_load_normal_mode): Just load the module
46747 "normal".
46748 (pupa_main): Don't print the message
46749 "Entering into rescue mode..." here.
46750
46751 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46752 Declared.
46753 (pupa_rescue_cmd_initrd): Likewise.
46754 (pupa_rescue_cmd_initrd): Likewise.
46755
46756 * include/pupa/symbol.h (FUNCTION): Specify the type.
46757 (VARIABLE): Likewise.
46758
46759 * include/pupa/err.h (pupa_err_t): Added
46760 PUPA_ERR_UNKNOWN_COMMAND.
46761
46762 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46763 (pupa_dl_get_prefix): Likewise.
46764
46765 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46766 Added _chain.mod and _linux.mod instead of chain.mod and
46767 linux.mod.
46768 (chain_mod_SOURCES): Renamed to ...
46769 (_chain_mod_SOURCES): ... this.
46770 (chain_mod_CFLAGS): Renamed to ...
46771 (_chain_mod_CFLAGS): ... this.
46772 (linux_mod_SOURCES): Renamed to ...
46773 (_linux_mod_SOURCES): ... this.
46774 (linux_mod_CFLAGS): Renamed to ...
46775 (_linux_mod_CFLAGS): ... this.
46776 (normal_mod_SOURCES): New variable.
46777 (normal_mod_CFLAGS): Likewise.
46778 (normal_mod_ASFLAGS): Likewise.
46779
467802003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46781
46782 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46783 possible.
46784
fe6b695a 46785 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46786 recursively.
46787 (pupa_dl_unref): Unrefer depending modules recursively.
46788 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46789 a module is unloaded before one depending on that module is
46790 unloaded.
46791 (pupa_dl_unload): Unload depending modules explicitly,
46792 if possible.
46793
c04da074 467942003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46795
46796 * include/pupa/i386/pc/linux.h: New file.
46797 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46798
c04da074 46799 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46800 Removed.
46801 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46802 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46803 of PUPA_CHAINLOADER_BOOT_SECTOR.
46804
46805 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46806 (pupa_linux_prot_size): New variable.
46807 (pupa_linux_tmp_addr): Likewise.
46808 (pupa_linux_real_addr): Likewise.
46809 (pupa_linux_boot_zimage): New function.
46810 (pupa_linux_boot_bzimage): Likewise.
46811
46812 * kern/i386/pc/init.c (struct mem_region): New structure.
46813 (MAX_REGIONS): New macro.
46814 (mem_regions): New variable.
46815 (num_regions): Likewise.
46816 (pupa_os_area_addr): Likewise.
46817 (pupa_os_area_size): Likewise.
46818 (pupa_lower_mem): Likewise.
46819 (pupa_upper_mem): Likewise.
46820 (add_mem_region): New function.
46821 (compact_mem_regions): Likewise.
46822 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46823 the size of the conventional memory and that of so-called upper
46824 memory (before the first memory hole).
46825 Instead of adding each found region to free memory, use
46826 add_mem_region and add them after removing overlaps.
46827 Also, add only 1/4 of the upper memory to free memory. The rest
46828 is used for loading OS images. Maybe this is ad hoc, but this
46829 makes it much easier to relocate OS images when booting.
46830
46831 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46832 (pupa_enter_rescue_mode): Don't register initrd and module.
46833
46834 * kern/mm.c: Include pupa/dl.h.
46835
46836 * kern/main.c: Include pupa/file.h and pupa/device.h.
46837
46838 * kern/loader.c (pupa_loader_load_module_func): Removed.
46839 (pupa_loader_load_module): Likewise.
46840
46841 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46842 ``.o''.
46843
46844 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46845 (pupa_linux_tmp_addr): Likewise.
46846 (pupa_linux_real_addr): Likewise.
46847 (pupa_linux_boot_zimage): Likewise.
46848 (pupa_linux_boot_bzimage): Likewise.
46849
46850 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46851 (pupa_upper_mem): Likewise.
46852 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46853 module is too dangerous.
46854
46855 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46856 (pupa_os_area_size): Likewise.
46857 (pupa_loader_set): Remove the first argument. Loader doesn't
46858 manage modules or initrd any longer.
46859 (pupa_loader_load_module): Removed.
46860
46861 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46862 (linux_mod_SOURCES): New variable.
46863 (linux_mod_CFLAGS): Likewise.
46864
a13f9237 468652003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46866
46867 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46868 the length of a blocklist correctly.
46869
46870 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46871 Use ioctl only if the OS file is a block device.
46872 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46873 not very useful for normal files.
46874
46875 * kern/main.c (pupa_set_root_dev): New function.
46876 (pupa_load_normal_mode): Likewise.
46877 (pupa_main): Call those above.
46878
46879 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46880 pupa_uint16_t.
46881
46882 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46883
a5ffe966 468842003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46885
46886 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46887 (setup): Configure the installed partition information and the
46888 dl prefix.
46889
46890 * loader/i386/pc/chainloader.c (my_mod): New variable.
46891 (pupa_chainloader_unload): New function.
46892 (pupa_rescue_cmd_chainloader): Refer itself.
46893 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46894
46895 * kern/i386/pc/startup.S (install_partition): Removed.
46896 (version_string): Likewise.
46897 (config_file): Likewise.
46898 (pupa_install_dos_part): New variable.
46899 (pupa_install_bsd_part): Likewise.
46900 (pupa_prefix): Likewise.
46901 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46902
46903 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46904 and pupa/misc.h.
46905 (make_install_device): New function.
46906 (pupa_machine_init): Set the dl prefix.
46907
46908 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46909 (buf): Renamed to ...
46910 (linebuf): ... this.
46911 (pupa_rescue_cmd_prefix): New function.
46912 (pupa_rescue_cmd_insmod): Likewise.
46913 (pupa_rescue_cmd_rmmod): Likewise.
46914 (pupa_rescue_cmd_lsmod): Likewise.
46915 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46916 rmmod and lsmod.
46917
46918 * kern/mm.c (pupa_memalign): If failed even after invalidating
46919 disk caches, unload unneeded modules and retry.
46920
46921 * kern/misc.c (pupa_memmove): New function.
46922 (pupa_memcpy): Removed.
46923 (pupa_strcpy): New function.
46924 (pupa_itoa): Made static.
46925
46926 * kern/dl.c (pupa_dl_iterate): New function.
46927 (pupa_dl_ref): Likewise.
46928 (pupa_dl_unref): Likewise.
46929 (pupa_dl_unload): Return if succeeded or not.
46930 (pupa_dl_unload_unneeded): New function.
46931 (pupa_dl_unload_all): Likewise.
46932 (pupa_dl_init): Renamed to ...
46933 (pupa_dl_set_prefix): ... this.
46934 (pupa_dl_get_prefix): New function.
46935
46936 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46937 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46938 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46939 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46940 (pupa_install_dos_part): Declared.
46941 (pupa_install_bsd_part): Likewise.
46942 (pupa_prefix): Likewise.
46943 (pupa_boot_drive): Likewise.
46944
46945 * include/pupa/types.h: Fix a typo.
46946
46947 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46948 pupa_memmove.
46949 (pupa_memmove): Declared.
46950 (pupa_strcpy): Likewise.
46951
46952 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46953 pupa_mod_init takes one argument, its own module.
46954 (pupa_dl_unload_unneeded): Declared.
46955 (pupa_dl_unload_all): Likewise.
46956 (pupa_dl_ref): Likewise.
46957 (pupa_dl_unref): Likewise.
46958 (pupa_dl_iterate): Likewise.
46959 (pupa_dl_init): Renamed to ...
46960 (pupa_dl_set_prefix): ... this.
46961 (pupa_dl_get_prefix): Declared.
46962
46963 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46964 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46965 unloaded.
46966 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46967 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46968
46969 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46970 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46971
012d7999 469722003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46973
46974 * util/i386/pc/pupa-setup.c (setup): Define the internal
46975 function find_first_partition_start at the top level, because GCC
46976 3.0.x cannot compile internal functions in deeper scopes
46977 correctly.
46978 (find_root_device): Use lstat instead of stat.
46979 Don't follow symbolic links.
46980 Fix the path-constructing code.
46981
46982 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46983 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46984 by a BLKGETSIZE ioctl first, because block devices don't fill
46985 the member st_mode of the structure stat on Linux.
46986 [__linux__] (linux_find_partition): Use a temporary buffer
46987 REAL_DEV for the working space. Copy it to DEV before returning.
46988 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46989 buffer cache consistent.
46990 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46991 strncmp. The previous value was merely wrong.
46992 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46993
46994 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46995 FAT size is 12. The previous value was merely wrong.
46996
46997 * kern/main.c (pupa_main): Don't split the starting message from
46998 newlines.
46999
47000 * kern/term.c (pupa_putchar): Put CR after LF instead of before
47001 LF, because BIOS goes crazy about character attributes in this
47002 case.
47003
1cc73a62 470042003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
47005
47006 * include/i386/pc/util/biosdisk.h: New file.
47007 * util/i386/pc/biosdisk.c: Likewise.
47008 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 47009
1cc73a62 47010 * Makefile.in (INCLUDE_DISTFILES): Added
47011 include/pupa/i386/pc/util/biosdisk.h.
47012 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
47013 directory util/i386/pc.
47014 (install-local): Added a rule for sbin_UTILITIES.
47015 (uninstall): Likewise.
47016
47017 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
47018
47019 * util/misc.c (xrealloc): New function.
47020 (pupa_malloc): Likewise.
47021 (pupa_free): Likewise.
47022 (pupa_realloc): Likewise.
47023 (pupa_stop): Likewise.
47024 (pupa_putchar): Likewise.
47025
47026 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
47027
47028 * include/pupa/util/misc.h (xrealloc): Declared.
47029
47030 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
47031 macro.
47032 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
47033 (PUPA_BOOT_MACHINE_BPB_END): ... this.
47034
47035 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
47036 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47037
47038 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
47039 way should be implemented.
47040 [PUPA_UTIL] (pupa_fat_fini): Likewise.
47041
47042 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
47043 the size of NAME for safety.
47044 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
47045 0x88.
47046
47047 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
47048 (pupa_setup_SOURCES): Likewise.
47049
47050 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
47051
08b70fe8 470522002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47053
47054 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
47055 bunch of pushl's from pusha, because this destroys the return
47056 value.
47057
62ddcc8f 470582002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
47059
47060 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
47061 This means that any missing prototypes could be fatal. Also, you
47062 must take care when writing assembly code. See the comments at
47063 the beginning of startup.S, for more details.
f19dbdb7 47064
62ddcc8f 47065 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
47066 compilation mechanism.
47067 (pupa_chainloader_real_boot): Likewise.
47068 (pupa_biosdisk_rw_int13_extensions): Likewise.
47069 (pupa_biosdisk_rw_standard): Likewise.
47070 (pupa_biosdisk_check_int13_extensions): Likewise.
47071 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47072 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47073 (pupa_get_memsize): Likewise.
47074 (pupa_get_mmap_entry): Likewise.
47075 (pupa_console_putchar): Likewise.
47076 (pupa_console_setcursor): Likewise.
47077 (pupa_getrtsecs): Use pushl instead of push.
47078
47079 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47080 memory instead of the stack for a mmap entry, because some
47081 BIOSes may ignore the maximum size and overflow.
47082
47083 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47084
47085 * genmk.rb (PModule#rule): Compile automatically generated
47086 sources with module-specific CFLAGS as well as other sources.
47087
9962ed99 470882002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47089
47090 * configure.ac: Check ld.
47091 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47092 respectively, before checking endianness and sizes.
47093
47094 * Makefile.in (LD): New variable.
f19dbdb7 47095
abdfc3c5 470962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47097
47098 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47099
6a161fa9 471002002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47101
47102 * Changelog: New file.
47103